35.1 備份外部 Sybase 資料庫

使用 ZENworks 10 Configuration Management 安裝媒體安裝外部 Sybase 資料庫 (遠端 OEM Sybase 或遠端 Sybase SQL Anywhere) 後,您可以將其備份至本地機器上的某個目錄或某個網路位置。

35.1.1 在 Windows 或 Linux 伺服器上備份外部 Sybase 資料庫

在安裝並執行外部 Sybase 資料庫的 Windows 或 Linux 伺服器上,執行下列步驟︰

  1. 啟動 DBISQL 公用程式︰

    1. 在指令提示符中,轉至 Windows 上的 %ZENWORKS_HOME%\sybase\ASA\win32 目錄,或 Linux 上的 /opt/novell/zenworks/share/sybase/bin32s 目錄。

    2. 輸入 dbisql 指令。

    3. 「識別」索引標籤中,指定資料庫的身分證明。

    4. 按一下「資料庫」索引標籤,然後指定目前正在執行之資料庫服務的名稱。

    5. 按一下「確定」

  2. 決定是否要立即備份外部 Sybase 資料庫,還是排程於指定時間執行備份。若要立即備份資料庫,請繼續執行步驟 2.a。若要排程於指定時間執行備份,請跳至步驟 3

    1. 若要立即將內嵌式 Sybase SQL Anywhere 資料庫備份至資料庫伺服器上的目錄,請在「SQL 陳述式」區段指定以下查詢:

      BACKUP DATABASE DIRECTORY '資料庫伺服器上備份目錄的完整路徑' TRANSACTION LOG TRUNCATE

      如果要將資料庫備份至 Windows 上的目錄,則在指定資料庫備份目錄路徑時,必須使用 \\ (雙反斜線) 做為分隔符。

      範例︰

      • 在 Windows 上: 若要將資料庫備份至 c:\dbbackup 目錄,請執行以下查詢︰

        BACKUP DATABASE DIRECTORY 'c:\\dbbackup' TRANSACTION LOG TRUNCATE

      • 在 Linux 上︰ 若要將資料庫備份至 /root/dbBackup 目錄,請執行以下查詢︰

        BACKUP DATABASE DIRECTORY '/root/dbBackup' TRANSACTION LOG TRUNCATE

      您必須手動歸檔查詢中指定之資料庫備份位置的完整路徑,因為稍後要變更資料庫備份位置時,需要進行指定。

    2. 按一下「執行 SQL 陳述式」

  3. 排程在每天或某個月的特定日期於特定時間執行備份:

    1. 「SQL 陳述式」區段進行指定,以執行下列查詢

      CREATE EVENT backup_schedule_name
      
      SCHEDULE
      
      START TIME specify_the_schedule
      
      HANDLER
      
      BEGIN
      
      BACKUP DATABASE DIRECTORY ‘complete_path_of_the_backup_directory_on_database_server
      TRANSACTION LOG TRUNCATE
      
      END;
      
    2. 按一下「執行 SQL 陳述式」

      建立資料庫備份事件時,請遵循下列準則:

      • 備份排程名稱必須是唯一的。

      • 如果要將資料庫備份至 Windows 上的目錄,則在指定資料庫備份目錄路徑時,必須使用 \\ (雙反斜線) 做為分隔符。例如,c:\\dbbackup

      • 您必須手動歸檔查詢中指定的備份排程,因為稍後要變更資料庫排程時,需要進行指定。

    範例︰

    • 若要於每天凌晨 1 點將資料庫備份至 Linux 上的 /var/ 目錄,請執行以下查詢︰

      CREATE EVENT ZENDBbackup
      
      SCHEDULE
      
      START TIME '1:00 AM' EVERY 24 HOURS   
      
      HANDLER
      
      BEGIN
      
      BACKUP DATABASE DIRECTORY ‘/var/’
      
      TRANSACTION LOG TRUNCATE
      
      END;
      
    • 若要於每月前四天的凌晨 1 點將資料庫備份至 Windows上的 c:\dbbackup 目錄,請執行以下查詢︰

      CREATE EVENT ZENDBbackup
      
      SCHEDULE
      
      START TIME '1:00 AM' EVERY 24 HOURS ON (1,2,3,4) 
      
      HANDLER
      
      BEGIN
      
      BACKUP DATABASE DIRECTORY ‘c:\\dbbackup’
      
      TRANSACTION LOG TRUNCATE
      
      END;
      
    • 若要將資料庫備份至 Linux 上的 /var/星期幾目錄,請執行以下查詢︰

      CREATE EVENT ZENDBbackup
      
      SCHEDULE
      
      START TIME '1:00 AM' EVERY 24 HOURS   
      
      HANDLER
      
      BEGIN
      
      DECLARE backupDir varchar(256);
      
      DECLARE backup_stmt varchar(512);
      
      SET backupDir = DAYNAME(now());
      
      SET backup_stmt = 'BACKUP DATABASE DIRECTORY '|| '''/var//' || backupDir || ''''|| ' TRANSACTION LOG TRUNCATE';
      
      EXECUTE IMMEDIATE backup_stmt;
      
      END;
      

