X

オラクルエンジニア通信では、オンプレミスからクラウドまで、オラクルテクノロジーの最新情報をお届けします

マテリアライズド・ビュー(MView/スナップショット)の使い方~マニュアル、種類、作成・設定、リフレッシュ

レプリケーションとは


レプリケーションは、複数のデータベースでデータベース・オブジェクトとデータを共有する機構です。

レプリケートされたデータベース・オブジェクトとデータを、複数のデータベースでメンテナンスするために、あるデータベースでのこれらのデータベース・オブジェクトの1つに対する変更が他のデータベースと共有されます。

このようにして、レプリケーション環境内のすべてのデータベースでデータベース・オブジェクトとデータの同期が維持されます。

MView図

レプリケーションの概念



Oracle Databaseには、マテリアライズド・ビュー(MView)・レプリケーションという機能が用意されています。

マテリアライズド・ビューには、ある単一の時点での表の完全コピーまたは部分コピーが含まれます。





過去のリリース(Oracle8i以前)では、マテリアライズド・ビュー(MView)はスナップショット(Snapshot)と呼ばれていました。



マテリアライズド・ビューの種類


マテリアライズド・ビューには、以下の2種類があります。



読取り専用マテリアライズド・ビュー:

 表のコピーへの読取り専用アクセスを可能にします。

 読取り専用マテリアライズド・ビューを使用して、アプリケーションおよびユーザーは、リモートの場所に存在する表のローカル・コピーにアクセスできます。



更新可能マテリアライズド・ビュー:

 表のコピーへの読取り/書込みアクセスを提供します。

 更新可能マテリアライズド・ビューを使用して、アプリケーションおよびユーザーは、表と表のコピーの両方を変更でき、これらの変更をある時点で同期できます。



以降では、一般に広く使われている「読取り専用マテリアライズド・ビュー」の作成方法を説明します。


読取り専用マテリアライズド・ビューの作成方法


1. レプリカサイト→マスターサイトへのデータベースリンクを作成

  [※ レプリカサイトで実施]


$ sqlplus scott/tiger

SQL> CREATE DATABASE LINK mastersite.en2.com

     CONNECT TO scott IDENTIFIED BY tiger

     USING 'mastersite.en2.com';


  ※'mastersite.en2.com'はtnsnames.oraで設定した接続識別子です。



2. マテリアライズド・ビューを作成

  [※ レプリカサイトで実施]

SQL> CREATE MATERIALIZED VIEW scott.employees AS

     SELECT * FROM scott.employees@mastersite.en2.com;




3. リフレッシュ(データの同期処理)を実施

  [※ レプリカサイトで実施]

SQL> EXECUTE DBMS_MVIEW.REFRESH('scott.employees','c');


以上で、レプリカサイトでのデータ参照が可能になりました。



大規模表のマテリアライズドビューを作成するためには、マスターサイト側の実表に「マテリアライズド・ビュー・ログ」を作成しておき、変更差分のみのリフレッシュを実行する「高速リフレッシュ」が利用可能です。





高速リフレッシュや更新可能マテリアライズド・ビューについては、

マニュアル「Oracle Databaseアドバンスト・レプリケーション 11g リリース1(11.1)」を参考にしてください。



また、その他のレプリケーション手法との比較については、

OTNセミナーオンデマンドコンテンツ「今さら聞けない!?レプリケーション」もご参照ください。



オラクルのレプリケーション製品については、

オラクルエンジニア通信「Oracleレプリケーション技術に関する資料集」もあわせてご参照ください。

Be the first to comment

Comments ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.