• ベストアンサー

リスナーの構成

リスナー構成時に指定するデータベース識別情報は、グローバルデータベース名です。 と、Oracle 10g bronze dbaの、Oracleネットワークの構成で書かれているのですが リスナーは、複数のインスタンスで共有できるもので、グローバルデータベース名はいらないと思うのですが・・・ listener.oraを見てみましたがそのような記述はありませんでしたし リスナーの構成を実際にしてみましたが、グローバルデータベース名の設定はしませんでした。 この本の正誤表を見ましたが、載っていませんでした。 どなたかご説明いただけないでしょうか よろしくお願いします

  • Oracle
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • entree
  • ベストアンサー率55% (405/735)
回答No.1

> この本の正誤表を見ましたが、載っていませんでした。 間違っていないですから・・・。 > リスナーは、複数のインスタンスで共有できるもので、グローバルデータ > ベース名はいらないと思うのですが・・・ 共有できるからこそ必要なのではないでしょうか? リスナーとインスタンスは独立しています (Windows版を除く)。 クライアントから、Aインスタンスに接続したいという要求が来たときに、 Aインスタンスがどこにいるか分からないと接続できませんよね。 Aインスタンスがどこにいるかという設定がグローバルデータベース名の設定です。 listener.oraにこんな設定を追加すると、orcl.us.oracle.com向けの接続は/u01/app/oracle/product/11.1.0/db_1上で起動しているサービス名orcl.us.oracle.comを持つインスタンスに接続されます。 SID_LIST = (SID_DESC = (ORACLE_HOME = /u01/app/oracle/product/11.1.0/db_1) (SID_NAME = orcl) (GLOBAL_DBNAME = orcl.us.oracle.com) ) ただ、この設定は必須ではありません。動的構成と静的構成の2種類の設定方法があるからです。 上記は静的構成です。動的構成というのは、インスタンス側が自分が持っているインスタンスの情報をローカルリスナーに登録するというもので、この場合、上記のような設定はいりません。 ただ、動的構成にはインスタンスが起動していないとインスタンスの情報がリスナーに登録されません。つまり、停止中のインスタンスには接続できないということです。 何だか説明がまとまっていないですが・・・ 分からなければまた質問してください。がんばってくださいね。

kei2543
質問者

お礼

お礼遅れました 丁寧にご説明ありがとうございます すっきりしました! またよろしくお願いします!

