プラガブル・データベースの自動起動設定こんにちは。この前、Oracle12Cを開発用にPCへインストールしたのですが、インストールした翌日にPCを起動して開発を始めたところ、データベースに接続できない状態が発生いたしました。デフォルトではサーバーやPC起動時には自動で起動するようになっていないため、サーバーやPC起動時に手動で起動を行うか自動で起動するように設定が必要であることが判明しました。同じようなことで困った人もいるかと思いますので、サーバーやPC起動時にPDBが自動で起動するように設定した方法を以下に記載いたします。設定を行うPDBに接続先を変更3.PDBを開く4.PDBの自動起動設定Oracle12.1.0.1での設定方法1.PDBを起動するコマンドを作成2.起動バッチ作成3.タスクスケジューラーの設定まとめ環境Oracle12.1.0.2Windows7Oracle12.1.0.2とOSはWindowsを使用することを前提に説明を行います。12cで機能追加されたのが、「マルチテナント・アーキテクチャ」です。マルチテナント・アーキテクチャは、マルチテナント・コンテナ・データベース(以下:CDB)というデータベースに含まれる1つ以上のPDBによって構成されます。スキーマや表領域やデータなどがセットになったものがPDBです。アップグレードやパッチ適用はCDBに適用を行うことでCDBに複数のPDBを構成している場合は1度の適用のみで済むことや必要なPDBのみ起動することができるのでリソース使用量の削減が可能です。OSの再起動時にはPDBは自動的に起動する設定になっていないので自動起動設定を行うためには以下で説明する設定などが必要になります。Oracle12Cのバージョンによって設定方法が異なりますのでバージョンごとの設定方法を以下で説明いたします。Oracle12.1.0.2での設定方法Oracle12.1.0.2以降では以下の設定でサーバーやPC起動時にPDBを自動起動することが可能です。PDB名;接続するPDBを変更します。con_nameコマンドで接続先のPDBを確認することができます。open;PDBを起動します。4.PDBの自動起動設定3の設定でPDBが起動されている状態で以下のコマンドを実行します。state;上記の設定を行うことにより、サーバーやPCの起動時にPDBが起動されるようになります。以下の方法でサーバーやPCの起動時にタスクスケジューラーのトリガーをシステム起動時にバッチを実行することで対応を行いました。quit;2.起動バッチ作成1で作成したSQLを呼び出すバッチを作成します。@c:\oracle\PDBOPEN.sql3.タスクスケジューラーの設定タスクスケジューラーから(2)で作成したバッチファイルをシステム起動時に開始する設定を行います。※「操作」タブで新規タクスを作成します。※トリガーの編集でバッチ起動の時間をシステム起動時間から遅らせることができる遅延時間を設定することができます。システムの起動時にPDBの起動を行うとOracleDBが起動していない状態でPDBの起動処理を実行してしまうことがあります。遅延時間に数分を設定することによりOracleDB起動後にPDBの起動処理を行うことができます。上記の設定でPDBが起動しないときは遅延時間を調整してみてください。まとめOracle12Cで新しく登場したPDBですが、PCやサーバーの再起動時に自動で起動するためには、ご使用のバージョンによって今回説明させていただいた内容を参考にしていただければと思います。LambdaでWebサイトの死活監視を行ってSlackに結果を流すこんにちは、AWS担当のwakです。modeをつかってみた募金担当の高橋です。modeと...2015-06-16NmapでSSLの設定と対応ブラウザの確認方法こんにちは、罰金担当の高橋です。最近、弊社のリリースしたサ...2015-03-27CloudWatchの通知をSlackに流すこんにちは。AWS担当のwakです。今回はAWS監視の話をします。(1)はてなブログをはじめよう!jabe20さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。