論理的に整合性のあるデータセットを複数のテーブルからOLTP負荷下のデータベースにアンロードする方法

論理的に整合性のあるデータセットを複数のテーブルからOLTP負荷のデータベースにアンロードする方法は?



これらの目的のために、ORACLEでは、素晴らしいツール-FLASHBACKを使用できます。

FBは、遡及テーブルクエリを提供するdbaツールとしてORACLによって配置されます。

何らかの理由で失われた情報を復元したり、過去のある時点までのすべての変更をロールバックしたりします。

読み取りモードの1つは、SCN(システム変更番号)オプションで機能します。

SCN値を修正することにより、DB_FLASHBACK_RETENTION_TARGET分について、論理的に一貫した任意の量の情報を読み取ることができます。

この投稿はFB機能の完全な説明であると主張していないため、以下の例は概略的であり、その型にはまらない適用を示すのに十分です。



FLASHBACKオプションの可用性を確認してください。

SELECT FLASHBACK_ON FROM V$DATABASE;
      
      







アンロードが必要な権利を処理するアカウントを発行します。

 grant execute on SYS.DBMS_FLASHBACK to LOADER;
      
      







SCN値は、いくつかの方法で取得できます。

  select sys.DBMS_FLASHBACK.GET_SYSTEM_CHANGE_NUMBER from dual; select TIME_DP, SCN from sys.smon_scn_time order by scn desc; SELECT TIMESTAMP_TO_SCN(sysdate-1/(24*60)) from dual;
      
      







外出先で自転車を確認してください。

 create table FB_TABLE( p1 VARCHAR2(64)); select sys.DBMS_FLASHBACK.GET_SYSTEM_CHANGE_NUMBER from dual; GET_SYSTEM_CHANGE_NUMBER 8842201836421 insert into FB_TABLE (p1) values ('string_1'); commit; select sys.DBMS_FLASHBACK.GET_SYSTEM_CHANGE_NUMBER from dual; GET_SYSTEM_CHANGE_NUMBER 8842201836472 update FB_TABLE set p1='string_2'; commit; select sys.DBMS_FLASHBACK.GET_SYSTEM_CHANGE_NUMBER from dual; GET_SYSTEM_CHANGE_NUMBER 8842201836530 select t.* from FB_TABLE AS OF SCN 8842201836421 t; P1 select t.* from FB_TABLE AS OF SCN 8842201836472 t; P1 string_1 select t.* from FB_TABLE AS OF SCN 8842201836530 t; P1 string_2
      
      





このテクノロジーによると、数十のOLTPサーバーから分析サーバーまで、数年間オンラインで情報が収集されています。



All Articles