為備份和災難復原服務準備其他自行管理的資料庫

如要備份下列自行管理的資料庫執行個體和資料,您必須先將資料庫伺服器新增為備份和災難復原服務的主機。如要讓這項功能運作,大多數資料庫都需要進行一些設定和其他準備步驟。本頁所述程序適用於大多數自行管理的資料庫:

適用於 查看 接著使用
IBM Db2 IBM Db2 的備份和 DR DB2 資料庫先決條件
MariaDB MariaDB 備份和 DR MariaDB 資料庫先決條件
MySQL MySQL 備份與 DR MySQL 資料庫先決條件
PostgreSQL PostgreSQL 的備份和 DR 服務 PostgreSQL 資料庫先決條件
SAP ASE SAP ASE 的備份和災難復原 SAP ASE 資料庫先決條件
SAP IQ SAP IQ 的備份和災難復原 SAP IQ 資料庫先決條件
SAP MaxDB SAP MaxDB 的備份和 DR SAP MaxDB 資料庫先決條件
SAP HANA SAP HANA 備份和 DR 準備 SAP HANA 資料庫以供備份
Microsoft SQL Server SQL Server 備份和 DR 為備份和災難復原服務準備 SQL Server 資料庫
Oracle Oracle 備份和災難復原 備份 Oracle 資料庫的先決條件及其後續頁面

如要備份所有其他支援備份和 DR 的資料庫,請按照下列步驟操作。

Db2 資料庫先決條件

  • 每個資料庫都必須使用自動儲存模式,否則系統只會偵測到執行個體。

  • 每個資料庫都必須處於封存記錄模式,且 LOGARCHMETH1 必須設為本機磁碟。如要瞭解資料庫是否處於循環模式或封存記錄模式,請執行 db2 get db cfg for <database name>| grep LOGARCHMETH1 指令

  • 如果資料庫處於循環模式,請先將記錄功能變更為封存模式,再繼續操作。如要設定 LOGARCHMETH1 參數,請使用以下指令:
    db2 update db cfg for <dbname> LOGARCHMETH1 using 'DISK:<location>'

  • 對於 HADR 待命資料庫,必須啟用「reads on standby」選項,也就是必須將 DB2_HADR_ROS 參數設為 ON

MariaDB 資料庫必要條件

  • MariaDB 資料庫必須位於 LVM 下,且不得是啟動磁碟。執行 mysql -e "select @@datadir" 以取得資料庫資料路徑。

  • 用於配置 MariaDB 磁碟區的 LVM 磁碟區應至少有 20% 的可用空間。

  • 在 MariaDB 伺服器上安裝備份和災難復原代理程式。

  • 建立備用使用者,並授予 ReloadSelectLock tablesSuperReplication client 權限。必須使用主機設定設定備用使用者名稱和密碼。

    如要建立備用使用者,請完成下列步驟:

    create user actuser identified by 'actpasswd';
    GRANT SELECT on *.* TO actuser;
    GRANT RELOAD on *.* TO actuser;
    GRANT LOCK TABLES on *.* TO actuser;
    GRANT SUPER on *.* TO actuser;
    GRANT REPLICATION CLIENT on *.* to actuser;
    SHOW GRANTS FOR CURRENT_USER;
    
  • 您必須啟用 MariaDB 二進位檔記錄 log_bin,才能備份記錄檔。如要設定二進位記錄選項,請關閉 MariaDB 伺服器,然後編輯設定檔 my.cnfmy.ini。在設定檔的 [mysqld] 區段中,新增 log-bin 選項。

    [mysqld]
    log_bin = /log1/mysql3306/mysql3306-bin.0000
    
  • 在 /etc/passwd 檔案中,MySQL 使用者必須設為 /bin/bash

