SYS使用者無法遠端登入ORA-01017、ORA-01031

蘭在晨發表於2014-09-10

環境:OEL4.8

Oracle Database version:10.2.0.1

問題描述:

有A、B兩臺機器,在A機上安裝了GC 的Repository Database,在B機上安裝GC,輸入Repository Database資訊之後,下一步時總提示使用者名稱密碼錯誤。

但是在A機上,都可以登入。

問題排查:

1、首先,在B機上tnanames.ora檔案中新增了Repository Database的資訊,通過tnsping命令沒有問題

  [oracle@secdb2 Disk1]$ tnsping ocmgc

TNS Ping Utility for Linux: Version 10.2.0.1.0 - Production on 10-SEP-2014 22:23:09

Copyright (c) 1997, 2005, Oracle.  All rights reserved.

Used parameter files:


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION= (ADDRESS_LIST= (ADDRESS=(PROTOCOL=TCP)(HOST=secdb1)(PORT=1521))) (CONNECT_DATA= (SERVICE_NAME=OCMGC)))
OK (0 msec)

可以看到,能夠通過,說明網路和監聽正常執行。


 2、 然後通過遠端使用sys使用者登入
[oracle@secdb2 Disk1]$ sqlplus system/oracle@ocmgc as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Wed Sep 10 21:54:35 2014

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

ERROR:
ORA-01031: insufficient privileges

而使用system使用者卻可以登入。


3、在A機上進行排查

於是在A機上進行登入都沒有問題

 由於確定不是由於sys使用者密碼的問題導致,於是想到引數remote_login_passwordfile,該引數為none時停用

密碼檔案,不允許遠端登入。為exclusive模式時啟用口令檔案。然後檢視該引數時設定正確為exclusive模式,於是通過如下SQL語句檢視

select * from v$pwfile_users;

結果為空,說明密碼檔案不正確。於是重建密碼檔案。

 4、重建密碼檔案

首先關閉資料庫

進入到$ORACLE_HOME/dbs目錄下

orapwd file=orapw$ORACLE_SID password=oracle entries=30 force=y

啟動資料庫。

再執行select * from v$pwfile_users;

然後就可以查詢到結果。再次在B機上嘗試安裝,安裝通過。


總結:當出現使用者無法登入的問題,提示ORA-01017、ORA-01031時考慮以下幾個部分

       1、sqlnet.ora檔案sqlnet_authentication_service引數是否正確預設為none

       2、密碼檔案是否正確建立,可以在$ORACLE_HOME/dbs目錄下檢視或者重建

        3、引數remote_login_passwordfile引數設定是否正確(應該為exclusive)


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

相關文章