客户的Oracle数据库服务器的aix操作系统意外崩溃后使用, 使用保留方式重装了AIX操作系统, 按照原来的方式建立了oracle用户及相关的组, 启动Oracle时却报错:
[yxcs2@oracle]$ sqlplus
SQL*Plus: Release 10.2.0.4.0 - Production on Tue Jul 7 11:16:18 2009
Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
Enter user-name: / as sysdba
Connected.
SQL> startup
ORA-00000: normal, successful completion
SQL> exit
Disconnected
[yxcs2@oracle]$ lsnrctl start
LSNRCTL for IBM/AIX RISC System/6000: Version 10.2.0.4.0 - Production on 07-JUL-2009 11:16:37
Copyright (c) 1991, 2007, Oracle. All rights reserved.
Starting /soft/oracle/product/10.2.0/db_1/bin/tnslsnr: please wait...
TNSLSNR for IBM/AIX RISC System/6000: Version 10.2.0.4.0 - Production
Log messages written to /soft/oracle/product/10.2.0/db_1/network/log/listener.log
Error listening on: (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
TNS-12545: Connect failed because target host or object does not exist
TNS-12560: TNS:protocol adapter error
TNS-00515: Connect failed because target host or object does not exist
Listener failed to start. See the error message(s) above...
数据库没有启动, 登陆时却提示Connected. 如果强制重启, 则提示ORA-00000, 监听也无法启动。
这个问题是由于该数据库服务器的主机名无法在/etc/hosts中找到而导致的, 解决方法就是在/etc/hosts中添加服务器的主机名的记录。
很有意思的一个错误, 记录之。
责任编辑:小草