【问题标题】:ORA-00130: invalid listener address, configure failureORA-00130: 无效的侦听器地址,配置失败
【发布时间】:2018-01-04 17:27:30
【问题描述】:

在安装 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 中注释并将默认 LISTENER 重新定义为 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

请帮忙解决问题。

【问题讨论】:

    标签: oracle11g oracle-xe slackware


    【解决方案1】:

    尝试以下步骤,它应该有助于解决您的问题。

    --以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 数据库,如果已经在shutdown就可以了。

    SQL>Shutdown
    

    --启动数据库。

    SQL>startup
    

    【讨论】:

    • 感谢您的回复。我已经通过在 init 目录中手动执行 XE.sql 成功重新配置脚本。按照上面的加载 spfile 就可以了。但是什么时候从 user_tables 中选择 table_name;有 ORA-01219: 数据库未打开: 只允许在固定表/视图上查询
    • 更不能简单地 sqlplus system/some_secret_passwd@XE 有一个 ORA-01033: ORACLE 初始化或关机正在进行中
    • 好像你的数据库没有处于打开状态,你可以立即关闭数据库(或者在最坏的情况下中止模式),并在正常模式下启动数据库。如果您仍然遇到同样的问题,警报日志可以提供更多详细信息,在您的情况下检查 alert_xe.log 并分享最新的错误消息。谢谢。
    • 关机没问题。当只是 startupORA-01110: data file 1: '/u01/app/oracle/oradata/XE/system.dbf' ORA-01206: file is not part of this database -错误的数据库 ID 和其他错误(ORA-01186、ORA-01122、ORA-01221)。当使用 pfile 选项启动时,所有错误都消失了,但 select 有同样的失败。
    • 启动有正确的pfile,它达到nomount模式。此外,它找到正确的控制文件,它被提升为挂载模式。作为最后一步,它验证控制文件记录的数据文件以打开数据库。根据最后一条错误消息,.dbf 文件头和控制文件中的数据库 ID 不匹配。在这里,方法是恢复正确数据文件的副本,并且需要恢复数据库。
    猜你喜欢
    • 2017-08-12
    • 1970-01-01
    • 2018-11-05
    • 1970-01-01
    • 2017-12-26
    • 2022-07-01
    • 2015-06-30
    • 2017-05-16
    • 2016-06-14
    相关资源
    最近更新 更多