Oracle 12c迁移至19c时impdp报错:用户/Schema未创建
Oracle 12c 到 19c 可传输表空间(TTS)迁移报错处理
一、导入报错:ORA-39083/ORA-31625/ORA-01435
报错信息
ORA-39083: 对象类型PROCACT_SCHEMA创建失败,错误原因:
ORA-31625: 导入此对象需要Schema OPENDEMO_SNAP,但该Schema不可访问
ORA-01435: 用户不存在
原因
导出的dump文件中包含OPENDEMO_SNAP schema的相关对象,但目标19c库未创建该用户,导致导入时无法匹配对应schema。
解决方法
方案1:提前创建缺失用户
在目标19c库中执行SQL创建用户(可根据源库用户属性调整表空间、权限配置):
CREATE USER OPENDEMO_SNAP IDENTIFIED BY <自定义密码> DEFAULT TABLESPACE <默认表空间名> TEMPORARY TABLESPACE TEMP; -- 按需授予基础权限 GRANT CONNECT, RESOURCE TO OPENDEMO_SNAP;
创建完成后重新执行impdp命令。
方案2:导入时排除该schema
若OPENDEMO_SNAP属于无需迁移的对象,可在impdp命令中添加排除参数:
impdp system/password directory=dp_dir dumpfile=full_tts.dmp logfile=full_tts_imp.log transport_datafiles='/tmp/oracle-db/users*','/tmp/oracle-db/data*' exclude=schema:\"IN ('OPENDEMO_SNAP')\"
二、导出时报错:ORA-31642/ORA-01950
报错信息
ORA-31642: 以下SQL语句执行失败:
BEGIN "SYS"."DBMS_RULE_EXP_RULES".SCHEMA_CALLOUT(:1,0,1,'12.01.00.02.00'); END;
ORA-01950: 对表空间'SYSAUX'无权限
原因
执行导出的SYSTEM用户缺少SYSAUX表空间的读写权限,导致处理规则类对象时失败(虽然导出任务标记完成,但可能存在对象未完整导出的隐患)。
解决方法
- 给
SYSTEM用户授予SYSAUX表空间权限:
GRANT READ, WRITE ON TABLESPACE SYSAUX TO SYSTEM;
- 重新执行expdp命令完成完整导出,避免后续迁移出现对象缺失问题。
内容的提问来源于stack exchange,提问作者lildazeez
相关产品推荐
相关产品推荐

