オンプレミスでOracleデータベースを運用している場合でも、災害対策や冗長性の観点から、バックアップをクラウドへ退避するニーズが高まっています。Oracle Cloud Infrastructure(OCI)のObject Storageを使えば、RMANのバックアップファイルを安全かつ低コストで保管できます。
本記事では、Oracle RMANで取得したバックアップファイルをOCI Object Storageへ転送する手順を紹介します。
OCI Object Storageとは
OCI Object Storageは、Oracleが提供するクラウドストレージサービスです。耐久性が高く、大容量のデータを扱えるため、RMANバックアップの保存先として最適です。
ストレージクラスには以下の2種類があります:
- Standard:高頻度アクセス向け
- Archive:低頻度アクセス向け(長期保管向け)
必要な準備
バックアップファイルをOCIへ転送するには、次の準備が必要です。
- OCIアカウントの作成
- Object Storageバケットの作成
- APIキーの生成と認証設定
- OCI CLIのインストール
OCI CLI(Command Line Interface)は、バックアップファイルのアップロードに使用します。
OCI CLIのインストールとセットアップ
Linux環境でOCI CLIをインストールするには以下を実行します:
bash -c "$(curl -L https://raw.githubusercontent.com/oracle/oci-cli/master/scripts/install/install.sh)"
インストール後、次のコマンドでセットアップを実行します:
oci setup config
APIキーやテナントID、ユーザーOCID、リージョンなどの情報が必要です。OCIのコンソールから取得しておきましょう。
バックアップファイルをObject Storageへアップロード
バックアップファイルを/u01/rman/backup/
に格納していると仮定し、次のコマンドでバケットにアップロードします:
oci os object put \
--bucket-name rman-backup \
--file /u01/rman/backup/db_full_20250714.bkp \
--name db_full_20250714.bkp
複数ファイルを一括アップロードしたい場合は、ループやシェルスクリプトで対応可能です。
アップロードを自動化する方法
cronなどを使って定期的にバックアップファイルをアップロードすることも可能です。
#!/bin/bash
export OCI_CLI_AUTH=api_key
backup_dir="/u01/rman/backup"
bucket="rman-backup"
for file in $(ls $backup_dir/*.bkp); do
oci os object put --bucket-name $bucket --file "$file" --name "$(basename "$file")"
done
このスクリプトを定期的に実行すれば、ローカルで取得したRMANバックアップを自動でクラウドに送ることができます。
バックアップファイルの暗号化と確認
アップロード時に暗号化は自動で行われます。さらにセキュリティを高めたい場合は、バックアップファイル自体をRMANで暗号化しておくと安心です。
CONFIGURE ENCRYPTION FOR DATABASE ON;
BACKUP AS COMPRESSED BACKUPSET DATABASE PLUS ARCHIVELOG;
アップロード後に以下のコマンドで内容を確認できます:
oci os object list --bucket-name rman-backup
まとめ
RMANで取得したバックアップファイルをOCI Object Storageに保存することで、災害対策やリモートバックアップの信頼性が大幅に向上します。
本記事で紹介したポイント:
- OCI CLIでバックアップファイルをアップロード
- APIキーと設定ファイルの準備
- cronやスクリプトによる自動転送
- RMAN暗号化との併用でセキュリティも確保
オンプレミスとクラウドのハイブリッド運用において、RMANとOCI Object Storageの連携は非常に有効な手段となります。