ORA-21561:OID generation failed

遇到一个非常奇怪的问题,Linux5.8 + Oracle 11.2.0.3

启动数据库时候报错:

[oracle@tivoli02 ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Thu Oct 23 21:23:16 2014

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

Connected.
SQL> startup nomount pfile='/tmp/a.ora';
ORA-00119: invalid specification for system parameter LOCAL_LISTENER
ORA-00130: invalid listener address '(ADDRESS=(PROTOCOL=TCP)(HOST=tivoli02.***.com.cn)(PORT=1521))'
SQL> exit
Disconnected

[oracle@tivoli02 dbs]$ cat /tmp/a.ora
processes=150
sga_target=4432M
control_files="/u01/app/oracle/oradata/orcl/control01.ctl"
control_files="/u01/app/oracle/oradata/orcl/control02.ctl"
db_block_size=8192
compatible="11.2.0.0.0"
undo_tablespace="UNDOTBS1"
remote_login_passwordfile="EXCLUSIVE"
db_domain=""
audit_file_dest="/u01/app/oracle/admin/orcl/adump"
audit_trail="NONE"
db_name="orcl"
open_cursors=300
pga_aggregate_target=1477M
diagnostic_dest="/u01/app/oracle"
LOCAL_LISTENER=''            <<<<<尽管置空也无济于事

然后尝试DBCA创建数据库时报错ORA-21561:

ORA-21561:OID generation failed

在操作过程中发现有异样,检查服务器启动运行时间

[oracle@tivoli02 dbs]$ uptime
 21:54:40 up  5:07,  5 users,  load average: 2.18, 2.12, 1.91

说明五个小时前操作系统重启过,再检查/etc/hosts发现主机条目被人修改过,本机IP所对应的主机名域名部分被删除.

新增一个别名,且该别名带有域名

如  tivoli02.robo.com

后来上MOS查了一下,ORA-21561其实是ORACLE未公开的BUG:

Bug 12597261: "ORA-21561 IF HOSTNAME ENVIRONMENT VARIABLE IS NOT FULLY QUALIFIED"

因此,在服务器上做任何改动都需要谨慎,尤其是运行时间长的服务器,存在即有原因。

相关推荐