您的位置:首页 > 数据库 > Oracle

【故障处理】修改主机名导致oracle实例无法启动暨如何修改hostname

2012-04-30 23:49 901 查看
操作系统是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.

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

全部脚印不留脚印留下脚印:




7243689




11111809




woodpan

相关阅读:

【故障处理】【oerr】【grep】谨防grep“花哨”功能导致oerr工具无法使用 (secooler, 2009-8-21)

【故障处理】因GREP“花哨”功能导致ORA-12157错误的排查过程 (secooler, 2009-8-23)

论坛模式 推荐 收藏 分享给好友 推荐到圈子 管理

TAG: 故障处理 主机名 hostname



sundog315 发布于2009-01-12 11:11:41hostname -v oratest
修改/etc/hosts
修改listener.ora及tnsname.ora
重启

secooler 发布于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 发布于2009-01-12 12:28:42Bug 5438154

sundog315 发布于2009-01-12 12:37:48hostname -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 发布于2009-01-12 12:40:02看错误信息,也有可能是BUG,我没遇到过,可以看一下。

secooler 发布于2009-01-12 12:45:39
QUOTE:

原帖由 howard_zhang 于 2009-1-12 12:28 发表


Bug 5438154


metalink上只是列出来和这个报错相关的信息,好像没有指导性的建议。
有具体的处理方法么?

secooler 发布于2009-01-12 14:42:38没有遇到这个问题的同学了么?

secooler 发布于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 发布于2009-01-12 17:53:5810g的bug,9i和11g好像都没有这个问题。
http://yangtingkun.itpub.net/post/468/459179

howard_zhang 发布于2009-01-12 18:50:53
QUOTE:

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



metalink上只是列出来和这个报错相关的信息,好像没有指导性的建议。
有具体的处理方法么?


打上PATCH就OK

secooler 发布于2009-01-13 09:40:15感谢howard_zhang 和 yangtingkun 大哥的帮助,对这个问题已经有了新的认识,以后遇到问题多上metalink上搂搂 。
我找一下相应的patch打上试验一下。from:http://space.itpub.net/519536/viewspace-555646
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: