linux下,達夢數據庫8 備份還原


  一 數據庫備份相關概念

備份就是數據庫在某一個時間點的副本

數據庫備份目的:防止數據丟失,防止天災人禍(地震、火災、人為操作、硬件故障)

備份主要有物理備份和邏輯備份

物理備份主要是備份使用過的有效的數據頁,邏輯備份主要是備份數據庫對象(表,索引,視圖,存儲過程等)

物理備份:分為聯機備份和脫機備份;完全備份和增量備份

完全備份:備份的是整個數據庫或者表空間的全部數據

增量備份:備份的是上一次全備或增備后,以后每次備份只需要備份修改過的數據頁

還原就是將某個時間點的數據庫副本拷貝到對應的目錄下。

恢復就是在完成數據庫還原之后,應用部分或者是全部歸檔日志

二 物理備份

冷備:

冷備不需要開啟歸檔,需要開啟DmAP服務,需要關閉數據庫實例,針對整庫做備份

1、console工具備份

[dmdba@localhost bin]$./DmServiceDMSERVER stop

 

 

 

 

 

 

2、用dmrman工具備份,只支持冷備

[dmdba@localhost backup]$cd /dm8/bin

[dmdba@localhost bin]$./dmrman

dmrman V8

RMAN>backup database '/dm8/data/DAMENG/dm.ini' backupset '/dm8/backup';

 

 出現以上錯誤,說明'/dm8/backup'目錄已存在。

可以刪掉目錄下文件或者更換目錄

 

 

2.1配置本地歸檔

熱備:需要開啟歸檔,數據庫需要打開(open)

可以備份數據庫、表空間、表、歸檔日志

查看數據庫歸檔模式:

 

SQL>select name,arch_mode from v$database;

 

2.1.1在管理工具中開啟歸檔模式

打開管理工具后,右鍵數據庫實例,選擇管理服務器,然后點擊“系統管理”,選擇“配置”后點擊“轉換”,成功后點擊“確定”

 

 選擇“歸檔配置”,選擇“歸檔目標”后,點擊“歸檔”,然后“確定”。

 

2.1.2在DIsql里聯機開啟歸檔模式

         #打開DIsql

         #修改數據庫狀態為MOUNT

         SQL> alter database mount;

         #配置本地歸檔

         SQL> alter database add archivelog 'type=local,dest=/home/dmdba/dmdbms/arch,file_size=64,space_limit=0';

         #開啟歸檔模式

         SQL> alter database archivelog;

         #修改數據庫為OPEN狀態

         SQL> alter database open;

2.1.3手動啟歸檔模式

         vi dmarch.ini

         ARCH_TYPE  = LOCAL #本地歸檔類型

ARCH_DEST  = /home/dmdba/dmdbms/data/DAMENG/arch #本地歸檔文件存放路徑

ARCH_FILE_SIZE = 128  #單位 Mb,本地單個歸檔文件最大值

ARCH_SPACE_LIMIT  = 0 #單位 Mb,0 表示無限制,范圍 1024~4294967294M

vi dm.ini

再查看數據庫歸檔模式:

 

3、備份(脫機)

3.1 用manager工具做熱備整庫備份

 

 

 

 

3.1.1 查看備份

 

 

 

3.1.2  命令行做全備:disql工具

SQL>backup database full to "DB_DAMENG_FULL";--備份到參數文件中的備份路徑。默認是‘/dm8/data/DAMENG/bak’

SQL>backup database full to "DB_DAMENG_FULL2" BACKUPSET '/dm8/backup';

3.2 做增量備份

3.2.1 manager工具做增量備份

 

3.2.2 指令做增量備份

SQL>backup database increment to "DB_DAMENG_INCRE_2020_11_30_14_24_14"

         backupset'DB_DAMENG_INCRE_2020_11_30_14_24_14';

 

 

3.3 表空間備份

表空間備份只能聯機,還原只能脫機

3.3.1 用manager工具

 

 

 

3.3.2 用disql

   SQL>backup tablespace "DMHR" full to "TS_DMHR_FULL_2020_11_30_14_31_44"

            backupset 'TS_DMHR_FULL_2020_11_30_14_31_44';

3.4 表備份

3.4.1 用manager工具

 

 

 3.4.2 用disql

SQL>backup table "DMHR"."DEPARTMENT" to "TAB_DMHR_DEPARTMENT_2020_11_30_14_34_57"

        backupset 'TAB_DMHR_DEPARTMENT_2020_11_30_14_34_57';

 

 3.5 歸檔備份:

SQL>backup archivelog all to "ARCH_2020_11_30_14_36_55" backupset 'ARCH_2020_11_30_14_36_55';

三 物理還原與還原(脫機)

1、檢查備份集是否有效

 #校驗備份

2、Console工具還原

3、Console工具恢復

 

 

 

 

 dmrman工具還原

#還原數據庫

RMAN>restore database '/dm8/data/DAMENG/dm.ini' from backupset '/dm8/backup' 

 #恢復數據庫

RMAN> recover database '/dm8/data/DAMENG/dm.ini' with archivedir '/dm8/data/arch';
 #更新magic
RMAN> recover database '/dm8/data/DAMENG/dm.ini' update db_magic;

 

 

 

 

表空間還原

RMAN>restore database '/dm8/data/DAMENG/dm.in i 'tablespace MAIN from

        backupse t'/dm8/backup';

RMAN>recover database '/dm8/data/DAMENG/dm.ini 'tablespace MAIN;

四 邏輯備份

 

 備份的是數據庫對象

邏輯備份可以用來遷移和重組數據庫,是數據庫輔助型備份

dexp/dimp

四個級別導入導出:庫級別 ,用戶, 模式 ,表

 

全庫導出:[dmdba@localhost bin]$./dexp SYSDBA/SYSDBA file=full.dmp log=full.log directory=/dm8/backup full=y

用戶導出:[dmdba@localhost bin]$./dexp SYSDBA/SYSDBA file=dmhr.dmp log=dmhr.log directory=/dm8/backup owner=dmhr

導出表:[dmdba@localhost bin]$./dexp SYSDBA/SYSDBA file=emp.dmp log=emp.log directory=/dm8/backup tables=emp

全庫導入:[dmdba@localhost bin]$./dimp SYSDBA/SYSDBA file=full.dmp log=imp_full.log directory=/dm8/backup full=y

注意事項:執行用戶導入時,如果用戶不存在,要先創建用戶。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM