淺談oracle 使用者(sysdba)遠端登入和口令認證

comebackdog發表於2011-11-02

 
今天配置登入em,發現總是被告知密碼錯誤,用sqlplus連線至遠端資料庫也包錯誤密碼登入失敗,最終確定系oracle的使用者登入認證問題。
sys(sysdba使用者組成員)使用者有兩種認證方式:
1、作業系統認證方式
在本地伺服器(資料庫所在伺服器)登入資料庫
oracle將使用者認證由作業系統在資料庫外執行,預設情況下只需要以oracle賬戶登入作業系統便可以直接連線資料庫,不需要口令。
如果需要口令認證,需要在$ORACLE_HOME/dbs/sqlnet.ora,加入如下行:
SQLNET.AUTHENTICATION_SERVICES=NONE
此時連線資料庫就需要輸入使用者和密碼了
2、資料庫認證方式
透過在資料庫配置檔案裡(spfile)裡配置REMOTE_LOGIN_PASSWORDFILE指定遠端登入訪問資料庫的方式
a、none
Oracle ignores any password file. Therefore, privileged users must be authenticated by the operating system
不允許sysdba使用者組成員遠端登入訪問資料庫
b、exclusive
The password file can be used by only one database. The password file can contain SYS as well as non-SYS users.
只允許口令檔案用於本資料庫,允許sysdba使用者組成員遠端登入訪問資料庫
c、shared
One or more databases can use the password file. The password file can contain SYS as well as non-SYS users.
允許其他資料庫使用該口令檔案,允許sysdba使用者組成員遠端登入訪問資料庫

參考文章:

以下為簡單處理過程:
sqlplus 連線遠端資料庫失敗:
C:\Users\Administrator>sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on 星期三 11月 2 16:32:13 2011
Copyright (c) 1982, 2005, Oracle.  All rights reserved.
SQL> conn sys/oracle@192.168.11.11/zjcsc as sysdba
ERROR:
ORA-01017: invalid username/password; logon denied

檢查遠端登入設定,發現配置remote_login_passwordfile=NONE禁止sysdba使用者(及擁有其角色的普通使用者)遠端登入。
SQL> show parameter pass
NAME         TYPE  VALUE
------------------------------------ ----------- ------------------------------
remote_login_passwordfile      string  NONE
修改配置remote_login_passwordfile=exclusive(這是個靜態引數要修改spfile檔案),sysdba使用者(及擁有其角色的普通使用者)可以遠端登入。
SQL> alter system set remote_login_passwordfile=exclusive scope=spfile;
System altered.
重啟資料庫
SQL> startup force;
ORACLE instance started.
Total System Global Area 3758096384 bytes
Fixed Size      2088408 bytes
Variable Size   1593836072 bytes
Database Buffers  2147483648 bytes
Redo Buffers     14688256 bytes
Database mounted.
Database opened.
檢查配置引數修改成功
SQL> show parameter pass
NAME         TYPE  VALUE
------------------------------------ ----------- ------------------------------
remote_login_passwordfile      string  EXCLUSIVE
重置sys使用者密碼
SQL> alter user sys identified by oracle;
sqlplus連線測試成功,EM也能夠成功登入:
C:\Users\Administrator>sqlplus /nolog
conn sys/oracle@192.168.11.11/zjcsc as sysdba
 
 
 
 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/20575781/viewspace-710131/,如需轉載,請註明出處,否則將追究法律責任。

相關文章