• ベストアンサー

オラクル DBリンクについて

オラクルDBリンクの設定について質問です オラクル8.1.5を使用しているものですが、DBリンクの設定の仕方が よく分かりません。tnsnames.oraとcreate database linkの設定 で実現できないものでしょうか? 宜しくお願い致します

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

  • ベストアンサー
  • msystem
  • ベストアンサー率42% (79/186)
回答No.2

まず、tnsnames.oraですが、リンクを作りたいOracleのtnsnames.oraに、以下のような記述を付け加えます。 リンクのサービス名:linkdb リンク先のホスト名:linkserver プロトコル:TCP/IP Listnerのポート:1521 リンクしたいデータベースのSID:TEST LINKDB.WORLD = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP) (HOST = LINKSERVER) (PORT = 1521) ) (CONNECT_DATA = (SID = TEST) ) ) リンク作成SQLは、以下のようになると思います。 リンク名:linktodb リンクの際に使うユーザー名:linkuser リンクユーザーのパスワード:linkpass create public database link linktodb connect to linkdb identified by linkuser using 'linkpass' ; リンク先のテーブルのシノニム作成は以下のとおり リンク先のテーブルのスキーマユーザー:towner リンク先のテーブル名:linktable シノニム名:linksynonym create synonym linksynonym for towner.linktable@linktodb ; 以上で、シノニムが作成できて、普通のテーブルのように select * from linksynonym ; のようなアクセスができるはずです。 ただし、当然、リンクを作成するユーザーには、CREATE DATABASE LINKシステム権限が、シノニムを作成するユーザーには、CREATE SYNONYMシステム権限が必要ですし、それぞれのオブジェクト権限も注意してください。

naka69
質問者

お礼

ありがとうございます 早速試してみます

その他の回答 (1)

  • msystem
  • ベストアンサー率42% (79/186)
回答No.1

基本的にその2つで実現できます。 特に無塚しい事はないと思いますが、リンク先のデータベースのテーブルなどのシノニムを作ったほうが、自分のデータベース上にあるものとして、SQLなどを書けるので便利だと思います。

naka69
質問者

補足

すみません。シノニムってサーバーおよびオラクル別々の場合設定できましたでしょうか?できれば設定方法をおしえていただきたいのですが・・ またNET8の設定でtnsnames.oraにどのように記述すれば他のDBを認識するのか 教えてください よろしくお願い致します