Oracle新建数据库无法登陆(解决)
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命令查看:
- 正在连接到 (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
- 命令执行成功
正在连接到 (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两个实例,添加新建的数据库实例,重启监听后连接正常。
修改后内容:
- SID_LIST_LISTENER =
- (SID_LIST =
- (SID_DESC =
- (SID_NAME = PLSExtProc)
- (ORACLE_HOME = D:\oracle\product\10.1.0\Db_1)
- (PROGRAM = extproc)
- )
- (SID_DESC =
- (SID_NAME = ORCL)
- (ORACLE_HOME = D:\oracle\product\10.1.0\Db_1)
- )
- (SID_DESC =
- (SID_NAME = TEST)
- (ORACLE_HOME = D:\oracle\product\10.1.0\Db_1)
- )
- )