12c数据泵

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了12c数据泵相关的知识,希望对你有一定的参考价值。

1.一致性导出
在OGG同步的项目中,总会遇到默写表同步失败需要重新表级初始化。这时候采用数据泵来导入导出就需要考虑数据一致性问题,确保我们导出的数据是基于某个scn或者某个时间戳,这样做才能让已经停止的复制进程(replicat)知道从哪里开始追加数据库变化。

12c中数据泵为我们提供了两种一致性导出的参数,一个是基于scn的FLASHBACK_SCN,另一个是基于时间戳的FLASHBACK_TIME
[email protected]_plugPDB> select * from test;

 EMPNO ENAME      JOB              MGR HIREDATE                   SAL       COMM     DEPTNO

  7369 SMITH      CLERK           7902 1980-12-17 00:00:00        800                    20
  7499 ALLEN      SALESMAN        7698 1981-02-20 00:00:00       1600        300         30
  7521 WARD       SALESMAN        7698 1981-02-22 00:00:00       1250        500         30
  7566 JONES      MANAGER         7839 1981-04-02 00:00:00       2975                    20
  7654 MARTIN     SALESMAN        7698 1981-09-28 00:00:00       1250       1400         30
  7698 BLAKE      MANAGER         7839 1981-05-01 00:00:00       2850                    30
  7782 CLARK      MANAGER         7839 1981-06-09 00:00:00       2450                    10
  7839 KING       PRESIDENT            1981-11-17 00:00:00       5000                    10
  7844 TURNER     SALESMAN        7698 1981-09-08 00:00:00       1500          0         30
  7900 JAMES      CLERK           7698 1981-12-03 00:00:00        950                    30
  7902 FORD       ANALYST         7566 1981-12-03 00:00:00       3000                    20

 EMPNO ENAME      JOB              MGR HIREDATE                   SAL       COMM     DEPTNO

  7934 MILLER     CLERK           7782 1982-01-23 00:00:00       1300                    10

12 rows selected.

Elapsed: 00:00:00.03
[email protected]_plugPDB> select to_char(sysdate, ‘yyyy-mm-dd hh24:mi:ss‘) time, to_char(dbms_flashback.get_system_change_number) scn from dual;

TIME SCN


2018-01-23 10:15:22 7069818

Elapsed: 00:00:00.01

[email protected]_plugPDB> truncate table test;

Table truncated.

Elapsed: 00:00:00.18
[email protected]_plugPDB> select * from test;

no rows selected

Elapsed: 00:00:00.01
C:\Users\Administrator>expdp scott/[email protected]_plug dumpfile=systemdmp:expdp
.dmp logfile=systemdmp:expdp.log REUSE_DUMPFILES=y tables=test flashback_scn=70
72121

Export: Release 12.2.0.1.0 - Production on 星期二 1月 23 10:20:01 2018

Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved.

