expdp/impdp變慢 (Doc ID 2469587.1)
一、資料庫環境
OS: Linux 2.6.32-754.12.1.el6.x86_64 #1 SMP Tue Apr 9 14:52:26 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
DB: 11.2.0.4.0
二、邏輯備份指令碼
$ cat /home/oracle/expdp/expbak.sh
. ~/.bash_profile
cd /oracle/expdp
v_date=`date '+%Y%m%d'`
mkdir $v_date
echo "**************"$v_date" Backup begin **************" >>expbak.log
v_begin_date=`date '+%T'`
expdp \"\/ as sysdba\" directory=dump dumpfile=devdb_$v_date.dmp logfile=devdb_$v_date.log schemas=USER1,USER2,TESTUSER,USERLOCAL,USER4,USERQAS,USER5,USER6,USERDEV,APPUSER compression=all
mv devdb_$v_date* $v_date/
find /oracle/expdp/ -type f -mtime +14 -exec rm -fr {} \;
echo "**************"$v_date" Backup end **************" >>expbak.log
三、邏輯備份速度的異常緩慢
由於此開發資料庫庫一直由開發人員自己維護,從日誌中抓取,每天的邏輯備份也成功完成並未出錯,所以,一直並沒有人關注它的耗時。從備份日誌以及實際的dump檔案大小來看,備份耗時約 85分鐘,但實際的dump大小僅 2 GB。
附:備份日誌的部分內容
$ tail -100 expdat.log
……
**************20221119 Backup begin **************
Job "SYS"."SYS_EXPORT_SCHEMA_01" successfully completed at Sat Nov 19 07:39:43 2022 elapsed 0 01:25:36
**************20221119 Backup end **************
**************20221120 Backup begin **************
Job "SYS"."SYS_EXPORT_SCHEMA_01" successfully completed at Sun Nov 20 07:40:27 2022 elapsed 0 01:26:21
**************20221120 Backup end **************
**************20221121 Backup begin **************
Job "SYS"."SYS_EXPORT_SCHEMA_01" successfully completed at Mon Nov 21 07:38:23 2022 elapsed 0 01:24:17
**************20221121 Backup end **************
**************20221122 Backup begin **************
Job "SYS"."SYS_EXPORT_SCHEMA_01" successfully completed at Tue Nov 22 07:39:36 2022 elapsed 0 01:25:30
**************20221122 Backup end **************
**************20221123 Backup begin **************
Job "SYS"."SYS_EXPORT_SCHEMA_01" successfully completed at Wed Nov 23 07:39:30 2022 elapsed 0 01:25:23
**************20221123 Backup end **************
四、分析排查
根據等待事件分析,在邏輯備份期間頻繁出現”Streams AQ: Enqueue Blocked On Low Memory" 。透過
官方support檢查,發現Doc ID 2469587.1 文件中介紹的場景與此案例比較吻合。
描述如下:
由於頻繁等待 ”Streams AQ: Enqueue Blocked On Low Memory" 而導致Datapump Expdp或Impdp變慢 (Doc ID 2469587.1)”對該等待事件有描述:
因 Datapump匯出和匯入(expdp和impdp)可能會遇到突然嚴重的效能問題,因為DW和DM程式經常等待 “StreamsAQ: enqueue blocked on low memory”。
五、解決方案
根據 Doc ID 2469587.1 中介紹的辦法,依照以下步驟處置:
1、查詢是否出現“回縮”現象
SQL> select shrink_phase_knlasg from
X$KNLASG;
SHRINK_PHASE_KNLASG
-------------------
1
2、使用事件修復“回縮”標誌失敗的BUG
SQL> alter system set events 'immediate trace name mman_create_def_request level 6';
System altered.
3、再次查詢
SQL> select shrink_phase_knlasg from X$KNLASG;
SHRINK_PHASE_KNLASG
-------------------
0
六、再次執行邏輯備份指令碼
日誌如下(摘錄):
**************20221124 Backup begin **************
Job "SYS"."SYS_EXPORT_SCHEMA_01" successfully completed at Thu Nov 24 15:37:56 2022 elapsed 0 00:06:29
**************20221124 Backup end **************
指令碼耗時由 85分鐘 減少到 6分29秒,速度改進約 14倍 。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70024552/viewspace-2925050/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [20200620]expdp impdp exclude引數.txt
- 【Data Pump】expdp/impdp Job基本管理
- oracle資料庫的impdp,expdpOracle資料庫
- expdp/impdp 詳細引數解釋
- impdp和expdp用法及引數介紹
- Oracle資料泵匯出匯入(expdp/impdp)Oracle
- Oracle 最新PSU (Doc ID 2118136.2)Oracle
- ORACLE EXPDP IMPDP 的停止和啟動及監控Oracle
- EXP、IMP、SQLLOADER、EXPDP、IMPDP、DBMS_METADATA、SQLPLUS等方面SQL
- Reading and Understanding Systemstate Dumps (Doc ID 423153.1)
- Oracle 12.1.0.2 impdp匯入慢診斷Oracle
- Oracle 12c expdp和impdp匯出匯入表Oracle
- 使用資料泵(expdp、impdp)遷移資料庫流程資料庫
- Oracle 下載最新psu (Doc ID 2118136.2)Oracle
- RMAN -- Frequently Asked Question (FAQ) (Doc ID 469777.1)
- 資料泵datapump(expdp/impdp)的parfile用法,避免跳脫字元字元
- 使用impdp,expdp資料泵進入海量資料遷移
- How to Collect Diagnostics for Database Hanging Issues (Doc ID 452358.1)Database
- PRCT-1011 : Failed to run "oifcfg" (Doc ID 1380183.1)AI
- oracle dblink用法總結和expdp和impdp利用dblink倒入匯出到本地Oracle
- Oracle使用資料泵expdp,impdp進行資料匯出匯入Oracle
- [轉帖]Release Schedule of Current Database Releases (Doc ID 742060.1)Database
- 【CURSOR】How to Monitor and tune Open and Cached Cursors (Doc ID 1430255.1)
- [20200904]12c invisible column impdp segment_column_id.txt
- 【Datapump】Oracle資料泵遷移資料命令參考(expdp/impdp說明)Oracle
- oracle11g: Scheduler Maintenance Tasks or Autotasks (Doc ID 756734.1)OracleAINaN
- 【DBA】Relinking Oracle Home 常見問題 (Doc ID 2048232.1)Oracle
- How To Replicate Data from Oracle to Postgres Using GoldenGate (Doc ID 1544137.1OracleGo
- Physical Standby Switchover_status Showing Not Allowed. (Doc ID 1392763.1)
- Linux下執行資料泵expdp和impdp命令,字元轉義案例兩則Linux字元
- 11g-Reduce Transportable Tablespace Downtime using XTTS (Doc ID 1389592.1)TTS
- Oracle EXPDP自動備份緩慢問題解決Oracle
- impdp導致主鍵索引的變化索引
- Can GoldenGate Replicate An Oracle Table That Contains Only CLOB Column(s)? (Doc ID 971833.1)GoOracleAI
- 【DATAGUARD】Data Guard 12C 新特性:Far Sync Standby (Doc ID 2179719.1)
- 【GRID】Grid Infrastructure 啟動的五大問題 (Doc ID 1526147.1)ASTStruct
- 12c DG新特性 - Active Data Guard Far Sync (Doc ID 2179719.1)
- oracle10g expdp資料泵的bug,按schema匯出,匯入impdp時無jobOracle