運用時に発生するエラー
ORA-00106: データベースはディスパッチャ接続時には起動または停止できません。
共有サーバー接続を使用(ディスパッチャ接続)しての起動および停止はできない。
現在の接続先が共有サーバーか専用サーバーかを確認する方法
SELECT SERVER FROM V$SESSION WHERE SID = USERENV('SID') ;
(SHARED = 共有サーバー接続 / DEDICATED = 専用サーバー接続)
原因
この制限は他の接続とは独立した専用プロセスで処理することで、そのインスタンスにおいてシングルトン(唯一?)な状態
であることを保証するためのものであると思われる。
ごく一般的なプロジェクトではローカル接続で起動するか自動起動の設定にしていることが多いので、DB サーバーが独立して単一のインスタンスのみサービスしているような場合には、このエラーに悩むことも少ないと思われる。
ただ、リッチなプロジェクトや多くのインスタンスを管理しているプロジェクトでは OEM(Enterprise Manager) を
買ってくれる予算が出る場合があるので、ORA-00106: エラーに遭遇する機会があるかもしれない。
対応
起動・停止する接続に 専用サーバー接続を使用する。ローカル接続も専用サーバー接続を行なっている。
OEM 経由の接続の場合には静的構成(※)でリスナーを設定する。さらに専用サーバー接続の接続識別子を別途に定義して DBA および管理専用の接続として運用する。
(※) 静的構成とはインスタンスの情報をあらかじめ定義ファイルに記述しておく構成であり、
動的構成はインスタンスが起動したときにリスナーに対してインスタンス情報を登録する方法である。
関連事項
一覧ページへ戻る
OTN (Oracle Technology Network)によるエラーメッセージによる情報だけでは、対処に困ったエラーについてのプラクティスです。
ベスト・プラクティスというわけではないので、書いてあることに固執しないで広い視野でエラー対応してください。