`
JonyUabka
  • 浏览: 13280 次
  • 性别: Icon_minigender_1
  • 来自: 东营
社区版块
存档分类
最新评论

深入分析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:监听程序当前无法识别连接描述符中请求的服务

    ora-12514:TNS:监听程序当前无法识别连接描述符中请求的服务bug,解决文档.

    ORA-12514TNS监听程序当前无法识别连接描述符中请求服务的解决方法[借鉴].pdf

    ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务的解决方法 Oracle 是一款功能强大且广泛应用的关系数据库管理系统,它提供了强大的数据存储和管理功能。但是,在使用 Oracle 时,用户经常会遇到各种错误...

    安装/升级Oracle遇到ORA-12514问题

    ORA-12514:监听程序当前无法识别链接描述符中请求的服务,简单的来说就是Oracle数据库的监听器配置有问题。 解决方案 打开cmd命令,输入tnsping orcl ,正常情况下是这样显示的: 下面会显示监听器配置文件的路径及...

    ora-12514TNS 监听程序当前无法识别连接描述符中请求服务

    相信各位都遇到过这样一个问题吗,数据库安装好一后过不了几天,就会出现连接不上本地数据库的的事情,而且还会出现报错代码,在这个时候你可能就不知所措了,而对于新手来说就更成问题了,而且无从下手,而解决这个...

    监听程序当前无法识别连接描述符中请求的服务

    ora-12514错误是指监听程序当前无法识别连接描述符中请求的服务。这是因为监听程序不知道如何处理来自客户端的连接请求,因为监听程序不知道数据库服务的名称和位置。 二、解决方案 解决ora-12514错误的方法是将...

    ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务 解决方法.txt

    ### ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务 解决方法 #### 错误概述 ORA-12514 是一个常见的 Oracle 数据库错误,当客户端尝试连接到数据库服务器时,可能会遇到这个问题。此错误通常发生在 ...

    orcale 12514错误

    在尝试连接Oracle 10g数据库时,可能会遇到ORA-12514错误:“TNS:监听进程不能解析在连接描述符中给出的SERVICE_NAME”。这个错误通常出现在尝试通过网络远程连接到Oracle数据库服务器时,而不是在本地机器上。 ###...

    ORA-12516 TNS 监听程序无法找到匹配协议栈的可用句柄

    "ORA-12516 TNS 监听程序无法找到匹配协议栈的可用句柄" oracle 数据库是当前最流行的关系型数据库管理系统之一,然而,在使用 oracle 数据库时,经常会遇到各种错误信息,ORA-12516 错误信息便是其中之一。ORA-...

    navict连接oracle报错解决.zip

    navicat连接oracle报错:“ORA-12514:TNS:监听程序无法识别连接描述符中请求的服务”;问题解决:资源包中只包含一些 dll 文件,无需安装解压即可,并附有详细的操作步骤。

    Oracle安装问题

    在尝试连接数据库时,还可能遇到`ORA-12514: TNS:监听程序当前无法识别连接描述符中请求服务`的错误。这通常是因为监听器未能正确识别数据库实例。 **解决方法**: 1. **检查监听器配置文件**:首先,确认`...

    64位win7下pl/sql无法连接oracle解决方法

    2、pl/sql无法连接远程oracle(ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务) 解决方法:①在linux下找到oracle目录下的listener.ora,用vi编辑②下面红色为添加部分,其中GLOBAL_DBNAME要与客户机...

    oracle关闭后无法startup

    - **ORA-12514**: 表示TNS监听程序当前无法识别连接描述符中请求的服务,这通常意味着监听程序没有找到对应的服务名。 - **ORA-01041**: 内部错误,表示hostdef扩展名不存在。此错误较为罕见,可能与操作系统环境...

    Oracle数据库使用sqlplus时的连接错误与方向键乱码解决

    错误提示“ORA-12505: TNS:listener does not currently know of SID given in connect descriptor (DBD ERROR: OCIServerAttach)”表明监听器并不知道在连接描述符中给出的SID。这通常是因为客户端与服务器之间的...

    Oracle数据库常见错误处理方法

    #### 四、ORA-12500: TNS:监听程序无法启动专用服务器进程 **错误描述:** 当Oracle数据库无法启动专用服务器进程时,会出现此错误。 **解决方案:** - 确保数据库服务已启动,可以通过命令`...

Global site tag (gtag.js) - Google Analytics