网站首页 > 技术文章 正文
概述
先说一下背景,最近在对某个RAC数据库做瘦身,需要对历史数据做迁移,当在RAC数据库执行EXPDP并行导出时出现了这个错误信息--ORA-31617,下面记录下解决的整体思路。
具体报错
导出的命令如下:
expdp rfuser/"xxx" directory=dp_hwb dumpfile=TAB_SP_OTMSHIPMENT.dmp LOGFILE=TAB_SP_OTMSHIPMENT.log TABLES=TAB_SP_OTMSHIPMENT QUERY=TAB_SP_OTMSHIPMENT:\"WHERE INSERT_TIME\<= TO_DATE\(\'20181230 00:00:00\',\'yyyymmdd hh24:mi:ss\'\)\" exclude=statistics parallel=4
从提示看一开始以为是权限问题,但是重新授权后还是有这个报错。查了下资料才发现是:
数据泵的并行度设置为4,同时向4个DUMPFILE中写入数据。在写入时出现ORA-31693、ORA-29913和ORA-31617错误。
解决
这里发现对于RAC环境而言,Oracle会尝试将并行导出放到两个节点上,而由于DIRECTORY是本地磁盘,且在另外一个节点上没有建立同样的目录,因此打开文件报错的信息。
那么如果想要使用RAC上的并行导出,确保相同的目录在两个节点上同时存在。如果只想在一个节点上执行数据泵的导出那么就不要使用并行方式。
去掉并行参数测试:
expdp rfuser/"xxx" directory=dp_hwb dumpfile=TAB_SP_OTMSHIPMENT.dmp LOGFILE=TAB_SP_OTMSHIPMENT.log TABLES=TAB_SP_OTMSHIPMENT QUERY=TAB_SP_OTMSHIPMENT:\"WHERE INSERT_TIME\<= TO_DATE\(\'20181230 00:00:00\',\'yyyymmdd hh24:mi:ss\'\)\" exclude=statistics
可以看到成功导出来了。
这里主要提个醒,parallel虽然能加快速度,但在有些场景还是得慎用的。后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注一下~
猜你喜欢
- 2025-08-06 HPE 3PAR新增对3D NAND、Oracle加速支持
- 2024-11-02 Canal环境下,MySQL同步到Oracle串列问题的解决和控制
- 2024-11-02 裸设备和Oracle问答案例 oracle查看裸设备
- 2024-11-02 RAC和OPS的区别 ras和rab
- 2024-11-02 性能优化技巧:有序分组 有序样本最优分割程序
- 2024-11-02 有关并行化——你知道的可能是错的
- 2024-11-02 HA DG RAC 三者的区别 ha和rac区别
- 2024-11-02 oracle和mysql的优缺点对比 oracle 和 mysql
- 2024-11-02 ORACLE学习笔记 之 merge开并行 oracle的merge语句
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (58)
- oracle面试 (55)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)