深入分析ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
来源:互联网 发布:网络运营助理岗位职责 编辑:程序博客网 时间:2024/05/22 17:06
环境:虚拟机, 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: 监听程序当前无法识别连接描述符中请求的服务
- ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
- ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
- ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务!
- 解决方法:ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
- ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
- ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务 解决
- ora-12514: tns: 监听程序当前无法识别连接描述符中请求的服务
- ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
- ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务 问题解决
- ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
- ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务 问题解决
- ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务 问题解决
- ORA-12514: TNS:监听程序当前无法识别连接描述符中请求的服务
- 解决 ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
- ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务
- ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
- ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
- GridView 使用笔记 - 后台部分
- Slyce:购物界的 Shazam
- C#中的类型转换
- 从问题看本质:socket到底是什么?
- 2.6. About Primary Storage
- 深入分析ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
- svn各种图标含义
- Fitbit 这类设备如何改变医生与病人
- C#中的 IList, ICollection ,IEnumerable 和 IEnumerator
- Hibernate基础之十:一对多关联的CRUD__@ManyToOne(cascade=(CascadeType.ALL))
- PowerManager
- 各种发动机的类型
- Android的启动模式
- Activity生命周期