OGG查询库导出表到中间库

一、导出

1、查询scn号(用于导入表时OGG进程启动时的数据起始位置,可在PL/sql中查看)

select to char(current_scn) from v$database;

2、查询oracle存储目录位置(用于存放导出文件可在PL/sql中查看)

select * from dba directories;

3、在存放导出文件存在目录下创建导出Dmp文件par脚本

[oracle@ogg ~]#vi expdp_20231130.par

dirctory=OGG_DMP_DIR       (存放导出文件的目录用select * from dba directories;查看)
dumpfile=20231130_%U.dmp  (导出Dmp文件名)
logfile=20231130_expdp.log      (导出Dmp日志文件)
flashback_scn=19906015933547 (从此段SCN号开始导出,导入时一样)
compression=all
exclude=trigger,procedure,grant,comment,statistics
PARALLEL=16   (导出使用的16个线程数)
cluster=no
tables=(
DZDZ.CPY_FPXX_SCQY_GF,
DZDZ.CPY_FPXX_JXQY_GF
)                 (需要导出的表名)

4、查看Oracle实例名

[oracle@ogg ~]#ps -ef | grep pmon

5、选中导出表的实例名(dzdzcx为数据库实例名)

[oracle@ogg ~]#export ORACLE_SID=dzdzcx

6、执行导出Dmp文件脚本

[oracle@ogg ~]# expdp \'/as sysdba\' parfile=expdp_20231130.par

执行导出Dmp文件成功后,把文件传到需要导入的表的库上,接着执行导入的操作。

7、 单执行导出命令导出

expdp \'/ as sysdba\' directory=DMP dumpfile=fs_cpy_kcbh.dmp TABLES=SKUSER.FS_CPY_KCBH parallel=4  logfile=fs_cpy_kcbh.log cluster=no COMPRESSION=all;  

--directory=DMP  (存放导出文件的目录用select * from dba directories;查看)

--dumpfile=fs_cpy_kcbh.dmp (导出Dmp文件名)

--TABLES=SKUSER.FS_CPY_KCBH (需要导出的数据库用户名和数据表名)

--其他备注看脚本里的注释

二、导入 

1、确认导入库和导出库的表空间和索引信息(需在Oracle窗口执行)

SQL > with t as (select owner,table_name,tablespace_name from dba_tables union select owner,table_name,tablespace_name from dba_indexes) select distinct tablespace_name || ',' from t where owner || ',' || table_name in ('dzdz.cpy_fpxx_scqy_gf','dzdz.cpy_fpxx_jxqy_gf') order by 1;

2、查询oracle存储目录位置(用于存放传过来导出文件的位置,可在PL/sql中查看)

select * from dba directories;

3、在存放导出文件存在目录下创建导入Dmp文件脚本

[oracle@ogg ~]#vi impdp_20231130.txt

--如导入和导出的表空间和索引都一致的(会删除导入库中相同表,建议重命名要导入的表)

directort=XMLDIR       (存放传过来的导出文件的目录用select * from dba directories;查看)
dumpfile=20231130_%U.dmp  (导入Dmp文件名)
logfile=impdp_20231130.log     (导入Dmp日志文件)

parallel=16              (导入使用的线程数)

cluster=n

table_exists_action=replace

--如导入和导出的表空间和索引不一致,导入的库中无相同名字的表的

directort=XMLDIR       (存放传过来的导出文件的目录用select * from dba directories;查看)
dumpfile=20231130_%U.dmp  (导入Dmp文件名)
logfile=impdp_20231130.log     (导入Dmp日志文件)

parallel=16              (导入使用的线程数)

cluster=n

REMAP_SCHEMA=DZDZ:DZDZ_SJYD (源端表用户名":"目标端表用户名)

REMAP_TABLESPACE=DZDZ_DATA:TS_SJYD_DATA,DZDZ_IDX:TS_SJYD_DATA(源端表空间名":"目标端表空间名","源端表索引":"目标端索引名)

 4、查看询Oracle实例名

[oracle@ogg ~]#ps -ef | grep pmon

5、选中导入表的实例名(dzdzqyk1为数据库实例名)

[oracle@ogg ~]#export ORACLE_SID=dzdzqyk1

6、执行导出Dmp文件脚本

[oracle@ogg ~]# impdp \'/as sysdba\' parfile=impdp_20231130.txt

执行导入Dmp文件成功后,需在OGG进程里添加scn号来同步数据。

7、使用Scn号启动OGG进程(如进程启动时报“FILTER”错需按,OGG版本为11G的SCN号要用双引号,12G的要用单引号, 启动进程完成,数据追平后,把scn号这段去掉,FILTER (@GETENV("transaction","scn") > 19906015933547; 变成MAP DZDZ.CPY_FPXX_SCQY_GF,target DZDZ_SJYD.CPY_FPXX_SCQY_GF COLMAP ( #colmap_optype());    )

MAP DZDZ.CPY_FPXX_SCQY_GF,target DZDZ_SJYD.CPY_FPXX_SCQY_GF,FILTER (@GETENV("transaction","scn") > 19906015933547;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值