0
1

More than 5 years have passed since last update.

【RDS for Oracle】ノーアーカイブログモードへ変更

Posted at

はじめに

AWSのユーザガイドを確認すると。。。

大量のデータをロードしている間など、特定の状況では、自動バックアップを一時的に無効にすることをお勧めします。

とあります。
デフォルトはアーカイブログモードのため、DataPumpなどでインポートしたとき、アーカイブログが大量に生成されディスクを圧迫する恐れがあるということですね。

オンプレのOracleでもインポート前にSQL> alter database noarchivelog;で、ノーアーカイブログモードにしてました。

しかし、RDSではSYSやSYSTEMユーザでログインできず、alter database文も実行できません。

どうやら、RDS for Oracleのばあい、自動バックアップを無効化することで、アーカイブログモード(デフォルト)からノーアーカイブログモードに変更できるようです。

自動バックアップを無効化した場合、以下の注意点があります。
移行などの作業時に一時的に無効するのがよさそうです。

重要
自動バックアップは、無効にするとポイントインタイムリカバリも無効になるため、無効にしないことを強くお勧めします。DB インスタンスの自動バックアップを無効にすると、そのインスタンスの既存の自動バックアップがすべて削除されます。自動バックアップを無効にしてから再度有効にした場合、自動バックアップを再度有効にした時点からしか復元できません。

また、自動バックアップの無効化(ノーアーカイブログモードへの変更)時にはDBインスタンスが再起動するようです。

自動バックアップの無効方法(ノーアーカイブログモード)

  • RDSコンソールで対象インスタンスを選択
  • 変更を選択すると、DBインスタンスの変更ページが表示される
    RDS_·_AWS_Console.png

  • バックアップの保存期間0 days (0 日) を選択

  • 次へ を選択

RDS_·_AWS_Console2.png

  • すぐに適用を選択
  • 確認ページで、DBインスタンスの変更を選択して変更を保存し、自動バックアップを無効にします

RDS_·_AWS_Console3.png

  • 対象インスタンスのステータスが変更中になります
    RDS_·_AWS_Console4.png

  • 利用可能となったので変更が反映されます
    RDS_·_AWS_Console6.png

  • メンテナンスとバックアップからスナップショットを確認すると削除されています
    RDS_·_AWS_Console5.png

  • インスタンスに接続しノーアーカイブログモードになったか確認します。

SQL> select name,log_mode from v$database;

NAME      LOG_MODE
--------- ------------
ORCL1     NOARCHIVELOG  ARCHIVELOGからNOARCHIVELOGに変わった

自動バックアップの有効方法(アーカイブログモード)

  • RDSコンソールで対象インスタンスを選択
  • 変更 を選択するとDBインスタンスの変更 ページが表示されます。
  • バックアップの保存期間で、ゼロ以外の正の値 (7 日など) を選択
    RDS_·_AWS_Console7.png

  • 次へを選択

  • すぐに適用を選択

  • 確認ページで、DBインスタンスの変更 を選択して変更を保存し、自動バックアップを有効化
    RDS_·_AWS_Console8.png

    • 対象インスタンスのステータス変更中から利用可能になったら変更が反映される
    • インスタンスに接続しアーカイブログモードになったか確認します。
SQL> select name,log_mode from v$database;

NAME      LOG_MODE
--------- ------------
ORCL1     ARCHIVELOG
  • 自動バックアップを有効化した場合、スナップショットも自動で取得してくれるようです。 RDS_·_AWS_Console11.png

 手動でスナップショットを取る場合

  • RDSコンソールで対象インスタンスを選択
  • アクション で、スナップショットの取得 を選択
    RDS_·_AWS_Console9.png

  • DB スナップショットの取得ウィンドウが表示されます

  • スナップショット名 ボックスにスナップショットの名前を入力します。

  • スナップショットの取得を選択

RDS_·_AWS_Console10.png

  • メンテナンスとバックアップからスナップショットが取得されたことが確認できます RDS_·_AWS_Console12.png

AWS CLIでの自動バックアップの無効/有効方法

AWS CLIでの自動バックアップの無効

modify-db-instance コマンドを使用して、バックアップ保持期間を0 に設定し --apply-immediately を指定します。

  • Linux、OS X、Unix の場合
aws rds modify-db-instance \
    --db-instance-identifier <インスタンス名> \
    --backup-retention-period 0 \
    --apply-immediately
  • Windows の場合
aws rds modify-db-instance ^
    --db-instance-identifier <インスタンス名> ^
    --backup-retention-period 0 ^
    --apply-immediately

変更が有効になるタイミングを確認するには、バックアップ保持期間の値が 0 になり mydbinstance のステータスが available になるまで、DB インスタンスに対して describe-db-instances を呼び出します。

aws rds describe-db-instances --db-instance-identifier <インスタンス名>

AWS CLIでの自動バックアップの有効

自動バックアップをすぐに有効にするには、modify-db-instance コマンドを使用します。

(例)バックアップ保持期間を 3 日に設定することで、自動バックアップを有効にします。

  • Linux、OS X、Unix の場合
aws rds modify-db-instance \
    --db-instance-identifier <インスタンス名>  \
    --backup-retention-period 3 \
    --apply-immediately
  • Windows の場合:
aws rds modify-db-instance ^
    --db-instance-identifier <インスタンス名>  ^
    --backup-retention-period 3 ^
    --apply-immediately
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1