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:
在操作過程中發現有異樣,檢查伺服器啟動已耗用時間
[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"
因此,在伺服器上做任何改動都需要謹慎,尤其是已耗用時間長的伺服器,存在即有原因。
在CentOS 6.4下安裝Oracle 11gR2(x64)
Oracle 11gR2 在VMWare虛擬機器中安裝步驟
Debian 下 安裝 Oracle 11g XE R2