- ベストアンサー
オラクル DBリンクについて
オラクルDBリンクの設定について質問です オラクル8.1.5を使用しているものですが、DBリンクの設定の仕方が よく分かりません。tnsnames.oraとcreate database linkの設定 で実現できないものでしょうか? 宜しくお願い致します
- みんなの回答 (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システム権限が必要ですし、それぞれのオブジェクト権限も注意してください。
その他の回答 (1)
- msystem
- ベストアンサー率42% (79/186)
基本的にその2つで実現できます。 特に無塚しい事はないと思いますが、リンク先のデータベースのテーブルなどのシノニムを作ったほうが、自分のデータベース上にあるものとして、SQLなどを書けるので便利だと思います。
補足
すみません。シノニムってサーバーおよびオラクル別々の場合設定できましたでしょうか?できれば設定方法をおしえていただきたいのですが・・ またNET8の設定でtnsnames.oraにどのように記述すれば他のDBを認識するのか 教えてください よろしくお願い致します
お礼
ありがとうございます 早速試してみます