原文:%C8%FD%B7%C9%D4%C6/blog/item/311edc0349233c8fd53f7c36.html
遇到同样错误,参考此文解决
前几天在测试备份时遇到这个错误:
C:\>set ORACLE_SID=oradb01
C:\>rman target /
恢复管理器: 版本9.2.0.1.0 - Production
Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved.
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00554: initialization of internal recovery manager package failed
RMAN-04005: error from target database:
ORA-06554: 必须在使用 PL/SQL 之前创建 DBMS_STANDARD
RMAN-04015: error setting target database character set to ZHS16GBK
下面是重建standard包的过程:
Step1:关闭数据库,关闭之前把spfile文件转成pfile文件以便修改数据库参数.
SQL> create pfile from spfile;
File created.
SQL> shutdown immediate
Step2:修改pfile文件加上初始化参数_system_trig_enabled=false,然后重新启动数
据库.
Step3:Run相关的Script.
SQL> conn / as sysdba
已连接。
SQL> @?/rdbms/admin/standard
程序包已创建。
程序包主体已创建。
授权成功。
SQL> @?/rdbms/admin/dbmsstdx
程序包已创建。
同义词已创建。
授权成功。
重启DB把_system_trig_enabled参数去掉。
执行utlrp.sql重新编译Package.
@?/rdbms/admin/utlrp.sql
注意,在重新编译时不要用其他的tool连接DB,如Toad,可能DB会Hang
Step4:重新连接Rman,错误消失.
C:\>rman target /
恢复管理器: 版本9.2.0.1.0 - Production
Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved.
连接到目标数据库: ORADB01 (DBID=946755932)
RMAN>