はじめに
AWSのユーザガイドを確認すると。。。
大量のデータをロードしている間など、特定の状況では、自動バックアップを一時的に無効にすることをお勧めします。
とあります。
デフォルトはアーカイブログモードのため、DataPumpなどでインポートしたとき、アーカイブログが大量に生成されディスクを圧迫する恐れがあるということですね。
オンプレのOracleでもインポート前にSQL> alter database noarchivelog;
で、ノーアーカイブログモードにしてました。
しかし、RDSではSYSやSYSTEMユーザでログインできず、alter database文も実行できません。
どうやら、RDS for Oracleのばあい、自動バックアップを無効化することで、アーカイブログモード(デフォルト)からノーアーカイブログモード
に変更できるようです。
自動バックアップを無効化した場合、以下の注意点があります。
移行などの作業時に一時的に無効するのがよさそうです。
重要
自動バックアップは、無効にするとポイントインタイムリカバリも無効になるため、無効にしないことを強くお勧めします。DB インスタンスの自動バックアップを無効にすると、そのインスタンスの既存の自動バックアップがすべて削除されます。自動バックアップを無効にしてから再度有効にした場合、自動バックアップを再度有効にした時点からしか復元できません。
また、自動バックアップの無効化(ノーアーカイブログモードへの変更)時にはDBインスタンスが再起動
するようです。
自動バックアップの無効方法(ノーアーカイブログモード)
- RDSコンソールで対象インスタンスを選択
-
変更
を選択すると、DBインスタンスの変更
ページが表示される
-
バックアップの保存期間
で0 days (0 日)
を選択 -
次へ
を選択
-
すぐに適用
を選択 - 確認ページで、
DBインスタンスの変更
を選択して変更を保存し、自動バックアップを無効にします
- 対象インスタンスのステータスが
変更中
になります
-
利用可能
となったので変更が反映されます
-
メンテナンスとバックアップ
からスナップショットを確認すると削除されています
- インスタンスに接続しノーアーカイブログモードになったか確認します。
SQL> select name,log_mode from v$database;
NAME LOG_MODE
--------- ------------
ORCL1 NOARCHIVELOG ★ARCHIVELOGからNOARCHIVELOGに変わった
自動バックアップの有効方法(アーカイブログモード)
- RDSコンソールで対象インスタンスを選択
-
変更
を選択するとDBインスタンスの変更
ページが表示されます。 -
バックアップの保存期間
で、ゼロ以外の正の値 (7 日など) を選択
-
次へ
を選択 -
すぐに適用
を選択 - 確認ページで、
DBインスタンスの変更
を選択して変更を保存し、自動バックアップを有効化
-
対象インスタンスの
ステータス
が変更中
から利用可能
になったら変更が反映される -
インスタンスに接続しアーカイブログモードになったか確認します。
SQL> select name,log_mode from v$database;
NAME LOG_MODE
--------- ------------
ORCL1 ARCHIVELOG
- 自動バックアップを有効化した場合、スナップショットも自動で取得してくれるようです。
## 手動でスナップショットを取る場合
- RDSコンソールで対象インスタンスを選択
-
アクション
で、スナップショットの取得
を選択
-
DB スナップショットの取得
ウィンドウが表示されます -
スナップショット名
ボックスにスナップショットの名前を入力します。 -
スナップショットの取得
を選択
-
メンテナンスとバックアップ
からスナップショットが取得されたことが確認できます
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