BLOG2022/05/16
皆さんこんにちは
MIRAIZ株式会社、情報処理安全確保支援士の重田です。
今回はPDB起動、停止、状態維持について確認していこうと思います。
※・ブログ内で記載されている内容を実行する場合は動作確認をし、自己責任の上で行ってください。
・当社は、当サイトのご利用によって生じたソフトウェアまたはハードウェア上のトラブルやその他の損害について責任を負いません。
・当サイトの情報は、予告または通知なしに更新または中止されることがあります。
目次
・PDBをOPENする
・PDBをCLOSEする
・PDBの状態を維持する
・まとめ
ーPDBをOPENするー
インスタンスを起動した直後のPDBの状態は「MOUNTED」です。
よって、PDBには接続できない状態です。
以下のSQLでPDBに接続できるようにしてみます。
ALTER PLUGGABLE DATABASE pdb名 open;
全てのPDBを接続できるようにするには以下のコマンドを実行します。
ALTER PLUGGABLE DATABASE ALL OPEN;
全てのPDBを「READ WRITE」に変更できました。これでPDBに接続できます。
ーPDBをCLOSEするー
今度は逆の操作で、PDBを接続できない状態にします。
ALTER PLUGGABLE DATABASE PDB名 CLOSE IMMEDIATE;
全てのPDBをMOUNTED状態にするには以下のSQL文を使用します。
ALTER PLUGGABLE DATABASE ALL CLOSE IMMEDIATE;
IMMEDIATEを省略してもエラーは発生しませんが、省略するとNORMALが指定されます。
なので、実行した時になかなか処理が終わらないという時はIMMEDIATEの省略が原因かもしれません。
ーPDBの状態を維持するー
今の操作を、インスタンスが起動する度に実行するのはなかなか面倒です。
場合によっては、一つ一つ起動させるケースもあるかもしれませんが、PDBも起動してほしいなと思います。
そういう時は以下のコマンドを実行します。
ALTER PLUGGABLE DATABASE ALL SAVE STATE;
「ALL」の部分をPDB名に置き換えても実行できます。
READ WRITEの状態を維持できるようになりました。
ーまとめー
マルチコンテナを使用する場合は、今回の処理は知っておかないと不要なトラブルになりかねないと思います。
特に、PDBの状態を維持する部分については、知らないと再起動する度にPDBに繋がらないというクレームになる可能性が高いです。そういう観点でいうと今回の内容は有意義なのではないでしょうか。
それでは、今回はここまで。
次回をお楽しみに! |