達夢DSC各種方式備份還原
DMDSC資料庫備份還原實施
目錄
一、 資料庫備份還原說明 3
二、 聯機資料備份 3
- 全庫備份 4
- 表空間備份 4
- 表備份 5
三、 DMRMAN離線備份 5
四、 DMRMAN還原 5 - 資料庫還原恢復 6
- 表空間還原 6
- 指定時間點或者LSN還原 7
一、資料庫備份還原說明
備份操作可以在 DMDSC 叢集的任意節點執行,生成的備份集可以存放在本地磁碟上,也可以存放到共享儲存的 DMASM 目錄中。但考慮到資料安全性,一般建議將備份集儲存在本地磁碟上。
需要啟動資料庫的DMAP服務,並且要求DMAP服務和資料庫服務以及啟動dmrman的使用者相同。啟動命令:
su dmdba
cd /home/dmdba/dmdbms/bin
./DmAPService start
以下舉例操作的步驟按照下列目錄結構:
資料庫安裝目錄在/home/dmdba/dmdbms下
資料庫備份檔案存放目錄/home/dmdba/dmdbms/BAK/
二、聯機資料備份
在聯機情況下,DSC叢集環境支援庫備份、表空間備份、表備份,並且要求DSC環境的所有節點都處於open狀態。
要求配置本地歸檔以及遠端歸檔,配置方式如下:
DSC0 例項的 dmarch.ini 配置:
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /home/dmdba/dmdbms/arch_0
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT = 40960
[ARCH_REMOTE1]
ARCH_TYPE = REMOTE
ARCH_DEST = DSC1
ARCH_INCOMING_PATH =/home/dmdba/dmdbms/arch_0_remote
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT = 40960
DSC1 例項的 dmarch.ini 配置:
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /home/dmdba/dmdbms/arch_1
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT = 40960
[ARCH_REMOTE1]
ARCH_TYPE = REMOTE
ARCH_DEST = DSC0
ARCH_INCOMING_PATH =/home/dmdba/dmdbms/arch_1_remote
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT = 40960
1.全庫備份
聯機備份資料庫,備份其中任意一個節點即可備份整個 DMDSC 環境。
執行聯機全庫備份
su dmdba
cd /home/dmdba/dmdbms/bin
啟動 DIsql
./disql SYSDBA/SYSDBA:5236
SQL>BACKUP DATABASE BACKUPSET ‘/home/dmdba/dmdbms/BAK/db_full_bak_for_dsc’;
2.增量備份
執行聯機增量備份
su dmdba
cd /home/dmdba/dmdbms/bin
啟動 DIsql
./disql SYSDBA/SYSDBA:5236
SQL>BACKUP DATABASE INCREMENT WITH BACKUPDIR '/home/dmdba/dmdbms/BAK’BACKUPSET
‘/home/dmdba/dmdbms/BAK/db_increment_bak_02’;
3.表空間備份
因為表空間備份只需要訪問本表空間的資料檔案,所以Dsc叢集的表空間備份和單機的表空間備份操作相同。
執行聯機表空間備份
切換到dmdba使用者,登入到其中任意一個控制節點做備份
su dmdba
cd /home/dmdba/dmdbms/bin
啟動 DIsql
./disql SYSDBA/SYSDBA:5236
SQL>BACKUP TABLESPACE MAIN BACKUPSET ‘/home/dmdba/dmdbms/BAK/ts_bak_01’;
4.表備份
執行聯機表備份
su dmdba
cd /home/dmdba/dmdbms/bin
啟動 DIsql
./disql SYSDBA/SYSDBA:5236
SQL>BACKUP TABLE TAB_01 BACKUPSET ‘/home/dmdba/dmdbms/BAK/tab_bak_01’;
三、DMRMAN離線備份
對於DSC叢集環境,離線備份只支援全庫備份,備份語句如下:
執行離線全庫備份
–保證叢集服務已經停止,只停止dmserver即可
su dmdba
cd /home/dmdba/dmdbms/bin
–啟動dmrman工具,並指定dmdcr配置檔案的路徑(asm必須啟動狀態才可以)
./dmrman DCR_INI=/home/dmdba/dmdbms/data/dmdcr.ini
RMAN>BACKUP DATABASE
‘/opt/dmdbms/data/DAMENG/dm.ini’ FULL BACKUPSET
‘/home/dm_bak/db_full_bak_01’;
四、資料還原恢復
還原過程中,目標庫可以是新初始化的庫,也可以是已經存在的庫,可以是DSC叢集,也可以是單節點。
1.資料庫還原恢復
1.1.還原到DSC環境
執行全庫的還原恢復直接還原到DSC環境中
1)保證即將被還原的叢集dmserver服務已經停止
su dmdba
cd /home/dmdba/dmdbms/bin
./dmrman DCR_INI=/home/dmdba/dmdbms/config/dmdcr.ini
2)校驗備份,校驗待還原備份集的合法性。
RMAN>CHECK BACKUPSET ‘/home/dmdba/dmdbms/BAK/db_full_bak_for_dsc’;
- 還原資料庫。
RMAN>RESTORE DATABASE ‘/home/dmdba/dmdbms/config/rac0_config/dm.ini’ FROM BACKUPSET ‘/home/dmdba/dmdbms/BAK/db_full_bak_for_dsc’;
4)恢復資料庫。
RMAN>RECOVER DATABASE ‘/home/dmdba/dmdbms/config/rac0_config/dm.ini’ FROM BACKUPSET ‘/home/dmdba/dmdbms/BAK/db_full_bak_for_dsc’;
5)更新db_magic值
RMAN>RECOVER DATABASE ‘/home/dmdba/dmdbms/config/rac0_config/dm.ini’ update db_magic;
6)啟動各個節點的dmserver,驗證還原情況
1.2.還原到單機
執行全庫的還原恢復還原到新初始化的單機上
1)新初始化單機例項,初始化引數和原DSC叢集環境保持一致,檢視原DSC環境初始化引數,如下:(到dm.ini引數檔案存放目錄下檢視dminitxxxxx.log日誌內容,裡面記載初始化引數的相關設定)
2)在新的環境中初始化新的單機例項,如下:
su dmdba
cd /home/dmdba/dmdbms/bin
./dminit path=/home/dmdba/data page_size=16 port_num=5240
2)利用DSC的備份還原新初始化的單機例項庫。
su dmdba
cd /home/dmdba/dmdbms/bin
./dmrman
RMAN>CHECK BACKUPSET ‘/home/dmdba/dmdbms/BAK/db_full_bak_for_dsc’;
- 還原資料庫。
RMAN>RESTORE DATABASE ‘/home/dmdba/data/DAMENG/dm.ini’ FROM BACKUPSET ‘/home/dmdba/dmdbms/BAK/db_full_bak_for_dsc’;
4)恢復資料庫。
RMAN>RECOVER DATABASE ‘/home/dmdba/data/DAMENG/dm.ini’ FROM BACKUPSET ‘/home/dmdba/dmdbms/BAK/db_full_bak_for_dsc’;
5)更新db_magic值
RMAN>RECOVER DATABASE ‘/home/dmdba/data/DAMENG/dm.ini’ update db_magic;
6)啟動新初始化的單機例項,驗證還原情況
2.表空間還原
執行表空間的還原恢復
1)保證DSC叢集的dmserver服務已經停止
su dmdba
cd /home/dmdba/dmdbms/bin
./dmrman DCR_INI=/home/dmdba/dmdbms/config/dmdcr.ini
2)校驗備份,校驗待還原備份集的合法性。
RMAN>CHECK BACKUPSET ‘/home/dmdba/dmdbms/BAK/db_full_bak’;
- 還原資料庫。
RMAN>RESTORE DATABASE ‘/home/dmdba/dmdbms/config/rac0_config/dm.ini’ TABLESPACE MAIN FROM BACKUPSET ‘/home/dmdba/dmdbms/BAK/db_full_bak’;
4)恢復表空間。
RMAN>RECOVER DATABASE ‘/home/dmdba/dmdbms/config/rac0_config/dm.ini’ TABLESPACE MAIN;
5)啟動各個節點的dmserver,驗證還原情況
3.表還原
執行表的聯機還原
1)保證DSC叢集正常執行,建立測試表TAB_01
2)給TAB_01表建立備份
su dmdba
cd /home/dmdba/dmdbms/bin
啟動 DIsql
./disql SYSDBA/SYSDBA:5236
SQL>BACKUP TABLE TAB_01 BACKUPSET ‘/home/dmdba/dmdbms/BAK/tab_bak_01’;
校驗備份
SQL>SELECT SF_BAKSET_CHECK(‘DISK’,’/home/dmdba/dmdbms/BAK/tab_bak_01’);
3)模擬誤刪除TAB_01表中資料
2)還原誤刪除TAB_01表。
SQL>RESTORE TABLE TAB_01 FROM BACKUPSET ‘/home/dmdba/dmdbms/BAK/tab_bak_01’;
4)檢視錶中資料量,檢驗還原情況。
SQL>SELECT * FROM TAB_01;
五、定時備份
1)開啟管理工具,使用DSC中任一節點登入管理工具
2)連線之後,右鍵【建立代理環境】
1.完全備份
1)新建代理環境之後,在【作業】處右鍵新建作業,如下圖:
2)設定作業名稱
3)設定作業步驟,點選作業步驟之後,點選【新增】後彈出來的對話方塊裡設定作業步驟的型別,選擇【基於備份集備份資料庫】,輸入備份路徑,選擇備份方式為【完全備份】
4)設定作業排程,先設定排程1,設定排程為每天的凌晨一點進行
5)設定排程2,排程2設定為每天的下午一點執行
6)點選確定之後,完全備份的定時作業設定完成
2.增量備份
1)新建增量備份,設定作業名稱
2)設定作業步驟,新增作業步驟之後,在彈出來的對話方塊中新增作業步驟,選擇步驟型別為【基於備份集備份資料庫】,填寫備份路徑,選擇【增量備份】,設定【基備份目錄】
3)設定作業排程,設定為每個小時執行一次,在每小時的45分執行
4)設定完成之後,點選【確定】後定時增量備份設定完成
3.定時刪除備份
1)新建定時刪除1天前備份的定時作業
2)設定作業步驟,選擇作業步驟為SQL指令碼,然後在指令碼語句框中填寫上刪除語句:
–下面的語句中的【DISK】是固定值,後面的是跟上要刪除的備份檔案的路徑
SF_BAKSET_BACKUP_DIR_ADD(‘DISK’,’/home/dmdba/dmdbms/BAK’);
–下面語句中記錄要刪除多長時間之前的備份
CALL SP_DB_BAKSET_REMOVE_BATCH(‘DISK’,SYSDATE-1);
3)設定作業排程,因為全量備份是在凌晨1點進行的,增備是在每小時的45分進行的,刪除備份的時間設定在2點。
4)點選確定之後,定時刪除過期備份的作業設定完成,可以在管理工具左邊導航欄的【代理】–【作業】下面看到設定的三個作業:全備、增備、刪除。
六、監控
配置dmcssm監控,前臺監控叢集狀態
配置dmcssm.ini檔案,可以將檔案配置在config目錄下,如下:
[dmdba@localhost config]$ cat dmcssm.ini
#和 dmdcr_cfg.ini 中的 DCR_OGUID 保持一致
CSSM_OGUID = 63635
#配置所有 CSS 的連線資訊,
#和 dmdcr_cfg.ini 中 CSS 配置項的 DCR_EP_HOST 和 DCR_EP_PORT 保持一致
CSSM_CSS_IP = 172.16.121.121:9341
CSSM_CSS_IP = 172.16.121.122:9343
CSSM_LOG_PATH =/home/dmdba/dmdbms/config/log #監視器日誌檔案存放路徑
CSSM_LOG_FILE_SIZE = 32 #每個日誌檔案最大 32M
CSSM_LOG_SPACE_LIMIT = 0 #不限定日誌檔案總佔用空間
[dmdba@localhost config]$
配置完成之後,前臺啟動觀察叢集狀態
cd /home/dmdba/dmdbms/bin下
[dmdba@localhost bin]$ ./dmcssm ini_path=/home/dmdba/dmdbms/config/dmcssm.ini
[monitor] 2020-11-10 15:33:18: CSS MONITOR V8
[monitor] 2020-11-10 15:33:18: CSS MONITOR SYSTEM IS READY.
[monitor] 2020-11-10 15:33:18: Wait CSS Control Node choosed…
[monitor] 2020-11-10 15:33:19: Wait CSS Control Node choosed succeed.
show
monitor current time:2020-11-10 15:33:26, n_group:3
=================== group[name = GRP_CSS, seq = 0, type = CSS, Control Node = 0] ========================================
[CSS0] global info:
[ASM0] auto restart = FALSE
[RAC0] auto restart = FALSE
[CSS1] global info:
[ASM1] auto restart = FALSE
[RAC1] auto restart = FALSE
ep: css_time inst_name seqno port mode inst_status vtd_status is_ok active guid ts
2020-11-10 15:33:25 CSS0 0 9341 Control Node OPEN WORKING OK TRUE 719781662 719786946
2020-11-10 15:33:25 CSS1 1 9343 Normal Node OPEN WORKING OK TRUE 719782973 719788253
=================== group[name = GRP_ASM, seq = 1, type = ASM, Control Node = 0] ========================================
n_ok_ep = 2
ok_ep_arr(index, seqno):
(0, 0)
(1, 1)
sta = OPEN, sub_sta = STARTUP
break ep = NULL
recover ep = NULL
crash process over flag is TRUE
ep: css_time inst_name seqno port mode inst_status vtd_status is_ok active guid ts
2020-11-10 15:33:25 ASM0 0 9349 Control Node OPEN WORKING OK TRUE 719788941 719794195
2020-11-10 15:33:25 ASM1 1 9351 Normal Node OPEN WORKING OK TRUE 719791681 719796925
=================== group[name = GRP_RAC, seq = 2, type = DB, Control Node = 0] ========================================
n_ok_ep = 2
ok_ep_arr(index, seqno):
(0, 0)
(1, 1)
sta = OPEN, sub_sta = STARTUP
break ep = NULL
recover ep = NULL
crash process over flag is TRUE
ep: css_time inst_name seqno port mode inst_status vtd_status is_ok active guid ts
2020-11-10 15:33:25 RAC0 0 5236 Control Node OPEN WORKING OK TRUE 383768616 383768915
2020-11-10 15:33:25 RAC1 1 5236 Normal Node OPEN WORKING OK TRUE 383769941 383770233
==================================================================================================================
七、問題解決
1.歸檔修復
如果在離線備份的時候出現歸檔不完整備份失敗的問題,可以使用repair archivelog方式進行修復歸檔,如下:
相關文章
- 達夢資料庫的備份與還原資料庫
- 達夢DMRMAN備份還原工具的介紹與配置
- 達夢dsc+dw部署
- 搭建達夢DSC叢集
- 備份還原剪下板
- Redis 通過 RDB 方式進行資料備份與還原Redis
- 達夢資料庫備份恢復資料庫
- Ubuntu Desktop: 備份與還原Ubuntu
- RMAN加密備份的三種方式加密
- 【SQL Server】本地備份和還原SQLServer
- Mysql資料備份和還原MySql
- Ghost備份及還原系統
- 批量備份還原匯入與匯出MongoDB資料方式昝璽MongoDB
- 達夢DM備份恢復(物理和邏輯)
- sqlserver資料庫備份,還原操作SQLServer資料庫
- oracle 還原 .dmp 格式備份檔案Oracle
- elasticsearch備份和還原(基於hdfs)Elasticsearch
- 「Oracle」Oracle 資料庫備份還原Oracle資料庫
- 「MySQL」資料庫備份和還原MySql資料庫
- 【Mongodb】資料庫備份與還原MongoDB資料庫
- sqlserver資料庫的備份還原SQLServer資料庫
- MySQL的資料備份與還原MySql
- 怎麼備份分割槽表?還原備份表怎麼操作?
- win10備份檔案後怎麼還原_win10備份檔案還原的方法Win10
- win10驅動如何備份還原_win10驅動備份和還原怎麼操作Win10
- win10怎麼備份系統還原 win10系統備份與還原步驟Win10
- win10備份系統如何還原_一鍵還原win10備份系統操作方法Win10
- MPLS-VPN的幾種備份方式——VecloudCloud
- MySql資料庫備份的幾種方式MySql資料庫
- mysqldump+mysqlbinlog執行備份與還原MySql
- 如何使用 TimeShift 備份和還原 Ubuntu LinuxUbuntuLinux
- 資料庫單表備份還原shell資料庫
- Mysql備份和還原資料庫-mysqldumpMySql資料庫
- 備份和還原Windows DHCP伺服器Windows伺服器
- win10怎麼備份還原win8_win10備份還原win8的操作步驟Win10
- 淺談達夢資料庫的備份與恢復資料庫
- Windows分割槽備份還原工具:Winclone Pro for MacWindowsMac
- mysql資料庫-備份與還原實操MySql資料庫