RMAN迁移之后问题character set name is not recognized
一台测试机器由于系统未知问题,需要重新安装操作系统,机器上跑着一个数据库,需要建数据库迁移到新机器上,在迁移完成之后检查日志发现问题。
环境:
source redhat 5.1 oracle 10.2.0.1
target centos 5.7 oracle 10.2.0.5
检查告警日志发现每间隔5分钟记录如下信息:
Fri Dec 14 00:03:35 CST 2012
Errors in file /u01/oracle/10g/admin/DBSID/bdump/DBSID_mmon_3467.trc:
Fri Dec 14 00:03:35 CST 2012
Errors in file /u01/oracle/10g/admin/DBSID/bdump/DBSID_mmon_3467.trc:
ORA-06550: line 1, column 7:
PLS-00553: character set name is not recognized
ORA-06550: line 0, column 0:
PL/SQL: Compilation unit analysis terminated
Fri Dec 14 00:03:35 CST 2012
Errors in file /u01/oracle/10g/admin/DBSID/bdump/DBSID_mmon_3467.trc:
Fri Dec 14 00:03:35 CST 2012
Errors in file /u01/oracle/10g/admin/DBSID/bdump/DBSID_mmon_3467.trc:
ORA-06550: line 1, column 7:
PLS-00553: character set name is not recognized
ORA-06550: line 0, column 0:
PL/SQL: Compilation unit analysis terminated
首先检查了下数据库的字符集:
select parameter,value from nls_database_parameters;
发现两边的查询结果是一致的。
于是检查下/u01/oracle/10g/admin/DBSID/bdump/DBSID_mmon_3467.trc文件,发现该文件已经记录了大量的信息,文件大小已经达到291Mb。
trc信息:
*** SERVICE NAME:(SYS$BACKGROUND) 2012-12-14 00:03:35.510
*** SESSION ID:(1647.1) 2012-12-14 00:03:35.510
psdgbt: bind csid (852) does not match session csid (1)
psdgbt: session charset is US7ASCII
*** 2012-12-14 00:03:35.510
ksedmp: internal or fatal error
Current SQL statement for this session:
BEGIN :success := dbms_ha_alerts_prvt.post_instance_up; END;
。。。。
。。。。
*** 2012-12-18 09:53:10.083
ksedmp: internal or fatal error
ORA-06550: line 1, column 7:
PLS-00553: character set name is not recognized
ORA-06550: line 0, column 0:
PL/SQL: Compilation unit analysis terminated
通过查询得知改问题需要通过重建相关对象来解决。
Take a look at Note:430146.1 from Metalink
"How to recreate the SYS.ALERT_QUE [ID 430146.1]"
connect / as sysdba
alter system enable restricted session;
@$ORACLE_HOME/rdbms/admin/catnoalr.sql
@$ORACLE_HOME/rdbms/admin/dbmsslrt.sql
@$ORACLE_HOME/rdbms/admin/catalrt.sql
@$ORACLE_HOME/rdbms/admin/utlrp.sql
alter system disable restricted session;
问题得到解决。
-The End-