達夢DMRMAN備份還原工具的介紹與配置

eric0435發表於2020-08-25

DMRMAN(DM RECOVERY MANEGER)是DM7的離線備份還原管理工具,由它來統一負責庫級離線備份、離線還原、資料庫恢復等相關操作,該工具支援命令列指定引數方式和控制檯互動方式執行,降低了使用者的操作難度。

透過DMRMAN工具執行離線操作過程中,僅會使用透過關鍵字DATABASE指定的目標庫的本地歸檔配置資訊,不會對本地歸檔配置檔案中其他型別歸檔配置資訊進行校驗。例如:DATABASE指定目標庫/opt/dmdbms/data/dm.ini,為單機環境且配置引數ARCH_INI為1,那麼只會相應的讀取dmarch.ini中本地歸檔日誌資訊。此時,即使dmarch.ini中配置了REALTIME、MARCH、TIMELY等其他型別的歸檔日誌,也不會去校驗dmmal.ini、dmtimer.ini等是否有效。

1. DMRMAN概述
DMRMAN是DM7提供的命令列工具,無需額外地安裝。DMRMAN的結構比較複雜,為了更好地使用它我們需要了解它的結構。接下來將對DMRMAN的重要組成部分進行介紹。

源庫
源庫是待備份的資料庫。使用DMRMAN工具只可對資料庫進行離線備份,聯機備份需要透過DIsql工具實現。DMRMAN可以針對整個資料庫執行離線完全備份和增量備份,資料庫可以配置歸檔也可以不配置。

目標庫
目標庫是待還原的資料庫,即是用來做還原的庫,也稱為目標還原庫。目標庫可以是透過dm.ini檔案指定的資料庫,也可以是目標檔案目錄。透過dm.ini指定庫時,dm.ini及其配置中的CTL_PATH必須有效,且庫必須處於關閉狀態;指定檔案目錄時,指定目錄作為SYSTEM_PATH處理,可以存在,也可以不存在,但必須有效。目前目標庫的還原僅支援離線還原,可透過DMRMAN和CONSOLE工具實現。

DMRMAN客戶端
DMRMAN客戶端是DM7軟體的一部分,用來執行目標資料庫的備份和恢復操作。DMRMAN客戶端是一個命令列工具,命令列的好處是管理員可以編寫複雜的指令碼,將DMRMAN和作業系統的任務排程結合起來可以實現備份的自動化。

備份集
利用DMRMAN工具將資料庫中的一個或多個資料檔案、資料庫資訊等備份到一個稱為“備份集”的邏輯結構中,備份集的格式是特定的只能由DMRMAN建立和訪問。一個備份集中會包含一個或多個二進位制檔案,這個二進位制檔案被稱為備份片。備份資料庫會產生一個備份集,這個備份集可能包含一個或者多個備份片。備份片的個數由資料庫中資料檔案的大小和檔案系統對檔案大小的限制共同決定。如果備份的資料檔案大小超過了檔案系統對檔案大小的限制就會產生多個備份片。

在對資料庫進行備份時可以指定備份片的大小來適應儲存裝置的容量。例如,一個資料庫的產生的備份集大小約為40GB,一盤磁帶的容量為10GB,這時可以指定備份片大小為10G,備份後備份集將包含4個備份片,正好使用4盤磁帶。

2. 啟動和配置DMRMAN
下面將介紹如何啟動命令列工具DMRMAN並進行互動。主要內容包括:
1. 啟動和退出DMRMAN
1.1 輸入DMRMAN命令
1.2DMRMAN環境配置

1. 啟動和退出DMRMAN
安裝DM資料庫後,DMRMAN可執行程式與資料庫其他可執行程式一樣位於安裝路徑的執行碼目錄下。比如,LINUX上資料庫的執行碼目錄為/opt/dmdbms/bin,轉到執行碼目錄直接在作業系統的命令列中輸入以下命令就可啟動DMRMAN。若配置了環境變數DM_HOME,可直接命令列執行:
./dmrman
啟動後控制檯中輸入exit命令即可退出DMRMAN環境:
RMAN>exit

2. 輸入DMRMAN命令
DMRMAN工具支援控制檯輸入命令、命令列設定引數兩種操作方式。下面分別對這兩種操作方式進行介紹。
DMRMAN控制檯輸入命令
當DMRMAN客戶端已經啟動且可以輸入命令時會顯示命令提示符。如下所示:

RMAN>

輸入以下用於執行的DMRMAN命令:

