深入分析ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
环境:虚拟机, win03 ,11g
数据库异常关闭的处理办法:
问题出现之前的问题:因为数据库正在创建表空间,然后虚拟机进行了常规关闭。导致文件状态可能不一致。数据库在正常的关闭会有同步校验。因此此次关闭导致了该问题的产生。
感谢作者提供重要分析:http://soulful.blog.51cto.com/468033/389570/
初始表征问题会出现:
ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
一般操作为重新配置listener.ora 文件
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = ORCL)
(ORACLE_HOME = D:\oracle\product\11.2.0\dbhome_1)
(SID_NAME = ORCL)
)
(SID_DESC =
(SID_NAME =CLRExtProc)
(ORACLE_HOME = D:\oracle\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:D:\oracle\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)
)
双引号内容为添加本地实例内容,让sqlplus能访问到本地实例。
在过程中发现sys的密码无法查看,但不能登录system,报oracle实例无效。
只能初始化oracle的用户密码:
方案:
将原密码文件重命名为PWD+实例名.oracpy,只要重名命即可。
关键指令例如:
orapwd file=F:\oracle\product\10.2.0\db_1\database\PWDorcl.ora password=123
这样就建立了SYS的密码为123,可以登录了.
SQL> conn sys/123@orcl as sysdba 已连接到空闲例程。 SQL> show parameter session ORA-01034: ORACLE not available SQL> startup; ORACLE 例程已经启动。 Total System Global Area 3423965184 bytes Fixed Size 2180544 bytes Variable Size 2415921728 bytes Database Buffers 989855744 bytes Redo Buffers 16007168 bytes 数据库装载完毕。 ORA-03113: 通信通道的文件结束
印证了之前错误的可能,介质和文件信息不一致。
SQL> startup mount; ORACLE 例程已经启动。 Total System Global Area 3423965184 bytes Fixed Size 2180544 bytes Variable Size 2415921728 bytes Database Buffers 989855744 bytes Redo Buffers 16007168 bytes 数据库装载完毕。 SQL> alter database open resetlogs; alter database open resetlogs * 第 1 行出现错误: ORA-01139: RESETLOGS 选项仅在不完全数据库恢复后有效 SQL> recover database until cancel; 完成介质恢复。(此处有recover database until time '2010-09-09 1:45:02'; 可恢复介质到某一时间点) SQL> alter database open resetlogs; 数据库已更改。 SQL> shutdown 数据库已经关闭。 已经卸载数据库。 ORACLE 例程已经关闭。 SQL> startup; ORACLE 例程已经启动。 Total System Global Area 3423965184 bytes Fixed Size 2180544 bytes Variable Size 2415921728 bytes Database Buffers 989855744 bytes Redo Buffers 16007168 bytes 数据库装载完毕。 数据库已经打开。 SQL> select 1 from dual; 1 ---------- 1
完成恢复
总结:硬件环境中经常可能会遇到意外断电或者异常关机的情况,如果之前没有非常规的数据库操作,有限考虑日志和文件的信息不同步情况,进行一次时间点的恢复。
- 深入分析ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
- Oracle 11g ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务
- ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务
- ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务 的解决方法
- ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务 的解决方法
- Oracle 11g ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务
- ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务 解决
- ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务!
- ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务 的解决方法
- Oracle 11g ORA-12514 TNS:监听程序当前无法识别连接描述符中请求的服务
- Oracle 11g ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务 .
- 错误描述:ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务
- ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务 的解决方法
- ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
- ORA-12514:TNS 监听程序当前无法识别连接描述符中请求的服务
- 解决 ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
- 连接本地Oracle 11g时 ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务
- Oracle几个基础配置问题:ORA-12154: TNS: 无法解析指定的连接标识符、ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务、ORA-12516 TNS监听程序找不到符合协议堆栈要求的可用处理程序
- 解决 ERROR - ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
- Oracle 10g中“ERROR-ORA-12514 TNS 监听程序当前无法识别连接描述符中请求的服务”错误的解决方法