sqlplus sys/oracle@orcl as sysdba無法登入

zhenghaishu發表於2015-03-30


(1)現象
$ sqlplus as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on 星期一 3月 30 20:50:08 2015

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

ERROR:
ORA-01031: insufficient privileges


請輸入使用者名稱: 


(2)原因分析
檢視一下listener.ora
$ cd /u01/app/oracle/product/11.2.0/db_1/network/admin
$ cat listener.ora
# listener.ora Network Configuration File: /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = ORCL)
      (ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
      (SID_NAME = ORCL)
    )
  )

LISTENER =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = oracleServer)(PORT = 1521))
  )

ADR_BASE_LISTENER = /u01/app/oracle

這裡有兩個ORCL。第一個表示服務名,大小寫無所謂;第二個表示例項名,要跟資料庫的名稱(或SID)一樣,嚴格區分大小寫。
資料庫名為orcl,而這裡的SID_NAME為ORCL。原因就在這裡。


(3)改正方法
把listener.ora中的SID_NAME改為orcl。


(4)擴充
$ cat tnsnames.ora
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
ORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = OracleServer)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = ORCL)
    )
  )
tnsname.ora中也有兩個ORCL,大小寫都可以。


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

相關文章