expdp/impdp使用小结

数据泵使用小结

数据泵生成的转出文件.dmp,名称可以包含中文;(需求)
- 数据库版本:12.1.0.2.0
- 数据库字符集:ZHS16GBK
- 国家字符集:AL16UTF16
- 语言:English(America)
- 地区:美国
- NLS_LANG:SIMPLIFIED CHINESE_CHINA.ZHS16GBK

———–重点内容—————————
1.实例的字符集设置为al32utf8,国家字符集设置为utf8,NLS_LANG:SIMPLIFIED CHINESE_CHINA.ZHS16GBK。
最后生成的export.log不乱码,但是.dmp文件名称乱码,在恢复数据时,难以识别。
2.实例的字符集设置为al32utf8,国家字符集设置为utf8,NLS_LANG:AMERICAN_AMERICA.UTF8。
在执行expdp命令语句时,直接报错:参数无效!

对于字符集的介绍可以看这篇文章,个人觉得比较清楚:http://blog.163.com/zhyang@yeah/blog/static/130143844200991535913471/?fromdm&fromSearch&isFromSearchEngine=yes

看完这篇文章后,国家字符集基本无用(在调用存储过程中存在集合等时有用)。

注意点:每次修改完NLS_LANG的值(注册表)后,必须重启电脑,才能起作用。

————新的BUG———————
在运行expdp命令语句时,报错:

;;; 
Export: Release 12.1.0.2.0 - Production on 星期四 330 11:24:15 2017

