disql 聯機物理備份

2021-10-25 18:29:28 字數 4416 閱讀 4609

disql 聯機備份:

1 資料庫備份

語法:backup database [[[full] [ddl_clone]]| increment [cumulative][with backupdir '< 基備份搜尋目錄》' |[base on [device type 《介質型別》 [parms '《介質引數》']]

[backupinfo '《備份描述》'] [maxpiecesize 《備份片限制大小》]

[identified by 《密碼》[with encryption][encrypt with 《加密演算法》]] [compressed [level 《壓縮級別》]] [without log]

[trace file '< trace 檔名》'] [trace level < trace 日誌級別》]

[task thread 《執行緒數》][parallel [《並行數》]];

常用:1 指定備份集路徑為「/home/dm_bak/db_bak_3_01」。

sql>backup database backupset '/home/dm_bak/db_bak_3_01';

2 建立備份集,備份名設定為「weekly_full_bak」。

sql>backup database to weekly_full_bak backupset '/home/dm_bak/db_bak_3_02';

3 指定備份資料庫到磁帶。

sql>backup database backupset '/home/dm_bak/db_bak_3_03' device type tape;

4 建立備份為備份集新增描述資訊為「完全備份」。

sql>backup database backupset '/home/dm_bak/db_bak_3_04' backupinfo '完全備份';

5 建立備份限制備份片大小為 300m。

sql> backup database backupset '/home/dm_bak/db_bak_3_05' maxpiecesize 300;

6 執行備份壓縮,壓縮級別設定為 5。

sql>backup database backupset '/home/dm_bak/db_bak_3_06' compressed level 5;

7 建立並行備份,指定並行數為 8。

sql>backup database backupset '/home/dm_bak/db_bak_3_07'parallel 8;

完全備份:

sql>backup database full backupset '/home/dm_bak/db_full_bak_01';

增量備份:

sql>backup database increment with backupdir '/home/dm_bak' backupset '/home/dm_bak/db_increment_bak_02';

2 表空間備份

語法:backup tablespace 《表空間名》 [full | increment [cumulative][with backupdir '《基備份搜尋目錄》']| [base on backupset '《基備份集目錄》']][to 《備份 名》] backupset ['《備份集路徑》']

[device type 《介質型別》 [parms '《介質引數》']]

[backupinfo '《備份集描述》'] [maxpiecesize 《備份片限制大小》]

[identified by 《加密密碼》[with encryption][encrypt with 《加密演算法》]] [compressed [level 《壓縮級別》]]

[trace file '[task thread 《執行緒數》][parallel [《並行數》]];

常用:同備份資料庫一樣,執行 表空間備份伺服器也必須執行在歸檔模式下,啟動 disql 輸入以下語句即可備份表空間:

sql>backup tablespace main backupset 'ts_bak_01';

以增量備份使用者 main 表空間為例,指定 base on 引數執行增量備份:

sql>backup tablespace main backupset 'ts_full_bak_01';

sql>backup tablespace main increment backupset 'ts_increment_bak_01'; 

sql>backup tablespace main increment base on backupset'ts_full_bak_01' backupset 'ts_increment_bak_02';

完全備份

sql>backup tablespace main full backupset '/home/dm_bak/ts_full_bak_01';

增量備份

sql>backup tablespace main increment with backupdir '/home/dm_bak' backupset '/home/dm_bak/ts_increment_bak_02';

3 表備份

語法:backup table 《表名》

[to 《備份名》]

backupset ['《備份集路徑》'] [device type 《介質型別》 [parms '《介質引數》']] [backupinfo '《備份集描述》']

[maxpiecesize 《備份片限制大小》]

[identified by 《加密密碼》[with encryption][encrypt with 《加密演算法》]] [compressed [level 《壓縮級別》]]

[trace file '常用:

備份資料庫與表空間不同,備份表不需要伺服器配置歸檔,disql 中輸入以下即可 備份使用者表:

sql>backup table tab_01 backupset 'tab_bak_01';

完整的備份表步驟如下:

1) 保證資料庫處於open狀態。 

2) 建立待備份的表tab_01:

sql>create table tab_01(c1 int);

3) disql中輸入備份表語句,簡單的備份語句如下: 

sql>backup table tab_01 backupset '/home/dm_bak/tab_bak_01';

4 歸檔備份

語法:backup

[all | [from lsn ]| [until lsn ]|[lsn between and ] | [from time '']|[until time '']|[time between''> and '' ]][delete input]

[to 《備份名》]

backupset ['《備份集路徑》'][device type 《介質型別》 [parms '《介質引數》']] [backupinfo '《備份描述》']

[maxpiecesize 《備份片限制大小》]

[identified by 《金鑰》[with encryption][encrypt with 《加密演算法》]] [compressed [level 《壓縮級別》]]

[without log]

[trace file '常用:

disql 中輸入以下即可備份歸檔:

sql>backup archive log all backupset 'arch_bak_01';

完整的備份歸檔步驟如下:

1) 配置歸檔。

2) 資料庫處於open或者mount狀態。

3) disql中輸入備份資料庫語句。

例如,備份歸檔日誌,通過 lsn between ... and ...來指定起始和截至 lsn。 首先,確定 lsn 範圍。

sql>select arch_lsn, clsn, path from v$arch_file;

查詢結果為:

arch_lsn clsn path

38758 40301 d:\arch\archive_local1_20160727105417748.log 

40302 40303 d:\arch\archive_local1_20160727111411079.log 

40304 40305 d:\arch\archive_local1_20160727111513679.log 

50412 50413 d:\arch\archive_local1_20160727171801098.log 

50414 50478 d:\arch\archive_local1_20160727171849712.log

通過查詢結果選出備份的起始lsn和截至lsn。比如50414 50478

其次,備份歸檔:

sql>backup archivelog lsn between 50414 and 50478 backupset '/home/dm_bak/arch_bak_time_14-78';

oracle 聯機備份實踐

操作步驟 1 設定資料庫為歸檔模式 archivelog 模式 startup mount alter database archivelog alter database open 2 建立測試表空間及測試表,插入測試資料 tablespace created.sql create table c...

oracle 備份技術詳解(二) 聯機備份

聯機備份 熱備份 可以對正以archivelog方式執行的任何資料庫進行聯機備份,在此方法中,將歸檔聯機重做日誌,建立資料庫內的所有事務處理的全部日誌。oracle以迴圈方式寫聯機重做日誌。在寫滿第乙個日誌檔案後開始寫第二個 第三個直到寫滿為止,一旦最後乙個聯機重做日誌也寫滿,lgwr log wr...

邏輯備份和物理備份

針對oracle很好理解 物理備份就是轉儲oracle物理檔案 如資料檔案 控制檔案 歸檔日誌檔案等 一旦資料庫發生故障,可以利用這些檔案進行還原 邏輯備份就是對資料庫物件 如使用者 表 儲存過程等 利用export等工具進行匯出工作,可以利用import等工具把邏輯備份檔案匯入到資料庫 邏輯備份是...