一、环境描述
12.1.0.2 RAC
二,详细过程
昨天做了一个12 c RAC环境的expdp备份操作,结果出现报错,查看了官网竟然是错误。
1。报错信息
<代码>乌兰- 31623:操作生成的ORACLE错误31623 ora - 31623:工作不是附加到此会话通过指定的处理 ora - 06512:“SYS。DBMS_DATAPUMP”, 3905行 ora - 06512:“SYS。DBMS_DATAPUMP”, 5203行 ora - 06512: 1号线代码>
2。新参数logtime使用导致报错
<代码>参数LOGTIME被使用。 该参数指定消息显示在导出/导入操作期间时间戳。您可以使用时间戳之间的运行时间找出不同阶段的数据泵操作。这些信息可以帮助诊断性能问题和估计未来类似行动的时机。 参数等不执行导出/导入的关键。代码>
3。原因
<代码>数据泵与LOGTIME导出/导入参数如果设置了环境变量NLS_DATE_FORMAT崩溃。在某些情况下的错误如果NLS_DATE_FORMAT和NLS_LANG都设置。 问题是解决了 错误18920652 - DATAPUMP LOGTIME崩溃当NLS_LANG设置在O/S水平 封闭的复制 错误17714887 - ora - 31623与DBLINK IMPDP 请注意,错误17714887取代了未发表的错误17714887 未发表的错误21094393是固定在12.2。代码>
4。解决的方法
<代码>解决问题,使用任何以下选择: 应用临时补丁21094393,如果可供你的平台和Oracle版本。 检查冲突的补丁,请使用MOS补丁计划工具 请参考 注意1317012.1 -如何使用MOS补丁计划检查和请求冲突补丁? 如果不存在补丁版本,请联系Oracle支持补丁的请求。 ——或 尽可能的解决方法: 不使用LOGTIME参数,因为它并不是必不可少的导出/导入功能。 ——或 设置NLS_DATE_FORMAT和NLS_LANG 代码>环境变量
三,附上测试过的一个备份脚本
<代码> # !/bin/sh #文件名:expdpbackup.sh #由roidba 日期:2017-12-14 # $ sh/home/oracle/backup.sh在/dev/null 2祝辞,1, # crontab - e # dump_backup_dir创建目录/home/oracle的; #格兰特读、写在目录dump_backup_dir系统; #坳a10所有者 #坳directory_name样子 #坳directory_path a50股指 #设置行150 #从dba_directories select *; # # # # # #变量 DMP_FILE=orcl_ $ Y % m % d_(日期+ % % H % % S) .dmp LOG_FILE=orcl_ $ Y % m % d_(日期+ % % H % % S) . log BACKUP_DIR=DUMP_BACKUP_DIR # # # # # #主要命令 出口LANG=AMERICAN_AMERICA.AL32UTF8 出口ORACLE_SID=orcl1 expdp系统/oracle模式=roidba,斯科特目录=$ BACKUP_DIR DUMPFILE=$ DMP_FILE日志文件=$ LOG_FILE压缩文件大?20 g=所有集群并行=3=N; 代码>