MySQL 資料庫先決條件

  • MySQL 資料庫必須位於 LVM 下,且不得是啟動磁區。執行 mysql -e "select @@datadir" 以取得資料庫資料路徑。

  • 為獲得最佳成果,用於配置 MySQL 磁碟區的 LVM 磁碟區應至少有 20% 的可用空間。

  • 在 MySQL 伺服器主機上安裝備份和災難復原代理程式

  • 確認 MySQL 例項已啟用且運作正常

  • MySQL 資料庫擁有者 (OS 使用者) 必須能夠登入,例如,資料庫 OS 使用者應具備 /bin/bash 等可用的殼層。

    啟用 OS 使用者的指令:usermod -s /bin/bash mysql

  • MySQL 執行個體應具備可從 localhost 連線的資料庫備份使用者。範例:create user actuser'@'localhost identified by 'mypassword';

  • 在磁碟區層級執行快照備份與復原作業時,資料庫備份使用者必須具備下列權限:

    GRANT SELECT on *.* TO actuser;
    GRANT RELOAD on *.* TO actuser;
    GRANT LOCK TABLES on *.* TO actuser;
    GRANT SUPER on *.* TO actuser;
    GRANT REPLICATION CLIENT on *.* to actuser;
    SHOW GRANTS FOR CURRENT_USER;
    
  • 在使用者執行全備份 + 增量備份 (以檔案為基礎的傳統備份和復原作業) 時,需要下列權限:

    GRANT ALL ON *.* TO 'actuser'@'localhost';
    SHOW GRANTS FOR CURRENT_USER;
    
  • 除了系統資料庫 (information_schemamysqlperformance_schemasys) 之外,您必須提供一個使用者定義的資料庫。

  • 如要備份記錄,必須啟用 MySQL 二進位記錄功能 (log_bin)。如要設定二進位記錄選項,請關閉 MySQL 伺服器並編輯設定檔 (my.cnfmy.ini)。在設定檔的 [mysqld] 區段中,新增 log-bin 選項。

    [mysqld]
    log_bin = /log1/mysql3306/mysql3306-bin.0000
    

PostgreSQL 資料庫先決條件

本節提供 PostgreSQL 資料庫的必要條件相關資訊。

透過主要節點保護 PostgreSQL

  1. 建立備份使用者:

    create user actuser;

  2. 提供備份權限:

    alter user actuser with superuser;
    alter user actuser with Replication;
    
  3. 如要備份記錄,必須將 PostgreSQL 封存模式 (archive_mode) 設為「ON」。如要設定封存記錄模式選項,請更新執行個體資料目錄中的 postgresql.conf 檔案,然後重新載入 PostgreSQL。

    archive_mode = on
     // Command to reload PostgreSQL
     pg_ctl reload -D <Postgres_datadir_path>
    ``
    

示例pg_ctl reload -D /pgdata

透過待命節點保護 PostgreSQL

  1. 建立備份使用者:

    create user actuser;

  2. 提供備份權限:

    alter user actuser with superuser;
    alter user actuser with Replication;
    
  3. 在待命節點上設定 PostgreSQL 封存模式 (WAL):

    建立要保留 WAL 的目錄。
    範例假設 /pglog 是目錄。以根使用者身分執行下列步驟。

    mkdir /pglog
    chown -R postgres:postgres /pglog
    

    設定封存作業的參數。
    範例假設 $PGDATA/pgdata/11/data。以 postgres 使用者身分執行下列步驟。
    在檔案 /pgdata/11/data/postgresql.conf 中新增或更新參數

     wal_level = replica
     archive_mode = always
     archive_command = 'test ! -f /pglog/%f && cp %p /pglog/%f'
    

    重新啟動 PostgreSQL:

     /usr/pgsql-11/bin/pg_ctl stop -D /pgdata/11/data
     /usr/pgsql-11/bin/pg_ctl start -D /pgdata/11/data
    

    在主要執行個體上新增或更新 pg_hba.conf 中的項目,以便接受待機資料庫的連線。

    host postgres <db-user> <standby-ip/32> <connection method>
    

    範例:host postgres postgres 10.128.0.29/32 trust

    以 postgres 使用者身分測試封存作業:

    ls -l /pglog/
    

    執行下列記錄切換指令:

     /usr/pgsql-11/bin/psql -h 10.128.0.28 -p5432 -c "select pg_switch_wal();"
     sleep 5 # log shipping may take some time depending on network
     ls -l /pglog/
    

