ORA-00130: 侦听器地址无效,配置失败
ORA-00130: invalid listener address, configure failure
安装 11.2 软件包后在 Slackware 分发版中尝试配置为
sudo /etc/rc.d/rc.oracle-xe configure
CloneRmanRestore.log 很好,在 cloneDBCreation.log 中有一些错误
...
ORA-00119: invalid specification for system parameter LOCAL_LISTENER
ORA-00130: invalid listener address '(ADDRESS=(PROTOCOL=TCP)(HOST=black)(PORT=1521))'
...
我的主机名-i 和主机名-f 给
127.0.0.1
和
black
结果。
tnsping black:1521 is OK.
这里是listener.ora、tnsname.ora和${ORACLE_HOME}/config/scripts/init.ora
# SID_LIST_LOCAL_LISTENER =
# (SID_LIST =
# (SID_DESC =
# (SID_NAME = PLSExtProc)
# (ORACLE_HOME = /u01/app/oracle/product/11.2.0/xe)
# (PROGRAM = extproc)
# )
# )
# use LOCAL_LISTENER instead default LISTENER
LOCAL_LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
# (ADDRESS = (PROTOCOL = TCP)(HOST = black)(PORT = 1521))
)
)
DEFAULT_SERVICE_LISTENER = (XE)
tnsname.ora
XE =
(DESCRIPTION =
# (ADDRESS = (PROTOCOL = TCP)(HOST = black)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = XE)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
init.ora
...
*.local_listener="(ADDRESS = (PROTOCOL=TCP) (HOST=127.0.0.1) (PORT=1521))"
local_listener="(ADDRESS = (PROTOCOL=TCP) (HOST=127.0.0.1) (PORT=1521))"
我尝试了默认设置中的静态侦听器,然后通过在 listener.ora 中注释并将默认侦听器重新定义为 LOCAL_LISTENER 来尝试动态服务注册。正在申请
lsnrctl status LOCAL_LISTENER
配置失败后给出
...
------------------------
Alias LOCAL_LISTENER
Version TNSLSNR for Linux: Version 11.2.0.2.0 - Production
...
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC_FOR_XE)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))
Services Summary...
Service "XE" has 1 instance(s).
Instance "XE", status READY, has 1 handler(s) for this service...
The command completed successfully
请帮忙解决问题。
尝试按照应该有助于解决您的问题的步骤操作。
--以sysdba身份登录
$sqlplu / as sysdba
--从当前spfile创建pfile
SQL>create pfile='/home/oracle/mypfile.ora' from spfile;
--保留一份备份,仅供参考。
$cp /home/oracle/mypfile.ora /home/oracle/mypfile.ora.backup
现在,打开新创建的 pfile,/home/oracle/mypfile.ora 并删除 local_listenr='listener_' 并保存它。
--关闭数据库
SQL>Shutdown
--使用新的pfile启动数据库
SQL>startup nomount pfile='/home/oracle/mypfile.ora'
--从 pfile 创建服务器 spfile
SQL>create spfile from pfile;
--shutdown database,如果已经shutdown了就可以了
SQL>Shutdown
--启动数据库
SQL>startup
安装 11.2 软件包后在 Slackware 分发版中尝试配置为
sudo /etc/rc.d/rc.oracle-xe configure
CloneRmanRestore.log 很好,在 cloneDBCreation.log 中有一些错误
...
ORA-00119: invalid specification for system parameter LOCAL_LISTENER
ORA-00130: invalid listener address '(ADDRESS=(PROTOCOL=TCP)(HOST=black)(PORT=1521))'
...
我的主机名-i 和主机名-f 给
127.0.0.1
和
black
结果。
tnsping black:1521 is OK.
这里是listener.ora、tnsname.ora和${ORACLE_HOME}/config/scripts/init.ora
# SID_LIST_LOCAL_LISTENER =
# (SID_LIST =
# (SID_DESC =
# (SID_NAME = PLSExtProc)
# (ORACLE_HOME = /u01/app/oracle/product/11.2.0/xe)
# (PROGRAM = extproc)
# )
# )
# use LOCAL_LISTENER instead default LISTENER
LOCAL_LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
# (ADDRESS = (PROTOCOL = TCP)(HOST = black)(PORT = 1521))
)
)
DEFAULT_SERVICE_LISTENER = (XE)
tnsname.ora
XE =
(DESCRIPTION =
# (ADDRESS = (PROTOCOL = TCP)(HOST = black)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = XE)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
init.ora
...
*.local_listener="(ADDRESS = (PROTOCOL=TCP) (HOST=127.0.0.1) (PORT=1521))"
local_listener="(ADDRESS = (PROTOCOL=TCP) (HOST=127.0.0.1) (PORT=1521))"
我尝试了默认设置中的静态侦听器,然后通过在 listener.ora 中注释并将默认侦听器重新定义为 LOCAL_LISTENER 来尝试动态服务注册。正在申请
lsnrctl status LOCAL_LISTENER
配置失败后给出
...
------------------------
Alias LOCAL_LISTENER
Version TNSLSNR for Linux: Version 11.2.0.2.0 - Production
...
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC_FOR_XE)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))
Services Summary...
Service "XE" has 1 instance(s).
Instance "XE", status READY, has 1 handler(s) for this service...
The command completed successfully
请帮忙解决问题。
尝试按照应该有助于解决您的问题的步骤操作。
--以sysdba身份登录
$sqlplu / as sysdba
--从当前spfile创建pfile
SQL>create pfile='/home/oracle/mypfile.ora' from spfile;
--保留一份备份,仅供参考。
$cp /home/oracle/mypfile.ora /home/oracle/mypfile.ora.backup
现在,打开新创建的 pfile,/home/oracle/mypfile.ora 并删除 local_listenr='listener_' 并保存它。
--关闭数据库
SQL>Shutdown
--使用新的pfile启动数据库
SQL>startup nomount pfile='/home/oracle/mypfile.ora'
--从 pfile 创建服务器 spfile
SQL>create spfile from pfile;
--shutdown database,如果已经shutdown了就可以了
SQL>Shutdown
--启动数据库
SQL>startup