oracle备份恢复试验记录

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用户导入时,原库与目标库路径一致时,还是需要在导入前预先创建好用户表空间。

你可能感兴趣的:(oracle,数据库)