[20190225]測試如何使用dg快速主庫.txt

lfree發表於2019-02-25

[20190225]測試如何使用dg快速主庫.txt


--//測試主庫破壞的情況下,如何透過dg快速主庫.


1.環境:

SYS@book> @ ver1

PORT_STRING                    VERSION        BANNER

------------------------------ -------------- --------------------------------------------------------------------------------

x86_64/Linux 2.4.xx            11.2.0.4.0     Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production


SCOTT@book> create table t as select rownum id,sysdate cdate from dual ;

Table created.


--//dg日誌應用正常.檢查略.

--//關閉主庫,刪除裡面全部資料檔案,日誌以及控制檔案略.


2.開始恢復:

--//從備庫複製檔案(注停止關閉備庫),日誌以及控制檔案到主庫:

$ scp -r /mnt/ramdisk/book/* oracle@192.168.100.78:/mnt/ramdisk/book/

*/

control01.ctl    100%   10MB  10.2MB/s   00:00

control02.ctl    100%   10MB  10.2MB/s   00:00

example01.dbf    100%  346MB  34.6MB/s   00:10

redo01.log       100%   50MB  25.0MB/s   00:02

redo02.log       100%   50MB  50.0MB/s   00:01

redo03.log       100%   50MB  25.0MB/s   00:02

redostb01.log    100%   50MB  50.0MB/s   00:01

redostb02.log    100%   50MB  25.0MB/s   00:02

redostb03.log    100%   50MB  50.0MB/s   00:01

redostb04.log    100%   50MB  25.0MB/s   00:02

sugar01.dbf      100%   10MB  10.0MB/s   00:00

sysaux01.dbf     100%  940MB  36.2MB/s   00:26

system01.dbf     100%  760MB  34.6MB/s   00:22

tea01.dbf        100%   40MB  40.0MB/s   00:01

temp01.dbf       100%  414MB  34.5MB/s   00:12

undotbs01.dbf    100%  865MB  34.6MB/s   00:25

users01.dbf      100%  128MB  32.0MB/s   00:04


--//這樣複製需要,00+00+10+02+01+02+01+02+01+02+00+26+22+01+12+25+04 = 111秒上下.可以使用tar+pigz

--//我的測試環境機器太老,沒有安裝pigz.使用gzip代替.

$ cd /mnt/ramdisk


--//$ tar cf - book -I gzip | ssh oracle@192.168.100.78 tar xvf - -I gzip -C /mnt/ramdisk

$ time tar cf - book --use-compress-program gzip | ssh oracle@192.168.100.78 tar xvf - --use-compress-program gzip -C /mnt/ramdisk

...

real    4m28.948s

user    4m26.345s

sys     0m23.483s

--//這樣更慢...一些新版本的tar支援-I引數代替--use-compress-program.

--//使用tar注意幾點:  1.路徑問題, 2.-f引數後面一定要跟檔名,我這裡使用管道使用-.前面不要忘記了.

--//我以前犯過一個嚴重錯誤tar cf *,不小心忘記加入-,導致*展開的第一個檔案破壞了.還好破壞的是控制檔案還有1個備份...


--//恢復引數檔案以及口令檔案略.


3.繼續:

--//主庫:

SYS@book> startup mount

ORACLE instance started.

Total System Global Area  643084288 bytes

Fixed Size                  2255872 bytes

Variable Size             205521920 bytes

Database Buffers          427819008 bytes

Redo Buffers                7487488 bytes

Database mounted.


SYS@book> alter database recover managed standby database finish;

Database altered.


SYS@book> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY WITH SESSION SHUTDOWN;

Database altered.

--//現在已經轉化為主庫.


SYS@book> select name,db_unique_name,database_role,flashback_on from v$database;

NAME                 DB_UNIQUE_NAME                 DATABASE_ROLE    FLASHBACK_ON

-------------------- ------------------------------ ---------------- ------------------

BOOK                 book                           PRIMARY          NO


--//注意檢查FLASHBACK_ON=No,有一些dg開啟FLASHBACK功能,建議關閉它在主庫.


SYS@book> alter database open ;

Database altered.


--//檢查:


SYS@book> insert into scott.t  select 2,sysdate from dual ;

1 row created.


SYS@book> commit ;

Commit complete.


SYS@book> select * from scott.t;

        ID CDATE

---------- -------------------

         1 2019-02-25 10:26:16

         2 2019-02-25 11:00:16


--//到備庫檢查:

SYS@bookdg> startup

ORACLE instance started.


Total System Global Area  634732544 bytes

Fixed Size                  2255792 bytes

Variable Size             197133392 bytes

Database Buffers          427819008 bytes

Redo Buffers                7524352 bytes

Database mounted.

Database opened.


SYS@bookdg> alter database recover managed standby database using current logfile disconnect ;

Database altered.


SYS@bookdg> select * from scott.t;

        ID CDATE

---------- -------------------

         1 2019-02-25 10:26:16

         2 2019-02-25 11:00:16


--//OK,備庫也能正常應用日誌...

--//寫這個文件的目的,主要提供給別人對於採用檔案系統的資料庫環境,一般db_file_name_convert,log_file_name_convert兩邊都一樣

--//的環境,如何快速恢復的一個方法.一般備庫正常接收日誌的情況下,主庫硬體異常的情況下,這樣恢復比較簡單.

--//當然,可能遇到一些特殊情況就不好說了.^_^.


--//另外大家還可以參考 http://blog.itpub.net/267265/viewspace-2134343/ => [20170227]快速重建dg測試環境.txt


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

相關文章