Copyright (c) 1982, 2014, Oracle and/or its affiliates.  All rights reserved.
;;; 
连接到: Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
启动 "ONE"."SYS_EXPORT_TABLE_01":  one/********@dbonecache DIRECTORY=ONE_BACKUP_DIR DUMPFILE=测试汉字4420170330112415438.dmp CONTENT=DATA_ONLY TABLES=CAIGOUDINGDANYUHETONGCAYI,CAIGOUJIAGECHAYISHIPING,CAIGOUJIHUAMINGXI 
正在使用 BLOCKS 方法进行估计...
ORA-39014: 一个或多个 worker 进程已过早地退出。
ORA-39029: worker 进程 1 (进程名为 "DW00") 过早地终止
ORA-31671: Worker 进程 DW00 有未处理的异常错误。
ORA-04031: 无法分配 42440 字节的共享内存 ("shared pool","DBMS_METADATA_INT","PLMCD^32f7dccc","BAMIMA: Bam Buffer")
ORA-06508: PL/SQL: 无法找到正在调用 : "SYS.DBMS_METADATA_INT" 的程序单元
ORA-06512: 在 "SYS.KUPW$WORKER", line 2144
ORA-06512: 在 line 2
正在使用 BLOCKS 方法进行估计...
ORA-39014: 一个或多个 worker 进程已过早地退出。
ORA-39029: worker 进程 2 (进程名为 "DW00") 过早地终止
ORA-31671: Worker 进程 DW00 有未处理的异常错误。
ORA-04031: 无法分配 42440 字节的共享内存 ("shared pool","DBMS_METADATA_INT","PLMCD^32f7dccc","BAMIMA: Bam Buffer")
ORA-06508: PL/SQL: 无法找到正在调用 : "SYS.DBMS_METADATA_INT" 的程序单元
ORA-06512: 在 "SYS.KUPW$WORKER", line 2144
ORA-06512: 在 line 2
作业 "ONE"."SYS_EXPORT_TABLE_01" 因致命错误于 星期四 330 11:25:27 2017 elapsed 0 00:01:02 停止

-------------------------------------------------------------------------------------------------------------
;;; 
Export: Release 11.2.0.1.0 - Production on 星期四 330 11:29:30 2017

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
;;; 
连接到: Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
启动 "ONE"."SYS_EXPORT_TABLE_02":  one/********@dbonecache DIRECTORY=ONE_BACKUP_DIR DUMPFILE=测试共享池20170330112930434.dmp CONTENT=DATA_ONLY TABLES=CAIGOUDINGDANYUHETONGCAYI,CAIGOUJIAGECHAYISHIPING,CAIGOUJIHUAMINGXI 
ORA-39014: 一个或多个 worker 进程已过早地退出。
ORA-39029: worker 进程 1 (进程名为 "DW00") 过早地终止
ORA-31671: Worker 进程 DW00 有未处理的异常错误。
ORA-04031: 无法分配 64936 字节的共享内存 ("shared pool","DBMS_AQADM_SYS","PLMCD^2d1fad2c","BAMIMA: Bam Buffer")
ORA-06508: PL/SQL: 无法找到正在调用 : "SYS.DBMS_AQADM_SYS" 的程序单元
ORA-06512: 在 "SYS.KUPW$WORKER", line 2144
ORA-06512: 在 line 2
作业 "ONE"."SYS_EXPORT_TABLE_02" 因致命错误于 星期四 330 11:31:16 2017 elapsed 0 00:00:31 停止

--------------------------------------------------------------------------------------------------
;;; 
Export: Release 12.1.0.2.0 - Production on 星期四 330 17:59:44 2017

Copyright (c) 1982, 2014, Oracle and/or its affiliates.  All rights reserved.
;;; 
连接到: Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
启动 "ONE"."SYS_EXPORT_TABLE_07":  one/********@dbonecache DIRECTORY=ONE_BACKUP_DIR DUMPFILE=对象关系20170330175944078.dmp CONTENT=DATA_ONLY TABLES=LOG_TEST,CGJHJSL,H,HT,CGJHWCL,CGSXZXL,DD,MM_02JJCGL query=LOG_TEST:"where timestamp in ('20160918150318961','20160922101140534','20160913101857068','20160909173448774','20160912174323772')",CGJHJSL:"where timestamp in ('20160929132957339','20160928142624796','20160928141929588','20160928115808005','20160928114933107','20160928120157997','20160928145106437')",H:"where timestamp in ('20160922112913061','20160921173420904','20160922100812884','20160922111700315')",HT:"where timestamp in ('20160921171244256','20160922113147270','20160921160143754','20160922111256566','20160921172139097','20160921172452602','20160921184422434','20160921161947441')",CGJHWCL:"where timestamp in ('20160921150304517')",CGSXZXL:"where timestamp in ('20160929132133383','20160928114700993','20160929133121215')",DD:"where timestamp in ('20160929112005984')",MM_02JJCGL:"where timestamp in ('20160926160019392')" 
正在使用 BLOCKS 方法进行估计...
ORA-39014: 一个或多个 worker 进程已过早地退出。
ORA-39029: worker 进程 1 (进程名为 "DW00") 过早地终止
ORA-31671: Worker 进程 DW00 有未处理的异常错误。
ORA-04031: 无法分配 42440 字节的共享内存 ("shared pool","DBMS_METADATA_INT","PLMCD^32f7dccc","BAMIMA: Bam Buffer")
ORA-06508: PL/SQL: 无法找到正在调用 : "SYS.DBMS_METADATA_INT" 的程序单元
ORA-06512: 在 "SYS.KUPW$WORKER", line 2144
ORA-06512: 在 line 2
ORA-39097: 数据泵作业出现意外的错误 -4031
ORA-39065: MAIN 中出现意外的主进程异常错误
ORA-04031: 无法分配 40 字节的共享内存 ("shared pool","select obj#,index# from oid$...","SQLA","tmp")
ORA-39014: 一个或多个 worker 进程已过早地退出。
ORA-39029: worker 进程 2 (进程名为 "DW00") 过早地终止
ORA-31671: Worker 进程 DW00 有未处理的异常错误。
ORA-04031: 无法分配 39808 字节的共享内存 ("shared pool","KUPW$WORKER","PLMCD^83c1ba7f","BAMIMA: Bam Buffer")
ORA-06508: PL/SQL: 无法找到正在调用 : "SYS.KUPW$WORKER" 的程序单元
ORA-06512: 在 line 2
ORA-04031: 无法分配 40 字节的共享内存 ("shared pool","select obj#,index# from oid$...","SQLA","tmp")
作业 "ONE"."SYS_EXPORT_TABLE_07" 因致命错误于 星期四 330 18:00:45 2017 elapsed 0 00:00:48 停止

查过一些资料,但是没有一个完全相同的。中间需要改一些设置,共享池,共享流等参数。感兴趣的同志可以根据报错信息,学习一下!

发布了44 篇原创文章 · 获赞 5 · 访问量 2万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章