Oracleでのデータベースリンクの利用とシノニムの活用

Oracleでは、他のデータベースにアクセスする手段としてデータベースリンクがある。
データベースリンクを利用することで、他のデータベース上のテーブルに対してデータの操作を行うことができる。

 

データベースリンクの作成

以下のコマンドを実行することでデータベースリンクの作成ができる。
※接続先Oracleの接続名(ネットサービス名)は、”‘”(シングルクォーテーション)で囲う必要がある。

尚、以下のSELECT文にてデータベースリンクの存在を確認できる。

 

データベースリンク先のテーブルの指定

“テーブル名@データベースリンク名”で対象テーブルにアクセスすることができる。

 

シノニムを作成して簡潔にテーブルを指定

シノニムを作成することで、通常のテーブルと同じように扱うことができる。

FROM句にシノニム名を指定することで、データベースリンク先のテーブルを参照できる。

 

シノニムの削除

以下のコマンドでシノニムを削除できる。

 

データベースリンクの削除

以下のコマンドでデータベースリンクを削除できる。

 

 

Oracleで暗号化パッケージを利用する

Oracle(10g以降)のDBMS_CRYPTO.ENCRYPT/DBMS_CRYPTO.DECRYPTを使用してデータの暗号化・復号化を実現できる。

 

事前準備

DBMS_CRYPTOを利用するには、実行権限が必要となる為、SYSユーザーでログインして権限を付与する。

 

暗号化

以下のサンプルでは、文字列を暗号化した結果をbase64でエンコードしてVARCHAR2に変換した値を返している。

実行結果

 

復号化

以下のサンプルでは、base64でエンコードされた暗号化文字列を復号化してVARCHAR2に変換した値を返している。

実行結果

 

暗号化/復号化のストアドファンクション

ストアドファンクションの作成

ストアドファンクションの実行結果