zoukankan      html  css  js  c++  java
  • 【故障处理】修改主机名导致oracle实例无法启动暨如何修改hostname

    操作系统是32位的Linux 5.1:
    # cat /etc/redhat-release
    # Red Hat Enterprise Linux Server release 5.1 (Tikanga)

    数据库版本是10.2.0.3.0:

    SQL> select * from v$version;

    BANNER
    ----------------------------------------------------------------
    Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Prod
    PL/SQL Release 10.2.0.3.0 - Production
    CORE    10.2.0.3.0      Production
    TNS for Linux: Version 10.2.0.3.0 - Production
    NLSRTL Version 10.2.0.3.0 - Production

    network文件内容如下:
    $ cat /etc/sysconfig/network
    NETWORKING=yes
    NETWORKING_IPV6=no
    HOSTNAME=localhost.localdomain

    hosts文件内容如下:
    $ cat /etc/hosts
    # Do not remove the following line, or various programs
    # that require network functionality will fail.
    127.0.0.1               localhost.localdomain localhost
    ::1             localhost6.localdomain6 localhost6

    在没有修改主机名的情况下一切正常,因为想要规范linux服务器的名字,欲修改Linux的hostname,但是修改后数据库无法启动,有此经验的朋友请指点,感谢ing
    修改主机名我尝试了两种:
    第一种.直接修改名字,不重启机器
    # hostname oratest
    第二种.修改network文件,重新启动机器
    $ cat /etc/sysconfig/network
    NETWORKING=yes
    NETWORKING_IPV6=no
    HOSTNAME=oratest

    修改主机名之后问题现象如下:
    [oracle@oratest ~]$ sqlplus / as sysdba

    SQL*Plus: Release 10.2.0.3.0 - Production on Mon Jan 12 05:05:45 2009

    Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.

    Connected to an idle instance.

    SQL> startup;
    ORA-00600: internal error code, arguments: [keltnfy-ldmInit], [46], [1], [], [], [], [], []


    [oracle@oratest ~]$ emctl start dbconsole
    TZ set to PRC
    Exception in getting local host
    java.net.UnknownHostException: oratest: oratest
            at java.net.InetAddress.getLocalHost(InetAddress.java:1191)
            at oracle.sysman.emSDK.conf.TargetInstaller.getLocalHost(TargetInstaller.java:5488)
            at oracle.sysman.emSDK.conf.TargetInstaller.main(TargetInstaller.java:4102)
    Exception in getting local host
    java.net.UnknownHostException: oratest: oratest
            at java.net.InetAddress.getLocalHost(InetAddress.java:1191)
            at oracle.sysman.emSDK.conf.TargetInstaller.getLocalHost(TargetInstaller.java:5488)
            at oracle.sysman.emSDK.conf.TargetInstaller.main(TargetInstaller.java:4102)
    OC4J Configuration issue. /oracle/u01/app/oracle/product/10.2.0/db_1/oc4j/j2ee/OC4J_DBConsole_null_ora10g not found.

    请问,如果在创建数据库之后需要修改主机名字,该如何操作,感觉这是一个比较常见的问题,但是苦于迷陷其中,不得其法。
     

     

    TAG: 故障处理 主机名 hostname

    sundog315的个人空间sundog315 发布于2009-01-12 11:11:41
    hostname -v oratest
    修改/etc/hosts
    修改listener.ora及tnsname.ora
    重启
    Secooler 快乐的DBAsecooler 发布于2009-01-12 12:16:31

    QUOTE:

    原帖由 sundog315 于 2009-1-12 11:11 发表 
    hostname -v oratest
    修改/etc/hosts
    修改listener.ora及tnsname.ora
    重启
    非常感谢您的回复,不过能请您说的详细一些,该如何修改?

    列出我的hosts, listener.ora和tnsnames.ora

    $ cat /etc/hosts
    # Do not remove the following line, or various programs
    # that require network functionality will fail.
    127.0.0.1               localhost.localdomain localhost
    ::1             localhost6.localdomain6 localhost6

    $ cat listener.ora 
    # listener.ora Network Configuration File: /oracle/u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora
    # Generated by Oracle configuration tools.

    SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = PLSExtProc)
          (ORACLE_HOME = /oracle/u01/app/oracle/product/10.2.0/db_1)
          (PROGRAM = extproc)
        )
      )

    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521))
        )
      )


    $ cat tnsnames.ora 
    # tnsnames.ora Network Configuration File: /oracle/u01/app/oracle/product/10.2.0/db_1/network/admin/tnsnames.ora
    # Generated by Oracle configuration tools.

    EXTPROC_CONNECTION_DATA =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
        )
        (CONNECT_DATA =
          (SID = PLSExtProc)
          (PRESENTATION = RO)
        )
      )
    howard_zhang的个人空间howard_zhang 发布于2009-01-12 12:28:42
    Bug 5438154
    sundog315的个人空间sundog315 发布于2009-01-12 12:37:48
    hostname -v oratest
    这时候,/etc/hosts应该已经自动改了,确认一下
    127.0.0.1               oratest

    修改listener
    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = oratest)(PORT = 1521))
        )
      )

    如果不在本机使用sqlnet,则可以不改tnsnames.ora文件,改了也没有错:)
    sundog315的个人空间sundog315 发布于2009-01-12 12:40:02
    看错误信息,也有可能是BUG,我没遇到过,可以看一下。
    Secooler 快乐的DBAsecooler 发布于2009-01-12 12:45:39

    QUOTE:

    原帖由 howard_zhang 于 2009-1-12 12:28 发表 
    Bug 5438154
    metalink上只是列出来和这个报错相关的信息,好像没有指导性的建议。
    有具体的处理方法么?
    Secooler 快乐的DBAsecooler 发布于2009-01-12 14:42:38
    没有遇到这个问题的同学了么?
    Secooler 快乐的DBAsecooler 发布于2009-01-12 17:25:11

    QUOTE:

    原帖由 sundog315 于 2009-1-12 12:37 发表 
    hostname -v oratest
    这时候,/etc/hosts应该已经自动改了,确认一下
    127.0.0.1               oratest

    修改listener
    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = oratest)(PORT = 1521))
        )
      )

    如果不在本机使用sqlnet,则可以不改tnsnames.ora文件,改了也没有错:)
    正在试验中,我这里的操作系统使用命令hostname -v oratest修改主机名后,hosts文件没有发生任何的变化。
    按照您的修改方式修改后,数据库可以启动了,但是listener无法启动。
    问题继续跟踪ing



    同时,我先修改主机名再进行创建数据库试试。

    [ 本帖最后由 secooler 于 2009-1-12 17:35 编辑 ]
    yangtingkun的个人空间yangtingkun 发布于2009-01-12 17:53:58
    10g的bug,9i和11g好像都没有这个问题。
    http://yangtingkun.itpub.net/post/468/459179
    howard_zhang的个人空间howard_zhang 发布于2009-01-12 18:50:53

    QUOTE:

    原帖由 secooler 于 2009-1-12 12:45 发表 


    metalink上只是列出来和这个报错相关的信息,好像没有指导性的建议。
    有具体的处理方法么?
    打上PATCH就OK
    Secooler 快乐的DBAsecooler 发布于2009-01-13 09:40:15
    感谢howard_zhang 和 yangtingkun 大哥的帮助,对这个问题已经有了新的认识,以后遇到问题多上metalink上搂搂 。
    我找一下相应的patch打上试验一下。
    from:
    http://space.itpub.net/519536/viewspace-555646
  • 相关阅读:
    Suricata, to 10Gbps and beyond(X86架构)
    golang语法学习(一):变量,常量以及数据类型
    Linux相关问题-CentOS6.5 x64版本号下Tomcat无法自启动的解决的方法
    软考之路--你存在我深深的脑海里
    Apache虚拟主机-解惑篇
    Apache 性能调优-参考篇
    Jmeter脚本录制
    整理LVS架构压力测试工作
    关于jboss的线程问题+java.lang.outofmemoryError
    CUDA入门
  • 原文地址:https://www.cnblogs.com/saptechnique/p/2477458.html
Copyright © 2011-2022 走看看