バックアップと DR サービス用に他のセルフマネージド データベースを準備する

次のセルフマネージド データベース インスタンスとデータをバックアップする前に、データベース サーバーをホストとしてバックアップと DR サービスに追加する必要があります。これを機能させるには、ほとんどのデータベースで、いくつかの設定とその他の準備手順が必要です。このページの手順は、ほとんどのセルフマネージド データベースを対象としています。

対象 確認 次に、
IBM Db2 IBM Db2 のバックアップと DR Db2 データベースの前提条件
MariaDB MariaDB のバックアップと DR MariaDB データベースの前提条件
MySQL MySQL のバックアップと DR MySQL データベースの前提条件
PostgreSQL PostgreSQL のバックアップと DR PostgreSQL データベースの前提条件
SAP ASE SAP ASE のバックアップと DR SAP ASE データベースの前提条件
SAP IQ SAP IQ のバックアップと DR SAP IQ データベースの前提条件
SAP MaxDB SAP MaxDB のバックアップと DR SAP MaxDB データベースの前提条件
SAP HANA SAP HANA のバックアップと DR バックアップ用に SAP HANA データベースを準備する
Microsoft SQL Server SQL Server のバックアップと DR バックアップおよび DR サービス用に SQL Server データベースを準備する
Oracle Oracle のバックアップと DR Oracle データベースのバックアップの前提条件とその次のページ

その他の Backup & DR でサポートされているデータベースの場合は、次の手順に沿って操作します。

Db2 データベースの前提条件

  • 各データベースで自動ストレージ モードを使用している必要があります。使用していない場合、インスタンスのみが検出されます。

  • 各データベースはアーカイブログ モードで、LOGARCHMETH1 はローカルディスクに設定する必要があります。データベースが循環モードかアーカイブログ モードかを確認するには、db2 get db cfg for <database name>| grep LOGARCHMETH1 コマンドを実行します。

  • データベースが循環モードの場合は、続行する前にロギングをアーカイブ モードに変更します。LOGARCHMETH1 パラメータを設定するには、次のコマンドを使用します。
    db2 update db cfg for <dbname> LOGARCHMETH1 using 'DISK:<location>'

  • HADR スタンバイ データベースの場合は、スタンバイでの読み取りオプションを有効にする必要があります。つまり、DB2_HADR_ROS パラメータを ON に設定する必要があります。

MariaDB データベースの前提条件

  • MariaDB データベースが LVM の下になければならず、ブート ボリュームではない必要があります。mysql -e "select @@datadir" を実行して、データベース データパスを取得します。

  • MariaDB ボリュームのプロビジョニングに使用する LVM ボリュームに、少なくとも 20% の空き容量が必要です。

  • MariaDB サーバーにバックアップと DR エージェントをインストールします。

  • ReloadSelectLock tablesSuper、または Replication 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.cnf または my.ini を編集します。構成ファイルの [mysqld] セクションに log-bin オプションを追加します。

    [mysqld]
    log_bin = /log1/mysql3306/mysql3306-bin.0000
    
  • mysql ユーザーは、/etc/passwd ファイルで /bin/bash に設定する必要があります。

MySQL データベースの前提条件

  • MySQL データベースが LVM の下になければならず、ブート ボリュームではない必要があります。mysql -e "select @@datadir" を実行して、データベース データパスを取得します。

  • 最適な結果を得るには、MySQL ボリュームをプロビジョニングする LVM ボリュームに少なくとも 20% の空き容量が必要です。

  • MySQL サーバーホストにバックアップと DR エージェントをインストールする

  • 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)以外のユーザー定義データベースが 1 つ存在している必要があります。

  • ログのバックアップを取るには、MySQL のバイナリログ(log_bin)をオンにする必要があります。バイナリログ オプションを構成するには、MySQL サーバーをシャットダウンして構成ファイル(my.cnf または my.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 がディレクトリであると想定しています。root ユーザーとして次の手順を実行します。

    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_role または sa_role)を使用して作成する必要があります。バックアップ ユーザー名とパスワードは、ホスト構成で構成する必要があります。ソースに対して quiesce コマンドを実行するユーザーをパスワードありまたはパスワードなしで作成し、このユーザーに sa_role 特権または quiesce 特権を付与します。パスワードを使用してユーザーを作成するには、次のコマンドを実行します。

    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
    

    パスワードを必要としないユーザー ログインを構成するには、パスワードを null に設定してから、次のコマンドを実行します。

    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 サーバーにバックアップと DR エージェントをインストールします。

  • トランザクション ログのバックアップを有効にするには、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;
    
    • バックアップと DR エージェントを SAP IQ サーバーホストにインストールします。

SAP MaxDB データベースの前提条件

始める前に、SAP MaxDB サーバーで次の操作を行います。

  • 1 台のサーバーで複数の MaxDB インスタンスが実行されている場合、そのサーバーで実行中のすべての MaxDB インスタンスの間で DB ユーザー名とパスワードが共通している必要があります。

  • 自動ログのバックアップが有効になっている必要があります。次のコマンドを使用して、自動ログ バックアップを有効にします。

    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 用に準備されたら、ホストを追加してデータベースを検出できます。