28 ルールベースの変換の監視
ルールベースの変換は、ポジティブ・ルール・セットのルールがTRUE
に評価される場合に発生するメッセージへの変更です。この章では、ルールベースの変換の監視に使用できる問合せの例を示します。
次の各項では、ルールベースの変換の監視について説明します。
注意:
Oracle Enterprise Manager Cloud ControlのOracle Streamsツールも、Oracle Streams環境を監視するための優れた手段です。詳細は、Oracle Streamsツールのオンライン・ヘルプを参照してください。
関連項目:
-
この章で説明するデータ・ディクショナリ・ビューの詳細は、『Oracle Databaseリファレンス』を参照
28.1 すべてのルールベースの変換に関する情報の表示
この項で説明する問合せを実行すると、データベース内の各ルールベースの変換に関する次の情報が表示されます。
-
ルールベースの変換が指定されたルールの所有者
-
ルールベースの変換が指定されたルールの名前
-
ルールベースの変換のタイプ
-
内部のルールベースの変換を使用するサブセット・ルールの場合は、
SUBSET
RULE
と表示されます。 -
宣言ルールベースの変換の場合は、
DECLARATIVE
TRANSFORMATION
と表示されます。 -
カスタム・ルールベースの変換の場合は、
CUSTOM
TRANSFORMATION
と表示されます。
-
次の問合せを実行すると、データベース内のルールベースの変換に関する前述の情報が表示されます。
COLUMN RULE_OWNER HEADING 'Rule Owner' FORMAT A20 COLUMN RULE_NAME HEADING 'Rule Name' FORMAT A20 COLUMN TRANSFORM_TYPE HEADING 'Transformation Type' FORMAT A30 SELECT RULE_OWNER, RULE_NAME, TRANSFORM_TYPE FROM DBA_STREAMS_TRANSFORMATIONS;
出力は次のようになります。
Rule Owner Rule Name Transformation Type -------------------- -------------------- ------------------------------ STRMADMIN EMPLOYEES23 DECLARATIVE TRANSFORMATION STRMADMIN JOBS26 DECLARATIVE TRANSFORMATION STRMADMIN DEPARTMENTS33 SUBSET RULE STRMADMIN DEPARTMENTS32 SUBSET RULE STRMADMIN DEPARTMENTS34 SUBSET RULE STRMADMIN DEPARTMENTS32 CUSTOM TRANSFORMATION STRMADMIN DEPARTMENTS33 CUSTOM TRANSFORMATION STRMADMIN DEPARTMENTS34 CUSTOM TRANSFORMATION
28.2 宣言ルールベースの変換の表示
宣言ルールベースの変換は、行LCRの一般的な変換シナリオに対応するルールベースの変換です。宣言ルールベースの変換は、PL/SQLを使用せずに内部的に実行されます。
この項で説明する問合せを実行すると、データベース内の各宣言ルールベースの変換に関する次の情報が表示されます。
-
宣言ルールベースの変換が指定されたルールの所有者
-
宣言ルールベースの変換が指定されたルールの名前
-
指定された宣言ルールベースの変換のタイプ。
ADD
COLUMN
、DELETE
COLUMN
、KEEP
COLUMNS
、RENAME
COLUMN
、RENAME
SCHEMA
およびRENAME
TABLE
の各タイプが表示される可能性があります。 -
宣言ルールベースの変換の優先順位。この優先順位は、同じルールに指定されている同じ手順番号の他の変換に対する、変換の実行順序です。手順番号が同じ変換では、優先順位が最も低い変換が最初に実行されます。
-
宣言ルールベースの変換の手順番号。複数の宣言ルールベースの変換が同じルールに指定された場合、手順番号が最も小さい変換が最初に実行されます。変換を作成する際に、宣言ルールベースの変換の手順番号を指定できます。
次の問合せを実行すると、データベース内の宣言ルールベースの変換に関する情報が表示されます。
COLUMN RULE_OWNER HEADING 'Rule Owner' FORMAT A15 COLUMN RULE_NAME HEADING 'Rule Name' FORMAT A15 COLUMN DECLARATIVE_TYPE HEADING 'Declarative|Type' FORMAT A15 COLUMN PRECEDENCE HEADING 'Precedence' FORMAT 99999 COLUMN STEP_NUMBER HEADING 'Step Number' FORMAT 99999 SELECT RULE_OWNER, RULE_NAME, DECLARATIVE_TYPE, PRECEDENCE, STEP_NUMBER FROM DBA_STREAMS_TRANSFORMATIONS WHERE TRANSFORM_TYPE = 'DECLARATIVE TRANSFORMATION';
出力は次のようになります。
Declarative Rule Owner Rule Name Type Precedence Step Number --------------- --------------- --------------- ---------- ----------- STRMADMIN JOBS26 RENAME TABLE 4 0 STRMADMIN EMPLOYEES23 ADD COLUMN 3 0
この出力から、変換の手順番号が同じ(0(ゼロ))で、ADD
COLUMN
変換の優先順位が低いため、ADD
COLUMN
変換がRENAME
TABLE
変換より前に実行されることがわかります。
データベースに存在する宣言ルールベースの変換のタイプを判別する場合は、各変換の詳細を表示できます。次のデータ・ディクショナリ・ビューには、様々なタイプの宣言ルールベースの変換の詳細が含まれます。
-
DBA_STREAMS_ADD_COLUMN
ビューには、ADD
COLUMN
宣言変換に関する情報が含まれます。 -
DBA_STREAMS_DELETE_COLUMN
ビューには、DELETE
COLUMN
宣言変換に関する情報が含まれます。 -
DBA_STREAMS_KEEP_COLUMNS
ビューには、KEEP
COLUMNS
宣言変換に関する情報が含まれます。 -
DBA_STREAMS_RENAME_COLUMN
ビューには、RENAME
COLUMN
宣言変換に関する情報が含まれます。 -
DBA_STREAMS_RENAME_SCHEMA
ビューには、RENAME
SCHEMA
宣言変換に関する情報が含まれます。 -
DBA_STREAMS_RENAME_TABLE
ビューには、RENAME
TABLE
宣言変換に関する情報が含まれます。
たとえば、前述の問合せではADD
COLUMN
変換およびRENAME
TABLE
変換が表示されます。次の各項では、これらの変換の詳細情報を表示する問合せを示します。
注意:
優先順位および手順番号は、宣言ルールベースの変換のみに関連します。サブセット・ルール変換またはカスタム・ルールベースの変換には関連しません。
関連項目:
28.2.1 ADD COLUMN変換に関する情報の表示
次の問合せを実行すると、データベース内のADD
COLUMN
宣言ルールベースの変換に関する詳細情報が表示されます。
COLUMN RULE_OWNER HEADING 'Rule|Owner' FORMAT A9 COLUMN RULE_NAME HEADING 'Rule|Name' FORMAT A12 COLUMN SCHEMA_NAME HEADING 'Schema|Name' FORMAT A6 COLUMN TABLE_NAME HEADING 'Table|Name' FORMAT A9 COLUMN COLUMN_NAME HEADING 'Column|Name' FORMAT A10 COLUMN COLUMN_TYPE HEADING 'Column|Type' FORMAT A8 SELECT RULE_OWNER, RULE_NAME, SCHEMA_NAME, TABLE_NAME, COLUMN_NAME, ANYDATA.AccessDate(COLUMN_VALUE) "Value", COLUMN_TYPE FROM DBA_STREAMS_ADD_COLUMN;
出力は次のようになります。
Rule Rule Schema Table Column Column Owner Name Name Name Name Value Type --------- ------------ ------ --------- ---------- -------------------- -------- STRMADMIN EMPLOYEES23 HR EMPLOYEES BIRTH_DATE SYS.DATE
この出力には、ADD
COLUMN
宣言ルールベースの変換に関する次の情報が表示されています。
-
この変換は、
strmadmin
スキーマのemployees23
ルールに対して指定されています。 -
この変換によって、
hr
スキーマのemployees
表を含む行LCRに列が追加されています。 -
追加された列の列名は
birth_date
です。 -
追加された列の値は
NULL
です。DBA_STREAMS_ADD_COLUMN
ビューのCOLUMN_VALUE
列の型がANYDATA
であることに注意してください。この例では、列の型がDATE
であるため、ANYDATA.AccessDate
メンバー・ファンクションを使用して値が表示されています。他の型の値を表示するには、適切なメンバー・ファンクションを使用します。 -
追加された列の型は
DATE
です。
28.2.2 RENAME TABLE変換に関する情報の表示
次の問合せを実行すると、データベース内のRENAME
TABLE
宣言ルールベースの変換に関する詳細情報が表示されます。
COLUMN RULE_OWNER HEADING 'Rule|Owner' FORMAT A10 COLUMN RULE_NAME HEADING 'Rule|Name' FORMAT A10 COLUMN FROM_SCHEMA_NAME HEADING 'From|Schema|Name' FORMAT A10 COLUMN TO_SCHEMA_NAME HEADING 'To|Schema|Name' FORMAT A10 COLUMN FROM_TABLE_NAME HEADING 'From|Table|Name' FORMAT A15 COLUMN TO_TABLE_NAME HEADING 'To|Table|Name' FORMAT A15 SELECT RULE_OWNER, RULE_NAME, FROM_SCHEMA_NAME, TO_SCHEMA_NAME, FROM_TABLE_NAME, TO_TABLE_NAME FROM DBA_STREAMS_RENAME_TABLE;
出力は次のようになります。
From To From To Rule Rule Schema Schema Table Table Owner Name Name Name Name Name ---------- ---------- ---------- ---------- --------------- --------------- STRMADMIN JOBS26 HR HR JOBS ASSIGNMENTS
この出力には、RENAME
TABLE
宣言ルールベースの変換に関する次の情報が表示されています。
-
この変換は、
strmadmin
スキーマのjobs26
ルールに対して指定されています。 -
この変換によって、行LCR内の
hr.jobs
表の名前が、hr.assignments
表に変更されています。
28.3 カスタム・ルールベースの変換の表示
カスタム・ルールベースの変換は、ユーザー定義PL/SQLファンクションが必要なルールベースの変換です。この項で説明する問合せを実行すると、データベース内の指定されたカスタム・ルールベースの変換に関する次の情報が表示されます。
-
このカスタム・ルールベースの変換が設定されたルールの所有者
-
このカスタム・ルールベースの変換が設定されたルールの名前
-
変換ファンクションの所有者および名前
-
このカスタム・ルールベースの変換が1対1と1対多のどちらであるか
次の問合せを実行すると、前述の情報が表示されます。
COLUMN RULE_OWNER HEADING 'Rule Owner' FORMAT A20 COLUMN RULE_NAME HEADING 'Rule Name' FORMAT A15 COLUMN TRANSFORM_FUNCTION_NAME HEADING 'Transformation Function' FORMAT A30 COLUMN CUSTOM_TYPE HEADING 'Type' FORMAT A11 SELECT RULE_OWNER, RULE_NAME, TRANSFORM_FUNCTION_NAME, CUSTOM_TYPE FROM DBA_STREAMS_TRANSFORM_FUNCTION;
出力は次のようになります。
Rule Owner Rule Name Transformation Function Type -------------------- --------------- ------------------------------ ----------- STRMADMIN DEPARTMENTS31 "HR"."EXECUTIVE_TO_MANAGEMENT" ONE TO ONE STRMADMIN DEPARTMENTS32 "HR"."EXECUTIVE_TO_MANAGEMENT" ONE TO ONE STRMADMIN DEPARTMENTS33 "HR"."EXECUTIVE_TO_MANAGEMENT" ONE TO ONE
注意:
変換ファンクション名はVARCHAR2
型にする必要があります。そうでない場合、TRANSFORM_FUNCTION_NAME
の値がNULL
になります。DBA_STREAMS_TRANSFORM_FUNCTION
ビューのVALUE_TYPE
列には、変換ファンクション名の型が表示されます。
関連項目: