DM7使用DMRMAN執行歸檔備份
使用離線工具DMRMAN執行歸檔備份
1. 概述
在DMRMAN工具中使用BACKUP命令你可以備份資料庫的歸檔。關閉伺服器在DMRMAN中輸入以下命令即可備份歸檔:
RMAN> backup archive log database 'E:\dmdbms\data\jydm\dm.ini'; backup archive log database 'E:\dmdbms\data\jydm\dm.ini'; checking if the database under system path [E:\dmdbms\data\jydm] is running...[4]. checking if the database under system path [E:\dmdbms\data\jydm] is running...[3]. checking if the database under system path [E:\dmdbms\data\jydm] is running...[2]. checking if the database under system path [E:\dmdbms\data\jydm] is running...[1]. checking if the database under system path [E:\dmdbms\data\jydm] is running...[0]. checking if the database under system path [E:\dmdbms\data\jydm] is running, write dmrman info. EP[0] max_lsn: 901685 BACKUP ARCHIVE LOG ALL, execute...... CMD CHECK LSN...... BACKUP ARCHIVE LOG ALL, collect dbf...... CMD CHECK ...... ARCH BACKUP SUBS...... total 1 packages processed... total 2 packages processed... total 3 packages processed... total 4 packages processed... ARCH BACKUP MAIN...... BACKUPSET [E:\dmdbms\data\jydm\bak\ARCH_LOG_20200531_193129_000908] END, CODE [0]...... META GENERATING...... total 5 packages processed... total 5 packages processed! CMD END.CODE:[0] backup successfully! time used: 7252.182(ms)
命令執行完後會在預設的備份路徑下生成備份集目錄,預設的備份路徑為dm.ini中BAK_PATH的配置值,若未配置,則使用SYSTEM_PATH下的bak目錄。這是最簡單的離線歸檔備份語句,如果要設定其他備份選項請參考下文的語法及使用說明。
語法如下:
BACKUP [ALL | [FROM LSN ]|[UNTIL LSN ] | [LSN BETWEEN < lsn值> AND < lsn值>] | [FROM TIME '時間串'] | [UNTIL TIME '時間串'] | [TIME BETWEEN '時間串' AND '時間串']] [][DELETE INPUT] DATABASE '' [TO < 備份名>] [BACKUPSET '< 備份集目錄>'] [DEVICE TYPE < 介質型別>[PARMS '< 介質引數>'] [BACKUPINFO '< 備份描述>'] [MAXPIECESIZE < 備份片限制大小>] [IDENTIFIED BY < 加密密碼>[WITH ENCRYPTION][ENCRYPT WITH < 加密演算法>]] [COMPRESSED [LEVEL < 壓縮級別>]][TASK THREAD < 執行緒數>][PARALLEL [< 並行數>]]; ::=NOT BACKED UP | NOT BACKED UP numTIMES | NOT BACKED UP SINCE TIME 'datetime_string'
ALL:備份所有的歸檔;
FROM LSN ,UNTIL LSN:備份的起始和截止lsn。請參考3.2.2.4歸檔備份
FROM TIME:指定備份的開始時間點。例如,'2015-12-10'。
UNTIL TIME:指定備份的截止時間點。
BETWEEN ...AND ...:指定備份的區間,僅僅指備份區間內的歸檔檔案。
:搜尋過濾。搜尋過濾僅限於根據備份指定條件能找到的所有歸檔備份集。1) num TIMES,指若歸檔檔案已經備份了num次,則不再備份;否則備份。如num=3,則認為已經備份了3次的歸檔檔案就不再備份。若num=0,則認為所有都不需要備份。2)SINCE TIME 'datetime_String',指定時間開始沒有備份的歸檔檔案進行備份。3)若以上兩種均未指定,則備份所有未備份過的歸檔日誌檔案。
DELETE INPUT:用於指定備份完,是否刪除歸檔操作。
DATABASE:必選引數。指定備份目標庫的INI檔案路徑。
TO: 指定生成備份名稱。若未指定,系統隨機生成,預設備份名格式為:ARCH_備份時間。
BACKUPSET: 指定當前備份集生成目錄。若指定為相對路徑,則在預設備份路徑中生成備份集。
DEVICE TYPE:指儲存備份集的介質型別,支援DISK和TAPE,預設DISK。DISK表示儲存備份集到磁碟,TAPE表示儲存到磁帶。
PARMS:只對介質型別為TAPE時有效。
BACKUPINFO:備份的描述資訊。最大不超過256個位元組。
MAXPIECESIZE:最大備份片檔案大小上限,以M為單位,最小128M,32位系統最大2G,64位系統最大128G。
IDENTIFIED BY:指定備份時的加密密碼。密碼應用雙引號括起來,這樣避免一些特殊字元通不過語法檢測。密碼的設定規則遵行ini引數pwd_policy指定的口令策略。
WITH ENCRYPTION:指定加密型別,0表示不加密,不對備份檔案進行加密處理;1表示簡單加密,對備份檔案設定口令,但檔案內容仍以明文存;2表示完全資料加密,對備份檔案進行完全的加密,備份檔案以密文方式儲存。
ENCRYPT WITH:加密演算法。預設情況下,演算法為AES256_CFB。具體可以使用的加密演算法參考聯機資料庫備份章節的引數說明。
COMPRESSED:取值範圍0~9。0表示不壓縮,1表示1級壓縮,9表示9級壓縮。壓縮級別越高,壓縮越慢,但壓縮比越高。若未指定,但指定COMPRESSED,則預設1;否則,預設0。
TASK THREAD:備份過程中資料處理過程執行緒的個數,取值範圍0~64,預設為4。若指定為0,則調整為1;若指定超過當前系統主機核數,則調整為主機核數。執行緒數(TASK THREAD)*並行數(PARALLEL)不得超過512。
PARALLEL:指定並行備份的並行數,取值範圍0~128。若不指定,則預設為4,指定0或者1均認為為非並行備份。若未指定關鍵PARALLEL,則認為非並行備份。並行備份不支援介質為TAPE的備份。執行緒數(TASK THREAD)*並行數(PARALLEL)不得超過512。
2. 備份歸檔
本節主要描述使用DMRMAN如何執行基本的離線歸檔備份及實施一些備份策略,包括:
1. 設定備份選項
2. 建立歸檔備份
3. 建立設定條件的歸檔備份
1.設定備份選項
備份命令如果僅指定了必選引數如“BACKUP ARCHIVE LOG DATABASE '/opt/dmdbms/data/DAMENG/dm.ini'”,那麼DMRMAN會根據配置的環境及內建的引數預設值自動指定備份介質型別、備份路徑、備份片大小等引數。使用者備份時也可以指定這些引數來覆蓋預設值,常見的備份選項有設定備份集路徑、指定備份名、限制備份片大小、新增描述資訊、並行備份等。DMRMAN離線備份歸檔的語法與使用DIsql聯機備份類似,關於備份選項的詳細介紹及使用參見3.2.2.3.2 設定備份選項。
2.建立歸檔備份
執行歸檔備份要求資料庫處於離線狀態。與聯機備份資料庫一樣,離線歸檔備份需要配置歸檔。一個完整的建立離線資料庫備份的示例如下:
1) 啟動DMRMAN命令列工具。
2) 保證資料庫處於離線狀態。
3) DMRMAN中輸入以下命令:
RMAN> backup archive log all database 'E:\dmdbms\data\jydm\dm.ini' backupset 'E:\dmdbms\backup\arch_all_bak_01'; backup archive log all database 'E:\dmdbms\data\jydm\dm.ini' backupset 'E:\dmdbms\backup\arch_all_bak_01'; checking if the database under system path [E:\dmdbms\data\jydm] is running...[4]. checking if the database under system path [E:\dmdbms\data\jydm] is running...[3]. checking if the database under system path [E:\dmdbms\data\jydm] is running...[2]. checking if the database under system path [E:\dmdbms\data\jydm] is running...[1]. checking if the database under system path [E:\dmdbms\data\jydm] is running...[0]. checking if the database under system path [E:\dmdbms\data\jydm] is running, write dmrman info. EP[0] max_lsn: 901685 BACKUP ARCHIVE LOG ALL, execute...... CMD CHECK LSN...... BACKUP ARCHIVE LOG ALL, collect dbf...... CMD CHECK ...... ARCH BACKUP SUBS...... total 1 packages processed... total 2 packages processed... total 3 packages processed... total 4 packages processed... ARCH BACKUP MAIN...... BACKUPSET [E:\dmdbms\backup\arch_all_bak_01] END, CODE [0]...... META GENERATING...... total 5 packages processed... total 5 packages processed! CMD END.CODE:[0] backup successfully! time used: 8221.506(ms)
命令中的ALL參數列示執行的備份為備份所有的歸檔,也可以不指定該引數,DMRMAN預設執行的備份型別為ALL型別歸檔備份。
3.建立設定條件的歸檔備份
設定條件的歸檔備份指透過設定LSN或者時間點,控制歸檔需要備份歸檔的範圍。離線設定條件歸檔備份。增量備份示例如下:
D:\>net start DmServicejydm DmServicejydm 服務正在啟動 .... DmServicejydm 服務已經啟動成功。 D:\>disql sysdba/xxzx7817600 伺服器[LOCALHOST:5236]:處於普通開啟狀態 登入使用時間: 10.068(毫秒) disql V7.1.6.48-Build(2018.03.01-89507)ENT Connected to: DM 7.1.6.48 SQL> select * from v$arch_file; 行號 DB_MAGIC STATUS LEN FREE ARCH_LSN CLSN ARCH_SEQ NEXT_SEQ CREATE_TIME CLOSE_TIME PATH ---------- ----------- -------- -------------------- -------------------- -------------------- -------------------- -------------------- -------------------- --------------------------- --------------------------- ---------------------------------------------------------- 1 -430050549 INACTIVE 225792 225792 892254 894139 161798 162230 2020-05-31 10:17:40.810000 2020-05-31 11:52:15.732000 E:\dmdbms\data\arch\ARCHIVE_LOCAL1_20200531101740800_0.log 2 -430050549 INACTIVE 282112 282112 894139 896221 162231 162773 2020-05-31 11:52:15.732000 2020-05-31 18:10:29.344000 E:\dmdbms\data\arch\ARCHIVE_LOCAL1_20200531115215733_0.log 3 -430050549 INACTIVE 198656 198656 896222 898933 162774 163153 2020-05-31 18:10:29.344000 2020-05-31 18:11:41.803000 E:\dmdbms\data\arch\ARCHIVE_LOCAL1_20200531181130589_0.log 4 -430050549 INACTIVE 202752 202752 898934 901685 163154 163541 2020-05-31 18:11:41.803000 2020-05-31 19:22:33.194000 E:\dmdbms\data\arch\ARCHIVE_LOCAL1_20200531192047977_0.log 5 -430050549 ACTIVE 1073741824 4608 901686 901686 163542 163542 2020-05-31 19:22:33.194000 2020-05-31 19:41:37.396000 E:\dmdbms\data\arch\ARCHIVE_LOCAL1_20200531194137390_0.log 已用時間: 7.243(毫秒). 執行號:3. SQL> begin 2 for i in 11 .. 20 loop 3 insert into t2 values(i); 4 end loop; 5 commit; 6 end; 7 / DMSQL 過程已成功完成 已用時間: 3.688(毫秒). 執行號:4. SQL> alter system switch logfile; 操作已執行 已用時間: 15.692(毫秒). 執行號:0. SQL> select * from v$arch_file; 行號 DB_MAGIC STATUS LEN FREE ARCH_LSN CLSN ARCH_SEQ NEXT_SEQ CREATE_TIME CLOSE_TIME PATH ---------- ----------- -------- -------------------- -------------------- -------------------- -------------------- -------------------- -------------------- --------------------------- --------------------------- ---------------------------------------------------------- 1 -430050549 ACTIVE 1073741824 4096 0 0 0 0 2020-05-31 19:43:28.792000 2020-05-31 19:43:28.797000 E:\dmdbms\data\arch\ARCHIVE_LOCAL1_20200531194328794_0.log 2 -430050549 INACTIVE 225792 225792 892254 894139 161798 162230 2020-05-31 10:17:40.810000 2020-05-31 11:52:15.732000 E:\dmdbms\data\arch\ARCHIVE_LOCAL1_20200531101740800_0.log 3 -430050549 INACTIVE 282112 282112 894139 896221 162231 162773 2020-05-31 11:52:15.732000 2020-05-31 18:10:29.344000 E:\dmdbms\data\arch\ARCHIVE_LOCAL1_20200531115215733_0.log 4 -430050549 INACTIVE 198656 198656 896222 898933 162774 163153 2020-05-31 18:10:29.344000 2020-05-31 18:11:41.803000 E:\dmdbms\data\arch\ARCHIVE_LOCAL1_20200531181130589_0.log 5 -430050549 INACTIVE 202752 202752 898934 901685 163154 163541 2020-05-31 18:11:41.803000 2020-05-31 19:22:33.194000 E:\dmdbms\data\arch\ARCHIVE_LOCAL1_20200531192047977_0.log 6 -430050549 INACTIVE 143872 143872 901686 903130 163542 163814 2020-05-31 19:22:33.194000 2020-05-31 19:43:28.792000 E:\dmdbms\data\arch\ARCHIVE_LOCAL1_20200531194137390_0.log 6 rows got 已用時間: 8.257(毫秒). 執行號:5. SQL> checkpoint(100); DMSQL 過程已成功完成 已用時間: 19.634(毫秒). 執行號:6. SQL> alter database archivelog current; 操作已執行 已用時間: 15.156(毫秒). 執行號:0. SQL> select * from v$arch_file; 行號 DB_MAGIC STATUS LEN FREE ARCH_LSN CLSN ARCH_SEQ NEXT_SEQ CREATE_TIME CLOSE_TIME PATH ---------- ----------- -------- -------------------- -------------------- -------------------- -------------------- -------------------- -------------------- --------------------------- --------------------------- ---------------------------------------------------------- 1 -430050549 ACTIVE 1073741824 4096 0 0 0 0 2020-05-31 19:44:15.929000 2020-05-31 19:44:15.934000 E:\dmdbms\data\arch\ARCHIVE_LOCAL1_20200531194415931_0.log 2 -430050549 INACTIVE 225792 225792 892254 894139 161798 162230 2020-05-31 10:17:40.810000 2020-05-31 11:52:15.732000 E:\dmdbms\data\arch\ARCHIVE_LOCAL1_20200531101740800_0.log 3 -430050549 INACTIVE 282112 282112 894139 896221 162231 162773 2020-05-31 11:52:15.732000 2020-05-31 18:10:29.344000 E:\dmdbms\data\arch\ARCHIVE_LOCAL1_20200531115215733_0.log 4 -430050549 INACTIVE 198656 198656 896222 898933 162774 163153 2020-05-31 18:10:29.344000 2020-05-31 18:11:41.803000 E:\dmdbms\data\arch\ARCHIVE_LOCAL1_20200531181130589_0.log 5 -430050549 INACTIVE 202752 202752 898934 901685 163154 163541 2020-05-31 18:11:41.803000 2020-05-31 19:22:33.194000 E:\dmdbms\data\arch\ARCHIVE_LOCAL1_20200531192047977_0.log 6 -430050549 INACTIVE 143872 143872 901686 903130 163542 163814 2020-05-31 19:22:33.194000 2020-05-31 19:43:28.792000 E:\dmdbms\data\arch\ARCHIVE_LOCAL1_20200531194137390_0.log 7 -430050549 INACTIVE 9728 9728 903130 903130 163815 163825 2020-05-31 19:43:28.792000 2020-05-31 19:44:15.929000 E:\dmdbms\data\arch\ARCHIVE_LOCAL1_20200531194328794_0.log 7 rows got
1) 啟動DMRMAN命令列工具。
2) 保證資料庫處於離線狀態。
D:\>net stop DmServicejydm DmServicejydm 服務正在停止... DmServicejydm 服務已成功停止。
3) DMRMAN中輸入以下命令:
RMAN> backup archive log lsn between 901686 and 903130 database 'E:\dmdbms\data\jydm\dm.ini' backupset 'E:\dmdbms\backup\arch_lsn_bak_01'; backup archive log lsn between 901686 and 903130 database 'E:\dmdbms\data\jydm\dm.ini' backupset 'E:\dmdbms\backup\arch_lsn_bak_01'; checking if the database under system path [E:\dmdbms\data\jydm] is running...[4]. checking if the database under system path [E:\dmdbms\data\jydm] is running...[3]. checking if the database under system path [E:\dmdbms\data\jydm] is running...[2]. checking if the database under system path [E:\dmdbms\data\jydm] is running...[1]. checking if the database under system path [E:\dmdbms\data\jydm] is running...[0]. checking if the database under system path [E:\dmdbms\data\jydm] is running, write dmrman info. EP[0] max_lsn: 904411 BACKUP ARCHIVE LOG FROM LSN 901686 TO LSN 903130, execute...... CMD CHECK LSN...... BACKUP ARCHIVE LOG FROM LSN 901686 TO LSN 903130, collect dbf...... CMD CHECK ...... ARCH BACKUP SUBS...... total 1 packages processed... total 2 packages processed... ARCH BACKUP MAIN...... BACKUPSET [E:\dmdbms\backup\arch_lsn_bak_01] END, CODE [0]...... META GENERATING...... total 3 packages processed... total 3 packages processed! CMD END.CODE:[0] backup successfully! time used: 7313.615(ms)
命令中的LSN BETEEWN start AND end參數列示執行的備份為執行備份的區間,或者設定FROM LSN(TIME)以及UNTIL LSN(TIME)。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26015009/viewspace-2717181/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- DM7使用DMRMAN執行歸檔還原
- DM7使用DMRMAN執行歸檔修復
- DM7使用DMRMAN工具執行備份集對映檔案匯出
- DM7使用離線工具DMRMAN執行資料庫備份資料庫
- DM7聯機執行SQL語句進行歸檔備份SQL
- DM7使用DMRMAN工具執行加密備份與設定跟蹤日誌加密
- DM7使用DMRMAN工具刪除備份集
- DM7使用DMRMAN工具檢視備份集
- DM7使用DMRMAN工具匯入備份集
- DM7使用DMRAMN執行歸檔恢復
- DM7使用DMRMAN執行表空間還原
- DM7使用DMRAMN執行備份集恢復
- DM7使用DMRMAN執行RAC資料庫恢復資料庫
- DM7使用DMRMAN對資料庫執行指定對映檔案還原資料庫
- DM7使用DMRMAN執行資料庫還原和恢復資料庫
- DM7使用聯機執行SQL語句進行備份還原SQL
- DM7聯機執行SQL語句進行表備份SQL
- DM7使用disql管理備份SQL
- DM7聯機執行SQL語句進行表空間備份SQL
- Oracle使用備份檔案集恢復歸檔日誌Oracle
- oracle 如何不備份已經備份的歸檔Oracle
- DM7配置本地歸檔
- dg丟失歸檔,使用rman增量備份恢復
- DM7使用dmrestore執行並行對映檔案還原REST並行
- 在Linux中,如何進行備份或歸檔檔案(tar 命令)?Linux
- Oracle設定多個歸檔路徑生成多份歸檔日誌,Rman備份時也只備份其中的一份歸檔日誌Oracle
- DM7配置遠端歸檔
- rman開啟備份優化對備份歸檔的影響優化
- DM7使用dmrestore工具利用歸檔日誌還原REST
- 教你在Linux中如何歸檔和備份Linux
- DM7聯機執行SQL語句進行加密備份與設定跟蹤日誌SQL加密
- DM7使用Disql執行表還原SQL
- python使用多執行緒備份資料庫Python執行緒資料庫
- 手工rm刪除歸檔日誌對備份歸檔日誌的影響
- ORACLE NBU調取oracle rman指令碼備份歸檔不自動刪除歸檔Oracle指令碼
- 使用RMAN增量備份處理Dataguard因歸檔丟失造成的gap
- RMAN備份整庫和歸檔日誌的方法
- DM7使用DMRMAN恢復資料庫到指定時間點/LSN資料庫