• 締切済み

SID、SERVICE_NAMES、GLOBAL_DBNAME、DB_NAME、DB_DOMAINの関係

SID、(init.SIDora内の)SERVICE_NAMES、GLOBAL_DBNAME、DB_NAME、DB_DOMAINの関係は どうなっているのでしょうか?以下でいいのでしょうか? SID =DB_NAME サービス名=GLOBAL_DBNAME=DB_NAME+DB_DOMAIN

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

みんなの回答

  • hot2cool
  • ベストアンサー率100% (1/1)
回答No.1

通常はそのような記述をしますね 違う名前をつけるとあとでわけがわからなくなるので。 まずはSIDとDB_NAMEの関係について SID:インスタンスのID DB_NAME:データベースのID インスタンスとデータベースは別物なのでそれぞれに名前を付けます インスタンスはデータベースを操作するプロセス群とSGAと呼ばれるメモリ領域を合わせたものです データベースとはデータファイル、制御ファイル、REDOログファイルなどの物理構成、その中の論理構成をさします インスタンスとデータベースはほとんどの場合1対1で関連付けされますが、1つのデータベースに対して複数のインスタンスを立ち上げることも可能です(Real Application Clusters)(8iまではパラレルサーバという名前だったような。。。) というわけで、インスタンス名とデータベース名は別々につけることができるようになっているわけです。 サービス名はインスタンスに接続するための識別子です Oracle8まではクライアント側のtnsnames.oraに(SID=ORCL)と記述したのですが、Oracle8iからは(SERVICE_NAME=ORACLE.WORLD)と記述するようになりました。(でも古いままでも接続できる) サービス名は1つのインスタンスに対して複数の名前を付けることができます。別名のようなものですね。 GLOBAL_NAMEはDB_LINKを使用するときに必要だったような。。。すいません、このへんはちょっと詳しくないです。。。 まとめると、クライアントからサービス名をもとにインスタンスに接続し、インスタンスではinitORCL.oraのDB_NAMEをもとにデータベースに接続するという感じでしょうか。 [クライアント]--[サービス名]--[インスタンス]--[データベース]

katu_ueda
質問者

お礼

ありがとうございました。自分でも もう少し調べてみました。 DB_NAME が同じでもSIDを別にすることで 複数インスタンスを立ち上げることが できるのですねMTSで使ったり、複数の 試験環境に使ったりするようです サービス名はホストネーミング、 ローカルネーミング、ORACLE NAMEで 名前解決するための、定義のようですね リスナーにインスタンスを自動登録する際に のインスタンス登録名のようなんですが GLOBAL_NAMEはDB_NAME+DB_DOMAINの様なのですが いまひとつ理解できてません

