DBMS_RECTIFIER_DIFFパッケージには、2つのレプリケーション・サイト間の、データの非一貫性の検出および解決に使用されるAPIが含まれています。
この章では、次の項目を説明します。
|
注意:
|
|
関連項目:
|
このプロシージャは、2つの表の相違点を判定します。このプロシージャは、ネストした表の記憶表を受け入れます。
|
注意: このプロシージャは、LOB列やユーザー定義型をベースとする列には使用できません。 |
構文
DBMS_RECTIFIER_DIFF.DIFFERENCES (
sname1 IN VARCHAR2,
oname1 IN VARCHAR2,
reference_site IN VARCHAR2 := '',
sname2 IN VARCHAR2,
oname2 IN VARCHAR2,
comparison_site IN VARCHAR2 := '',
where_clause IN VARCHAR2 := '',
{ column_list IN VARCHAR2 := '',
| array_columns IN DBMS_UTILITY.NAME_ARRAY, }
missing_rows_sname IN VARCHAR2,
missing_rows_oname1 IN VARCHAR2,
missing_rows_oname2 IN VARCHAR2,
missing_rows_site IN VARCHAR2 := '',
max_missing IN INTEGER,
commit_rows IN INTEGER := 500);
|
注意: このプロシージャはオーバーロードされています。 |
パラメータ
表16-2 DIFFERENCESプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
sname1 |
|
oname1 |
|
reference_site |
参照データベース・サイトの名前です。デフォルトの |
sname2 |
|
oname2 |
|
comparison_site |
比較データベース・サイトの名前です。デフォルトの |
where_clause |
この句を満たす行のみが比較されます。デフォルトの |
column_list |
2つの表で比較される1つ以上の列名の、カンマ区切りのリストです。カンマの前後には空白を入れません。デフォルトの |
array_columns |
2つの表で比較される列名の、PL/SQL索引付き表です。索引付けは1の位置から始まり、配列の最後の要素は |
missing_rows_sname |
欠落行のある表が含まれるスキーマの名前です。 |
missing_rows_oname1 |
|
missing_rows_oname2 |
欠落行の情報が格納される |
missing_rows_site |
|
max_missing |
|
commit_rows |
|
例外
表16-3 DIFFERENCESプロシージャの例外
| 例外 | 説明 |
|---|---|
nosuchsite |
データベース・サイトが見つかりませんでした。 |
badnumber |
|
missingprimarykey |
列のリストには、主キー(または等価の |
badname |
表またはスキーマの名前が、 |
cannotbenull |
パラメータは |
notshapeequivalent |
比較される表の形式が一致しません。形式とは、列数、列名、列のデータ型を意味します。 |
unknowncolumn |
列が存在しません。 |
unsupportedtype |
タイプがサポートされていません。 |
dbms_repcat.commfailure |
リモート・サイトにアクセスできません。 |
dbms_repcat.missingobject |
表が存在しません。 |
制限事項
欠落行表に一意キーまたは主キー制約がある場合、エラーORA-00001(一意制約に反しています)が発生します。
このプロシージャは、2つの表の相違点を解決します。このプロシージャは、ネストした表の記憶表を受け入れます。
|
注意: このプロシージャは、LOB列やユーザー定義型をベースとする列には使用できません。 |
構文
DBMS_RECTIFIER_DIFF.RECTIFY (
sname1 IN VARCHAR2,
oname1 IN VARCHAR2,
reference_site IN VARCHAR2 := '',
sname2 IN VARCHAR2,
oname2 IN VARCHAR2,
comparison_site IN VARCHAR2 := '',
{ column_list IN VARCHAR2 := '',
| array_columns IN dbms_utility.name_array, }
missing_rows_sname IN VARCHAR2,
missing_rows_oname1 IN VARCHAR2,
missing_rows_oname2 IN VARCHAR2,
missing_rows_site IN VARCHAR2 := '',
commit_rows IN INTEGER := 500);
|
注意: このプロシージャはオーバーロードされています。 |
パラメータ
表16-4 RECTIFYプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
sname1 |
|
oname1 |
|
reference_site |
参照データベース・サイトの名前です。デフォルトの |
sname2 |
|
oname2 |
|
comparison_site |
比較データベース・サイトの名前です。デフォルトの |
column_list |
2つの表で比較される1つ以上の列名の、カンマ区切りのリストです。カンマの前後には空白を入れません。デフォルトの |
array_columns |
2つの表で比較される列名の、PL/SQL索引付き表です。索引付けは1の位置から始まり、配列の最後の要素は |
missing_rows_sname |
欠落行のある表が含まれるスキーマの名前です。 |
missing_rows_oname1 |
|
missing_rows_oname2 |
欠落行の情報が格納される |
missing_rows_site |
|
commit_rows |
|
例外