達夢8備份補充說明
阿新 • • 發佈:2021-08-19
今天本來打算寫過儲存過程,用來做表備份,可以指定表名稱和備份集名稱,結果發現一個奇怪的問題。
一、問題
backup table "DMHR"."CITY" backupset 'TAB_DMHR_CITY_2021_08_19_14_33_30';
執行上面這條語句做備份,在manager管理工具中檢視效果如下:
顯示的名稱和我指定的備份集名稱不同。
二、檢視備份目錄
備份目錄中的名稱是我指定的備份集名稱。
三、檢視v$backupset
select * fromv$backupset;
因為我沒有指定備份的名稱,所以會自動生成備份的名稱,'TAB_DMHR_CITY_2021_08_19_14_33_30'是備份集的名稱,其實在做備份還原的時候,只會用到備份集的名稱,所以我之前都沒注意過備份的名稱,也從來沒指定備份的名稱。
四、指定備份名稱和備份集名稱
backup table "DMHR"."CITY" to "TAB_DMHR_CITY_A" backupset 'TAB_DMHR_CITY_A';
五、儲存過程實現自定義備份表和備份集名稱
--備份的(模式+表)名稱 、備份集名稱 CREATE OR REPLACE PROCEDURE back_by_name(table_name VARCHAR(50),backupset_name VARCHAR(500)) AS DECLARE str_sql varchar := 'backup table '||table_name||' backupset ''' || backupset_name ||''''; BEGIN print str_sql; EXECUTE IMMEDIATE str_sql ; END; / call back_by_name('DMHR.CITY','TAB_DMHR_CITY_2021_08_19_13_38_06');
to 備份名稱這種很少用,做備份還原指定備份集即可。
更多資訊請上達夢技術社群瞭解: https://eco.dameng.com