20190402-expdp ORA-01555(二)(大表拆分)

在这里插入图片描述

环境信息:

DB:Oracle 11.2.0.1.0
OS:Windows Server 2012

—敏感数据已替换

问题:

expdp导出一张含有BLOG字段的大表(100G)时,报错ORA-01555
—expdp_log

Processing object type SCHEMA_EXPORT/PROCEDURE/ALTER_PROCEDURE
Processing object type SCHEMA_EXPORT/VIEW/VIEW
Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
ORA-31693: Table data object "CHENJCH"."T_XXX_XXXXX" failed to load/unload and is being skipped due to error:
ORA-02354: error in exporting/importing data
ORA-01555: snapshot too old: rollback segment number 10 with name "_SYSSMU10_XXXXXXXXX$" too small

—alert_XXX.log

XXX XXX XXX 2019
Archived Log entry 6560 added for thread 1 sequence 46359 ID 0x7262bbad dest 1:
XXX XXX XXX 2019
ORA-01555 caused by SQL statement below (SQL ID: 88tquba1dj6s0, SCN: 0x0000.47dd74a2):
SELECT * FROM RELATIONAL("CHENJCH"."T_XXX_XXXXX")
XXX XXX XXX 2019

问题分析:

大表数据量增长很快,增加retention后只能缓解几天,无限制加大retention也不现实;

http://blog.itpub.net/29785807/viewspace-2218168/

单个大表可以根据时间进行数据拆分成逻辑上的多个小表,在进行导出即可;

解决方案:

更改备份脚本
原脚本

expdp chenjch/***** directory=dir_chenjch dumpfile=%backupfile1% logfile=%logfile1% schemas=chenjch exclude=STATISTICS

新脚本
1 先将大表排除

expdp chenjch/***** directory=dir_chnenjch dumpfile=%backupfile1% logfile=%logfile1% schemas=chenjch 
exclude=TABLE:\"IN\(\'T_XXX_XXXXX\'\)\" exclude=STATISTICS

2 将大表按年拆分

expdp chenjch/***** directory=dir_chenjch dumpfile=%backupfile3% logfile=%logfile3% tables=T_XXX_XXXXX 
query=T_XXX_XXXXX:\"where to_char(XXXTime,'yyyy')='2019'\" exclude=STATISTICS 
expdp chenjch/***** directory=dir_chenjch dumpfile=%backupfile4% logfile=%logfile4% tables=T_XXX_XXXXX 
query=T_XXX_XXXXX:\"where to_char(XXXTime,'yyyy')='2018'\" exclude=STATISTICS

大表拆分后可以正常导出了
欢迎关注我的微信公众号"IT小Chen"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值