1.场景描述
业务需求:导出A机构、2024的数据,以dmp格式,保留导出日志。首先,需要分析库中需要导出的表清单、表的机构字段约束、表的时间约束;然后再导出。
2.方案分析
本次采用Oracle的expdp数据泵方式导出,由于涉及的表比较多,条件限制内容也比较多,启用Oracle的expdp的parfile参数,将约束写在parfile文件中。
3.实验验证
测试导出3个表:FM_AC_BOOK、FM_CRED_MANAGE、FM_RPT_KMYEB。其中后两个表为年月分区表,p_2024xx 分区命名。如下:
3.1 parfile文件
parfile文件格式不限,位置不限,名称不限。
sql
[oracle@apollo param]$ cd /home/oracle/backup/param/
[oracle@apollo param]$ vim partest
[oracle@apollo param]$ cat partest
directory=BACKUP
dumpfile=test.dmp
logfile=test.log
COMPRESSION=ALL
tables=(
FM_AC_BOOK
,FM_CRED_MANAGE
,FM_RPT_KMYEB:%2024%)
query=(
FM_AC_BOOK:" where bank_code like '014007025%' and book_year>='2024' and deleted=1 "
,FM_CRED_MANAGE:" where bank_code like '014007025%' and date_id>='2024-01' and deleted = 1 "
,FM_RPT_KMYEB:" where bank_code like '014007025%' and deleted = 1 "
)
截图:
3.2 expdp命令导出
expdp nh_mcro_finance/finance_mcro_nh_fe01@192.168.3.15/orclpdb1 parfile=/home/oracle/backup/param/partest
结果截图:
ok 导出正确。
4.总结
expdp 可以按需导出限定条件的表数据,各类条件可以放在parfile中。
parfile中可以包含:路径 directory、导出文件 dumpfile、日志文件 logfile、压缩方式 COMPRESSION、表清单 tables=(表1,表2:分区,表3...)、查询条件 query=(表1:"条件1",表2:"条件2",....)
当然impdp 导入也可只导部分表的,也可按条件导入。
Oracle其他文档,希望互相学习,共同进步
Oracle-找回误删的表数据(LogMiner 挖掘日志)_oracle日志挖掘恢复数据-CSDN博客
oracle 跟踪文件--审计日志_oracle审计日志-CSDN博客
ORA-12899报错,遇到数据表某字段长度奇怪现象:"Oracle字符型,长度50"但length查却没有50_12899 value too large 实际没有超长-CSDN博客
Oracle 恢复管理器工具(rman找回丢失的控制文件)_rman恢复控制文件-CSDN博客
EXP-00091: Exporting questionable statistics.解决方案-CSDN博客
ORA-00997: 非法使用 LONG 数据类-CSDN博客
ORA-31626:job does not exist ,expdp 报错-CSDN博客
项目管理--相关知识