測試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

arrow
arrow
    全站熱搜

    Nathan 發表在 痞客邦 留言(0) 人氣()