Oracleのデータベースリンクとは

Oracleのデータベースリンク

Oracleは通常、接続先のデータベースを使います。SATOUユーザーでログインしたらSATOUスキーマのテーブルやビューを使用します。

しかし、場合によっては他のデータベースにアクセスしたい場合もあります。

例えば、営業の人が営業用データだけでなく、別の地区にある研究データにアクセスしたい時など。

ここで営業データーベースと研究データベースは場所もサーバーも違っていたとしたら?

このように別のデータベースにアクセスしたいときに使うのがデータベースリンクです。

営業データベースに研究データベースへのリンクを作ることで、営業の人でも研究データを閲覧できるようにします。

Oracleのデータベースリンクを作成する

では、Oracleのデータベースリンクを作成してみます。

データベースリンクは「CREATE DATABASE LINK~」で作成します。

PUBLICをつけると別ユーザーからも使用可能となります。

ここでは「kenkyulink」という名前のデータベースリンクを作成しました。

CONNECT TO

「CONNECT TO」でユーザーを指定します。

IDENTIFIED BY

「IDENTIFIED BY」でパスワードを指定します。

USING

「USING」では接続文字列 を指定します。接続文字列とはtnsnames.oraに指定された接続文字列です。

よって、このcreate分の意味は「kenkyu-dataへkenkyuユーザー、パスワードpass1で接続するリンクを作ります」となります。

この「Create Database Link」を「eigyou」ユーザーで実行すると、外部のデータベース「kenkyu-data」へデータベースリンクができます。

データベースリンクを使う

では、eigyouユーザーでさっそく研究データを見てみましょう。

これはデータベースリンク「kenkyulink」を使ってkenkyuスキーマのJIKKEN1テーブルを検索しています。

データベースリンクを使う場合はテーブルの後ろに「@データベースリンク名」と記述します。

ここが通常の検索と違うところです。

これで営業の人でも研究データが閲覧できるようになりました。

Oracleのデータベースリンクのまとめ

  • Oracleでは別のOracleデータベースへアクセスしたい場合はデータベースリンクを使います
  • データベースリンクは「CREATE DATABASE LINK 」コマンドで作成する
  • データベースリンクはテーブル名の後ろに「@データベースリンク名」をつける

以上、Oracleのデータベースリンクのまとめでした。