このBlogはKelly SmithAngelo Rajaduraiによる“How to use the OCI command line interface to create long-term retention backups in Autonomous Recovery Service”の日本語翻訳版記事です。

2025年5月13日


長期的なデータ保持は、多くの組織にとって重要な要件であり、規制、コンプライアンス、またはビジネスのニーズによって推進されます。 多くの場合、月末、四半期末、または年度末の業務に基づくバックアップは、何年も保持する必要があります。以前のブログ記事では、ユーザー・インターフェイスを数回クリックするだけで、長期保存を実現する方法をご紹介しました。

Autonomous Recovery ServiceでOracle Database Servicesの長期保存バックアップにワンクリックで対応可能に
https://blogs.oracle.com/oracle4engineer/post/ja-recovery-service-ltr

このブログでは、コマンドラインインターフェイス(CLI)を使用して、Autonomous Recovery Serviceで長期保存バックアップを作成し、スケジュールするプロセスを自動化する手順について説明します。

以下のトピックを取り上げます:

  • OCIコマンドライン(CLI)環境のセットアップ
  • OCI CLIを使用した長期保持バックアップの作成
  • 長期保存バックアップのcrontabスケジューリング

このブログが終わる頃には、OCI CLIを使用して長期保存バックアップを管理し、このバックアップ・プロセスを自動化する方法を明確に理解していることでしょう。

OCIコマンドライン(CLI)環境のセットアップ

この操作にはOracle Linux 8 以降を使用し、OCI コマンドラインのバージョンは 3.54 以降である必要があります。 

以下の例では、OCI の Oracle Linux 8 システムを使用しています。

ステップ1 – LinuxマシンにSSH

ssh -i <public.key> opc@<IP address of your system>

ステップ2 – バージョン情報を確認
もしOCI CLIがインストールされていない環境の場合、こちらのガイドを参考にインストール作業を実施してください。
https://docs.oracle.com/ja-jp/iaas/Content/API/SDKDocs/cliinstall.htm#Quickstart

$ oci –version
3.37.1

バージョンが3.54以上である場合、次のステップ3の手順は飛ばしてください。
バージョンが3.54以下の場合、ステップ3を実施し、環境のアップデートを実施してください。

ステップ3 – OCI CLIの環境をアップデートする

$ sudo yum update python36-oci-cli.noarch

更新されているか、確認します。

$ oci –version
3.54.5

ステップ4 – OCI Interactiveを起動します。

$ oci -i

プロンプトが表示されたら、構成を新規作成します(ステップ5)。既存構成がある場合は、ステップ6に進んでください。

ステップ5 – プロンプトの表示に従って必要項目を入力し、構成を新規作成します。

Do you want to create a new config file? [Y/n]: Y
Do you want to create your config file by logging in through a browser? [Y/n]: Y
Enter a location for your config [/home/opc/.oci/config]: <Enter for default>
Enter a user OCID: <Click your login name under the Profile drop-down in the top right of the OCI UI as shown in figure 1>

oci profile

 画像1 – OCIのプロファイル表示画面

ユーザーOCIDは、左の列のユーザー名の下にあります。図2の 「コピー 」ボタンをクリックしてください。

User information page in OCI with OCID

画像2 – ユーザーのOCIDはユーザー情報から確認可能

Enter a tenancy OCID: <図3に示すように、OCI UIの右上にあるプロファイルのドロップダウンでテナント名をクリック>

oci profile

画像3 – OCIのプロファイル表示画面

テナントのOCIDは左の列にあります。 図4のように「コピー」ボタンをクリックしましょう。

View of the tenancy OCID in the left column of the UI with the “copy” button.

画像4 – テナンシのOCIDをコピー

Enter a region by index or name: <地域はOCI UIの右上にあるプロフィールのドロップダウンの左側に表示されます(図5のOsakaの例)>

oci profile

画像5 – OCIのプロファイル表示画面

Do you want to generate a new API Signing RSA key pair? (If you decline you will be asked to supply the path to an existing key.) [Y/n]:Y

Enter a directory for your keys to be created [/home/opc/.oci]: <enter for default>

Enter a name for your key [oci_api_key]: <enter for default>

Enter a passphrase for your private key (“N/A” for no passphrase):N/A

Repeat for confirmation:N/A

A new configuration has been created.

ステップ6 – 公開鍵の情報を取得する

$ cat /home/opc/.oci/oci_api_key_public.pem <公開鍵の出力値は、ご自身の情報をお使いください。図6の出力は例です。>

Sample results from the public key output.

画像6 – 公開鍵コマンドの出力例

ステップ7 – 公開鍵を使ってプロファイルを更新

OCI UIの右上にあるプロフィールのドロップダウンでログイン名をクリックします。

oci profile

