今天在进行一个全库exp的导出的时候,遇到一个报错:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
EXP-00008: ORACLE error 6550 encountered ORA-06550: line 1, column 18: PLS-00201: identifier 'SYS.DBMS_DEFER_IMPORT_INTERNAL' must be declared ORA-06550: line 1, column 7: PL/SQL: Statement ignored ORA-06512: at "SYS.DBMS_SYS_SQL", line 1120 ORA-06512: at "SYS.DBMS_SQL", line 323 ORA-06512: at "SYS.DBMS_EXPORT_EXTENSION", line 97 ORA-06512: at "SYS.DBMS_EXPORT_EXTENSION", line 126 ORA-06512: at line 1 . . exporting table DEF$_AQERROR EXP-00008: ORACLE error 6510 encountered ORA-06510: PL/SQL: unhandled user-defined exception ORA-06512: at "SYS.DBMS_EXPORT_EXTENSION", line 50 ORA-06512: at "SYS.DBMS_EXPORT_EXTENSION", line 126 ORA-06512: at line 1 |
这个库是在aix的上一个9208的库,前段时间刚刚打了CPUApr2010。应该来说,做全库导出,是不会有这样的报错的,做全库导出的用户也给了connect,resource,dba的权限。全库导入的话,可能会遇到system用户中唯一性约束的问题,但是全库导出不应该有报错。
查询了metalink,发现原来是和CPU的patch有关,在打过9208上的Oct07 CPU时就会有这个报错(ID 465018.1):
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Cause Problem with the permissions caused by applying the Oct 07 CPU patch. Export is failing after applying the Oct 07 CPU patch however it was working earlier .Rolling back the patch make the export works properly. So seems the permissions associated with export are corrupted. Solution Grant the FULL_EXP_DATABASE,EXECUTE ON SYS.DBMS_DEFER_IMPORT_INTERNAL to the user performing the export by running the following two SQL commands : SQL>GRANT EXP_FULL_DATABASE TO <USER>; SQL>GRANT EXECUTE ON SYS.DBMS_DEFER_IMPORT_INTERNAL TO <USER> |
在按照metalink的指示进行grant之后,果然没有报错了。我很怀疑这个报错也是在应用了CPUAri2010引起的。其实我的观点是,没有遇到bug,还是不要打补丁,不会触发新的bug,也省事。
一条评论
oracle的patch一点也不比windows的少啊.
而且特累人.前前后后,上上下下,左左右右都得非常小心..