測試Oracle的帳號及密碼是否正確...
透過root帳號登入。
su - oracle
sqlplu /nolog
> conn
Enter user-name: 輸入帳號
Enter password: 輸入密碼
> conn 帳號/密碼
新手上路備註 Orz...
conn / as sysdba
帳號為【sys】,角色為【sysdba】的方式登入。
conn 帳號/密碼 as sysdba
密碼錯誤也會顯示 Connected,原因如下連結,
該方式登入為操作系統驗證方式(OS)。
引用文章:http://hillstone.blog.hexun.com.tw/89358375_d.html
Oracle system用戶的實際權限
Oracle system用戶登錄數據庫也會出現問題嗎,下文對Oracle system用戶的實際權限作了分析討論,
供您參考學習。
之前新建了一個數據庫,通過pl/sql developer登錄,使用的是Oracle system用戶,身份為SYSDBA,
結果報錯:insufficient privileges( 權限不足 )。最後只好讓sys用戶登錄後執行grant sysdba
to system為Oracle system用戶賦予sysdba權限。
這裏就有了問題:難道Oracle system用戶不是默認具有SYSDBA權限的嗎?如果不是,為什麽以前很多
時候,數據庫建好後直接就可以用system作為sysdba登錄呢?
首先要了解的是, 在Oracle數據庫系統中,用戶如果要以特權用戶身份(INTERNAL/SYSDBA/SYSOPER
)登錄Oracle會有兩種身份驗證的方法:操作系統驗證方式(OS)、密碼文件驗證方式。OS驗證方式是
指,在登錄Oracle時,讓操作系統來完成登錄用戶的權限驗證。具體是:安裝 Oracle時(註意不是創建
Oracle數據庫實例時),Oracle數據庫服務器所在的操作系統會產生一個用戶組(windows中默認是
ORA_DBA),這個組中的用戶在登錄操作系統後又去登錄Oracle時,無論他輸入的用戶名密碼是什麽,都
能夠以sysdba身份登錄成功。但是這時候實際上是以sys用戶在登錄的,所以登陸成功後以 show user
命令查看當前登錄的用戶時,返回的是sys。
密碼文件驗證是指,Oracle通過一個密碼文件對登錄的用戶進行權限驗證,這個文件中記錄著 sys用戶
的口令以及其它 特權用戶 的用戶名/口令,通俗的說就是這個文件中記錄了當前具有sysdba權限的用
戶名及其口令。通常密碼文件是 存放在%ORACLE_HOME%\DATABASE目錄下,在使用Oracle Instance
Manager創建一數據庫實例的時侯,Oracle系統會自動創建一個與實例對應的密碼文件,文件名為
PWDSID.ORA,其中SID代表相應的Oracle數據庫系統標識符。此密碼文件是進行初始數據庫管理工作的
基礎。在此之後,管理員也可以根據需要,使用工具ORAPWD.EXE手工創建密碼文件。
那麽這兩種驗證方式在哪裏設置呢?具體在Oracle9i中是%ORACLE_HOME%\ora92\network\admin
\sqlnet.ora文件中,有如下的配置:
SQLNET.AUTHENTICATION_SERVICES = (NONE) # 這是密碼文件驗證方式.
SQLNET.AUTHENTICATION_SERVICES = (NTS) # 這是OS驗證方式.
說完了驗證方式,再說一下sys、system用戶的權限。sys用戶擁有dba,sysdba,sysoper等角色或權限
,是oracle權限最高的用戶,所有oracle的數據字典的基表和視圖都存放在sys用戶中,登陸時也只能
用sysdba、sysoper這兩個身份,不能用normal身份。 Oracle system用戶擁有普通角色權限,只能用
normal身份登陸,除非你對它授予了sysdba的系統權限或者syspoer系統權限。
那這樣的話,為什麽之前很多時候可以直接用system用戶作為syadba登錄呢?那時因為,當時Oracle的
驗證方式是OS方式。而這次因為我登錄前恰好改動了sqlnet.ora文件,所以就不能以system用戶通過
sysdba登錄了。
Oracle更改system和sys用戶密碼
D:\oracle\ora92\bin>sqlplus /nolog 這句話是說不登陸數據庫,只啟動sqlplus
SQL*Plus: Release 9.2.0.1.0 - Production on 星期四 8月 16 11:32:22 2007
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
SQL> conn /as sysdba 已連接。
SQL> alter user system identified by password;
用戶已更改。
SQL> alter user sys identified by password;
用戶已更改。
SQL> alter user system identified by manger;
用戶已更改。
SQL> exit
留言列表