系統會根據備份排程在資料庫備份目錄中建立 zenworks_區域名稱.db 資料庫檔案與 zenworks_區域名稱.log 異動記錄檔案。

如果稍後要變更資料庫備份位置或備份排程,請參閱節 36.2.2, 首次備份外部 Sybase 資料庫後,變更其備份排程與位置

35.1.2 將在 Windows 伺服器上執行的外部 Sybase 資料庫備份至網路上的遠端 Windows 機器

若要將 Windows 伺服器上安裝並執行的外部 Sybase 資料庫備份至網路上的其他 Windows 機器,您需要一台本地機器與一台遠端機器。本地機器是指安裝了外部 Sybase 資料庫的 Windows 伺服器。遠端機器是放置資料庫備份之網路位置所在的 Windows 機器。

  1. 對本地機器執行下列步驟:

    1. 建立管理使用者並指定密碼。

      例如,您可以將管理使用者名稱指定為 Administrator,將密碼指定為 novell

    2. 從桌面的「開始」功能表中,按一下「設定」,再按一下「控制台」,接著連按兩下「管理工具」,然後再連按兩下「服務」

    3. Novell ZENworks Datastore 服務上按一下滑鼠右鍵,然後按一下「內容」

    4. 按一下「登入」索引標籤。

    5. 選取「此帳戶」,然後指定在步驟 1.a 中所建立之管理使用者的名稱與密碼。

      例如,您可以將使用者指定為 Administrator,將密碼指定為 novell

    6. 按一下「確定」

  2. 對要儲存備份之網路位置所在的遠端機器執行下列步驟:

    1. 使用在步驟 1.a 中所建立之使用者的身分證明建立帳戶。

      例如,將使用者指定為 Administrator,將密碼指定為 novell

    2. 向使用者提供網路位置的讀/寫許可。

  3. 在本地機器上啟動 DBISQL 公用程式:

    1. 在指令提示符中,轉至 Windows 上的 %ZENWORKS_HOME%\sybase\ASA\win32 目錄,或 Linux 上的 /opt/novell/zenworks/share/sybase/bin32s 目錄。

    2. 輸入 dbisql 指令。

    3. 「Identification」索引標籤中,指定資料庫的身分證明。

    4. 按一下「資料庫」索引標籤,然後指定目前正在執行之資料庫服務的名稱。

    5. 按一下「確定」

  4. 決定是否要立即備份外部 Sybase 資料庫,還是排程於指定時間執行備份。若要立即備份資料庫,請繼續執行步驟 4.a。若要排程於指定時間執行備份,請跳至步驟 5

    1. 若要立即將內嵌式 Sybase SQL Anywhere 資料庫備份至網路上的遠端機器,請在「SQL 陳述式」區段指定以下查詢:

      BACKUP DATABASE DIRECTORY '\\\\遠端機器的 IP 位址\\備份目錄\\自定目錄' TRANSACTION LOG TRUNCATE

      在此查詢中,\\\\遠端機器的 IP 位址\\備份目錄\\ 是指遠端機器上的共享網路位置,自定目錄是您指定要新建且要將資料庫檔案備份至其中的目錄的名稱。

      例如,執行以下查詢可將資料庫備份至 dbbackup 目錄:

      BACKUP DATABASE DIRECTORY '\\\\遠端機器上的共享網路位置\\dbbackup' TRANSACTION LOG TRUNCATE

      您必須手動歸檔查詢中指定之資料庫備份位置的完整路徑,因為稍後要變更資料庫備份位置時,需要進行指定。

    2. 按一下「執行 SQL 陳述式」

  5. 排程在每天或某個月的特定日期於特定時間執行備份:

    1. 「SQL 陳述式」區段進行指定,以執行下列查詢:

      CREATE EVENT backup_schedule_name
      
      SCHEDULE
      
      START TIME specify_the_schedule
      
      HANDLER
      
      BEGIN
      
      BACKUP DATABASE DIRECTORY
      ‘\\\\IP_address_of_remote_machine\\backup_directory\\custom_directory
      TRANSACTION LOG TRUNCATE
      
      END;
      

      在此查詢中,\\\\遠端機器的 IP 位址\\備份目錄\\ 是指遠端機器上的共享網路位置,自定目錄是您指定要新建且要將資料庫檔案備份至其中的目錄的名稱。

      建立資料庫備份事件時,請遵循下列準則:

      • 備份排程名稱必須是唯一的。

      • 您必須手動歸檔查詢中指定的備份排程,因為稍後要變更資料庫排程時,需要進行指定。

    2. 按一下「執行 SQL 陳述式」

    範例︰

    • 若要於每天凌晨 1 點將資料庫備份至 Windows 上的 dbbackup 目錄,請執行以下查詢︰

      CREATE EVENT ZENDBbackup
      
      SCHEDULE
      
      START TIME '1:00 AM' EVERY 24 HOURS   
      
      HANDLER
      
      BEGIN
      
      BACKUP DATABASE DIRECTORY ‘\\\\shared_network_location_on_remote_machine\\dbbackup’
      
      TRANSACTION LOG TRUNCATE
      
      END;
      
    • 若要於每月前四天的凌晨 1 點將資料庫備份至 Windows 伺服器上的 dbbackup 目錄,請執行以下查詢︰

      CREATE EVENT ZENDBbackup
      
      SCHEDULE
      
      START TIME '1:00 AM' EVERY 24 HOURS ON (1,2,3,4)   
      
      HANDLER
      
      BEGIN
      
      BACKUP DATABASE DIRECTORY ‘\\\\shared_network_location_on_remote_machine\\dbbackup’
      
      TRANSACTION LOG TRUNCATE
      
      END;
      
    • 若要將資料庫備份至 Windows 伺服器上的 \dbbackup\星期幾目錄,請執行以下查詢︰

      CREATE EVENT ZENDBbackup
      
      SCHEDULE
      
      START TIME '1:00 AM' EVERY 24 HOURS   
      
      HANDLER
      
      BEGIN
      
      DECLARE backupDir varchar(256);
      
      DECLARE backup_stmt varchar(512);
      
      SET backupDir = DAYNAME(now());
      
      SET backup_stmt = 'BACKUP DATABASE DIRECTORY '|| '''\\\\shared_network_location_on_remote_machine\\dbbackup/' || backupDir || ''''|| 'TRANSACTION LOG TRUNCATE';
      
      EXECUTE IMMEDIATE backup_stmt;
      
      END;
      

