バックアップと復元: バージョン19.3.0.5.6
バージョン19.3.0.5.6以降、オラクル社のスクリプトによるバックアップは、単一のEssbaseインスタンス用となりました。つまり、単一のAutonomous Databaseを使用して複数のEssbaseインスタンスをデプロイした場合でも、オラクル社のスクリプトを使用してバックアップを実行できます。
オラクル社提供のスクリプトでは、Autonomous Databaseデプロイメント(Autonomous Transaction ProcessingまたはAutonomous Data Warehouse)のみがサポートされています。
- Autonomous Transaction Processingは、Essbaseスキーマのデプロイ先となるリレーショナル・データベースです。
- Oracle Identity Cloud Service (IDCS)は、Essbaseデプロイメントのセキュリティ・プロバイダです。
- Essbaseシステム管理ユーザー名(WebLogicに格納され、システム内で唯一の非IDCSユーザー)は、ソースとターゲットのEssbaseスタック間で同じです。
- 復元時に、ソース・インスタンスのバックアップには、Essbaseシステム管理者ロールを保持する有効なOracle Identity Cloud Serviceユーザーが少なくとも1つあります。
Essbaseインスタンスのオラクル社のスクリプトによるバックアップ
オラクル社提供のスクリプトでは、次のタスクが実行されます。
- オブジェクト・ストレージと連動して機能するためのデータベースの構成。
- Essbaseサービスの停止。
- データベースのバックアップ。
- Essbaseデータ・ブロック・ボリュームのバックアップ。
- Essbaseサービスの開始。
スクリプトによってEssbaseサービスが停止するため、バックアップを開始する前に、システムからユーザーを適切に誘導してください。Alter Application (特にenable/disable)およびAlter System (特にlogoff/kill)を参照してください。disableコマンドを使用する場合、バックアップの完了後にenableコマンドを使用してそれらを元に戻す必要があります。
ノート:
プライベートIPを使用する場合は、Oracle Cloud Infrastructure Bastionサービス・インスタンスをプロビジョニングし、プロキシとして使用します。- バックアップの管理に必要なポリシーが所定の場所にあることを確認します。ポリシーの設定を参照してください。
- Essbaseコンピュートに(opcユーザー)としてssh接続します。
sudo su - oracle
cd /u01/vmtools/backup/
- スクリプトを実行して、オブジェクト・ストレージと連動して機能するように構成します。これは、Essbaseインスタンスごとに1回かぎりのアクションです。
./configure-backup-storage.sh
スクリプトを起動すると、次の3つの入力を要求されます。Enter database admin password:
クリア・テキストのパスワードを入力します。パスワードは保護情報であるため、コマンド・プロンプトに入力した際、テキストは見えません。
Enter OCI Username:
Oracle Cloud Infrastructureのユーザー名を見つけるには:- Oracle Cloud Infrastructureで、右上隅に移動してプロファイル・メニュー・アイコン
をクリックします。
- ユーザーをクリックします。
- ページ上部のプロファイル名をコピーします。
oracleidentitycloudservice/
を含む完全なユーザー名(電子メール・アドレスのみではありません)をコピーします。 - コマンド・プロンプトに戻って、貼り付けて[Enter]を押します。
- Oracle Cloud Infrastructureで、右上隅に移動してプロファイル・メニュー・アイコン
-
Enter OCI Token:
認証トークンを入力します。認証トークンは保護情報であるため、コマンド・プロンプトに入力または貼り付けた際、テキストは見えません。
まだ生成していない場合は、Oracle Cloud Infrastructure Object Storageユーザーの認証トークンを生成します。
- バックアップ・スクリプトを実行します。
データベース管理パスワードの入力を要求されます。クリア・テキストのパスワードを入力します。パスワードは保護情報であるため、コマンド・プロンプトに入力した際、テキストは見えません。
これで、データ・ブロック・ボリュームがバックアップされます。
./run-backup.sh
ノート:
Essbaseサービスは、backup.sh
スクリプトによって停止され、スクリプトの終了後に再開されます。 - オブジェクト・ストレージのネイティブURIを取得します。
バックアップ・スクリプトの最後に、"moving export file"エントリが2つあります。最初のエントリにオブジェクト・ストレージのネイティブURIが含まれており、これをコピーして保存できます。オブジェクト・ストレージのネイティブURIは、復元中にデータ・ポンプ・インポート・コマンドを発行する際に必要です。(moving export fileエントリを変更して.dmpファイル名をessbase%u.dmpで置き換える必要があります。)
Essbaseインスタンスの復元
まだ実行していない場合は、Oracle Instant Clientおよびツールをインストールして構成します。データ・ポンプおよびSQL*Plusを実行する必要があります。
障害からリカバリする場合は、オラクル社以外のスクリプトによるバックアップを復元するには、新しいターゲットEssbaseインスタンスをデプロイする必要があります。新しいターゲット・インスタンスは、障害が発生したコンピュートにデプロイされたのと同じバージョンである必要があります。新しいターゲット・インスタンスをデプロイしたら、そのターゲットを使用してバックアップからリカバリできます。
- ステップ1から6をスキップします。
- ステップ8bで、
REMAP_SCHEMA=<sourceEBprefix>_ESSBASE:<targetEBprefix>_ESSBASE
パラメータを含めないでください。 - バックアップを取ったのと同じホームでリカバリするため、後述のステップで言及されているターゲット・インスタンスがソース・インスタンスになります。
ノート:
プライベートIPを使用する場合は、Oracle Cloud Infrastructure Bastionサービス・インスタンスをプロビジョニングし、プロキシとして使用します。- Oracle Marketplaceを使用してターゲットEssbaseスタックをデプロイします。
- ソースOracle Identity Cloud Serviceの機密アプリケーションを使用します。
- ソースAutonomous Databaseおよびパスワードを使用します。必要に応じて、新しいAutonomous Databaseを作成します。これは、新しいリージョンで復元する場合に必要です。
- ソースの仮想クラウド・ネットワークおよびアプリケーション・サブネットを使用します。必要に応じて、新しいネットワークを作成します。これは、新しいリージョンで復元する場合に必要です。
- ソース・スタックにロード・バランサがある場合、ターゲットのロード・バランサをデプロイしないでください。バックエンド・セットは、ターゲット・スタックのデプロイ後に変更できます。必要に応じて、新しいロード・バランサを作成します。これは、新しいリージョンで復元する場合に必要です。
- ソース・スタックにホストがある場合、ターゲット・スタックを使用して要塞をデプロイします(ソース要塞は、リカバリに成功したら削除できます)。
- ソースで使用したのと同じEssbaseシステム管理ユーザー名およびパスワードをターゲットで使用します。
- ソース・スタックで使用したのと同じOracle Identity Cloud Service Essbase管理ユーザーをターゲット・スタックで使用します。これが不可能な場合は、ソースEssbaseインスタンスに、Essbaseシステム管理者ロールを保持する有効なOracle Identity Cloud Serviceユーザーが少なくとも1つ必要です。復元後、ソース・インスタンスのEssbaseシステム管理者ロールを保持する有効なOracle Identity Cloud Serviceユーザーとして、ターゲット・インスタンスにログインする必要があります。
- ターゲット・インスタンスのログインURLを管理します。
- ソース・ロード・バランサがある場合、ターゲット・コンピュートで使用するために、'essbase'バックエンド・セットを管理します。ロード・バランサがターゲット・コンピュートへの接続をリフレッシュする時間を確保した後、Essbase Webインタフェースにログインして、バックアップからの復元に進む前にターゲット・インスタンスが正しくデプロイされていることを確認します。
- ソース・コンピュート・バックエンドを削除します。
- ターゲット・コンピュート・バックエンドを追加します。ポート443を使用します。
同じロード・バランサIPがターゲットEssbaseインスタンスにルーティングされるようになったため、Oracle Identity Cloud Serviceの機密アプリケーションのURLを更新する必要はありません。
- ソース・スタックにロード・バランサがない場合、Oracle Identity Cloud Serviceの機密アプリケーションのリダイレクトURLおよびログアウト後のリダイレクトURLを、ターゲットIPアドレスで更新します。
- ソース・ロード・バランサがある場合、ターゲット・コンピュートで使用するために、'essbase'バックエンド・セットを管理します。ロード・バランサがターゲット・コンピュートへの接続をリフレッシュする時間を確保した後、Essbase Webインタフェースにログインして、バックアップからの復元に進む前にターゲット・インスタンスが正しくデプロイされていることを確認します。
- ターゲットEssbaseコンピュートに(opcユーザー)としてssh接続します。
sudo su - oracle
cd /u01/vmtools/backup/
- スクリプトを実行して、オブジェクト・ストレージと連動して機能するように構成します。これは、Essbaseインスタンスごとに1回かぎりのアクションです。
ターゲットに対して構成/バックアップ・スクリプトを実行します。
./configure-backup-storage.sh
スクリプトを起動すると、次の3つの入力を要求されます。Enter database admin password:
クリア・テキストのパスワードを入力します。パスワードは保護情報であるため、コマンド・プロンプトに入力した際、テキストは見えません。
Enter OCI Username:
Oracle Cloud Infrastructureのユーザー名を見つけるには:- Oracle Cloud Infrastructureで、右上隅に移動してプロファイル・メニュー・アイコン
をクリックします。
- ユーザーをクリックします。
- ページ上部のプロファイル名をコピーします。
oracleidentitycloudservice/
を含む完全なユーザー名(電子メール・アドレスのみではありません)をコピーします。 - コマンド・プロンプトに戻って、貼り付けて[Enter]を押します。
- Oracle Cloud Infrastructureで、右上隅に移動してプロファイル・メニュー・アイコン
-
Enter OCI Token:
認証トークンを入力します。認証トークンは保護情報であるため、コマンド・プロンプトに入力または貼り付けた際、テキストは見えません。
- スクリプトの実行終了後に画面に表示される、ディレクトリ名および資格証明名を書き留めます。
- ターゲットEssbaseサービスを(oracleユーザーとして)停止します。Oracle Cloud Infrastructureでノード・マネージャまたはEssbaseコンピュートを停止しないでください
backup.sh
スクリプトで作成されたソース・スキーマのバックアップからターゲット・データベース・スキーマを復元します。ターゲット・スタックのAutonomous Databaseを復元する際、REMAP_SCHEMAオプションを使用してソース・スキーマのバックアップをターゲットEssbaseスキーマにインポートします。
- ターゲットEssbaseスキーマが格納されているAutonomous Databaseを指すようにInstant Clientが構成されていることを確認します。
- Oracle Instant Clientを使用して、次のデータ・ポンプ・インポート・コマンドを発行します。
impdp admin@<database name>_high directory=<directory name> credential=<credential name> dumpfile=<object storage native URI> REMAP_SCHEMA=<source essbase prefix>_ESSBASE:<target essbase prefix>_ESSBASE table_exists_action=replace
ノート:- <database name>は、インポートするために接続するデータベースの名前です。
- <directory name>は、
configure-backup-storage.sh
スクリプトの実行後に書き留めたディレクトリ名です。 - <credential name>は、
configure-backup-storage.sh
スクリプトの実行後に書き留めた資格証明名です。 - <object storage native uri>は、バックアップ時に取得したのと同じものです。
- ネームスペース(/n/)は、テナンシのネームスペースです。
- バケット(/b/)は、ソース・インスタンスのオブジェクト・ストレージ・バケットです。
- オブジェクト(/o/)は、ソース・インスタンスのオブジェクト・ストレージの<backup folder name>/<dump file name>です。impdp文で使用する
.dmp
ファイル名は、essbase%u.dmp
にする必要があります。%u
は、複数の.dmp
ファイル(複数作成されている場合)を取得するワイルドカードです。
- スキーマのインポートが終了したら、SQL Developerなどのデータベース・クライアントを使用してデータを監査します。<targetprefix>_ESSBASEスキーマ内のESSBASE_APPLICATION表を参照して、ターゲット・スキーマ(スキーマのインポート前は空)にソース・アプリケーションがあることを確認できます。
/etc/fstab
のデータ・ブロック・ボリュームのエントリを一時的に無効にします。- ターゲット・コンピュートに(opcユーザーとして) ssh接続します。
sudo vi /etc/fstab
/u01/data
のエントリの前に#を挿入します。- ファイルを保存します。
- データ・ブロック・ボリュームをターゲットEssbaseコンピュートからデタッチします。iSCSIの警告をメモし、Oracle Cloud Infrastructureコンソールを使用してデタッチする前に、必ずボリュームをアンマウントして切断します。
- アンマウントするには:
- ターゲット・コンピュートに(opcユーザーとして) ssh接続します。
lsblk
sudo umount /u01/data
- iSCSIを切断するには:
- Oracle Cloud Infrastructureコンソールで、ターゲット・コンピュートを選択します。
- 「リソース」→「アタッチされたブロック・ボリューム」を選択します。
- データ・ブロック・ボリュームの「アクション」メニュー
から、「iSCSIコマンドおよび情報」を選択します。
- 切断するためのiSCSIコマンドをコピーします。
- ターゲット・コンピュートに(opcユーザーとして) ssh接続します。
- コピーした切断コマンドを貼り付けて[Enter]を押します。
- デタッチするには:
- Oracle Cloud Infrastructureコンソールで、ターゲット・コンピュートを選択します。
- 「リソース」→「アタッチされたブロック・ボリューム」を選択します。
- データ・ブロック・ボリュームの「アクション」メニュー
から、「デタッチ」を選択します。
- アンマウントするには:
- データ・ブロック・ボリュームをソース・ブロック・ボリュームのバックアップから復元します。必ず、ターゲット・コンピュート・インスタンスと同じ可用性ドメインを選択します。
- 前のステップで作成したデータ・ブロック・ボリュームをターゲット・コンピュートにアタッチします。ボリュームのアタッチメント・タイプは、iSCSIにする必要があります。デバイス・パスを選択する必要はありません。
- OCIコンソールに示されたiSCSIコマンドを使用して、新たにアタッチしたターゲット・ブロック・ボリュームを接続します。
/etc/fstab
の/u01/dataのエントリを更新して新しいデータ・ブロック・ボリュームをマウントします。- ターゲット・コンピュートに(opcユーザーとして) ssh接続します。
lsblk
を実行して、新たにアタッチした構成およびデータのボリュームの名前を確認します。sudo blkid
を実行して、新たにアタッチしたデータ・ボリュームのUUIDを書き留めます。sudo vi /etc/fstab
- データ・ブロック・ボリュームのエントリをコメント解除します。
- 既存のデータ・ボリューム・エントリのUUIDを新たにアタッチしたデータ・ボリュームのUUIDで置き換えます。マウント・ポイント
/u01/data
が変更されていないことを確認します。従来のfstabオプションを参照してください。 /etc/fstab
ファイルを保存したら、次のコマンドを発行します。sudo systemctl daemon-reload
sudo mount -a
lsblk
を実行してマウント・ポイントを確認します。
- Essbaseサービスを(oracleユーザーとして)開始します。
ノート:
ターゲットEssbaseスタックに正常にリカバリしたら、障害が発生したソース・コンピュート・ノードを削除し、不要なデータ・ブロック・ボリュームおよびバックアップをさらにクリーン・アップできます。