出现问题
创建用户以后,授予dba权限。进行imp命令,出现以下问题:
最后显示:
成功导入,但出现警告
自行查看数据,中文英文都没有乱码。
但不知道有没有未知的错误。
解决办法
通过查错误文档
显示如下:
- 原因:因为DDL没有足够权限,导入失败
- 操作:以sysdba身份连接并且运行SQL文件
所以我们应该在运行一下生产的SQL文件。
在文件中搜索即可,一般是在C盘。
如果未指定日志文件,则SQL文件的默认名称为import_sys.sql。
分析原因
从Oracle Database 12c第2版(12.2)开始,出于安全原因,导入实用程序(imp)将不再以用户SYS的身份导入对象。如果转储文件包含需要以用户SYS身份重新创建的对象,则imp实用程序将尝试以用户SYSTEM身份重新创建它们。如果用户SYSTEM不能重新创建对象,则必须在导入完成后自己手动重新创建对象。
如果导入作业是由具有DBA角色的用户运行的,并且用户SYSTEM不能重新创建所有对象,则以下警告消息将写入日志文件中:IMP-00403XXXXXXXXXXXXXXXXX
生成的SQL文件包含用户SYSTEM无法重新创建的对象的失败DDL。要重新创建这些对象,必须在导入完成后手动执行失败的DDL。
通过将“ _sys.sql”附加到为LOG参数指定的文件名来自动命名SQL文件。例如,如果日志文件名是JulyImport,则SQL文件名将是JulyImport_sys.sql。
如果未指定日志文件,则SQL文件的默认名称为import_sys.sql。
注意:并非所有导入作业都会生成一个SQL文件。只有那些作业以用户DBA身份运行。