関連するQ&A

  • SIDとSERVICE_NAMEの違いとは?

    tnsnames.oraの中の(CONNECT_DATA=に SIDだったりSERVICE_NAMEだったりしますが、どのような違いがあるのでしょうか? どちらでもつながるのでいいかとは思いますが、何かメリット・デメリットでもあるのでしょうか? それとも過去の遺物が未だ共存しているだけでしょうか? SIDはインスタンスにつけられた名前だと知っていますが、SERVICE_NAMEってなんですか?

  • SIDとSERVICE_NAMEの違い

    tnsnames.oraの中の(CONNECT_DATA=に SIDだったりSERVICE_NAMEだったりしますが、どのような違いがあるのでしょうか?

  • ドメインネームと商標の関係について

    ドメインネームと商標の関係について教えて下さい。 ドメインネームは、基本的には、各コンピュータに割り当てられたインターネット上のいわば「住所」の機能を営むものです。他方、商標は自他商品あるいは役務識別のための標識です。 商標には、出所表示機能を中心に、品質保証機能、広告機能があります。ドメインネームと商標とは、機能的には全く異なるものです。 ところが、ドメインネームは、インターネット上で、情報のありかとユーザーとを結びつける役割を果たし、また、ドメインネーム自体単なる数字の羅列ではなく意味のある言葉が選択できますので、出所表示的な機能をも営んでいると考えられています。 また、副次的に、情報の質に対する顧客の信用に結びつくものでもあるので、品質保証的機能、広告的機能をも有すると考えられています。  ドメインネームがこのような商標類似の機能を営む結果、両者の抵触という問題が発生するのですが、双方の登録はそれぞれ別個の機関で営まれているため、両者の抵触の問題は、紛争となってはじめて表面化するケースが多いように思います。 名前が似ていても活動範囲が全く違えば誤認混同のおそれがないので、商標権侵害にはならないでしょうか? ドメインネームは各コンピュータに与えられたインターネット上の「住所」であり、商標は商品あるいは役務に付された標章である、という点で両者の性質は全く異なっています。 たとえば、あり著名会社の会社名をドメインネームに使用すると、商標権侵害になりますか? また、不正競争防止法も関係あありますか? 国内でおきた事件として、以下の事件がありますが、 この事件の場合、ソニーの銀行参入前なら問題なかったのでしょうか。 http://www.watch.impress.co.jp/internet/www/article/2001/0322/sonybnk.htm それとも、ドメインに「sony」が含まれていると一切NGでしょうか?

  • ドメインネームの決まりごと

    ドメインネームは一般的には ドメインネームに関しての質問です。 http://www で始まりますが、時々そうでないものがありますよね。 例えば http://ユーザー名.helper.to/ といったもの。 wwwで始まらないといけない、という決まりでは ないのでしょうか?

  • オラクル 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)以上--- ) 宜しくお願い致します。

  • ドメイン移管時はネームサーバ設定も移管される?

    あるドメイン管理サービスにてドメインを取得しました。ここではexample.comとします。 このネームサーバを「ns1.example.com」「ns2.example.com」として登録するために、そのサービスのネームサーバ登録機能で、事前に「ns1.example.com」「ns2.example.com」を登録いたしました。 いま「example.com」を別のドメイン管理サービスに移管しようと思っておりますが、移管先のドメイン管理サービスではネームサーバの登録をしていないため、移管前に登録したネームサーバ情報が移管により消えてしまい、移管と同時に名前解決ができなくなるということは無いのでしょうか? また、ネームサーバ情報も移管されるかどうかは、一般的に(もしくは暗黙的に)決まっておらず、サービスによって違ったりするのでしょうか。

  • Oracleでデータのコピーをしたい。

    別のマシンのOracleをエクスポートしてインポートし自分のマシンにデータを移動しようとしているのですが なぜかインスタンスにドメインのようなおまけがついてしまいます。 例:[データベース名]→[データベース名].us.oracle.com Oracleのバージョンは8.1.6.0.0です。 init.oraというファイルの中を見ると global_names = true という設定値が怪しいと思い、いろいろやってみましたがわかりません。 クライアントサーバではなくスタンドアロンにしたいんです。 良い知恵ありましたら些細なことでもいいので回答ください。

  • データベースへの接続について

    サーバーに、OracleDB10gR2を導入し、リスナーの設定まで完了しています。 クライアントの接続情報の設定を、「Net Configuration Assistant」の 「ローカル・ネット・サービス名構成」を使用し設定を行おうと思っています。 設定が完了するとTNSNAMES.ORAが作成され、以下のような内容になると思います。 net_service_name= (DESCRIPTION= (ADDRESS=(PROTOCOL=tcp)(HOST=test)(PORT=1521)) (CONNECT_DATA= (SERVICE_NAME=service_name))) この後以下のコマンドでデータベースへの接続が可能になると思うのですが、 service_nameというのは、何に使用しているのでしょうか? また、net_service_nameに設定される値とservice_nameに設定される値の違いを教えてください。 connect user/password@net_service_name 調べると、以下のような記述を見つけたのですが、 Oracle9iまたはOracle8のデータベースに接続する際に必要なのでしょうか? SERVICE_NAME 用途 パラメータSERVICE_NAMEを使用して、アクセスするOracle9iまたはOracle8データベース・サービスを識別します。値は、初期化パラメータ・ファイルのSERVICE_NAMESパラメータに指定されている値に設定します。

  • oracle 9i と SQL SERVER 2005 DBリンクにつ

    oracle 9i と SQL SERVER 2005 DBリンクについて とても困ってます。 よろしくお願いします。 仕事で、oracle 9iとSQL SERVER 2005をDBリンクさせて、oracle 9iのTableとSQL SERVER 2005のTableを結合させて、SELECT文を作成したいです。 本番環境は、DBサ―bとWebサーバは別々でとりあえずlocal開発環境を作成しています。 <確認したこと> ・global_names = Flase ・ODBCの設定はSQL SERVER 2005に接続確認しました。  →データソース名は、「SQLSRV」です。 ・inithsodbc.oraの設定    HS_FDS_CONNECT_INFO = SQLSRV    HS_FDS_TRACE_LEVEL = OFF ・LISTENER.ORAの設定(編集後再起動しました)  → (SID_DESC = (SID_NAME = HSODBC) (ORACLE_HOME = D:\oracle\Ora9IUTF) (PROGRAM = hsodbc) ・TNSNAMES.ORAの設定 HSODBC = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST =localhost)(PORT = 1521)) ) (CONNECT_DATA = (SID = HSODBC) ) (HS = OK) ) ・DBリンク作成(小文字を認識するため、ダブルクォーテーションで囲います)   CREATE DATABASE LINK DB_LINK_SQLSRV   CONNECT TO "ユーザ" IDENTIFIED BY "パスワード" USING 'HSODBC'; ・SELECT文   SELECT * FROM テーブル名@DB_LINK_SQLSRV; 上記の手順ですが、サービス名が解決できません。

  • データベースに接続できない

    データベースに接続できません!! 「tnsnames.ora」、「listener.ora」、「sqlnet.ora」の内容は以下になっております。いろいろ調べてみて、これでいいとは思うのですが、「ORA-12545 ターゲット・ホストまたはオブジェクトが見つかりません。」というエラーが出てしまい接続できません。 DBはOracle10g Release1を使用しています。 【tnsnames.oraの内容】 ORCL = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = orcl) ) ) EXTPROC_CONNECTION_DATA = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)) ) (CONNECT_DATA = (SID = PLSExtProc) (PRESENTATION = RO) ) ) 【listener.oraの内容】 SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = G:\oracle\product\10.1.0\Db_1) (PROGRAM = extproc) ) (SID_DESC = (GLOBAL_NAME = orcl) (ORACLE_HOME = G:\oracle\product\10.1.0\Db_1) (SID_NAME = orcl) ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)) ) (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) ) )