関連するQ&A

  • oracle10g 使用するリスナーを追加する

    oracle10g 使用するリスナーを追加する リスナーが2個あってインスタンスを作成するときに片方選択しました。(※1) 後からもう片方でも使えるようにしたいのですが可能でしょうか? ※ tnsnames.oraとlistener.oraを見直しましたがだめでした。 ※1 database configuration assitanの3/5の工程

  • リスナーがありません

    無償版のOracle 12cをインストールしました。 レジストリで「ORACLE_HOME」と「ORACLE_SID」の値を確認して環境変数に設定しました。 ORACLE_HOME … C:\app\ora\product\12.1.0\dbhome_2 ORACLE_SID … orcl それから下記のURLを参考にしてユーザーを作成しました。 http://replication.hatenablog.com/entry/2015/08/05/093000 作成したユーザーで接続しようとしたら下記のエラーが発生してしまいました。 conn 上記で作成したユーザー/パスワード@PDBORCL ORA-12541: TNS: リスナーがありません ネットで「tnsnames.ora」に記述するという記事を見たので下記のパス先ある「tnsnames.ora」に下記の内容を追加しました。 C:\app\ora\product\12.1.0\dbhome_2\NETWORK\ADMIN PDBORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = IPアドレス)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = PDBORCL) ) ) でも結果は同じでした。 ※試しに下記のパス先に「tnsnames.ora」を設置しても同じでした。 C:\app\ora\product\12.1.0\dbhome_1\NETWORK\ADMIN 申し訳ありませんがどのようにすればいいのでしょうか。 何卒、ご教授宜しくお願いします。

  • 接続識別子とは何でしょうか??

    現在Bronzeの問題を解いているのですが ある問題がどうしても納得できません。 ・接続記述子には、ネットワーク・ホスト名とデータベース・サービス名が含まれる -->これは正解で、理解できましたが ・接続識別子には、ネットワーク・ホスト名とデータベース・サービス名が含まれる。 -->問題の回答ではこれも正解となっているのですが、どうして正解なのかよく分かりません。 接続識別子は、接続記述子を識別する為のものですよね? tnsnames.ora.sampleの hsagent = (DESCRIPTION= (ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)) (CONNECT_DATA=(SID=hsagent)) (HS=) ) 接続識別子は、hsagentで 接続記述子は、(DESCRIPTION=・・・) だと思っているのですが・・・ よろしくお願いします。

  • oracleのリスナーの接続について

    oracleについて質問です。 Net Managerをサーバー上で実行し、サービス・ネーミングの接続テストにて、最初は成功するのですが、しばらく時間が経つと、ora-12514のエラーとなります。 ここで、OracleService<インスタンス名>のサービスを再起動すると、一定時間だけ繋がり、しばらくするとまたエラーとなります。 全く繋がらないわけではないので原因がよくわかりません。 この間でリスナーは全くいじっていなく、また、動的構成にしています。 バージョンは下記の通りです。わかる方、ご教示いただけたらと思います。 オラクル:10.2.0.3 OS:Win2003

  • オラクル 10g リスナーの設定ファイルについて

    お世話になります。 新規DBをDBCAで作成し、その後、Oracle Net Managerで、listener.oraファイルを設定したところ、外部プロシージャ定義(extproc関連)が 作成されてませんでした。 利用環境:DBサーバー(solaris8、Oracle10gR1)、クライアントPC(winXP、Access2003のアプリ) 複数のクライアントPCからLANを経由してDBサーバーへアクセスします。 質問 1.外部プロシージャ定義はどのような場合に記述するのでしょうか? 2.とりあえず記述しておいた場合に何か問題が起こる可能性はありますでしょうか? 3.記述場所は以下でよろしいでしょうか? SID_LIST_リスナー名 = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = DBネーム) (ORACLE_HOME = オラクルHOME) (SID_NAME = オラクルSID) ) ---以下外部プロシージャ定義(1)--- (SID_DESC = (GLOBAL_DBNAME = PLSExtproc) (ORACLE_HOME = オラクルHOME) (SID_NAME = extproc) ) ---(1)以上---- ) リスナー名 = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = プロトコル)(HOST = ホスト名)(PORT = ポート番号)) ) ---以下外部プロシージャ定義(2)--- (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)) ) ---(2)以上--- ) 宜しくお願い致します。

  • データベースリンクをする準備としての接続について

    Oracle8(Aとします)のデータベースから8iのデータベース(Bとします)へのデータベースリンクを作成したいと思っております。 その準備段階としてAからBへの接続の設定をNet8 Assistantで行っております。 リスナーのデータベースサービス、リスニング位置についての設定は行い、tnsnames.oraにもBの記述があるのは確認しています。 その状態でSQL*Plusにてユーザ/パス@Bのホスト文字列とすると ORA-12545: 接続に失敗しました。ターゲット・ホストまたはオブジェクトが存在しません。 と接続が出来ず、エラー後はリスナーのサービスが停止してしまいます。 Net8 Assistantでの設定でのBグローバルデータベース名やSIDはBの管理者に確認してもらい正常なことを確認しております。 どこの設定を直したら良いのか分からない状態です。どうか助言をお願い致します。

  • ORA-12545について

    こんにちわ。 windows98でORACLE personal edition8.1.6をインストールしました。 データベースの作成に失敗したため、何度かデータベースの作成を行いました。(削除していないため、3つほどデータベースが出来ている状態です。) Net8 Configuration Assistant で ローカル・ネットサービス名構成をおこないました。 ホスト名にコンピューターの名前を入力して行ったのですが、テストに成功しません。 ORA-12545のエラーが出ます。 ホスト名の指定が間違っているのでしょうか? ネットワークコンピューターのプロパティで設定するコンピューター名ではないのでしょうか? 今機械はLANに接続はしていないのですが、将来接続する予定なので、ネットワークの設定は行っています。 tnsnames.ora において ホスト名をIPアドレスに変更してやってみたのですが、それでもやはり同じ結果でした。 何か原因があるのでしょうか? 申し訳ありませんが、宜しくお願い致します。

  • データベース接続時にTNSリスナーがアプリケーションエラー

    oracle9iでデータベースの作成中に TNSリスナーがアプリケーションエラーが起きたのですが、 そのまま無視してもデータベースの作成はできました。 それから接続時に必ずTNSリスナーでアプリケーションエラーが発生しますが、接続は可能になります。 ただし、アプリケーションエラーのタイミングでTNSリスナーサービスが終了してしまうようです。 それまで問題なく接続できていたDBに接続する場合にも上記の現象が発生するようになりました。 プラットフォーム:win2000advancedServer、oracle9iはフルインストール。ただし起動中のサービスは ・Oracle90Home90Agent ・Oracle90Home90TNSListener ・OracleServiceXXX(XXXはデータベース名称) データベースセットアップ内容は以下: 1.OracleDatabaseConfigurationAssistantを起動 2.「データベースの作成」を選択 3.「NewDatabase」を選択 4.サービス名とSIDを指定。ここではドメインを省略してグローバル・データベースとSIDを同じにした。 5.データベースオプションのデータベース機能を全部OFFにした。カスタムスクリプトはデフォルトのまま。 6.接続オプションとして専用サーバーモードを選択 7.初期化パラメータはデフォルトを使用 8.データベース記憶域はデフォルトを使用 9.作成オプションは「データベースの作成」を選択 現状、毎回接続前にリスナーサービスの起動をかければ接続時にアプリケーションエラーがおきても接続は可能になりますが、使用に耐えられません。。 ○インストール時にアプリケーションエラーが起きたデータベースを削除すればこの現象は回避できるのでしょうか?もしくはこの問題はoracleの再インストールを考慮した方が良いでしょうか。

  • Oracle Master Bronzeの質問

    現在、独学でOracle Master Bronze DBA 11gの勉強をしています。 その勉強の中で出てきた質問です。 Enterprise Managerを使用するには、 ・dbconsoleプロセス ・リスナープロセス を起動しておかなければならない と記載されています。 しかし、別のページでは、Enterprise Managerの画面でリスナープロセスのステータス(起動中、停止中など)が確認できます、とありました。リスナープロセスが停止していれば、Enterprise Managerにはアクセスできず、必然的にリスナープロセスのステータスも確認できない、と思うのですが、いかがでしょうか。

  • SQLNET.ORAの設定について

    はじめまして。 SQLNET.ORAの設定について教えてください。 何のために設定するのか、何を記述するとよいか?など 基本的なところから教えてください。 また、リスナー等のネットワークについての知識を つけたいと思っております。 参考になる書籍やHPがあればぜひ、教えてください。