画像7 – OCIのプロファイル表示画面

 

  • 「トークンとキー」を選択
  • 「APIキーを追加 」を選択
  • 「公開キーを貼り付ける」を選択

ステップ5で出力した内容をすべて貼り付けます。

Dialog for entering the public API key
これでOCI CLI環境が設定されました。

OCI CLIを使用した長期保存バックアップの作成

ステップ1 – データベースの詳細ページからデータベースOCIDを取得します。データベースOCIDの文字列には「.database. 」が含まれていることに注意してください。 文字列に他のものが含まれている場合は、別の情報画面になります。

OCI Database information screen with the OCID

ステップ2 – データベースの構成を確認し、Recovery Serviceがバックアップ先になっていることを確認します。 type 「に 」DBRS “と表示されていることに注意してください。

$ oci db database get –database-id <database OCID from step 1> | grep “type”
type“: “DBRS”,

ステップ3 – データベースのバックアップをリストアップ

$ oci db backup list –database-id <database OCID from step 1>

ステップ4 – 「monthly 」という名前で5年間の長期保存バックアップを作成します。 opc-work-request-idが返されます。

$ oci db backup create –database-id <database OCID from step 1> –display-name monthly –retention-years 5


“opc-work-request-id”: “ocid1.coreservicesworkrequest.oc1.iad.abuwcljsp72zgx813sai5yrfkkw4jeoahtnotcu5fxriil7oolf7pi6urqma”

ステップ5 – ステップ4の 「opc-work-request-id 」を使ってステータスをチェックします

$ oci work-requests work-request get –work-request-id <work request OCID from step 4>

“status”: “IN_PROGRESS”,

“time-accepted”: “2025-05-05T21:20:48.831000+00:00”,
“time-finished”: null,
“time-started”: “2025-05-05T21:20:57.657000+00:00”

長期保存バックアップのスケジューリングcrontab

ステップ1 – ステップ4のコマンドをシェルスクリプトファイル(.sh)に保存します。 この例ではmonthlyltr.shを使用します。 また、上記の「OCIコマンドライン(CLI)環境のセットアップ」セクションのステップ5にあるOCI CLIコンフィグファイルへのパスを必ず追加してください。 デフォルトのパスは /home/opc/.oci/config です。
oci db backup create –database-id <database OCID from step 1> –display-name monthly –retention-years 5 –config-file /home/opc/.oci/config

ステップ2 – ステップ1で作成した.shファイル(monthlyltr.sh)をcrontabに登録します
$ sudo contrab -e

月初午前0時の例:
0 0 1 * * <path>/monthlyltr.sh

例:毎週日曜日午後11時
0 23 * * SUN <path>/monthlyltr.sh

ステップ3 – 現在のcrontabエントリーをリストアップ
$ sudo crontab -l
0 0 1 * * /usr/local/bin/monthlyltr.sh

0 18 * * MON /usr/local/bin/monthlyltr.sh

上記の手順を使用して、長期バックアップ操作をスケジュールできます。 このアプローチの主な利点は、長期バックアップがAutonomous Recovery Serviceにオフロードされ、プロダクションデータベースリソースを解放し、従来のフルバックアップに関連するCPU、メモリ、I/Oのデータベースコストを排除することです。このユニークな長期バックアップのオフロード機能により、Autonomous Recovery Serviceはオブジェクトストレージバックアップや他の市場製品とは一線を画しています。 Autonomous Recovery Serviceは、Oracle Databaseを保護するために以下のユニークな機能も提供します:

  • データ損失ゼロのリカバリ
  • 高速、低オーバーヘッドの増分バックアップ
  • 継続的な異常検知とリカバリ検証
  • データベースと統合された、オラクルの保護状況に関する洞察

このブログでは、Autonomous Recovery Serviceによる長期保持バックアップに焦点を当ててきましたが、OCI CLI環境がシステム上に構成され、100以上のOCIサービスを制御できるようになりました。 対話モード (oci -i) を使用することで、CLI の全機能を活用できます。対話モードでは、OCI サービス全体のさまざまなオプションをナビゲートするための自動補完と提案が提供されます。

参考情報

コマンドライン・インタフェース(CLI)ドキュメント
https://docs.public.content.oci.oraclecloud.com/ja-jp/iaas/Content/API/Concepts/cliconcepts.htm

Autonomous Recovery ServiceでOracle Database Servicesの長期保存バックアップにワンクリックで対応可能に
https://blogs.oracle.com/oracle4engineer/post/ja-recovery-service-ltr

Autonomous Recovery Service で長期保存バックアップのコストを半減
https://blogs.oracle.com/oracle4engineer/post/ja-zrcv-ltr-half-the-cost

Autonomous Recovery Service ドキュメント
https://docs.oracle.com/cd/E83857_01/paas/recovery-service/index.html

APIリファレンスとエンドポイント
https://docs.oracle.com/en-us/iaas/api/