1 歸檔介紹
歸檔作為實現(xiàn)數(shù)據(jù)守護系統(tǒng)的關(guān)鍵技術(shù)手段,在DM
數(shù)據(jù)庫中,依據(jù)其功能與實現(xiàn)方式的差異,可將歸檔類型細分為六類,分別是本地歸檔、遠程歸檔、實時歸檔、即時歸檔、異步歸檔以及同步歸檔。
其中,本地歸檔有著獨特的機制,其日志內(nèi)容以及寫入的時機與數(shù)據(jù)庫的模式緊密相關(guān)。具體而言,在主庫中,Redo
日志會先寫入聯(lián)機日志文件,隨后才進行本地歸檔操作;而在備庫這邊,當(dāng)接收到主庫產(chǎn)生的Redo
日志后,會立即執(zhí)行本地歸檔,并且在歸檔的同時啟動Redo
日志的重演過程,以此來確保數(shù)據(jù)的一致性與完整性。
2 案例演示
下面將通過具體的案例來演示如何在達夢數(shù)據(jù)庫中使用SQL語句完成歸檔配置任務(wù)。
2.1.開啟本地歸檔
數(shù)據(jù)庫安裝完成后,開啟歸檔模式
創(chuàng)建歸檔日志存放路徑
[dmdba@dm91 ~]$ mkdir /dm/dmarch/DEM
--查詢數(shù)據(jù)庫狀態(tài),默認為不開啟
SQL> select name,ARCH_MODE from v$database;
行號 NAME ARCH_MODE
---------- ---- ---------
1 DEM N
已用時間: 2.841(毫秒). 執(zhí)行號:13977304.
SQL>
- 開啟歸檔,語句如下:
ALTER DATABASE MOUNT;
ALTER DATABASE ADD ARCHIVELOG 'TYPE=LOCAL,DEST=/dm/dmarch/DEM,FILE_SIZE=1024,SPACE_LIMIT=20480';
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN
- 演示過程
--將數(shù)據(jù)庫狀態(tài)改為mount
SQL> ALTER DATABASE MOUNT;
操作已執(zhí)行
已用時間: 19.426(毫秒). 執(zhí)行號:0.
SQL> ALTER DATABASE ADD ARCHIVELOG 'TYPE=LOCAL,DEST=/dm/dmarch/DEM,FILE_SIZE=1024,SPACE_LIMIT=20480';
ALTER DATABASE ADD ARCHIVELOG 'TYPE=LOCAL,DEST=/dm/dmarch/DEM,FILE_SIZE=1024,SPACE_LIMIT=20480';
第1 行附近出現(xiàn)錯誤[-810]:系統(tǒng)未配置歸檔.
已用時間: 2.113(毫秒). 執(zhí)行號:0.
--先開啟歸檔模式
SQL> ALTER DATABASE ARCHIVELOG;
操作已執(zhí)行
已用時間: 43.631(毫秒). 執(zhí)行號:0.
--配置歸檔路徑、單個文件大小及空間上限
SQL> ALTER DATABASE ADD ARCHIVELOG 'TYPE=LOCAL,DEST=/dm/dmarch/DEM,FILE_SIZE=1024,SPACE_LIMIT=20480';
操作已執(zhí)行
已用時間: 8.680(毫秒). 執(zhí)行號:0.
--數(shù)據(jù)庫狀態(tài)改為open
SQL> ALTER DATABASE OPEN;
操作已執(zhí)行
已用時間: 52.471(毫秒). 執(zhí)行號:0.
--ARCH_MODE為Y,歸檔開啟完成
SQL> select name,ARCH_MODE from v$database;
行號 NAME ARCH_MODE
---------- ---- ---------
1 DEM Y
已用時間: 2.458(毫秒). 執(zhí)行號:13977305.
SQL>
注意:歸檔開啟的方式與2023年以前的版本存在細微區(qū)別,按老版本順序調(diào)整會提示第1 行附近出現(xiàn)錯誤[-810]:系統(tǒng)未配置歸檔。新版調(diào)整順序如下
--老版本
ALTER DATABASE MOUNT;
ALTER DATABASE ADD ARCHIVELOG 'TYPE=LOCAL,DEST=/dm/dmarch/DEM,FILE_SIZE=1024,SPACE_LIMIT=20480';
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;
--新版本
ALTER DATABASE MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE ADD ARCHIVELOG 'TYPE=LOCAL,DEST=/dm/dmarch/DEM,FILE_SIZE=1024,SPACE_LIMIT=20480';
ALTER DATABASE OPEN;
2.2.修改本地歸檔空間使用上限
- 使用以下SQL調(diào)整
ALTER DATABASE MOUNT;
ALTER DATABASE MODIFY ARCHIVELOG 'TYPE=LOCAL,DEST=/dm/dmarch/DEM,FILE_SIZE=1024,SPACE_LIMIT=20481';
ALTER DATABASE OPEN;
- 調(diào)整歸檔上限
SQL> ALTER DATABASE MOUNT;
操作已執(zhí)行
已用時間: 7.220(毫秒). 執(zhí)行號:0.
SQL> ALTER DATABASE MODIFY ARCHIVELOG 'TYPE=LOCAL,DEST=/dm/dmarch/DEM,FILE_SIZE=1024,SPACE_LIMIT=20481';
操作已執(zhí)行
已用時間: 2.341(毫秒). 執(zhí)行號:0.
SQL> ALTER DATABASE OPEN;
操作已執(zhí)行
已用時間: 19.556(毫秒). 執(zhí)行號:0.
SQL> select ARCH_NAME,ARCH_TYPE,ARCH_DEST,ARCH_FILE_SIZE,ARCH_SPACE_LIMIT,ARCH_IS_VALID from V$DM_ARCH_INI;
行號 ARCH_NAME ARCH_TYPE ARCH_DEST ARCH_FILE_SIZE ARCH_SPACE_LIMIT ARCH_IS_VALID
---------- -------------- --------- -------------- -------------- ---------------- -------------
1 ARCHIVE_LOCAL1 LOCAL /dm/dmarch/DEM 1024 20481 Y
已用時間: 2.669(毫秒). 執(zhí)行號:1804.
SQL>
2.3.關(guān)閉歸檔
使用以下SQL關(guān)閉歸檔模式
--添加新路徑
ALTER DATABASE MOUNT;
ALTER DATABASE NOARCHIVELOG;
ALTER DATABASE OPEN;
- 演示如下:
SQL> select name,ARCH_MODE from v$database;
行號 NAME ARCH_MODE
---------- ---- ---------
1 DEM Y
已用時間: 2.485(毫秒). 執(zhí)行號:1805.
SQL> ALTER DATABASE MOUNT;
操作已執(zhí)行
已用時間: 5.421(毫秒). 執(zhí)行號:0.
SQL> ALTER DATABASE NOARCHIVELOG;
操作已執(zhí)行
已用時間: 13.615(毫秒). 執(zhí)行號:0.
SQL> ALTER DATABASE OPEN;
操作已執(zhí)行
已用時間: 13.216(毫秒). 執(zhí)行號:0.
SQL> select name,ARCH_MODE from v$database;
行號 NAME ARCH_MODE
---------- ---- ---------
1 DEM N
已用時間: 2.766(毫秒). 執(zhí)行號:1806.
SQL>
2.4.歸檔相關(guān)試圖
可以通過V$DM_INI
和V$DM_ARCH_INI
來查看歸檔狀態(tài)和歸檔配置,詳情查閱手冊
SELECT * FROM V$DM_ARCH_INI;
SELECT * FROM V$DM_INI WHERE PARA_NAME = 'ARCH_INI';
SELECT * FROM V$ARCH_STATUS;