连接到: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Produc
tion
启动 "SCOTT"."SYS_EXPORT_TABLE_01": scott/****@clonepdb_plug dumpfile=syste
mdmp:expdp.dmp logfile=systemdmp:expdp.log REUSE_DUMPFILES=y tables=test flashba
ck_scn=7072121
处理对象类型 TABLE_EXPORT/TABLE/TABLE_DATA
处理对象类型 TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
处理对象类型 TABLE_EXPORT/TABLE/STATISTICS/MARKER
处理对象类型 TABLE_EXPORT/TABLE/TABLE
ORA-31693: 表数据对象 "SCOTT"."TEST" 无法加载/卸载并且被跳过, 错误如下:
ORA-02354: 导出/导入数据时出错
ORA-01466: 无法读取数据 - 表定义已更改

C:\Users\Administrator>expdp scott/[email protected]_plug dumpfile=systemdmp:expdp
.dmp logfile=systemdmp:expdp.log REUSE_DUMPFILES=y tables=test flashback_scn=70
74190

Export: Release 12.2.0.1.0 - Production on 星期二 1月 23 10:22:29 2018

Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved.

连接到: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Produc
tion
启动 "SCOTT"."SYS_EXPORT_TABLE_01": scott/****@clonepdb_plug dumpfile=syste
mdmp:expdp.dmp logfile=systemdmp:expdp.log REUSE_DUMPFILES=y tables=test flashba
ck_scn=7074190
处理对象类型 TABLE_EXPORT/TABLE/TABLE_DATA
处理对象类型 TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
处理对象类型 TABLE_EXPORT/TABLE/STATISTICS/MARKER
处理对象类型 TABLE_EXPORT/TABLE/TABLE
. . 导出了 "SCOTT"."TEST" 8.695 KB 12 行
已成功加载/卸载了主表 "SCOTT"."SYS_EXPORT_TABLE_01"


SCOTT.SYS_EXPORT_TABLE_01 的转储文件集为:
C:\ORACLEBACK\DATAPUMP\EXPDP.DMP
作业 "SCOTT"."SYS_EXPORT_TABLE_01" 已于 星期二 1月 23 10:22:40 2018 elapsed 0 00
:00:11 成功完成
truncate表不能用,del可以用,update可以,insert可以
2.克隆用户
导出schema为HR的所有内容
C:\Users\Administrator>expdp system/[email protected] logfile=systemdmp:expd
p.log REUSE_DUMPFILES=y DUMPFILE=systemdmp:tablespace.dmp schemas=hr

Export: Release 12.2.0.1.0 - Production on 星期二 1月 23 10:39:03 2018

Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved.

连接到: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Produc
tion
自动启用 FLASHBACK 以保持数据库完整性。
启动 "SYSTEM"."SYS_EXPORT_SCHEMA_01": system/****@pdbtest logfile=systemdmp
:expdp.log REUSE_DUMPFILES=y DUMPFILE=systemdmp:tablespace.dmp schemas=hr
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA
处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
处理对象类型 SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
处理对象类型 SCHEMA_EXPORT/STATISTICS/MARKER
处理对象类型 SCHEMA_EXPORT/USER
处理对象类型 SCHEMA_EXPORT/SYSTEM_GRANT
处理对象类型 SCHEMA_EXPORT/ROLE_GRANT
处理对象类型 SCHEMA_EXPORT/DEFAULT_ROLE
处理对象类型 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
处理对象类型 SCHEMA_EXPORT/SYNONYM/SYNONYM
处理对象类型 SCHEMA_EXPORT/SEQUENCE/SEQUENCE
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE
处理对象类型 SCHEMA_EXPORT/TABLE/COMMENT
处理对象类型 SCHEMA_EXPORT/FUNCTION/FUNCTION
处理对象类型 SCHEMA_EXPORT/PROCEDURE/PROCEDURE
处理对象类型 SCHEMA_EXPORT/FUNCTION/ALTER_FUNCTION
处理对象类型 SCHEMA_EXPORT/PROCEDURE/ALTER_PROCEDURE
处理对象类型 SCHEMA_EXPORT/VIEW/VIEW
处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/INDEX
处理对象类型 SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
处理对象类型 SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
处理对象类型 SCHEMA_EXPORT/TABLE/TRIGGER
. . 导出了 "HR"."EMPLOYEES" 17.08 KB 107 行
. . 导出了 "HR"."EMPLOYEES_TEST" 17.09 KB 107 行
. . 导出了 "HR"."LOCATIONS" 8.429 KB 23 行
. . 导出了 "HR"."JOB_HISTORY" 7.187 KB 10 行
. . 导出了 "HR"."JOBS" 7.101 KB 19 行
. . 导出了 "HR"."DEPARTMENTS" 7.117 KB 27 行
. . 导出了 "HR"."COUNTRIES" 6.359 KB 25 行
. . 导出了 "HR"."REGIONS" 5.539 KB 4 行
. . 导出了 "HR"."INVISIBLE_T" 5.914 KB 1 行
已成功加载/卸载了主表 "SYSTEM"."SYS_EXPORT_SCHEMA_01"


SYSTEM.SYS_EXPORT_SCHEMA_01 的转储文件集为:
C:\ORACLEBACK\DATAPUMP\TABLESPACE.DMP
作业 "SYSTEM"."SYS_EXPORT_SCHEMA_01" 已于 星期二 1月 23 10:40:09 2018 elapsed 0
00:00:58 成功完成
导入schema为HR的所有内容,如果此时数据库中没有hr数据泵会自动创建。
C:\Users\Administrator>impdp system/****@clonepdb_plug logfile=systemdm
p:expdp.log DUMPFILE=systemdmp:tablespace.dmp remap_schema=hr:hr
技术分享图片

Import: Release 12.2.0.1.0 - Production on 星期二 1月 23 10:43:30 2018

Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved.

连接到: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Produc
tion
已成功加载/卸载了主表 "SYSTEM"."SYS_IMPORT_FULL_01"
启动 "SYSTEM"."SYS_IMPORT_FULL_01": system/****@clonepdb_plug logfile=syste
mdmp:expdp.log DUMPFILE=systemdmp:tablespace.dmp remap_schema=hr:hr
处理对象类型 SCHEMA_EXPORT/USER
处理对象类型 SCHEMA_EXPORT/SYSTEM_GRANT
处理对象类型 SCHEMA_EXPORT/ROLE_GRANT
处理对象类型 SCHEMA_EXPORT/DEFAULT_ROLE
处理对象类型 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
处理对象类型 SCHEMA_EXPORT/SYNONYM/SYNONYM
处理对象类型 SCHEMA_EXPORT/SEQUENCE/SEQUENCE
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA
. . 导入了 "HR"."EMPLOYEES" 17.08 KB 107 行
. . 导入了 "HR"."EMPLOYEES_TEST" 17.09 KB 107 行
. . 导入了 "HR"."LOCATIONS" 8.429 KB 23 行
. . 导入了 "HR"."JOB_HISTORY" 7.187 KB 10 行
. . 导入了 "HR"."JOBS" 7.101 KB 19 行
. . 导入了 "HR"."DEPARTMENTS" 7.117 KB 27 行
. . 导入了 "HR"."COUNTRIES" 6.359 KB 25 行
. . 导入了 "HR"."REGIONS" 5.539 KB 4 行
. . 导入了 "HR"."INVISIBLE_T" 5.914 KB 1 行
处理对象类型 SCHEMA_EXPORT/TABLE/COMMENT
处理对象类型 SCHEMA_EXPORT/FUNCTION/FUNCTION
处理对象类型 SCHEMA_EXPORT/PROCEDURE/PROCEDURE
处理对象类型 SCHEMA_EXPORT/FUNCTION/ALTER_FUNCTION
处理对象类型 SCHEMA_EXPORT/PROCEDURE/ALTER_PROCEDURE
处理对象类型 SCHEMA_EXPORT/VIEW/VIEW
处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/INDEX
处理对象类型 SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
处理对象类型 SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
处理对象类型 SCHEMA_EXPORT/TABLE/TRIGGER
处理对象类型 SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
处理对象类型 SCHEMA_EXPORT/STATISTICS/MARKER
作业 "SYSTEM"."SYS_IMPORT_FULL_01" 已于 星期二 1月 23 10:44:01 2018 elapsed 0 00
:00:25 成功完成
[email protected]PDB> create directory systemdmp as ‘C:\oracleback\datapump‘
2 ;

Directory created.

Elapsed: 00:00:00.83
[email protected]PDB> conn hr/[email protected]_plug
Connected.
[email protected]_plugPDB> select count(*) from jobs;

COUNT(*)

    19

Elapsed: 00:00:00.01

以上是关于12c数据泵的主要内容,如果未能解决你的问题,请参考以下文章

oracle 12C版本用数据泵导出的数据,要导入到11g版本中,应该怎么进行,不太会用数据泵,求救!!!

玩转Oracle之12c 可插拔数据库数据泵功能体验

Oracle12c功能增强新特性之维护&升级&恢复&数据泵等

Oracle12c功能增强新特性之维护&升级&恢复&数据泵等

Oracle 12c 添加scott用户

Oracle 12C impdp权限问题