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萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章