1. 程式人生 > 其它 >達夢8備份補充說明

達夢8備份補充說明

今天本來打算寫過儲存過程,用來做表備份,可以指定表名稱和備份集名稱,結果發現一個奇怪的問題。

一、問題

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