DataGuard寫測試實驗步驟及總結

wzq609發表於2016-03-01

【說明】本文件介紹DataGuard在最大效能模式下面的寫測試實驗;

啟用Dataguard的日誌傳輸命令:

ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2='ENABLE';    啟用日誌傳輸                                                                  

ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2='DEFER';     關閉日誌傳送

 

測試步驟:

建立表t,然後在啟用日誌和關閉日誌情況下插入資料的時間對比

 

指令碼:

drop table t purge;

create table t(x int); 在源資料庫建立表t

alter system flush shared_pool; 清空shared_pool的資料
 


create or replace procedure proc1 建立proc1

as

begin

  for i in 1 .. 100000

    loop

      execute immediate

      'insert into t values('||i||')';

      commit;

    end loop;

end;

/

 

SQL> set timing on; 開啟自動計時

SQL> exec proc1; 執行指令碼

結果:

次數
重做日誌大小:50M
重做日誌大小:500M

插入資料量:100000
插入資料量:500000
插入資料量:500000

關閉DG
啟動DG
關閉DG
啟動DG
關閉DG
啟動DG

第一次
00:00:55.58
00:00:58.91
00:04:55.82
00:05:57.37
00:04:49.98
00:04:43.35

第二次
00:00:52.87
00:00:52.98
00:04:45.33
00:06:09.11
00:04:34.19
00:04:40.98

第三次
00:00:55.10
00:00:52.70
00:05:13.32
00:06:06.60
00:04:35.46
00:04:42.68

 

總結:

1、當插入資料量較小的情況下,關閉DG和啟動DG的情況下,並不影響系統的效率;

2、進行大量資料插入的情況下,啟動DG會嚴重影響系統的效能;

3、調整重做日誌的大小到合理的大小,可以避免DG對系統效率的影響;

 

原因分析:最大效能模式下按照道理應該不會影響系統的效能的,但是當日志切換速度太快的時候就會導致一直觸發檢查點的發生,就會導致REDO BUFFER的資訊一直寫入到磁碟中,LRS來不及從記憶體去讀取REDO LOG的資訊,就需要從磁碟中去讀取資訊,這個過程會影響IO的效能;

所以IO的爭用導致系統效能的下降;

 

以上純屬個人的判斷,尚未找到相應的支援論點。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12679300/viewspace-2020701/,如需轉載,請註明出處,否則將追究法律責任。

相關文章