1.EXPDP
1.1全库导入导出
源库
单机安装,添加了sde用户
源库路径:
D:\app\Administrator\oradata\orcl
源库版本信息:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
PL/SQL Release 11.2.0.4.0 - Production
CORE 11.2.0.4.0 Production
TNS for 64-bit Windows: Version 11.2.0.4.0 - Production
NLSRTL Version 11.2.0.4.0 - Production
源库导出操作:
expdp system/oracle directory=expdp dumpfile=orcl.dmp logfile=orcl.log full=y
1.1.1源库与目标库路径不同
目标库
单机安装后,没有任何额外操作即开始导入数据
目标库路径:
N:\u01\oradata\orcl
目标库版本:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
PL/SQL Release 11.2.0.4.0 - Production
CORE 11.2.0.4.0 Production
TNS for 64-bit Windows: Version 11.2.0.4.0 - Production
NLSRTL Version 11.2.0.4.0 - Production
目标库导入操作:
impdp system/oracle dumpfile=orcl.dmp logfile=imp_orcl1.log directory=expdp full=y
导入日志:
#################################################################################
Import: Release 11.2.0.4.0 - Production on 星期五 8月 18 11:05:47 2023
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
;;;
连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
已成功加载/卸载了主表 "SYSTEM"."SYS_IMPORT_FULL_01"
启动 "SYSTEM"."SYS_IMPORT_FULL_01": system/******** dumpfile=orcl.dmp logfile=imp_orcl.log directory=expdp
处理对象类型 DATABASE_EXPORT/TABLESPACE
ORA-31684: 对象类型 TABLESPACE:"UNDOTBS1" 已存在
ORA-31684: 对象类型 TABLESPACE:"TEMP" 已存在
ORA-31684: 对象类型 TABLESPACE:"USERS" 已存在
ORA-39083: 对象类型 TABLESPACE 创建失败, 出现错误:
ORA-01119: 创建数据库文件 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\SDE.DBF' 时出错
ORA-27040: 文件创建错误, 无法创建文件
OSD-04002: 无法打开文件
O/S-Error: (OS 3) 系统找不到指定的路径。
失败的 sql 为:
CREATE TABLESPACE "SDE" DATAFILE 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\SDE.DBF' SIZE 419430400 LOGGING ONLINE PERMANENT BLOCKSIZE 8192 EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT NOCOMPRESS SEGMENT SPACE MANAGEMENT AUTO
处理对象类型 DATABASE_EXPORT/PROFILE
ORA-31684: 对象类型 PROFILE:"MONITORING_PROFILE" 已存在
处理对象类型 DATABASE_EXPORT/SYS_USER/USER
处理对象类型 DATABASE_EXPORT/SCHEMA/USER
ORA-31684: 对象类型 USER:"OUTLN" 已存在
ORA-31684: 对象类型 USER:"ORDDATA" 已存在
.
.
.
ORA-39083: 对象类型 USER 创建失败, 出现错误:
ORA-00959: 表空间 'SDE' 不存在
失败的 sql 为:
CREATE USER "SDE" IDENTIFIED BY VALUES 'S:A378010510EAB9AAFA8F36D6C468B6A9CA668DD423CEE94B6BAA40F6AD45;E1E1402D160C7FF5' DEFAULT TABLESPACE "SDE" TEMPORARY TABLESPACE "TEMP"
处理对象类型 DATABASE_EXPORT/ROLE
ORA-31684: 对象类型 ROLE:"SELECT_CATALOG_ROLE" 已存在
ORA-31684: 对象类型 ROLE:"EXECUTE_CATALOG_ROLE" 已存在
.
.
.
处理对象类型 DATABASE_EXPORT/GRANT/SYSTEM_GRANT/PROC_SYSTEM_GRANT
处理对象类型 DATABASE_EXPORT/SCHEMA/GRANT/SYSTEM_GRANT
ORA-39083: 对象类型 SYSTEM_GRANT 创建失败, 出现错误:
ORA-01917: 用户或角色 'SDE' 不存在
失败的 sql 为:
GRANT ADMINISTER DATABASE TRIGGER TO "SDE"
ORA-39083: 对象类型 SYSTEM_GRANT 创建失败, 出现错误:
ORA-01917: 用户或角色 'SDE' 不存在
结果
导入出错。
处理方法
方法1:导入前先手动添加所有源库中用户创建的表空间,根据源库各用户数据量,添加合适数量的数据文件,表空间添加完成后再做impdp导入。
CREATE TABLESPACE "SDE" DATAFILE 'N:\u01\oradata\orcl\SDE.DBF' SIZE 419430400 LOGGING ONLINE PERMANENT BLOCKSIZE 8192 EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT NOCOMPRESS SEGMENT SPACE MANAGEMENT AUTO;
ALTER TABLESPACE SDE ADD DATAFILE 'N:\u01\oradata\orcl\SDE_1.DBF' SIZE 100M AUTOEXTEND ON MAXSIZE UNLIMITED;
--**alter tablespace sde drop datafile 'N:\u01\oradata\orcl\SDE_1.DBF';
方法2:
1. 使用sqlfile选项来抽取DDL’s
例如:impdp system/oracle dumpfile=orcl.dmp logfile=imp_orcl3.log directory=expdp full=y sqlfile=imp.txt
2. imp.txt会包含所有DDL’s ,即会包含create tablespace 语句
3. 使用脚本,在目标数据库中预先创建表空间。如果你需要在不同位置中创建数据文件,更改脚本中的数据文件位置。
4. 执行导入。
结论
impdp全库导入时,需要原库与目标库路径一致,路径不一致时,需要在导入前预先创建好用户表空间。
1.1.2源库与目标库路径相同
目标库
单机安装后,没有任何额外操作即开始导入数据
目标库路径:
D:\app\Administrator\oradata\orcl
目标库版本:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
PL/SQL Release 11.2.0.4.0 - Production
CORE 11.2.0.4.0 Production
TNS for 64-bit Windows: Version 11.2.0.4.0 - Production
NLSRTL Version 11.2.0.4.0 - Production
目标库导入操作:
impdp system/oracle dumpfile=orcl.dmp logfile=imp_orcl.log directory=expdp full=y
结果
无报错,导入成功。
1.2用户导入导出
源库
单机安装,添加了tbs用户
SQL> create tablespace tbs datafile 'd:\app\administrator\oradata\orcl\tbs.dbf' size 100m autoextend on maxsize 500m;
SQL> create user tbs default tablespace tbs identified by tbs account unlock;
SQL> grant connect,resource ,dba to tbs;
SQL> conn tbs/tbs
SQL> create table tbs1(
2 id nvarchar2(32) default sys_guid(),
3 dat date default sysdate,
4 val nvarchar2(20) not null)
5 ;
SQL> insert into tbs1(val) values(to_char(sysdate,'yyyymmddhh24miss'));
SQL> alter table tbs1 modify val default to_char(sysdate,'yyyymmddhh24miss') ;
SQL> alter table tbs1 add col number;
SQL> insert into tbs1(col) select col from tbs1;
源库路径:
D:\app\Administrator\oradata\orcl
源库版本信息:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
PL/SQL Release 11.2.0.4.0 - Production
CORE 11.2.0.4.0 Production
TNS for 64-bit Windows: Version 11.2.0.4.0 - Production
NLSRTL Version 11.2.0.4.0 - Production
源库导出操作:
expdp tbs/tbs schemas=tbs directory=expdp dumpfile=tbs.dmp logfile=tbs.log
C:\Users\Administrator>expdp tbs/tbs schemas=tbs directory=expdp dumpfile=tbs.dmp logfile=tbs.log
Export: Release 11.2.0.4.0 - Production on 星期五 8月 18 16:33:20 2023
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
启动 "TBS"."SYS_EXPORT_SCHEMA_01": tbs/******** schemas=tbs directory=expdp dumpfile=tbs.dmp logfile=tbs.log;
正在使用 BLOCKS 方法进行估计...
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA
使用 BLOCKS 方法的总估计: 280 MB
处理对象类型 SCHEMA_EXPORT/USER
处理对象类型 SCHEMA_EXPORT/SYSTEM_GRANT
处理对象类型 SCHEMA_EXPORT/ROLE_GRANT
处理对象类型 SCHEMA_EXPORT/DEFAULT_ROLE
处理对象类型 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE
处理对象类型 SCHEMA_EXPORT/TABLE/COMMENT
处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/INDEX
处理对象类型 SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
. . 导出了 "TBS"."TBS1" 8.734 MB 83968 行
已成功加载/卸载了主表 "TBS"."SYS_EXPORT_SCHEMA_01"
******************************************************************************
TBS.SYS_EXPORT_SCHEMA_01 的转储文件集为:
D:\BACKUP\EXPDP\TBS.DMP
作业 "TBS"."SYS_EXPORT_SCHEMA_01" 已于 星期五 8月 18 16:33:43 2023 elapsed 0 00:00:22 成功完成
1.2.1源库与目标库路径不同
目标库
单机安装后,没有任何额外操作即开始导入数据
目标库路径:
N:\u01\oradata\orcl
目标库版本:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
PL/SQL Release 11.2.0.4.0 - Production
CORE 11.2.0.4.0 Production
TNS for 64-bit Windows: Version 11.2.0.4.0 - Production
NLSRTL Version 11.2.0.4.0 - Production
目标库导入操作:
impdp system/oracle directory=expdp dumpfile=tbs.dmp logfile=imp_tbs.log
C:\Users\Administrator>impdp system/oracle directory=expdp dumpfile=tbs.dmp logfile=imp_tbs.log
Import: Release 11.2.0.4.0 - Production on 星期五 8月 18 16:38:20 2023
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
已成功加载/卸载了主表 "SYSTEM"."SYS_IMPORT_FULL_01"
启动 "SYSTEM"."SYS_IMPORT_FULL_01": system/******** directory=expdp dumpfile=tbs.dmp logfile=imp_tbs.log
处理对象类型 SCHEMA_EXPORT/USER
ORA-39083: 对象类型 USER 创建失败, 出现错误:
ORA-00959: 表空间 'TBS' 不存在
失败的 sql 为:
CREATE USER "TBS" IDENTIFIED BY VALUES 'S:9015EB20F0FB441DEC3423B83AB5EB8E31808F2050E7F69D70F56202DEC9;3130D1AD44DEB1E0' DEFAULT TABLESPACE "TBS" TEMPORARY TABLESPACE "TEMP"
处理对象类型 SCHEMA_EXPORT/SYSTEM_GRANT
ORA-39083: 对象类型 SYSTEM_GRANT 创建失败, 出现错误:
ORA-01917: 用户或角色 'TBS' 不存在
失败的 sql 为:
GRANT UNLIMITED TABLESPACE TO "TBS"
处理对象类型 SCHEMA_EXPORT/ROLE_GRANT
ORA-39083: 对象类型 ROLE_GRANT 创建失败, 出现错误:
ORA-01917: 用户或角色 'TBS' 不存在
失败的 sql 为:
GRANT "CONNECT" TO "TBS"
ORA-39083: 对象类型 ROLE_GRANT 创建失败, 出现错误:
ORA-01917: 用户或角色 'TBS' 不存在
失败的 sql 为:
GRANT "RESOURCE" TO "TBS"
ORA-39083: 对象类型 ROLE_GRANT 创建失败, 出现错误:
ORA-01917: 用户或角色 'TBS' 不存在
失败的 sql 为:
GRANT "DBA" TO "TBS"
处理对象类型 SCHEMA_EXPORT/DEFAULT_ROLE
ORA-39083: 对象类型 DEFAULT_ROLE 创建失败, 出现错误:
ORA-01918: 用户 'TBS' 不存在
失败的 sql 为:
ALTER USER "TBS" DEFAULT ROLE ALL
处理对象类型 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
ORA-39083: 对象类型 PROCACT_SCHEMA 创建失败, 出现错误:
ORA-31625: 必须有方案 TBS 才能导入此对象, 但此方案不可访问
ORA-01435: 用户不存在
失败的 sql 为:
BEGIN
sys.dbms_logrep_imp.instantiate_schema(schema_name=>SYS_CONTEXT('USERENV','CURRENT_SCHEMA'), export_db_name=>'ORCL', inst_scn=>'1052142');COMMIT; END;
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE
ORA-39083: 对象类型 TABLE:"TBS"."TBS1" 创建失败, 出现错误:
ORA-01918: 用户 'TBS' 不存在
失败的 sql 为:
CREATE TABLE "TBS"."TBS1" ("ID" NVARCHAR2(32) DEFAULT sys_guid(), "DAT" DATE DEFAULT sysdate, "VAL" NVARCHAR2(20) DEFAULT to_char(sysdate,'yyyymmddhh24miss') NOT NULL ENABLE, "COL" NUMBER) SEGMENT CREATION IMMEDIATE PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DE
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA
作业 "SYSTEM"."SYS_IMPORT_FULL_01" 已经完成, 但是有 8 个错误 (于 星期五 8月 18 16:38:25 2023 elapsed 0 00:00:04 完成)
结果
导入出错。
处理方法
方法:导入前先手动添加源库中用户创建的tbs表空间,添加完成后再做impdp导入。
SQL> create tablespace tbs datafile 'N:\u01\oradata\orcl\tbs.dbf' size 100m autoextend on maxsize 500m;
执行导入。
C:\Users\Administrator>impdp system/oracle directory=expdp dumpfile=tbs.dmp logfile=imp_tbs.log
Import: Release 11.2.0.4.0 - Production on 星期五 8月 18 16:40:09 2023
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
已成功加载/卸载了主表 "SYSTEM"."SYS_IMPORT_FULL_01"
启动 "SYSTEM"."SYS_IMPORT_FULL_01": system/******** directory=expdp dumpfile=tbs.dmp logfile=imp_tbs.log
处理对象类型 SCHEMA_EXPORT/USER
处理对象类型 SCHEMA_EXPORT/SYSTEM_GRANT
处理对象类型 SCHEMA_EXPORT/ROLE_GRANT
处理对象类型 SCHEMA_EXPORT/DEFAULT_ROLE
处理对象类型 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA
. . 导入了 "TBS"."TBS1" 8.734 MB 83968 行
作业 "SYSTEM"."SYS_IMPORT_FULL_01" 已于 星期五 8月 18 16:40:13 2023 elapsed 0 00:00:03 成功完成
结论
impdp用户导入时,原库与目标库路径不一致时,需要在导入前预先创建好用户表空间。
1.2.2源库与目标库路径相同
目标库
单机安装后,没有任何额外操作即开始导入数据
目标库路径:
D:\app\Administrator\oradata\orcl
目标库版本:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
PL/SQL Release 11.2.0.4.0 - Production
CORE 11.2.0.4.0 Production
TNS for 64-bit Windows: Version 11.2.0.4.0 - Production
NLSRTL Version 11.2.0.4.0 - Production
目标库导入操作:
impdp system/oracle directory=expdp dumpfile=tbs.dmp logfile=imp_tbs.log
impdp system/oracle directory=expdp dumpfile=tbs.dmp logfile=imp_tbs.log schemas=tbs
C:\Users\Administrator>impdp system/oracle directory=expdp dumpfile=tbs.dmp logfile=imp_tbs.log
Import: Release 11.2.0.4.0 - Production on 星期五 8月 18 17:16:48 2023
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
已成功加载/卸载了主表 "SYSTEM"."SYS_IMPORT_FULL_01"
启动 "SYSTEM"."SYS_IMPORT_FULL_01": system/******** directory=expdp dumpfile=tbs.dmp logfile=imp_tbs.log
处理对象类型 SCHEMA_EXPORT/USER
ORA-39083: 对象类型 USER 创建失败, 出现错误:
ORA-00959: 表空间 'TBS' 不存在
失败的 sql 为:
CREATE USER "TBS" IDENTIFIED BY VALUES 'S:9015EB20F0FB441DEC3423B83AB5EB8E31808F2050E7F69D70F56202DEC9;3130D1AD44DEB1E0' DEFAULT TABLESPACE "TBS" TEMPORARY TABLESPACE "TEMP"
处理对象类型 SCHEMA_EXPORT/SYSTEM_GRANT
ORA-39083: 对象类型 SYSTEM_GRANT 创建失败, 出现错误:
ORA-01917: 用户或角色 'TBS' 不存在
失败的 sql 为:
GRANT UNLIMITED TABLESPACE TO "TBS"
处理对象类型 SCHEMA_EXPORT/ROLE_GRANT
ORA-39083: 对象类型 ROLE_GRANT 创建失败, 出现错误:
ORA-01917: 用户或角色 'TBS' 不存在
失败的 sql 为:
GRANT "CONNECT" TO "TBS"
ORA-39083: 对象类型 ROLE_GRANT 创建失败, 出现错误:
ORA-01917: 用户或角色 'TBS' 不存在
失败的 sql 为:
GRANT "RESOURCE" TO "TBS"
ORA-39083: 对象类型 ROLE_GRANT 创建失败, 出现错误:
ORA-01917: 用户或角色 'TBS' 不存在
失败的 sql 为:
GRANT "DBA" TO "TBS"
处理对象类型 SCHEMA_EXPORT/DEFAULT_ROLE
ORA-39083: 对象类型 DEFAULT_ROLE 创建失败, 出现错误:
ORA-01918: 用户 'TBS' 不存在
失败的 sql 为:
ALTER USER "TBS" DEFAULT ROLE ALL
处理对象类型 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
ORA-39083: 对象类型 PROCACT_SCHEMA 创建失败, 出现错误:
ORA-31625: 必须有方案 TBS 才能导入此对象, 但此方案不可访问
ORA-01435: 用户不存在
失败的 sql 为:
BEGIN
sys.dbms_logrep_imp.instantiate_schema(schema_name=>SYS_CONTEXT('USERENV','CURRENT_SCHEMA'), export_db_name=>'ORCL', inst_scn=>'1052142');COMMIT; END;
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE
ORA-39083: 对象类型 TABLE:"TBS"."TBS1" 创建失败, 出现错误:
ORA-01918: 用户 'TBS' 不存在
失败的 sql 为:
CREATE TABLE "TBS"."TBS1" ("ID" NVARCHAR2(32) DEFAULT sys_guid(), "DAT" DATE DEFAULT sysdate, "VAL" NVARCHAR2(20) DEFAULT to_char(sysdate,'yyyymmddhh24miss') NOT NULL ENABLE, "COL" NUMBER) SEGMENT CREATION IMMEDIATE PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DE
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA
作业 "SYSTEM"."SYS_IMPORT_FULL_01" 已经完成, 但是有 8 个错误 (于 星期五 8月 18 17:16:52 2023 elapsed 0 00:00:02 完成)
C:\Users\Administrator>impdp system/oracle directory=expdp dumpfile=tbs.dmp logfile=imp_tbs.log schemas=tbs
Import: Release 11.2.0.4.0 - Production on 星期五 8月 18 17:17:08 2023
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
已成功加载/卸载了主表 "SYSTEM"."SYS_IMPORT_SCHEMA_01"
启动 "SYSTEM"."SYS_IMPORT_SCHEMA_01": system/******** directory=expdp dumpfile=tbs.dmp logfile=imp_tbs.log schemas=tbs
处理对象类型 SCHEMA_EXPORT/USER
ORA-39083: 对象类型 USER 创建失败, 出现错误:
ORA-00959: 表空间 'TBS' 不存在
失败的 sql 为:
CREATE USER "TBS" IDENTIFIED BY VALUES 'S:9015EB20F0FB441DEC3423B83AB5EB8E31808F2050E7F69D70F56202DEC9;3130D1AD44DEB1E0' DEFAULT TABLESPACE "TBS" TEMPORARY TABLESPACE "TEMP"
处理对象类型 SCHEMA_EXPORT/SYSTEM_GRANT
ORA-39083: 对象类型 SYSTEM_GRANT 创建失败, 出现错误:
ORA-01917: 用户或角色 'TBS' 不存在
失败的 sql 为:
GRANT UNLIMITED TABLESPACE TO "TBS"
处理对象类型 SCHEMA_EXPORT/ROLE_GRANT
ORA-39083: 对象类型 ROLE_GRANT 创建失败, 出现错误:
ORA-01917: 用户或角色 'TBS' 不存在
失败的 sql 为:
GRANT "CONNECT" TO "TBS"
ORA-39083: 对象类型 ROLE_GRANT 创建失败, 出现错误:
ORA-01917: 用户或角色 'TBS' 不存在
失败的 sql 为:
GRANT "RESOURCE" TO "TBS"
ORA-39083: 对象类型 ROLE_GRANT 创建失败, 出现错误:
ORA-01917: 用户或角色 'TBS' 不存在
失败的 sql 为:
GRANT "DBA" TO "TBS"
处理对象类型 SCHEMA_EXPORT/DEFAULT_ROLE
ORA-39083: 对象类型 DEFAULT_ROLE 创建失败, 出现错误:
ORA-01918: 用户 'TBS' 不存在
失败的 sql 为:
ALTER USER "TBS" DEFAULT ROLE ALL
处理对象类型 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
ORA-39083: 对象类型 PROCACT_SCHEMA 创建失败, 出现错误:
ORA-31625: 必须有方案 TBS 才能导入此对象, 但此方案不可访问
ORA-01435: 用户不存在
失败的 sql 为:
BEGIN
sys.dbms_logrep_imp.instantiate_schema(schema_name=>SYS_CONTEXT('USERENV','CURRENT_SCHEMA'), export_db_name=>'ORCL', inst_scn=>'1052142');COMMIT; END;
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE
ORA-39083: 对象类型 TABLE:"TBS"."TBS1" 创建失败, 出现错误:
ORA-01918: 用户 'TBS' 不存在
失败的 sql 为:
CREATE TABLE "TBS"."TBS1" ("ID" NVARCHAR2(32) DEFAULT sys_guid(), "DAT" DATE DEFAULT sysdate, "VAL" NVARCHAR2(20) DEFAULT to_char(sysdate,'yyyymmddhh24miss') NOT NULL ENABLE, "COL" NUMBER) SEGMENT CREATION IMMEDIATE PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DE
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA
作业 "SYSTEM"."SYS_IMPORT_SCHEMA_01" 已经完成, 但是有 8 个错误 (于 星期五 8月 18 17:17:10 2023 elapsed 0 00:00:01 完成)
C:\Users\Administrator>
结果
报错,导入失败。
处理方法
导入前先手动添加所有源库中用户创建的表空间,根据源库各用户数据量,添加合适数量的数据文件,表空间添加完成后再做impdp导入。
create tablespace tbs datafile 'D:\app\Administrator\oradata\orcl\tbs.dbf' size 100m autoextend on maxsize 500m;
C:\Users\Administrator>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on 星期五 8月 18 17:18:11 2023
Copyright (c) 1982, 2013, Oracle. All rights reserved.
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> create tablespace tbs datafile 'D:\app\Administrator\oradata\orcl\tbs.dbf' size 100m autoextend on maxsize 500m;
表空间已创建。
SQL> exit
从 Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options 断开
C:\Users\Administrator>impdp system/oracle directory=expdp dumpfile=tbs.dmp logfile=imp_tbs.log
Import: Release 11.2.0.4.0 - Production on 星期五 8月 18 17:18:24 2023
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
已成功加载/卸载了主表 "SYSTEM"."SYS_IMPORT_FULL_01"
启动 "SYSTEM"."SYS_IMPORT_FULL_01": system/******** directory=expdp dumpfile=tbs.dmp logfile=imp_tbs.log
处理对象类型 SCHEMA_EXPORT/USER
处理对象类型 SCHEMA_EXPORT/SYSTEM_GRANT
处理对象类型 SCHEMA_EXPORT/ROLE_GRANT
处理对象类型 SCHEMA_EXPORT/DEFAULT_ROLE
处理对象类型 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA
. . 导入了 "TBS"."TBS1" 8.734 MB 83968 行
作业 "SYSTEM"."SYS_IMPORT_FULL_01" 已于 星期五 8月 18 17:18:26 2023 elapsed 0 00:00:01 成功完成
C:\Users\Administrator>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on 星期五 8月 18 17:18:33 2023
Copyright (c) 1982, 2013, Oracle. All rights reserved.
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> conn tbs/tbs
已连接。
SQL> select count(*) from tbs1;
COUNT(*)
----------
83968
SQL>
结论
impdp用户导入时,原库与目标库路径一致时,还是需要在导入前预先创建好用户表空间。