根據備份排程,遠端機器的網路位置中會建立 zenworks_管理區域名稱.dbzenworks_管理區域名稱.log。資料庫備份會儲存在 zenworks_管理區域名稱.db 中。資料庫備份的結果會記錄在 zenworks_管理區域名稱.log 中。

如果稍後要變更資料庫備份位置或備份排程,請參閱節 36.2.2, 首次備份外部 Sybase 資料庫後,變更其備份排程與位置

35.1.3 將執行於 Linux 伺服器上的外部 Sybase 資料庫備份至網路上的遠端 Linux 機器

若要將 Linux 伺服器上安裝並執行的外部 Sybase 資料庫備份至網路上的 Linux 機器,您需要一台本地機器與一台遠端機器。本地機器是指安裝了外部 Sybase 資料庫的 Linux 伺服器。遠端機器是放置資料庫備份之網路位置所在的 Linux 機器。

您可以使用任何 Linux 共享 (例如 Samba 共享或 NFS 共享) 來備份 Linux 機器上的資料庫。

若要使用 Samba 共享將 Linux 伺服器上安裝並執行的外部 Sybase 資料庫備份到網路上的 Linux 機器:

  1. 在遠端機器上建立 Samba 共享︰

    1. 在指令提示字元中,輸入 useradd 使用者名稱指令來建立使用者。

    2. 使用在步驟 1.a 中建立的使用者名稱登入到遠端機器,並使用 passwd 指定密碼指令設定密碼。

    3. 建立用於儲存資料庫備份的目錄。

      例如,建立名稱為 backup 的目錄。

    4. 透過執行 yast2 samba-server 指令開啟 Samba 伺服器設定。

    5. 按一下「共享」索引標籤,然後按一下「新增」以指定共享名稱以及在步驟 1.c 中建立之備份目錄的路徑。

      例如,指定 dbbackup 做為共享名稱。

    6. 選取 dbbackup 共享,按一下「編輯」,然後新增下列屬性︰

      • create mask = 0640

      • force user = 步驟 1.a中建立的使用者名稱

      • guest ok = yes

      • public = yes

      • wide links = no

      • writeable = yes

  2. 在本地機器上建立目錄。

    例如,在 /root 下建立名稱為 zenworks_dbbackup 的目錄。

  3. 在指令提示符中輸入以下指令,以於本地機器的 zenworks_dbbackup 目錄裝上 Samba 共享。

    mount -t smbfs //遠端機器的 IP 位址/共享名稱 -o username=在步驟 1a 中指定的使用者名稱,password=在步驟 1b 中指定的密碼 在步驟 2 中建立之具有完整路徑的本地目錄名稱

    例如:

    mount -t smbfs //遠端機器的 IP 位址/dbbackup -o username=在步驟 1a 中指定的使用者名稱,password= 在步驟 1b 中指定的密碼 /root/zenworks_dbbackup

  4. 在本地機器上啟動 DBISQL 公用程式:

    1. 在指令提示符中,轉至 Windows 上的 %ZENWORKS_HOME%\sybase\ASA\win32 目錄,或 Linux 上的 /opt/novell/zenworks/share/sybase/bin32s 目錄。

    2. 輸入 dbisql 指令。

    3. 「Identification」索引標籤中,指定資料庫的身分證明。

    4. 按一下「資料庫」索引標籤,然後指定目前正在執行之資料庫服務的名稱。

    5. 按一下「確定」

  5. 決定是否要立即備份外部 Sybase 資料庫,還是排程於指定時間執行備份。若要立即備份資料庫,請繼續執行此步驟。若要排程於指定時間執行備份,請跳至步驟 5

    1. 若要立即將外部 Sybase 資料庫備份至網路上的遠端機器,請在「SQL 陳述式」區段指定以下查詢:

      BACKUP DATABASE DIRECTORY '資料庫伺服器上備份目錄的完整路徑' TRANSACTION LOG TRUNCATE

      例如,執行以下查詢可將資料庫備份至 /root/zenworks_dbbackup 目錄:

      BACKUP DATABASE DIRECTORY '/root/zenworks_dbbackup/' TRANSACTION LOG TRUNCATE

      您必須手動歸檔查詢中指定之資料庫備份位置的完整路徑,因為稍後要變更資料庫備份位置時,需要進行指定。

    2. 按一下「執行 SQL 陳述式」

  6. 排程在每天或某個月的特定日期於特定時間執行備份:

    1. 「SQL 陳述式」區段中進行指定,以執行下列查詢:

      CREATE EVENT backup_schedule_name
      
      SCHEDULE
      
      START TIME specify_the_schedule
      
      HANDLER
      
      BEGIN
      
      BACKUP DATABASE DIRECTORY ‘complete_path_of_the_backup_directory_on_database_server
      TRANSACTION LOG TRUNCATE
      
      END;
      

      建立資料庫備份事件時,請遵循下列準則:

      • 您指定的備份排程名稱必須是唯一的。

      • 您必須手動歸檔查詢中指定的備份排程,因為稍後要變更資料庫排程時,需要進行指定。

    2. 按一下「執行 SQL 陳述式」

    範例︰

    • 若要於每天凌晨 1 點將資料庫備份至 Linux 上的 /root/zenworks_dbbackup 目錄,請執行以下查詢︰

      CREATE EVENT ZENDBbackup
      
      SCHEDULE
      
      START TIME '1:00 AM' EVERY 24 HOURS   
      
      HANDLER
      
      BEGIN
      
      BACKUP DATABASE DIRECTORY ‘/root/zenworks_dbbackup/’
      
      TRANSACTION LOG TRUNCATE
      
      END;
      
    • 若要於每月前四天的凌晨 1 點將資料庫備份至 Linux 上的 /root/zenworks_dbbackup 目錄,請執行以下查詢︰

      CREATE EVENT ZENDBbackup
      
      SCHEDULE
      
      START TIME '1:00 AM' EVERY 24 HOURS ON (1,2,3,4)   
      
      HANDLER
      
      BEGIN
      
      BACKUP DATABASE DIRECTORY ‘/root/zenworks_dbbackup/’
      
      TRANSACTION LOG TRUNCATE
      
      END;
      
    • 若要將資料庫備份至 Linux 上的 /root/zenworks_dbbackup/星期幾目錄,請執行以下查詢︰

      CREATE EVENT ZENDBbackup
      
      SCHEDULE
      
      START TIME '1:00 AM' EVERY 24 HOURS   
      
      HANDLER
      
      BEGIN
      
      DECLARE backupDir varchar(256);
      
      DECLARE backup_stmt varchar(512);
      
      SET backupDir = DAYNAME(now());
      
      SET backup_stmt = 'BACKUP DATABASE DIRECTORY '|| '''/root/zenworks_dbbackup//' || backupDir || ''''|| ' TRANSACTION LOG TRUNCATE';
      
      EXECUTE IMMEDIATE backup_stmt;
      
      END;
      

根據備份排程,遠端機器的網路位置上 (/root/zenworks_dbbackup) 會建立 zenworks_管理區域名稱.db zenworks_管理區域名稱.log。資料庫備份會儲存在 zenworks_管理區域名稱.db 中。資料庫備份的結果會記錄在 zenworks_管理區域名稱.log 中。

如果稍後要變更資料庫備份位置或備份排程,請參閱節 36.2.2, 首次備份外部 Sybase 資料庫後,變更其備份排程與位置