RMAN>HELP
RMAN>BACKUP DATABASE'/opt/dmdbms/data/DAMENG/dm.ini';

大多數的DMRMAN命令會設定多個引數,命令的結尾可以加分號結束,也可以不使用分號。

DMRMAN控制檯還可以執行指令碼。如建立一個名為cmd_file.txt的檔案,檔案中包含“BACKUP DATABASE'/opt/dmdbms/data/DAMENG/dm.ini'”命令,儲存到/home/dm_cmd目錄下,執行方式如下:

RMAN>`/home/dm_cmd/cmd_file.txt

DMRMAN是按行解析命令,如果輸入一行不完整的命令執行會報錯,如一條完整的命令分三行輸入會導致報錯:

BACKUP
DATABASE
'/opt/dmdbms/data/DAMENG/dm.ini';
RMAN> help
help
格式: dmrman.exe KEYWORD=value
例程: dmrman.exe CTLFILE=c:\dm7data\dameng\res_ctl.txt
必選引數:
關鍵字            說明
------------     -----------------------------------------------------------------
CTLFILE          指定執行語句所在的檔案路徑
CTLSTMT         指定待執行語句
DCR_INI         指定dmdcr.ini路徑;若未指定且當前目錄中dmdcr.ini存在,則使用當前目錄中的dmdcr.ini。可單獨使用,也可與其他引數配合使用USE_AP 指定備份、還原執行載體,1/2:DMAP/程式自身,預設是? DMAP。
HELP            列印幫助資訊

DMRMAN命令列設定引數執行
DMRMAN命令列設定引數執行又可分為命令列指定指令碼、命令列指定語句兩種執行方式。DMRMAN支援的引數如下所示。

CTLFILE:指定執行語句所在的檔案路徑,不能和CTLSTMT同時使用。指令碼檔案格式支援*.txt
CTLSTMT:指定待執行語句,不能和CTLFILE同時使用。如:CTLSTMT="BACKUP DATABASE '/home/dmdbms/data/DAMENG/dm.ini'"DCR_INI:指定dmdcr.ini路徑,用於ASM儲存時訪問ASM服務;若未指定,則認為不存在ASM儲存使用。可單獨使用,也可與其他引數配合使用。主要用於DMRAC環境

USE_AP:指定備份還原執行策略。取值1、2。預設為1。
1:使用DMAP外掛方式執行備份還原;執行備份還原時要求先啟動DMAP服務。
2:無外掛方式,由DMSERVER程式自身完成備份還原,不再依賴DMAP服務;配置成2的情況下,不能執行第三方備份(指定DEVICE TYPE為TAPE)

命令列指定指令碼執行,要求我們先建立一個包含DMRMAN命令的檔案,然後設定CTLFILE引數,引數後面指定檔案的路徑。例如,建立一個名為cmd_rman.txt的檔案,儲存到/home/dm_cmd目錄下,檔案中包含一行如下所示的DMRMAN命令:

BACKUP DATABASE'/opt/dmdbms/data/DAMENG/dm.ini';

設定CTLFILE引數啟動DMRMAN工具,指定指令碼檔案中的命令將被執行:

./dmrman CTLFILE=/home/dm_cmd/cmd_rman.txt

命令執行完後DMRMAN工具會自動退出。
命令列執行語句執行,是DMRMAN工具設定CTLSTMT引數,引數後面執行需要執行的DMRMAN命令,使用方法如下所示:

./dmrman CTLSTMT="BACKUP DATABASE'/opt/dmdbms/data/DAMENG/dm.ini';"

CTLFILE中存在多條語句或CTLSTMT中一次輸入多條語句時,每條語句都必須以分號結尾;執行單條語句,語句結尾可以加分號也可以不加。

CTLSTMT中,待執行語句外層雙引號一定要加。執行完畢後工具自動退出。CTLFILE和CTLSTMT不能同時指定。若使用DMASM檔案系統,可透過DCR_INI指定目標聯機的ASM伺服器。

3. DMRMAN環境配置
使用CONFIGURE命令進行DMRMAN的預設引數配置,配置預設的儲存介質型別、備份集蒐集目錄、歸檔日誌蒐集目錄、跟蹤日誌檔案。
1. 顯示和清除現有引數的預設配置
2. 配置儲存介質型別:DISK或TAPE
3. 配置備份集蒐集目錄
4. 配置歸檔日誌蒐集目錄
5. 配置跟蹤日誌檔案

語法如下:

CONFIGURE |
CONFIGURE CLEAR |
CONFIGURE DEFAULT 
::=
DEVICE [[TYPE<介質型別> [PARMS <第三方引數>]]|CLEAR] |
TRACE [[FILE <跟蹤日誌檔案路徑>][TRACE LEVEL <跟蹤日誌等級>]|CLEAR] |
BACKUPDIR [[ADD|DELETE] '<基備份搜尋目錄>'{,'<基備份搜尋目錄>' }|CLEAR] |
ARCHIVEDIR [[ADD|DELETE] '<歸檔日誌目錄>'{,'<歸檔日誌目錄>'}
{'<歸檔日誌目錄>'{,'<歸檔日誌目錄>'} }|CLEAR]

CONFIGURE:檢視設定的預設值。
CLEAR:清理引數的預設值。
DEVICE TYPE:備份集儲存的介質型別,DISK或者TAPE,預設DISK。DISK表示儲存備份集到磁碟,TAPE表示儲存到磁帶。
PARMS:介質引數,供第三方儲存介質(TAPE型別)管理使用。
BACKUPDIR:預設蒐集備份的目錄,可以設定為不存在但是在系統中是有效的路徑。
ARCHIVEDIR :預設蒐集歸檔的目錄,可以設定為不存在但是在系統中是有效的路徑。
ADD:新增預設備份集搜尋目錄或歸檔日誌目錄,若已經存在,則替換原來的。
DELETE:刪除指定預設備份集搜尋目錄或者歸檔日誌目錄。
TRACE:介質儲存過程中使用的跟蹤日誌配置,包括檔案路徑(TRACE FILE)和日誌級別(TRACE LEVEL),其中日誌級別有效值(1/2,不寫/寫;預設為1,不寫)。不支援asm型別檔案。若使用者指定,則指定的檔案不能為已經存在的檔案,否則報錯;也不可以為ASM檔案。

使用說明:
1. 設定的引數預設值僅在此DMRMAN例項存活期間有效。
2. DMRMAN命令中如果指定了相同的引數,會覆蓋CONFIGURE的預設設定。

1.顯示和清除所有預設配置項
使用CONFIGURE命令就可顯示DMRMAN配置項的當前值。示例如下:

RMAN> configure
configure
THE DMRMAN DEFAULT SETTING:
DEFAULT DEVICE:
MEDIA : DISK
DEFAULT TRACE :
FILE : ..\log\dm_SBTTRACE_202005.log
LEVEL : 1
DEFAULT BACKUP DIRECTORY:
TOTAL COUNT :0
DEFAULT ARCHIVE DIRECTORY:
TOTAL COUNT :0
time used: 18.563(ms)

使用CONFIGURE...CLEAR命令可恢復任意一個配置項到預設值。示例如下:

RMAN>CONFIGURE DEFAULT DEVICE CLEAR;

或使用CONFIGURE...CLEAR命令清除所有的預設配置。示例如下:

RMAN>CONFIGURE CLEAR;

2.配置儲存介質型別:DISK或TAPE
備份時如果沒指定備份介質型別引數,則會使用CONFIGURE中配置的預設介質型別。DMRMAN預先配置的介質型別為DISK,不需要特別指定。修改介質型別預設配置的步驟如下:
1) 啟動DMRMAN。
2) 執行CONFIGURE命令檢視介質型別當前的預設值。

RMAN>CONFIGURE;

3) 執行CONFIGURE DEFAULT DEVICE TYPE修改預設值。

RMAN>CONFIGURE DEFAULT DEVICE TYPE TAPE PARMS 'command';

3.配置備份集蒐集目錄
備份集搜尋目錄用於增量備份還原中搜尋基備份。單個目錄最大長度為256個位元組,可配置的備份集搜尋目錄沒有限制。如果不指定備份集蒐集目錄只會在庫的預設備份目錄和當前備份執行備份集目錄的上級目錄下搜尋備份集。配置備份集搜尋目錄步驟如下:

RMAN>CONFIGURE DEFAULT BACKUPDIR;
RMAN>CONFIGURE DEFAULT BACKUPDIR '/home/dm_bak1' ,'/home/dm_bak2';

若要增加或刪除部分備份集搜尋目錄,不需要對所有的目錄重新進行配置,只要新增或刪除指定的目錄即可。

RMAN> configure default backupdir;
configure default backupdir;
THE DMRMAN DEFAULT BACKUP DIRECTORY SETTING:
DEFAULT BACKUP DIRECTORY:
TOTAL COUNT :0
time used: 14.267(ms)
RMAN> configure default backupdir 'E:\dmdbms\backup','E:\dmdbms\backup1';
configure default backupdir 'E:\dmdbms\backup' , 'E:\dmdbms\backup1';
configure default backupdir update successfully!
DEFAULT BACKUP DIRECTORY:
TOTAL COUNT :2
E:\dmdbms\backup
E:\dmdbms\backup1
time used: 11.640(ms)

若要增加或刪除部分備份集搜尋目錄,不需要對所有的目錄重新進行配置,只要新增或刪除指定的目錄即可。

RMAN> configure default backupdir add 'E:\dmdbms\backup2';
configure default backupdir add 'E:\dmdbms\backup2';
configure default backupdir add successfully!
DEFAULT BACKUP DIRECTORY:
TOTAL COUNT :3
E:\dmdbms\backup
E:\dmdbms\backup1
E:\dmdbms\backup2
time used: 11.426(ms)
RMAN> configure default backupdir delete 'E:\dmdbms\backup2';
configure default backupdir delete 'E:\dmdbms\backup2';
configure default backupdir delete successfully!
DEFAULT BACKUP DIRECTORY:
TOTAL COUNT :2
E:\dmdbms\backup
E:\dmdbms\backup1
time used: 11.564(ms)

4.配置歸檔日誌蒐集目錄
歸檔日誌搜尋目錄用於增量備份還原中搜尋歸檔日誌。單個目錄最大長度為256個位元組,可配置的歸檔日誌搜尋目錄沒有限制。配置歸檔日誌搜尋目錄步驟如下:

RMAN> configure default archivedir 'E:\dmdbms\data\arch','E:\dmdbms\data\arch1';
configure default archivedir 'E:\dmdbms\data\arch' , 'E:\dmdbms\data\arch1';
configure default archivedir update successfully!
DEFAULT ARCHIVE DIRECTORY:
TOTAL COUNT :2
E:\dmdbms\data\arch
E:\dmdbms\data\arch1
time used: 10.620(ms)

若要增加或刪除部分歸檔日誌搜尋目錄,不需要對所有的目錄重新進行配置,只要新增或刪除指定的目錄即可。

RMAN> configure default archivedir add 'E:\dmdbms\data\arch2';
configure default archivedir add 'E:\dmdbms\data\arch2';
configure default archivedir add successfully!
DEFAULT ARCHIVE DIRECTORY:
TOTAL COUNT :3
E:\dmdbms\data\arch
E:\dmdbms\data\arch1
E:\dmdbms\data\arch2
time used: 12.888(ms)
RMAN> configure default archivedir delete 'E:\dmdbms\data\arch2';
configure default archivedir delete 'E:\dmdbms\data\arch2';
configure default archivedir delete successfully!
DEFAULT ARCHIVE DIRECTORY:
TOTAL COUNT :2
E:\dmdbms\data\arch
E:\dmdbms\data\arch1
time used: 17.910(ms)

5.配置跟蹤日誌檔案
跟蹤日誌檔案記錄了SBT介面的呼叫過程,使用者透過檢視日誌可跟蹤備份還原過程(見3.2.3 資料備份高階主題)。DMRMAN備份還原命令中不支援設定跟蹤日誌檔案,只能用CONFIGURE命令配置,預設配置不記錄跟蹤日誌。配置跟蹤日誌檔案步驟如下:
1)顯示TRACE檔案的預設配置。

RMAN> configure ;
configure;
THE DMRMAN DEFAULT SETTING:
DEFAULT DEVICE:
MEDIA : DISK
DEFAULT TRACE :
FILE : ..\log\dm_SBTTRACE_202005.log
LEVEL : 1
DEFAULT BACKUP DIRECTORY:
TOTAL COUNT :2
E:\dmdbms\backup
E:\dmdbms\backup1
DEFAULT ARCHIVE DIRECTORY:
TOTAL COUNT :2
E:\dmdbms\data\arch
E:\dmdbms\data\arch1
time used: 38.030(ms)

2) 配置預設TRACE檔案。

RMAN> configure default trace file 'E:\dmdbms\log\dm_trace.log';
configure default trace file 'E:\dmdbms\log\dm_trace.log';
configure default trace successfully!
time used: 2.877(ms)

3) 配置預設TRACE級別。

RMAN> configure default trace file '..\dm_SBTTRACE_202005.log' trace level 1;
configure default trace file '..\dm_SBTTRACE_202005.log' trace level 1;
configure default trace successfully!
time used: 45.502(ms)


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

相關文章