达梦数据库学习之备份还原
一、備份前準備
? ? ? ?1、檢查數據庫版本
? ? ? ?2、檢查磁盤空間大小
? ? ? ?3、檢查是否打開歸檔
二、導出備份的幾種方式
? ? ? ?一、dexp邏輯導出備份
? ? ? ? ? ? ? ?1.全備full:
? ? ? ? ? ? ? ? ./dexp USERID=MYDM/my123456789:32141 FILE=2020_06_23_fullbak.dmp LOG=2020_06_23_fullbak.log FULL=Y DIRECTORY=/opt/dmdbms/dmdata/DAMENG/bak
? ? ? ? ? ? ? ? 2.用戶owner:
? ? ? ? ? ? ? ? ./dexp USERID=MYDM/my123456789:32141 FILE=2020_06_23_ownerbak.dmp LOG=2020_06_23_ownerbak.log OWNER=MYDM DIRECTORY=/opt/dmdbms/dmdata/DAMENG/bak
? ? ? ? ? ? ? ? 3.模式schemas:
? ? ? ? ? ? ? ? ./dexp USERID=MYDM/my123456789:32141 FILE=2020_06_23_schemasbak.dmp LOG=2020_06_23_schemasbak.log SCHEMAS=PERSON DIRECTORY=/opt/dmdbms/dmdata/DAMENG/bak
? ? ? ? ? ? ? ?4.表或表分區table:
? ? ? ? ? ? ? ? ./dexp USERID=MYDM/my123456789:32141 FILE=2020_06_23_tablebak.dmp LOG=2020_06_23_tablebak.log TABLES=PERSON.PERSON,PERSON.ADDRESS DIRECTORY=/opt/dmdbms/dmdata/DAMENG/bak
二、DM管理工具備份
? ? ? ? ./manager
? ? ? ? ? ? ? ? 點擊備份–>右鍵庫備份(表備份等)–>新建備份–>點擊常規:寫備份名,備份集目錄,選擇備份類型;點擊高級,按需求填寫選項–>確定
點擊代理–>新建作業–>根據需求創建
三、DM控制臺備份
? ? ? ? ./console
? ? ? ? 點擊備份還原–>選擇新建備份–>按需求填寫備份信息
四、聯機備份(./disql)
? ? ? ? 首先檢查是否開啟歸檔,然后./disql進入數據庫 或者dm管理工具
? ? ? ? 1.全備(默認)
? ? ? ? ? ? ? ? BACKUP DATABASE BACKUPSET ‘/opt/dmdbms/dmdata/DAMENG/bak/db_bak_01’ ;
? ? ? ? 設置備份名
? ? ? ? ? ? ? ? BACKUP DATABASE TO WEEKLY_FULL_BAK BACKUPSET ‘/opt/dmdbms/dmdata/DAMENG/bak/db_bak_01’ ;
? ? ? ? 添加備份信息
? ? ? ? ? ? ? ? BACKUP DATABASE BACKUPSET ‘/opt/dmdbms/dmdata/DAMENG/bak/db_bak_01’ BACKUPINFO ‘完全備份’;
? ? ? ? 限制備份集大小
? ? ? ? ? ? ? ? BACKUP DATABASE BACKUPSET ‘/opt/dmdbms/dmdata/DAMENG/bak/db_bak_01’ MAXPIECESIZE 300;
? ? ? ? 壓縮級別
? ? ? ? ? ? ? ? BACKUP DATABASE BACKUPSET ‘/opt/dmdbms/dmdata/DAMENG/bak/db_bak_01’COMPRESSED LEVEL 5;
? ? ? ? 2.增量備份
? ? ? ? ? ? ? ? BACKUP DATABASE INCREMENT WITH BACKUPDIR ‘/home/dm_bak’BACKUPSET ‘/home/dm_bak/db_increment_bak_02’;
? ? ? ? 3.表空間備份
? ? ? ? 完全備份(默認完全)
? ? ? ? ? ? ? ? BACKUP TABLESPACE MAIN FULL BACKUPSET ‘/home/dm_bak/ts_full_bak_01’;
? ? ? ? 增量備份(創建累積增量備份,還需要指定 CUMULATIVE參數,否則缺省為差異增量備份。)
? ? ? ? ? ? ? ? BACKUP TABLESPACE MAIN INCREMENT BACKUPSET ‘ts_increment_bak_01’;
? ? ? ? 增量備份指定基備份目錄
? ? ? ? ? ? ? ? BACKUP TABLESPACE MAIN INCREMENT BASE ON BACKUPSET’ts_full_bak_01’ BACKUPSET ‘ts_increment_bak_02’;
? ? ? ? ? ? ? ? BACKUP TABLESPACE MAIN INCREMENT WITH BACKUPDIR ‘/home/dm_bak’BACKUPSET ‘/home/dm_bak/ts_increment_bak_02’;
? ? ? ? 4.表備份
? ? ? ? ? ? ? ? ACKUP TABLE TAB_01 BACKUPSET ‘/home/dm_bak/tab_bak_01’;
? ? ? ? 5.歸檔備份
? ? ? ? ? ? ? ? 一是,歸檔文件的 db_magic、permanent_magic 值和庫的 db_magic、permanent_magic值必須一樣;二是,服務器必須配置歸檔;三是,歸檔日志必須連續,
? ? ? ? ? ? ? ? BACKUP ARCHIVE LOG ALL BACKUPSET ‘arch_bak_01’;
? ? ? ? 先查詢LSN范圍。
? ? ? ? ? ? ? ? select ARCH_LSN, CLSN, PATH from V$ARCH_FILE;
? ? ? ? 然后備份歸檔
? ? ? ? ? ? ? ? BACKUP ARCHIVELOGLSN BETWEEN 50414 AND 50478 BACKUPSET ‘/home/dm_bak/arch_bak_time_14-78’;
? ? ? ? 五、脫機備份(./dmrman)
? ? ? ? 需要設置歸檔和關閉數據庫實例
? ? ? ? 可執行寫好的文件(行解析)
? ? ? ? ? ? ? ? ./dmrman CTLFILE=/home/dm_cmd/cmd_rman.txt
? ? ? ? 1.全備(默認)
? ? ? ? ? ? ? ? BACKUP DATABASE’/opt/dmdbms/data/DAMENG/dm.ini’ FULL BACKUPSET ‘/home/dm_bak/db_full_bak_01’;
? ? ? ? ? ? ? ? ./dmrman CTLSTMT="BACKUP DATABASE ‘/opt/dmdbms/data/DAMENG/dm.ini’;(dm.ini備份路徑,若無則 SYSTEM_PATH下的 bak目錄)
? ? ? ? 2.增量備份
? ? ? ? ? ? ? ? BACKUP DATABASE ‘/opt/dmdbms/data/DAMENG/dm.ini’ INCREMENT WITH BACKUPDIR '/home/dm_bak’BACKUPSET ‘/home/dm_bak/db_increment_bak_02’;
? ? ? ? 3.歸檔備份(默認all)
? ? ? ? 全部備份
? ? ? ? ? ? ? ? BACKUP ARCHIVE LOG DATABASE ‘/opt/dmdbms/data/DAMENG/dm.ini’;
? ? ? ? ? ? ? ? BACKUP ARCHIVE LOG ALL DATABASE '/opt/dmdbms/data/DAMENG/dm.ini’BACKUPSET ‘/home/dm_bak/arch_all_bak_01’;
? ? ? ? lsn范圍備份
? ? ? ? ? ? ? ? BACKUP ARCHIVE LOG LSN BETWEEN 50000 AND120000 DATABASE '/opt/dmdbms/data/DAMENG/dm.ini’BACKUPSET ‘/home/dm_bak/db_increment_bak_02’;
三、還原命令
一、dimp邏輯導入
? ? ? ? 1.full導入
? ? ? ? ? ? ? ? ./dimp USERID=SYSDBA/SYSDBA FILE=/mnt/data/dexp/db_str.dmp LOG=db_str.log FULL=Y DIRECTORY=/mnt/data/dimp
? ? ? ? 2.owner導入
? ? ? ? ? ? ? ? ./dimp USERID=SYSDBA/SYSDBA FILE=/mnt/data/dexp/db_str.dmp LOG=db_str.log USER=USER01 DIRECTORY=/mnt/data/dimp
? ? ? ? 3.schemas導入
? ? ? ? ? ? ? ? ./dimp USERID=SYSDBA/SYSDBA FILE=/mnt/data/dexp/db_str.dmp LOG=db_str.log SCHEMAS=USER01 DIRECTORY=/mnt/data/dimp
? ? ? ? 4.tables導入
? ? ? ? ? ? ? ? ./dimp USERID=SYSDBA/SYSDBA FILE=/mnt/data/dexp/db_str.dmp LOG=db_str.log TABLES=table1,table2 DIRECTORY=/mnt/data/dimp
二、DM管理工具導入
? ? ? ? 右鍵庫名稱–>選擇導入—>填寫導入信息—>導入
三、DM控制臺導入
? ? ? ? 點擊備份還原—>點擊還原(恢復)—>根據需求還原恢復相應備份集
四、聯機還原
? ? ? ? DM 僅支持表的聯機還原,數據庫、表空間和歸檔日志的還原必須通過脫機工具 DMRMAN執行。
? ? ? ? 1.表還原(表數據,結構)
? ? ? ? ? ? ? ? RESTORE TABLE TAB_01 FROM BACKUPSET ‘tab_bak_01’;
? ? ? ? ? ? ? ? RESTORE TABLE TAB_FOR_RES FROM BACKUPSET ‘/home/dm_bak/tab_bak_for_res_01’;
? ? ? ? 表與備份中都包含表結構
? ? ? ? ? ? ? ? RESTORE TABLE TAB_FOR_RES_02 STRUCT FROM BACKUPSET ‘/home/dm_bak/tab_bak_for_res_02’;
? ? ? ? ? ? ? ? RESTORE TABLE TAB_FOR_RES_02 FROM BACKUPSET ‘/home/dm_bak/tab_bak_for_res_02’;
? ? ? ? 還原表數據不重建索引
? ? ? ? ? ? ? ? RESTORE TABLE TAB_FOR_RES WITHOUT INDEX FROM BACKUPSET ‘/home/dm_bak/tab_bak_for_res_01’;
? ? ? ? 還原表數據不還原約束
? ? ? ? ? ? ? ? RESTORE TABLETAB_FOR_CONS_01 WITHOUT CONSTRAINT FROM BACKUPSET ‘/home/dm_bak/tab_bak_for_res_01’;
五、脫機還原
? ? ? ? 還原步驟: 還原–>恢復–>更新 三步都需要執行
? ? ? ? 1.數據庫還原
? ? ? ? ? ? ? ? (1)完全還原
? ? ? ? ? ? ? ? ? ? ? ? RESTORE DATABASE ‘/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini’ FROM BACKUPSET ‘/home/dm_bak/db_full_bak_for_restore’;
? ? ? ? ? ? ? ? (2)歸檔還原
? ? ? ? ? ? ? ? ? ? ? ? RESTORE ARCHIVE LOG FROM BACKUPSET ‘/home/dm_bak/arch_bak_lsn_421401’ ALL TO ARCHIVEDIR ‘/home/dm_arch/arch’;
? ? ? ? ? ? ? ? ? ? ? ? RESTORE ARCHIVE LOG FROM BACKUPSET ‘/home/dm_bak/arch_all_for_restore’ TO DATABASE ‘/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini’ OVERWRITE 2;
? ? ? ? ? ? ? ? (3)恢復數據庫
? ? ? ? ? ? ? ? ? ? ? ? RECOVER DATABASE ‘/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini’ FROM BACKUPSET ‘/home/dm_bak/db_full_bak_for_recover_backupset’;
? ? ? ? ? ? ? ? (4)歸檔恢復
? ? ? ? ? ? ? ? ? ? ? ? SHOW BACKUPSET ‘/home/dm_bak/db_full_bak_for_recover_arch’ INFO DB;
? ? ? ? ? ? ? ? ? ? ? ? RECOVER DATABASE ‘/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini’ WITH ARCHIVEDIR’/home/dm_arch/arch’ USE DB_MAGIC 1447060265;
? ? ? ? ? ? ? ? (5)數據庫更新
? ? ? ? ? ? ? ? ? ? ? ? RECOVER DATABASE ‘/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini’ UPDATE DB_MAGIC;
? ? ? ? 2.表空間恢復
? ? ? ? ? ? ? ? RESTORE DATABASE ‘/opt/dmdbms/data/DAMENG_FOR_RECOVER/dm.ini’ TABLESPACE MAIN FROM BACKUPSET ‘/home/dm_bak/db_full_bak_for_recover’;
? ? ? ? ? ? ? ? RECOVER DATABASE ‘/opt/dmdbms/data/DAMENG_FOR_RECOVER/dm.ini’ TABLESPACE MAIN;
? ? ? ? 通過文件編號
? ? ? ? ? ? ? ? SELECT ID, PATH FROM V$DATAFILE;
? ? ? ? ? ? ? ? RESTORE DATABASE ‘/home/xm/DAMENG/dm.ini’TABLESPACE TS_FOR_RES_01 DATAFILE
? ? ? ? ? ? ? ? RECOVER DATABASE ‘/opt/dmdbms/data/DAMENG_FOR_RECOVER/dm.ini’ TABLESPACE MAIN;
? ? ? ? 不通過文件編號
? ? ? ? ? ? ? ? RESTORE TABLESPACE TS_FOR_RES_01 DATAFILE ‘/home/xm/DAMENG/ts_for_res_01_02.dbf’, ‘/home/xm/DAMENG/ts_for_res_01_03.dbf’ FROM BACKUPSET ‘/home/dm_bak/ts_bak_for_dbf’;
? ? ? ? ? ? ? ? RECOVER DATABASE ‘/opt/dmdbms/data/DAMENG_FOR_RECOVER/dm.ini’ TABLESPACE MAIN;
? ? ? ? 指定映射文件還原
? ? ? ? ? ? ? ? RESTORE DATABASE ‘/home/xm/DAMENG/dm.ini’ TABLESPACE MAIN FROM BACKUPSET ‘/home/dm_bak/ts_bak_for_map’MAPPED FILE’/home/dm_mappedfile/map_file.txt’;
? ? ? ? 指定歸檔目錄還原
? ? ? ? ? ? ? ? RECOVER DATABASE ‘/home/xm/DAMENG/dm.ini’ TABLESPACE MAIN FROM BACKUPSET ‘/home/dm_bak/ts_bak_for_arch’ WITH ARCHIVEDIR’/home/dm_arch1’, ‘/home/dm_arch2’;
? ? ? ? 主備環境下指定 DB_MAGIC收集歸檔
? ? ? ? ? ? ? ? RESTORE DATABASE ‘/home/xm/DAMENG/dm.ini’ TABLESPACE MAIN FROM BACKUPSET ‘/home/dm_bak/ts_bak_for_arch’;
? ? ? ? ? ? ? ? RECOVER DATABASE ‘/home/xm/DAMENG/dm.ini’ TABLESPACE MAIN FROM BACKUPSET ‘/home/dm_bak/ts_bak_for_arch’ WITH ARCHIVEDIR’ ‘/home/dm_arch2’ USE DB_MAGIC 18446520;
總結
以上是生活随笔為你收集整理的达梦数据库学习之备份还原的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 初学者也能看懂的隐马尔科夫模型介绍
- 下一篇: android默认代码混淆,Androi