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版本中,应该怎么进行,不太会用数据泵,求救!!!
Oracle12c功能增强新特性之维护&升级&恢复&数据泵等