Oracle新建数据库无法登陆(解决)

发布日期:2013-02-06 13:21:16

 1、可以把administrator从设置-控制面板(control Panel)-管理工具(Administrative Tools)-本地安全策略(Local Security Policy)-本地策略(Local Policies)-用户权利指派(User Rights Assignment)-作为批处理作业登陆(Log on as a batch job)中加入就ok,首选身份证明是oracle的一种认证策略,即下次就用改用户登陆信息认证
  
  
  
  2、在listener.ora要加入相应的如下语句,其中SPCOG为新建的数据库SID
  SID_LIST_LISTENER =
   (SID_LIST =
   (SID_DESC =
   (SID_NAME = PLSExtProc)
   (ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
   (PROGRAM = extproc)
   )
   (SID_DESC =
  
   (GLOBAL_DBNAME = ORCL)
  
   (ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
  
   (SID_NAME = ORCL)
  
   )
   (SID_DESC =
  
   (GLOBAL_DBNAME = SPCOG)
  
   (ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
  
   (SID_NAME = SPCOG)
  
   )
  
   )
=====================================================================

 

1、新建Oracle数据库后,使用sqlplus sys/a12345@test as sysdba无法连接。

2、首先查看Oralce监听、连接的数据库例程服务已经启动。

3、在CMD下执行lsnrctl services命令查看:

Java代码  
  1. 正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))   
  2. 服务摘要..   
  3. 服务 "PLSExtProc" 包含 1 个例程。   
  4.   例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...   
  5.     处理程序:   
  6.       "DEDICATED" 已建立:0 已被拒绝:0  
  7.          LOCAL SERVER   
  8. 服务 "orcl" 包含 1 个例程。   
  9.   例程 "orcl", 状态 UNKNOWN, 包含此服务的 1 个处理程序...   
  10.     处理程序:   
  11.       "DEDICATED" 已建立:0 已被拒绝:0  
  12.          LOCAL SERVER   
  13. 命令执行成功  
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
服务摘要..
服务 "PLSExtProc" 包含 1 个例程。
  例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
    处理程序:
      "DEDICATED" 已建立:0 已被拒绝:0
         LOCAL SERVER
服务 "orcl" 包含 1 个例程。
  例程 "orcl", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
    处理程序:
      "DEDICATED" 已建立:0 已被拒绝:0
         LOCAL SERVER
命令执行成功

 

发现并没有新建的数据库服务及例程。

4、查看..\oracle\product\10.2.0\db_1\network\ADMIN下listener.ora文件:

SID_LIST_LISTENER下只有SID为PLSExtProc、orcl两个实例,添加新建的数据库实例,重启监听后连接正常。

修改后内容:

Java代码  
  1. SID_LIST_LISTENER =   
  2.   (SID_LIST =   
  3.     (SID_DESC =   
  4.       (SID_NAME = PLSExtProc)   
  5.       (ORACLE_HOME = D:\oracle\product\10.1.0\Db_1)   
  6.       (PROGRAM = extproc)   
  7.     )   
  8.     (SID_DESC =   
  9.       (SID_NAME = ORCL)   
  10.       (ORACLE_HOME = D:\oracle\product\10.1.0\Db_1)   
  11.     )   
  12.     (SID_DESC =   
  13.       (SID_NAME = TEST)   
  14.       (ORACLE_HOME = D:\oracle\product\10.1.0\Db_1)   
  15.     )   
  16.   )