我试图从Oracle DB服务器usint exp.exe实用程序导出我的方案:
exp.EXE USERID=myscheme/myscheme@myserve FULL=Y FEEDBACK=1000 FILE=d:\ORACLE\full.dat LOG=d:\ORACLE\full.LOG
在日志文件中我得到了下一个:
XP-00091: Exporting unreliable statistics
. . table expot DEF$_AQCALL
EXP-00008: ORACLE error 6550
ORA-06550: row 1, column 18:
PLS-00201: identificator 'SYS.DBMS_DEFER_IMPORT_INTERNAL' должен быть объявлен
ORA-06550: Строка 1, столбец 7:
PL/SQL: Statement ignored
ORA-06512: on "SYS.DBMS_SYS_SQL", line 1204
ORA-06512: on "SYS.DBMS_SQL", line 323
ORA-06512: on "SYS.DBMS_EXPORT_EXTENSION", line 97
ORA-06512: on "SYS.DBMS_EXPORT_EXTENSION", line 126
ORA-06512: on line 1
. . table expot DEF$_AQERROR
EXP-00008: ORACLE error 6510
ORA-06510: PL/SQL: unchecked exception,
ORA-06512: on "SYS.DBMS_EXPORT_EXTENSION", line 50
ORA-06512: on "SYS.DBMS_EXPORT_EXTENSION", line 126
ORA-06512: on line 1
还有一些相同的案例。在该exeport被圈出之后:我可以在日志文件中找到任何表的名称几次并且它不会停止。
除了我发现解决导出错误之外我还需要知道SYS方案的密码,但我没有这个。
答案 0 :(得分:1)
指定FULL=Y
表示您正在对数据库中的所有架构进行完全导出,而您所连接的用户需要EXP_FULL_DATABASE
角色。如果您只想导出架构,则不需要FULL
。来自文档on export modes:
导出实用程序支持四种操作模式:
完整:导出完整数据库。只有具有EXP_FULL_DATABASE角色的用户才能使用此模式。使用FULL参数指定此模式。
表空间:允许特权用户将一组表空间从一个Oracle数据库移动到另一个Oracle数据库。使用TRANSPORT_TABLESPACE 参数指定此模式。
用户:允许您导出属于您的所有对象(例如表,授权,索引和过程)。特权用户导入 在用户模式下,可以导入指定集的模式中的所有对象 用户使用OWNER参数在“导出”中指定此模式。
表:允许您导出特定的表和分区。特权用户可以通过指定模式来限定表 包含它们。对于未指定模式名称的任何表, 导出默认为导出器的模式名称。使用表格 参数指定此模式。
因此,您需要用户模式导出,因此请在命令中将FULL=Y
更改为OWNER=myscheme
。
由于您使用的是10g,因此您应该考虑使用data pump而不是旧版导出工具。