SAP ASE 資料庫先決條件

開始之前,請在 SAP ASE 伺服器上完成下列操作:

  • 備份使用者帳戶必須具備備份權限 (oper_rolesa_role),您必須使用主機設定設定備用使用者名稱和密碼。您可以建立使用者 (不含密碼或含密碼),在具有 sa_role/或具備休止權限的來源上執行休止指令。如要建立使用者並設定密碼,請執行下列指令:

    isql -Usa -P<password> -S<SAP ASE_Server_Name>
    1>sp_addlogin actuser, '<password>'
    2>go
    1>grant role sa_role to actuser
    2>go
    

    如要設定不需密碼的使用者登入作業,請將密碼設為空值,然後執行下列指令:

    1>sp_configure "minimum password length", 0
    2>go
    1> sp_modifylogin actuser, "min passwd length",
    "0"
    2> go
    3> exit
    isql -Uactuser -P'<password>' -S<server_name>
    > sp_password '<password>', NULL
    >go
    >sp_configure "minimum password length", 8
    >go
    
  • 在 SAP ASE 伺服器上安裝備份和災難復原代理程式。

  • 如要啟用交易記錄備份功能,請在 SAP ASE 執行個體的每個資料庫的資料庫層級設定 Truncate on chkpt false

  • 以下為磁碟區層級備份的情況:

    • SAP ASE 執行個體必須位於 LVM 下,且不得是啟動磁碟區。

    • 用於佈建 SAP ASE 磁碟區的 LVM 磁碟區,至少應有 20% 的可用空間。

SAP IQ 資料庫先決條件

開始之前,請在 SAP IQ 伺服器上查看下列項目:

  • 如要備份記錄,必須啟用 SAP IQ PITR 記錄功能。如要設定 PITR 記錄選項,您需要下列 SAP IQ API:

    • ALTER DBSPACE IQ_SYSTEM_LOG RENAME /<pitr_log_location>

    • SET OPTION PUBLIC.IQ_POINT_IN_TIME_RECOVERY_LOGGING = ON`

    啟用 PITR 記錄後,需要進行資料庫完整備份。

  • 公用程式資料庫必須先指定使用者名稱和密碼,且 dbname 應為 utility_db。例如:start_iq -n utility_db -su act,passwd

  • 資料庫備份使用者名稱和密碼應與 utility_db 使用者名稱和密碼相同,且必須具備 DBA 權限。如要建立備份使用者,請執行以下操作:

    create user actuser identified by 'mypassword';
    grant dba to actuser;
    
    • 在 SAP IQ 伺服器主機上安裝備份和 DR 代理程式。

SAP MaxDB 資料庫先決條件

開始前,請在 SAP MaxDB 伺服器上執行下列操作:

  • 如果伺服器上執行多個 MaxDB 例項,則所有在該伺服器上執行的 MaxDB 例項,都必須使用相同的資料庫使用者名稱和密碼。

  • 必須啟用自動記錄備份功能。使用下列指令啟用自動記錄備份功能:

    dbmcli -d <DBSID> -u <DBM_USERNAME>,<DBM_PASSWD> autolog_on
    <autolog_backup_template_name>
    
  • 如要啟用自動記錄備份功能,您需要使用自動記錄備份範本。

如要建立備份範本,請使用下列指令。

    dbmcli -d <DBSID> -u <DBM_USERNAME>,<DBM_PASSWD> backup_template_create
    <BACKUP_TEMPLATE_NAME> to file  <FULL_PATH_WITH_FILE_NAME> content log
  • 您必須停用記錄覆寫區,才能啟用自動記錄備份功能。

如要停用記錄覆寫功能,請使用下列指令:

    dbmcli -d <DBSID> -u <DBM_USERNAME>,<DBM_PASSWD> db_execute SET LOG AUTO
    OVERWRITE OFF.
  • 在 SAP MaxDB 伺服器主機上安裝備份和 DR 代理程式。

後續步驟

為備份和 DR 準備資料庫後,您可以新增主機並探索資料庫