一次ORA-00130: invalid listener address错误

简介: 登录数据库,提示:ora11g>sqlplus dcsopen/dcsopen1SQL*Plus: Release 11.2.0.1.0 Production on Mon Jan 5 18:49:31 2015Copyright (c) 1982, 2009, Oracle.

登录数据库,提示:

ora11g>sqlplus dcsopen/dcsopen1
SQL*Plus: Release 11.2.0.1.0 Production on Mon Jan 5 18:49:31 2015
Copyright (c) 1982, 2009, Oracle.  All rights reserved.
ERROR:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist

Linux-x86_64 Error: 2: No such file or directory
Process ID: 0
Session ID: 0 Serial number: 0

看样子是没有启动,那就启动数据库:

ora11g>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Mon Jan 5 18:50:29 2015
Copyright (c) 1982, 2009, Oracle.  All rights reserved.
Connected to an idle instance.
SQL> startup
ORA-00119: invalid specification for system parameter LOCAL_LISTENER
ORA-00130: invalid listener address '(ADDRESS=(PROTOCOL=TCP)(HOST=dcsopen2Node)(PORT=1521))'
报的是如上的错误,看到其中监听信息是 HOST=dcsopen2Node,第一反应是监听文件有问题,查看了下listener.ora文件:
# listener.ora Network Configuration File: /opt/app/ora11g/product/11.2.0/dcsopen/network/admin/listener.ora
# Generated by Oracle configuration tools.
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
  )
ADR_BASE_LISTENER = /opt/app/ora11g
没有 HOST=dcsopen2Node的配置。

查看机器名:
ora11g>hostname
dcsopen2Node
发现本机名称是 dcsopen2Node。参看一些帖子,说是有可能oracle启动的时候会同时注册一个和hostname相同名称的监听,所以此处报错提示的是(ADDRESS=(PROTOCOL=TCP)(HOST=dcsopen2Node)(PORT=1521))这个监听,提示无效地址,再查看/etc/hosts文件:
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
发现根本没有hostname对应项,由此推测, 可能是Oracle注册和hostname同名监听,但/etc/hosts中又没有定义hostname-IP对应项,因此认为此监听地址无效

解决方法
/etc/hosts中添加项:
172.27.19.57    dcsopen2Node
重启服务:
ora11g>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Mon Jan 5 20:33:32 2015
Copyright (c) 1982, 2009, Oracle.  All rights reserved.
Connected to an idle instance.

SQL> startup
ORACLE instance started.
Total System Global Area 3290345472 bytes
Fixed Size                  2217832 bytes
Variable Size            2533361816 bytes
Database Buffers          738197504 bytes
Redo Buffers               16568320 bytes
Database mounted.
Database opened.
一切又恢复了平静。

目录
相关文章
|
3月前
|
Oracle 关系型数据库 Java
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
50 0
|
数据库
ORA-12520: TNS:listener could not find available handler for requested type of server
当你碰到ORA-12520错误时,如下所示: 英文错误提示: ORA-12520: TNS:listener could not find available handler for requested type of server 中文错误提示: ORA-12520: TNS: 监听程序无法为请求的服务器类型找到可用的处理程序 一般你应该从下面两个方面去检查出错原因并解决问题:   1:数据库是专用服务器,但是在tnsname.ora配置文件中设置的连接方式是shared,这种情况需要修改tnsname.ora配置文件,这种错误情况一般发生在第一次连接数据库服务器。
1324 0
|
SQL Oracle 关系型数据库
ORA-12514, TNS:listener does not currently know of service requested in connect descriptor案例2
今天使用SQL Developer连接一台测试服务器数据库(ORACLE 11g)时,遇到了“ORA-12514, TNS:listener does not currently know of service requested in connect descriptor”错误,具体提示如下所示:...
5296 0
|
SQL Oracle 关系型数据库
TNS-12535: TNS:operation timed out案例解析
一数据库突然连接不上,在自己电脑上使用SQL Developer也连接不上。立即使用SecureCRT连接上了这台服务器,从下面几个方面检查。   1:检查了数据库的状态是否正常 $ sqlplus / as sysdba   SQL*Plus: Release 10.
3382 0
|
关系型数据库 数据库
ORA-12154: TNS:could not resolve the connect identifier specified
在安装ORACLE安装的时候,报如下错误:ORA-12154: TNS:could not resolve the connect identifier specified。如下图所示: 折腾了很久才找到罪魁祸首:原来在安装数据库时,设置用户密码的时候里面包含了@符号,引起了这个错误,这个错误倒是有点诡异,应该是ORACLE连接DB时就把口令@后面的串当连接字用了。
2922 0