DBMS_DCATパッケージ
DBMS_DCATパッケージには、Autonomous AI DatabaseユーザーがOCIデータ・カタログのデータ検出および一元化されたメタデータ管理システムを活用するのに役立つファンクションおよびプロシージャが用意されています。
データ・カタログは、データ・レイクのオブジェクト・ストレージ・アセットからメタデータを収集します。収集プロセスによって論理エンティティが作成されます。論理エンティティは、列および関連付けられたデータ型を持つ表と考えることができます。DBMS_DCATプロシージャおよびファンクションは、Autonomous AI Databaseをデータ・カタログに接続し、アセットをデータベースと同期して、保護されたスキーマおよび外部表を作成します。その後、これらの外部表を使用してオブジェクト・ストアに問い合せ、外部データをAutonomous AI Databaseに格納されたデータと簡単に結合できます。これにより、管理プロセスが大幅に簡素化され、複数のOCIサービス(Autonomous AIデータベースを含む)で共有される、一元管理されたメタデータ・ストアが1つあります。また、Autonomous AI Databaseディクショナリ・ビューもあり、SQLを使用してデータ・カタログの内容を検査し、これらのデータ・カタログ・エンティティがAutonomous AI Databaseスキーマおよび表にどのようにマップされるかを示します。
データ・カタログのユーザーおよびロール
DBMS_DCATパッケージは、同期されたユーザー/スキーマ、dcat_adminユーザーおよびローカル・ユーザーをサポートします。このパッケージを使用できるようにするには、ユーザーにdcat_syncロールが必要です。
データカタログユーザー
-
同期されたユーザー/スキーマ
同期された外部表は、データ・アセット/バケットの組合せに対応するデータベース・スキーマ、またはユーザーが設定したカスタム・プロパティに従って編成されます。同期されたスキーマは、データ・カタログの同期時に自動的に作成/削除されます。これらは、CREATE SESSION権限のない認証ユーザーとして作成されません。同期されたスキーマは、protected句を使用しても作成されるため、ローカル・ユーザー(PDB管理者でもない)によって変更できず、同期によってのみ変更できます。
-
ユーザー
dcat_adminユーザー
dcat_adminは、同期を実行し、同期された表に対するREAD権限を他のユーザーまたはロールに付与できるローカル・データベース・ユーザーです。このユーザーは、CREATE SESSION権限のない認証ユーザーとして作成されます。 -
ローカル・ユーザー
外部表を問い合せるデータベース・ユーザーには、同期された外部表に対するREAD権限がユーザー
dcat_adminまたはADMINによって明示的に付与されている必要があります。デフォルトでは、同期が完了すると、ユーザーdcat_adminおよびADMINのみが同期された外部表にアクセスできます。
データ・カタログ・ロール
-
dcat_syncdcat_syncロールには、DBMS_DCATパッケージを使用するために必要なすべての権限があります。APIを使用してデータ・カタログをナビゲートし、同期を実行できるようにするには、このロールが必要です。
必要な資格証明およびIAMポリシー
このトピックでは、Autonomous AI Databaseユーザーにデータ・カタログの管理およびオブジェクト・ストレージからの読取り権限を付与するために必要なOracle Cloud Infrastructure Identity and Access Management (IAM)ユーザー資格証明およびポリシーについて説明します。
OCIデータ・カタログの資格証明およびポリシーの要件
-
データ・カタログ・インスタンスを管理する権限を持つ資格証明オブジェクトが必要です。OCIネイティブ認証またはリソース・プリンシパルの資格証明を含む資格証明オブジェクトがサポートされています。認証トークン・ユーザー・プリンシパルに基づく資格証明オブジェクトはサポートされていません。
資格証明の管理の詳細は、「アクセス管理用のDBMS_CLOUD」を参照してください。
OCIネイティブ認証の例については、例: OCIネイティブ認証資格証明オブジェクトの作成およびAutonomous AI DatabaseでOCIネイティブ認証を使用したオブジェクト・ストレージへのアクセスがサポートされるようになりましたを参照してください。
リソース・プリンシパルの使用例は、例: Autonomous AI Databaseリソース・プリンシパルの使用およびリソース・プリンシパルを使用したAutonomous AI DatabaseからのOracle Cloud Infrastructureリソースへのアクセスを参照してください。
-
Autonomous AI Databaseがデータ・カタログ・ネームスペースにカスタム・プロパティを追加するには、データ・カタログの管理権限が必要です。これらの権限により、スキーマ名、表名、列名などをオーバーライドできます。
データ・カタログの権限の詳細は、各API操作に必要な権限を参照してください。
-
Autonomous AI Databaseがデータ・ファイルを問い合せるには、バケットに対する読取りオブジェクト・ストレージ権限が必要です。
Oracle Object Storageポリシーの例の詳細は、ポリシーの例を参照してください。
AWS Glueデータカタログの資格およびポリシー要件
Autonomous AI Databaseユーザーに、Amazon Web Services (AWS) Glue Data Catalogにアクセスし、S3オブジェクト・ストレージから読み取る権限を付与するには、次のユーザー資格証明およびポリシーが必要です:
-
AWS Glueデータ・カタログにアクセスする権限を持つ資格証明オブジェクトが必要です。資格証明の管理の詳細は、「アクセス管理用のDBMS_CLOUD」を参照してください。
AWS Glueデータカタログにアクセスするには、glue:GetDatabases、glue:GetTables、glue:GetTableの各権限が必要です。
さらに、基礎となるS3オブジェクトを指す解決可能なHTTPS URLを生成するには、同期中に権限s3:GetBucketLocationが必要です。
-
Autonomous AI Databaseがデータ・ファイルを問い合せるには、S3に格納されているファイルにアクセスする権限を持つ資格証明オブジェクトが必要です。
-
AWS資格証明がサポートされています。AWS Amazon Resource Name (ARN)資格証明はサポートされていません。
例: OCIネイティブ認証資格証明オブジェクトの作成
この例では、データ・カタログまたはオブジェクト・ストア資格証明オブジェクトの作成時に使用できるOCIネイティブ認証資格証明を作成します。詳細は、それぞれDBMS_DCAT SET_DATA_CATALOG_CREDENTIALプロシージャおよびDBMS_DCAT SET_OBJECT_STORE_CREDENTIALプロシージャを参照してください。
OCIネイティブ認証では、DBMS_CLOUD.CREATE_CREDENTIALプロシージャにパラメータcredential_name、user_ocid、tenancy_ocid、private_keyおよびfingerprintが含まれています。このプロシージャの詳細は、「DBMS_CLOUD CREATE_CREDENTIALプロシージャ」を参照してください。
credential_nameは、資格証明オブジェクトの名前です。The user_ocid and tenancy_ocid parameters correspond to the user’s and tenancy’s OCIDs respectively.
private_keyパラメータは、生成された秘密キーをPEM形式で指定します。パスフレーズ付きで生成された秘密キーはサポートされていません。したがって、パスフレーズなしで鍵を生成する必要があります。パスフレーズなしで秘密キーを作成する方法の詳細は、「API署名キーの生成方法」を参照してください。また、このパラメータに指定する秘密キーには、ヘッダーまたはフッターなしのキー自体のみが含まれている必要があります(例: '—BEGIN RSA PRIVATE KEY—'、'—END RSA PRIVATE KEY— —')。
fingerprintパラメータは、公開キーをコンソールにアップロードした後、またはOpenSSLコマンドを使用して取得するフィンガープリントを指定します。フィンガープリントの取得の詳細は、公開キーのアップロード方法およびキーのフィンガープリントの取得方法を参照してください。
必要な情報がすべて収集され、秘密キーが生成されると、次のCREATE_CREDENTIALプロシージャを実行する準備が整います。
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL (
credential_name => 'OCI_NATIVE_CRED',
user_ocid => 'ocid
1.user.oc1..aaaaaaaatfn77fe3fxux3o5lego7glqjejrzjsqsrs64f4jsjrhbsk5qzndq',
tenancy_ocid => 'ocid1.tenancy.oc1..aaaaaaaapwkfqz3upqklvmelbm3j77nn3y7uqmlsod75rea5zmtmbl574ve6a',
private_key => 'MIIEogIBAAKCAQEA...t9SH7Zx7a5iV7QZJS5WeFLMUEv+YbYAjnXK+dOnPQtkhOblQwCEY3Hsblj7Xz7o=',
fingerprint => '4f:0c:d6:b7:f2:43:3c:08:df:62:e3:b2:27:2e:3c:7a');
END;
/資格証明オブジェクトを作成すると、dba_credentials表に表示されます。
SELECT owner, credential_name
FROM dba_credentials
WHERE credential_name LIKE '%NATIVE%';
OWNER CREDENTIAL_NAME
----- ---------------
ADMIN OCI_NATIVE_CRED例: Autonomous AI Database Resource Principalの使用
この例では、適切なリソース・メンバーを含む動的グループが作成され、動的グループにはデータ・カタログを管理する権限が付与され、動的グループにはオブジェクト・ストレージからの読取り権限が付与されます。
-
adb-grp-1という名前の動的グループを作成します。OCIDocid1.autonomousdatabase.oc1.iad.abuwcljr...fjkfeをリソース・メンバーとするAutonomous AI Databaseインスタンスを含む一致ルールをadb-grp-1に追加します。動的グループ一致ルール:
resource.id = 'ocid1.autonomousdatabase.oc1.iad.abuwcljr...fjkfe' -
mycompartmentコンパートメントのデータ・カタログ・インスタンスへのフル・アクセス権をadb-grp-1動的グループに付与するポリシーを定義します。allow dynamic-group adb-grp-1 to manage data-catalog-family in compartment mycompartment -
adb-grp-1動的グループがmycompartmentという名前のコンパートメント内の任意のバケットを読み取ることを許可するポリシーを定義します。allow dynamic-group adb-grp-1 to read objects in compartment mycompartment
例: ユーザー・プリンシパルの使用
この例では、user1はグループadb-adminsのメンバーです。このグループのすべてのメンバーには、mycompartment内のすべてのデータ・カタログを管理し、mycompartmentのオブジェクト・ストアから読み取る権限が付与されます。
-
adb-adminsのメンバーであるユーザーが、mycompartment内のすべてのデータ・カタログを管理できるようにします。allow group adb-admins to manage data-catalog-family in compartment mycompartment -
adb-adminsのメンバーであるユーザーが、mycompartment内の任意のバケット内の任意のオブジェクトを読み取ることができます。allow group adb-admins to read objects in compartment mycompartment
接続管理サブプログラムの要約
この表は、データ・カタログ接続の作成、問合せおよび削除に使用されるDBMS_DCATパッケージ・プロシージャを示しています。
| サブプログラム | 摘要 |
|---|---|
| SET_DATA_CATALOG_CONNプロシージャ | 指定されたデータ・カタログへの接続の作成 |
| SET_DATA_CATALOG_CREDENTIALプロシージャ | データ・カタログへの特定の接続で使用されるデータ・カタログ・アクセス資格証明の設定 |
| SET_OBJECT_STORE_CREDENTIALプロシージャ | オブジェクト・ストアにアクセスするために指定された一意の接続識別子によって使用される資格証明を設定します |
| UNSET_DATA_CATALOG_CONNプロシージャ | 既存のデータ・カタログ接続の削除 |
SET_DATA_CATALOG_CREDENTIALプロシージャ
このプロシージャは、データ・カタログへの特定の接続で使用されるデータ・カタログ・アクセス資格証明を設定します。
構文
PROCEDURE DBMS_DCAT.SET_DATA_CATALOG_CREDENTIAL(
credential_name VARCHAR2(128) DEFAULT NULL,
dcat_con_id VARCHAR2 DEFAULT NULL
);パラメータ
| パラメータ | 摘要 |
|---|---|
credential_name |
(オプション)データ・カタログへのアクセスに使用される資格証明。 |
dcat_con_id |
一意のデータ・カタログ接続識別子。この資格証明は、dcat_con_idで識別される接続に使用されます。デフォルトはNullです。 |
使用法
この資格証明には、データ・カタログの管理権限が必要です。データ・カタログ・ポリシーを参照してください。デフォルトはリソース・プリンシパルです。ポリシーおよびロールの構成によるクラウド・リソースへのアクセスを参照してください。
SET_OBJECT_STORE_CREDENTIALプロシージャ
このプロシージャは、オブジェクト・ストアにアクセスするために指定された一意の接続識別子によって使用される資格証明を設定します。オブジェクト・ストア・アクセス資格証明を変更すると、新しい資格証明を使用するように既存のすべての同期表が変更されます。
構文
PROCEDURE DBMS_DCAT.SET_OBJECT_STORE_CREDENTIAL(
credential_name VARCHAR2(128),
dcat_con_id IN VARCHAR2 DEFAULT NULL
);パラメータ
| パラメータ | 摘要 |
|---|---|
credential_name |
オブジェクト・ストアにアクセスするために外部表で使用される資格証明。 |
dcat_con_id |
一意のデータ・カタログ接続識別子。デフォルト値はNULLです。 |
SET_DATA_CATALOG_CONNプロシージャ
このプロシージャは、指定されたデータ・カタログへの接続を作成します。メタデータとデータ・カタログを同期するには、接続が必要です。自律型AIデータベース・インスタンスは、複数のデータ・カタログ・インスタンスに接続でき、OCIデータ・カタログ、AWS Glueデータ・カタログおよびApache Iceberg RESTカタログへの接続をサポートしています。
構文
PROCEDURE DBMS_DCAT.SET_DATA_CATALOG_CONN (
region VARCHAR2 DEFAULT NULL,
endpoint VARCHAR2 DEFAULT NULL,
catalog_id VARCHAR2 DEFAULT NULL,
dcat_con_id VARCHAR2 DEFAULT NULL,
catalog_type VARCHAR2 DEFAULT NULL,
token_endpoint VARCHAR2 DEFAULT Null
);パラメータ
| パラメータ | 摘要 |
|---|---|
region |
「データ・カタログ」リージョン。endpointが指定されている場合、regionはオプションです。endpointとregionの両方が指定されている場合は、endpointが優先されます。デフォルトはNULLです。 |
endpoint |
データ・カタログ・エンドポイント。regionが指定されている場合、endpointはオプションです。endpointとregionの両方が指定されている場合は、endpointが優先されます。デフォルトはNULLです。 |
catalog_id |
データ・カタログ・インスタンスの一意のOracle Cloud Identifier (OCID)。AWS Glue Data Catalogsに接続する場合、catalog_idはオプションです。 |
dcat_con_id |
一意のデータ・カタログ接続識別子。この識別子は、複数のデータ・カタログに接続する場合に必要であり、1つのみに接続する場合はオプションです。後続のコールまたはビューの問合せ時に、データ・カタログ接続を参照するために使用されます。識別子が指定されていない場合、このプロシージャはNULL接続識別子を生成します。dcat_con_idには、次の制限が適用されます。
|
catalog_type |
接続するデータ・カタログのタイプ。指定できる値:
|
token_endpoint |
OAuth認証のアクセス・トークン・エンドポイント。デフォルトはNULLです。 |
使用法
このプロシージャをコールする必要があるのは、接続を設定するために1回のみです。接続プロセスの一環として、Autonomous AI Databaseはカスタム・プロパティをデータ・カタログに追加します。これらのカスタム・プロパティには、データ・カタログ・ユーザーがアクセスでき、デフォルト名(スキーマ、表および列の場合)および列データ型をオーバーライドできます。
接続を作成する前に、資格証明を作成して設定する必要があります。接続プロセスの詳細は、OCIデータ・カタログのデータ・カタログを使用した一般的なワークフローおよびAWS Glueデータ・カタログのAWS Glueデータ・カタログを使用した問合せのユーザー・ワークフローを参照してください。
例: 既知のOCIDとの接続
この例では、Autonomous AI Databaseは、uk-london-1リージョンのデータ・カタログに接続しています。catalog_idパラメータは、データ・カタログ・インスタンスにOracle Cloud Identifier (ocid)を使用します。データ・カタログのタイプは、AWS Glue Data CatalogまたはOCI Data Catalogによって自動的に決定されます。
BEGIN
DBMS_DCAT.SET_DATA_CATALOG_CONN(
region=>'uk-london-1',
catalog_id=>'ocid1.datacatalog.oc1.uk-london-1...');
END;
/例: AWS Glueデータカタログへの接続
接続とは、Autonomous AI DatabaseインスタンスとAWS Glue Data Catalogの間の関連付けです。接続に成功すると、Autonomous AI DatabaseインスタンスはAWS Glueと同期できます。各AWSアカウントには、リージョンごとに1つのAWS Glueデータカタログがあり、各カタログには、各リージョンに対応するサービスエンドポイントを使用してアクセスできます。Autonomous AI Databaseインスタンスは、API DBMS_DCAT.SET_DATA_CATALOG_CONNを呼び出して、カタログが存在するリージョンのエンドポイントを指定することで、AWS Glue Data Catalogに関連付けることができます。
AWS Glueエンドポイントおよび割当て制限を参照してください。
この例では、Autonomous AI Databaseは、uk-london-1リージョンのAWS Glue Data Catalogに接続しています。これはAWS Glueデータ・カタログ接続であるため、catalog_idパラメータは必要ありません。
BEGIN
DBMS_DCAT.SET_DATA_CATALOG_CONN(
region=>'uk-london-1',
catalog_type=>'AWS_GLUE'
END;
/例: データブリックUnity Iceberg RESTカタログへの接続
この例では、Autonomous AI Databaseは、(長期)個人アクセス・トークンを使用してDatabricks Unity Iceberg RESTカタログに接続しています。
DBMS_CLOUD.create_credential('MY_DATABRICKS_CRED','username', '<personal access token>');
DBMS_DCAT.set_data_catalog_credential(dcat_con_id=>'ICEBERG_CATALOG',credential_name=>'MY_DATABRICKS_CRED');
DBMS_DCAT.set_object_store_credential(dcat_con_id=>'ICEBERG_CATALOG',credential_name=>'SOMECRED');
DBMS_DCAT.set_data_catalog_conn (
dcat_con_id => 'ICEBERG_CATALOG',
catalog_type => 'ICEBERG_UNITY',
endpoint => 'https://adb-...azuredatabricks.net/api/2.1/unity-catalog/iceberg/v1/');この例では、Autonomous AI Databaseは、OAuthを使用してサービス・プリンシパルを持つDatabricks Unity Iceberg RESTカタログに接続しています。
DBMS_CLOUD.create_credential('MY_DATABRICKS_SP_CRED','<client id for the service principal>', '<client secret for the service principal>');
DBMS_DCAT.set_data_catalog_credential(dcat_con_id=>'ICEBERG_CATALOG',credential_name=>'MY_DATABRICKS_SP_CRED');
DBMS_DCAT.set_object_store_credential(dcat_con_id=>'ICEBERG_CATALOG',credential_name=>'MY_OS_CRED');
DBMS_DCAT.set_data_catalog_conn (
dcat_con_id => 'ICEBERG_CATALOG',
catalog_type => 'ICEBERG_UNITY',
endpoint => 'https://adb-...azuredatabricks.net/api/2.1/unity-catalog/iceberg/v1',
token_endpoint => 'https://adb-...azuredatabricks.net/oidc/v1/token');例: Apache Polaris Iceberg RESTカタログへの接続
この例では、Autonomous AI Databaseは、OAuthを使用してApache Polaris Iceberg RESTカタログに接続しています。
DBMS_CLOUD.create_credential('MY_POLARIS_CRED','<client id>', '<client secret>');
DBMS_DCAT.set_data_catalog_credential(dcat_con_id=>'ICEBERG_CATALOG',credential_name=>'MY_POLARIS_CRED');
DBMS_DCAT.set_object_store_credential(dcat_con_id=>'ICEBERG_CATALOG',credential_name=>'SOMECRED');
DBMS_DCAT.set_data_catalog_conn (
dcat_con_id => 'ICEBERG_CATALOG',
catalog_type => 'ICEBERG_POLARIS',
endpoint => 'https://dev-iceberg.subnet...vcn...oraclevcn.com/api/catalog/v1/quickstart_catalog',
token_endpoint => 'https://dev-iceberg.subnet...vcn...oraclevcn.com/api/catalog/v1/oauth/tokens');UNSET_DATA_CATALOG_CONNプロシージャ
このプロシージャは、既存のデータ・カタログ接続を削除します。
構文
ノート
ノート:このプロシージャを起動すると、以前の同期の一部として作成されたすべての保護されたスキーマおよび外部表が削除されます。データ・カタログのメタデータには影響しません。
PROCEDURE DBMS_DCAT.UNSET_DATA_CATALOG_CONN (
dcat_con_id IN VARCHAR2 DEFAULT NULL
);パラメータ
| パラメータ | 摘要 |
|---|---|
dcat_con_id |
一意のデータ・カタログ接続識別子。デフォルトはNullです。 |
同期サブプログラムの要約
同期の実行、同期ジョブの作成と削除、および同期スキーマの削除は、この表に示す手順で実行できます。
ノート
ノート: 2022年4月4日に、sync_optionおよびgrant_readパラメータがDBMS_DCAT.RUN_SYNCプロシージャに追加されました。その日付より前に作成されたスケジュール済同期ジョブのパフォーマンスが正しいことを確認するには、スケジュール済同期ジョブを削除して再作成する必要があります。DBMS_DCAT.DROP_SYNC_JOBプロシージャおよびDBMS_DCAT.CREATE_SYNC_JOBプロシージャを参照してください。
| サブプログラム | 摘要 |
|---|---|
| CREATE_SYNC_JOBプロシージャ | RUN_SYNCを定期的に起動するスケジューラ・ジョブの作成 |
| DROP_SYNC_JOBプロシージャ | 指定された一意の接続識別子の既存の同期ジョブを削除します |
| DROP_SYNCED_SCHEMASプロシージャ | 指定された一意の接続識別子について、以前に同期されたすべてのスキーマを削除します |
| RUN_SYNCプロシージャ | 同期操作の実行 |
RUN_SYNCプロシージャ
このプロシージャは同期操作を実行し、同期のエントリ・ポイントです。入力として、選択したデータ・カタログ・アセット、フォルダおよびエンティティのリストを取得し、外部表を作成、削除および変更してマテリアライズします。
sync_optionパラメータでは、RUN_SYNCプロシージャが実行する操作(SYNC、DELETEまたはREPLACE)を指定します。この操作は、synced_objectsパラメータのスコープ内のエンティティに対して実行されます。
RUN_SYNCプロシージャをコールするたびに、一意のoperation_idが返され、これを使用してUSER_LOAD_OPERATIONSビューを問い合せて同期のステータスおよび対応するlog_tableに関する情報を取得できます。DBMS_DCAT$SYNC_LOGビューを問い合せると、現行のユーザーが実行した最後の同期操作のlog_tableに簡単にアクセスできます。詳細は、DBMS_DCAT$SYNC_LOGビューおよびロードの監視およびトラブルシューティングを参照してください。
ノート
ノート: 2022年4月4日に、sync_optionおよびgrant_readパラメータがRUN_SYNCプロシージャに追加されました。その日付より前に作成されたスケジュール済同期ジョブのパフォーマンスが正しいことを確認するには、スケジュール済同期ジョブを削除して再作成する必要があります。DBMS_DCAT.DROP_SYNC_JOBプロシージャおよびDBMS_DCAT.CREATE_SYNC_JOBプロシージャを参照してください。
パーティション化された論理エンティティまたはグルー表の同期
RUN_SYNCプロシージャは、次の3つすべてに該当する場合に、論理エンティティ表またはGlue表ごとにパーティション化された外部表を作成します。
-
OCIデータ・カタログ論理エンティティまたはGlue表には、1つ以上のパーティション属性があります。
-
OCIデータ・カタログの場合、論理エンティティは接頭辞ベースのファイル名パターンから導出されます。正規表現ベースのパターンから導出されたパーティション化された論理エンティティはサポートされていません。
-
OCIデータ・カタログの場合、論理エンティティは、ハイブ・スタイルまたはハイブ以外のフォルダ形式に従ったパーティション・データに基づきます。オブジェクト名を使用した非ハイブ・スタイル形式に従ったパーティション・データに基づく論理エンティティはサポートされていません。
-
例1。Hiveスタイルのパーティション化形式に接頭辞ベースのファイル名パターンが付いた、収集されたオブジェクトに基づく論理エンティティ。
次のオブジェクトについて考えてみます。
Bucket: MYBUCKET cluster1/db1.db/sales/country=USA/year=2020/month=01/sales1.csv cluster1/db1.db/sales/country=USA/year=2020/month=01/sales2.csv cluster1/db1.db/sales/country=USA/year=2020/month=02/sales1.csv開始フォルダ接頭辞が
cluster1/db1.dbのファイル名パターンを使用してバケットを収集すると、country、yearおよびmonthの3つのパーティション属性を持つSALESという名前の論理エンティティが生成されます。パーティション化属性の型はPartitionで、非パーティション属性の型はPrimitiveです。 -
例2。接頭辞ベースのファイル名パターンを持つHive以外のスタイル・パーティション化形式に従った、収集されたオブジェクトに基づく論理エンティティ。
次のオブジェクトについて考えてみます。
Bucket: MYBUCKET cluster2/db2.db/sales/USA/2020/01/sales1.csv cluster2/db2.db/sales/USA/2020/01/sales2.csv cluster2/db2.db/sales/USA/2020/02/sales1.csv開始フォルダ接頭辞が
cluster2/db2.dbのファイル名パターンを使用してバケットを収集すると、name0、name1およびname2の3つのパーティション属性を持つSALESという名前の論理エンティティが生成されます。生成された論理エンティティと例1の唯一の違いは、パーティション化された属性の名前が自動生成され、例1ではURLから抽出される点です(それぞれcountry、yearおよびmonth)。
-
パーティション化された論理エンティティを同期する完全なエンドツーエンドの例は、例: パーティション化されたデータ・シナリオを参照してください。
パーティション化された論理エンティティ/グルー表の増分同期
RUN_SYNCプロシージャをコールするたびに、データベースと同期するOCIデータ・カタログ論理エンティティまたはAWS Glue表のセットが指定されます。論理エンティティ表またはGlue表が2つのRUN_SYNCコールに存在する場合、2回目のコールは既存の外部表を保持し、場合によっては変更します。次の表に、論理エンティティまたはGlue表がパーティション化されている場合にサポートされる論理エンティティまたはGlue表の変更を示します。
| 論理エンティティまたはグルー表の変更 | アクション |
|---|---|
| パーティションの追加、削除または更新 | データ・カタログで変更が検出されたかどうかに関係なく、外部パーティション表のすべてのパーティションが更新されます。 |
| パーティション化された属性の追加 | 外部パーティション表へのパーティション列の追加はサポートされていません。例外が発生しています。 |
| パーティション属性の削除 | 外部パーティション表からのパーティション列の削除はサポートされていません。例外が発生しています。 |
| パーティション化された属性の名前変更 | 外部パーティション表のパーティション列名の変更はサポートされていません。例外が発生しています。 |
構文
PROCEDURE DBMS_DCAT.RUN_SYNC (
synced_objects IN CLOB,
sync_option IN VARCHAR2 DEFAULT 'SYNC',
error_semantics IN VARCHAR2 DEFAULT 'SKIP_ERRORS',
log_level IN VARCHAR2 DEFAULT 'INFO',
grant_read IN VARCHAR2 DEFAULT NULL,
dcat_con_id IN VARCHAR2 DEFAULT NULL
);
PROCEDURE DBMS_DCAT.RUN_SYNC (
synced_objects IN CLOB,
sync_option IN VARCHAR2 DEFAULT 'SYNC',
error_semantics IN VARCHAR2 DEFAULT 'SKIP_ERRORS',
log_level IN VARCHAR2 DEFAULT 'INFO',
grant_read IN VARCHAR2 DEFAULT NULL,
operation_id OUT NOCOPY NUMBER,
dcat_con_id IN VARCHAR2 DEFAULT NULL
);パラメータ
| パラメータ | 摘要 |
|---|---|
synced_objects |
このパラメータは、同期するデータ・カタログ・オブジェクトを指定するJSONドキュメントです。 OCIデータ・カタログの場合、JSONドキュメントでは、データ・アセット、フォルダ(オブジェクト・ストア・バケット)または論理エンティティなど、複数の粒度のエンティティのセットを指定します。これには、アセット・オブジェクトの配列である AWS Glue Data Catalogsの場合、JSONドキュメントでは、データベース、表など、複数の粒度の表のリストを指定します。ドキュメントはデータベースのリストを指定します。ユーザーは、データベース内の個々の表を指定することで、同期する表のセットを制限できます。 Icebergデータ・カタログの場合、JSONドキュメントではネームスペースおよび表を指定します。 |
sync_option |
(オプション)次の3つのオプションがあります。
|
error_semantics |
(オプション)このパラメータは、エラー動作を指定します。SKIP_ERRORSに設定すると、個々のエンティティでエラーが発生しても同期は続行されます。STOP_ON_ERRORに設定すると、最初に発生したエラーでプロシージャが失敗します。デフォルトはSKIP_ERRORSです。 |
log_level |
(オプション)このパラメータでは、ロギング詳細のレベルの増加に次の値を指定します(OFF、FATAL、ERROR、WARN、INFO、DEBUG、TRACE、ALL)。デフォルトはINFOです。 |
grant_read |
(オプション)このパラメータは、このRUN_SYNCの起動によって処理されるすべての外部表に対するREAD権限が自動的に付与されるユーザー/ロールのリストです。grant_readリスト内のすべてのユーザー/ロールには、synced_objectsパラメータで指定されたエンティティに対応する新規または既存のすべての外部表に対するREAD権限が付与されます。RUN_SYNCプロシージャは、同期された外部表に対してすでに付与されている権限を保持します。 |
operation_id |
(オプション)このパラメータは、同期に対応するエントリを ノート: |
dcat_con_id |
このパラメータは、データ・カタログへの接続の作成時に指定された一意のデータ・カタログ接続識別子です。「DBMS_DCAT SET_DATA_CATALOG_CONNプロシージャ」を参照してください。このパラメータは、同期に使用される接続を識別し、導出されたスキーマ名の一部になります。スキーマ名の導出方法の詳細は、「同期マッピング」を参照してください。パラメータのデフォルトはNULLです。 |
例: すべてのOCIデータ・カタログ・エンティティの同期
次の例では、すべてのデータ・カタログ・エンティティが同期されます。
EXEC DBMS_DCAT.RUN_SYNC(synced_objects=>'{"asset_list":["*"]}');例: すべてのOCIデータ・カタログ・データ・アセットを同期するためのsynced_objectsパラメータ
次に、データ・カタログ内のすべての(オブジェクト・ストレージ)データ・アセットを同期するためのsynced_objectsパラメータの例を示します。
{"asset_list" : ["*"]}例: 特定のOCIデータ・カタログ・データ・アセットを同期するためのsynced_objectsパラメータ
次に、2つのデータ・アセットを同期するためのsynced_objectsパラメータの例を示します。
{"asset_list": [
{
"asset_id":"...-9e2e7f78fd5f"
},
{
"asset_id":"...-9e2e7f74523"
}
]}例: データ・アセット内の特定のOCIデータ・カタログ・エンティティを同期するためのsynced_objectsパラメータ
次に、データ・アセット内の2つのエンティティを同期するためのsynced_objectsパラメータの例を示します。
{"asset_list": [
{
"asset_id":"...-9e2e7f78fd5f",
"folder_list":[
"f1",
"f2"
]
}
]}例: データ・アセット内の特定のOCIデータ・カタログ・フォルダおよびエンティティを同期するためのsynced_objectsパラメータ
次に、データ・アセット内の2つのフォルダと2つのエンティティを同期するためのsynced_objectsパラメータの例を示します。
{"asset_list":[
{
"asset_id":"...-9e2e7f78fd5f",
"entity_list": [
"entity1",
"entity2"
],
"folder_list": [
"f1",
"f2"
]
}
]}例: すべてのAWS Glueデータカタログデータベースを同期するためのsynced_objectsパラメータ
次に、AWS Glueデータ・カタログ内のすべてのデータベースを同期するためのsynced_objectsパラメータの例を示します。
{"database_list":["*"]}例: 2つのAWS Glueデータ・カタログ・データベースを同期するためのsynced_objectsパラメータ
次に、2つのAWS Glueデータ・カタログ・データベースを同期するためのsynced_objectsパラメータの例を示します。
{"database_list":[
{"database":"tpcdscsv"},
{"database":"tpcdsparquet"} ]}例: 3つのAWS Glueデータ・カタログ・データベースを同期するためのsynced_objectsパラメータ
次に、AWS Glueデータ・カタログ・データベースから3つの表を同期するためのsynced_objectsパラメータの例を示します。
{"database_list":[
{"database":"tpcdsparquet",
"table_list": [ "tpcdsparquet_customer",
"tpcdsparquet_item",
"tpcdsparquet_web_sales" ] } ]}例: DBMS_DCAT.run_syncを呼び出して、Icebergカタログ内のすべてのネームスペースを同期する
Icebergカタログの場合、このサンプル・コールはすべてのネームスペースを同期します。
DBMS_DCAT.run_sync(
dcat_con_id => 'MY_ICEBERG_CON',
synced_objects => '{"namespace_list" : ["*"]}',
sync_option => 'SYNC',
error_semantics => 'STOP_ON_ERROR,
log_level => 'DEBUG',
grant_read => 'DB_USER');例: DBMS_DCAT.run_syncを呼び出して、1つのIcebergネームスペースのすべての表と別のIcebergネームスペースのいくつかの表を同期します。
Icebergカタログの場合、このサンプル・コールはネームスペースwarehouseのすべての表とネームスペース["bigdata"、"tpcdsparquet"]の3つの表を同期します。
DBMS_DCAT.run_sync(
dcat_con_id => 'MY_ICEBERG_CON',
synced_objects => '{"namespace_list": [
{ "namespace": ["warehouse"] },
{ "namespace": ["bigdata", "tpcdsparquet"],
"table_list": [ "tpcdsparquet_customer",
"tpcdsparquet_item",
"tpcdsparquet_web_sales" ] } ]}',
sync_option => 'SYNC',
error_semantics => 'STOP_ON_ERROR,
log_level => 'DEBUG',
grant_read => 'DB_USER');CREATE_SYNC_JOBプロシージャ
このプロシージャは、RUN_SYNCを定期的に起動するスケジューラ・ジョブを作成します。
これは、同期するオブジェクトのセット、エラー・セマンティクス、ログ・レベルおよび繰返し間隔を入力として取ります。同期の動作の詳細は、DBMS_DCAT RUN_SYNCプロシージャを参照してください。
1つの同期ジョブのみが存在できます。forceパラメータがTRUEに設定されていないかぎり、別のジョブがすでに指定されている場合、CREATE_SYNC_JOBプロシージャは失敗します。forceをTRUEに設定すると、前のジョブが削除されます。
スケジューラ・ジョブが別の同期の進行中に実行しようとすると、スケジューラ・ジョブは失敗します。
ノート
ノート: 2022年4月4日に、sync_optionおよびgrant_readパラメータがRUN_SYNCプロシージャに追加されました。その日付より前に作成されたスケジュール済同期ジョブのパフォーマンスが正しいことを確認するには、スケジュール済同期ジョブを削除して再作成する必要があります。DBMS_DCAT.DROP_SYNC_JOBプロシージャおよびDBMS_DCAT.CREATE_SYNC_JOBプロシージャを参照してください。
構文
PROCEDURE DBMS_DCAT.CREATE_SYNC_JOB (
synced_objects IN CLOB,
error_semantics IN VARCHAR2 DEFAULT 'SKIP_ERRORS',
log_level IN VARCHAR2 DEFAULT 'INFO',
repeat_interval IN VARCHAR2,
force IN VARCHAR2 DEFAULT 'FALSE',
grant_read IN VARCHAR2 DEFAULT NULL,
sync_option IN VARCHAR2 DEFAULT 'SYNC',
dcat_con_id IN VARCHAR2 DEFAULT NULL
);パラメータ
| パラメータ | 摘要 |
|---|---|
synced_objects |
RUN_SYNCプロシージャで説明されているように、同期するオブジェクトを指定するJSONオブジェクト。「RUN_SYNCプロシージャ」を参照してください。 |
error_semantics |
(オプション)RUN_SYNCに指定されているエラー動作。デフォルトはSKIP_ERRORSです。 |
log_level |
(オプション)RUN_SYNCに指定されているロギング・レベル。デフォルトはINFOです。 |
repeat_interval |
DBMS_SCHEDULER.CREATE_JOBプロシージャの繰返し間隔パラメータと同じセマンティクスを持つ、ジョブの繰返し間隔。repeat_intervalの詳細は、「ジョブの作成の概要」を参照してください。 |
force |
(オプション) TRUEの場合、既存の同期ジョブが最初に削除されます。FALSEの場合、同期ジョブがすでに存在すると、CREATE_SYNC_JOBプロシージャは失敗します。デフォルトはFALSEです。 |
grant_read |
(オプション)プロシージャRUN_SYNCの説明に従って、同期された外部表でREADを付与されるユーザー/ロールのリスト。「DBMS_DCAT.RUN_SYNCプロシージャ」を参照してください。 |
sync_option |
(オプション)プロシージャRUN_SYNCで説明されているように、前のRUN_SYNC操作によってすでに同期されているエンティティに対する動作。「DBMS_DCAT.RUN_SYNCプロシージャ」を参照してください。 |
dcat_con_id |
このパラメータは、データ・カタログへの接続の作成時に指定された一意のデータ・カタログ接続識別子です。「DBMS_DCAT SET_DATA_CATALOG_CONNプロシージャ」を参照してください。このパラメータは、同期に使用される接続を識別し、導出されたスキーマ名の一部になります。スキーマ名の導出方法の詳細は、「同期マッピング」を参照してください。パラメータのデフォルトはNULLです。 |
DROP_SYNC_JOBプロシージャ
このプロシージャは、指定された一意の接続識別子の既存の同期ジョブを削除します。
構文
PROCEDURE DBMS_DCAT.DROP_SYNC_JOB (
dcat_con_id IN VARCHAR2 DEFAULT NULL
);パラメータ
| パラメータ | 摘要 |
|---|---|
dcat_con_id |
一意のデータ・カタログ接続識別子。デフォルト値はNULLです。 |
DROP_SYNCED_SCHEMASプロシージャ
このプロシージャは、指定された一意の接続識別子について、以前に同期されたすべてのスキーマを削除します。
構文
PROCEDURE DBMS_DCAT.DROP_SYNCED_SCHEMAS (
dcat_con_id IN VARCHAR2 DEFAULT NULL
);パラメータ
| パラメータ | 摘要 |
|---|---|
dcat_con_id |
一意のデータ・カタログ接続識別子。デフォルト値はNULLです。 |
クイック・スタート
この項では、データベース内のOCIおよびAWS Glueクラウド・データ・ソースからメタデータを同期およびアクセスするために、Oracle Data Catalogのセキュアなクラウド資格証明および接続を構成するプロセスについて説明します。
OCI
次の手順では、OCI認証資格証明を設定し、これらの資格証明を使用するようにOracleデータ・カタログ接続を構成し、メタデータ同期操作を開始して、問合せおよび消費のために外部表を介してクラウド・データ・カタログ・メタデータをデータベース環境内からアクセスできるようにします。
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL(
credential_name => 'OCI_NATIVE_CRED',
user_ocid => 'ocid1.user....',
tenancy_ocid => 'ocid1.tenancy....',
private_key => '...PEM_WITHOUT_HEADERS...',
fingerprint => '4f:0c:d6:...:7a'
);
END;
/
BEGIN
DBMS_DCAT.SET_DATA_CATALOG_CONN(region => 'us-ashburn-1');
DBMS_DCAT.SET_DATA_CATALOG_CREDENTIAL(dcat_con_id => NULL, credential_name => 'OCI_NATIVE_CRED');
DBMS_DCAT.SET_OBJECT_STORE_CREDENTIAL(dcat_con_id => NULL, credential_name => 'OCI_NATIVE_CRED');
END;
/
DECLARE
op NUMBER;
BEGIN
DBMS_DCAT.RUN_SYNC(
synced_objects => q'{"asset_list":["*"]}',
sync_option => 'SYNC',
error_semantics => 'STOP_ON_ERROR',
log_level => 'INFO',
grant_read => 'DATA_CONSUMERS',
operation_id => op
);
END;
/AWS Glue
次の手順では、資格証明を使用してAWSサービスで安全に接続および認証するOracle Databaseを準備し、AWS Glueカタログへのデータ・カタログ接続を設定し、選択したメタデータをAWS GlueからOracleにインポートして環境内で使用します。
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL(
credential_name => 'AWS_CRED',
username => '<aws_access_key_id>',
password => '<aws_secret_access_key>');
END;
/
BEGIN
DBMS_DCAT.SET_DATA_CATALOG_CONN(region => 'eu-west-2', catalog_type => 'AWS_GLUE');
DBMS_DCAT.SET_DATA_CATALOG_CREDENTIAL(dcat_con_id => NULL, credential_name => 'AWS_CRED');
DBMS_DCAT.SET_OBJECT_STORE_CREDENTIAL(dcat_con_id => NULL, credential_name => 'AWS_CRED');
END;
/
BEGIN
DBMS_DCAT.RUN_SYNC(
synced_objects => q'{
"database_list":[
{"database":"tpcdsparquet",
"table_list":["customer","item","web_sales"]}
]}',
grant_read => 'DATA_CONSUMERS'
);
END;
/データ・カタログ・ビューの要約
Autonomous AI Databaseとのデータ・カタログ統合により、多数の表およびビューが提供されます。
次の表およびビューは、次のことを理解するのに役立ちます。
-
使用可能なデータ・カタログ・アセット。データベース、オブジェクト・ストアなど、あらゆるタイプのデータ・カタログ・アセットに関する情報を取得します。
-
Autonomous AI Databaseと同期されたデータ・カタログのオブジェクト・ストレージ・アセットおよびエンティティに関する情報。これには、データ・カタログ・アイテム(アセット、フォルダおよびエンティティ)がAutonomous AI Databaseオブジェクト(スキーマおよび外部表)にどのようにマップされるかの詳細が含まれます。
-
メタデータ同期実行。同期中に発生した問題など、同期ジョブの詳細を確認します。
この表は、DBMS_DCATパッケージによって提供される表およびビューを示しています。
| 表示 | 摘要 |
|---|---|
| ALL_CLOUD_CATALOG_DATABASESビュー | OCIデータ・カタログ・データ・アセットおよびAWS Glueデータ・カタログ・データベースに関する情報を表示します |
| ALL_CLOUD_CATALOG_TABLESビュー | OCIデータ・カタログのデータ・エンティティおよびAWS Glueデータ・カタログの表に関する情報を表示するために使用されます |
| ALL_DCAT_ASSETSビュー | このデータベースにアクセスする権限があるデータ・カタログ・アセットをリストします |
| ALL_DCAT_ATTRIBUTESビュー | このデータベースにアクセスする権限があるデータ・カタログ属性をリストします |
| ALL_DCAT_CONNECTIONSビュー | このインスタンスに接続されたデータ・カタログに関する情報を含むビュー |
| ALL_DCAT_ENTITIESビュー | このデータベースにアクセスする権限がある論理エンティティをリストします |
| ALL_DCAT_FOLDERSビュー | 論理エンティティのデータファイルを含むオブジェクト・ストレージ・バケットのメタデータをリストします |
| ALL_DCAT_GLOBAL_ACCESSIBLE_CATALOGSビュー | すべてのリージョンでアクセス可能なすべてのカタログと、各カタログのアクセス権限のレベルをリストします |
| ALL_DCAT_LOCAL_ACCESSIBLE_CATALOGSビュー | 現在のリージョンでアクセス可能なすべてのカタログと、各カタログのアクセス権限のレベルをリストします |
| ALL_GLUE_DATABASESビュー | データ・カタログ資格証明がアクセスを許可されているAWS Glueデータ・カタログ・データベースをリストします |
| ALL_GLUE_TABLESビュー | データ・カタログ資格証明がアクセスを許可されているすべてのAWS Glueデータ・カタログ表を表示します |
| DCAT_ATTRIBUTESビュー | 外部表の列への論理エンティティ属性のマッピングのリスト |
| DCAT_ENTITIESビュー | 外部表への論理エンティティのマッピングについて説明します。 |
| DBMS_DCAT$SYNC_LOGビュー | 現在のユーザーが実行した最後の同期操作のログ表に簡単にアクセスできます。 |
ALL_CLOUD_CATALOG_DATABASESビュー
ビューALL_CLOUD_CATALOG_DATABASESを使用して、OCIデータ・カタログ・データ・アセットおよびAWS Glueデータ・カタログ・データベースに関する情報を表示します。
| 列 | 摘要 |
|---|---|
DCAT_CON_ID |
CON1 |
CATALOG_ID |
データ・カタログの一意識別子。 OCIデータ・カタログの例:
AWS Glueデータ・カタログの例:
|
NAME |
データ・アセット(OCI)/データベースの名前(AWS Glue)。 OCIデータ・カタログの例:
AWS Glueデータ・カタログの例:
|
DESCRIPTION |
データ・アセット(OCI)/データベース(AWS Glue)の説明。 OCIデータ・カタログの例:
AWS Glueデータ・カタログの例:
|
TIME_CREATED |
データ・アセット(OCI)/データベース(AWS Glue)がデータ・カタログに作成された日時。 OCIデータ・カタログの例:
AWS Glueデータ・カタログの例:
|
DETAILS |
各データ・エンティティ(OCI)/データベース(AWS Glue)に関するメタデータを含むJSONドキュメント。 OCIデータ・カタログの例:
AWS Glueデータ・カタログの例:
|
ALL_CLOUD_CATALOG_TABLESビュー
ビューALL_CLOUD_CATALOG_TABLESは、OCIデータ・カタログのデータ・エンティティおよびAWS Glueデータ・カタログの表に関する情報を表示するために使用されます。
| 列 | 摘要 |
|---|---|
DCAT_CON_ID |
データ・カタログの一意の識別子。接続ID。 OCIデータ・カタログの例: AWS Glueデータ・カタログの例: |
CATALOG_ID |
データ・カタログの一意識別子。 OCIデータ・カタログの例: AWS Glueデータ・カタログの例:
|
DATABASE_NAME |
データ・アセット(OCI)/データベースの名前(AWS Glue)。 OCIデータ・カタログの例: AWS Glueデータ・カタログの例: |
NAME |
データ・エンティティ(OCI)/表(AWS Glue)の名前。 OCIデータ・カタログの例: AWS Glueデータ・カタログの例: |
DESCRIPTION |
データ・エンティティ(OCI)/表(AWS Glue)の説明。 OCIデータ・カタログの例: AWS Glueデータ・カタログの例: |
TIME_CREATED |
データ・エンティティ(OCI)/表(AWS Glue)がデータ・カタログに作成された日時。 OCIデータ・カタログの例: AWS Glueデータ・カタログの例: |
TIME_UPDATED |
データ・エンティティ(OCI)/表(AWS Glue)に最後に変更が加えられた時刻。 OCIデータ・カタログの例: AWS Glueデータ・カタログの例: |
DETAILS |
各データ・エンティティ(OCI)/表(AWS Glue)に関するメタデータを含むJSONドキュメント OCIデータ・カタログの例:
AWS Glueデータ・カタログの例:
|
ALL_DCAT_ASSETSビュー
このデータベースにアクセスする権限があるデータ・カタログ・アセット。
| 列 | データ型 | 摘要 |
|---|---|---|
DCAT_CON_ID |
VARCHAR2 (4000) |
インスタンス内で一意の接続識別子 |
KEY |
VARCHAR2(4000) |
資産キー |
DISPLAY_NAME |
VARCHAR2(4000) |
アセット表示名 |
DESCRIPTION |
VARCHAR2(4000) |
アセットの説明 |
CATALOG_ID |
VARCHAR2(4000) |
アセットを含むデータ・カタログのOCID |
EXTERNAL_KEY |
VARCHAR2(4000) |
アセットのベース・オブジェクト・ストレージURI |
URI |
VARCHAR2(4000) |
データ・カタログAPIのアセットURI |
TIME_CREATED |
TIMESTAMP(6) WITH TIMEZONE |
データ・アセットが作成された日時 |
TYPE_KEY |
VARCHAR2(4000) |
データ・アセット・タイプのキー(現時点では、Object Storageデータ・アセットのみがサポートされています)。タイプ・キーは、'/types'データ・カタログ・エンドポイントを介して検索できます。 |
LIFECYCLE_STATE |
VARCHAR2(4000) |
データ・アセットの現在の状態。考えられるライフサイクル状態の詳細は、データ・カタログのDataAssetリファレンスで、lifecycleStateの考えられる状態のリストを参照してください。 |
ALL_DCAT_ATTRIBUTESビュー
このデータベースにアクセスする権限があるデータ・カタログ属性。
| 列 | データ型 | 摘要 |
|---|---|---|
DCAT_CON_ID |
VARCHAR2 (4000) |
インスタンス内で一意の接続識別子 |
KEY |
NUMBER |
属性キー |
DISPLAY_NAME |
VARCHAR2(4000) |
属性の表示名 |
BUSINESS_NAME |
VARCHAR2(4000) |
属性ビジネス名 |
DESCRIPTION |
VARCHAR2(4000) |
属性摘要 |
DATA_ASSET_KEY |
VARCHAR2(4000) |
データ・アセット・キー |
FOLDER_KEY |
VARCHAR2(4000) |
フォルダ・キー |
ENTITY_KEY |
VARCHAR2(4000) |
エンティティ・キー |
EXTERNAL_KEY |
VARCHAR2(4000) |
属性の一意の外部キー |
LENGTH |
NUMBER |
属性値の最大許容長 |
PRECISION |
NUMBER |
属性値の精度(通常はfloatデータ型に適用されます) |
SCALE |
NUMBER |
属性値のスケール(通常はfloatデータ型に適用されます) |
IS_NULLABLE |
NUMBER |
この属性にNULL値を割り当てることができるかどうかを識別します |
URI |
VARCHAR2(4000) |
データ・カタログAPIの属性インスタンスへのURI |
LIFECYCLE_STATE |
VARCHAR2(4000) |
属性の現在の状態。考えられるライフサイクル状態の詳細は、データ・カタログの属性リファレンスで、lifecycleStateに使用できる状態のリストを参照してください。 |
TIME_CREATED |
TIMESTAMP(6) WITH TIME ZONE |
属性が作成された日時 |
EXTERNAL_DATA_TYPE |
VARCHAR2(4000) |
外部システムに定義されている属性のデータ型 |
MIN_COLLECTION_COUNT |
NUMBER |
属性のタイプがコレクション型の場合の要素の最小数 |
MAX_COLLECTION_COUNT |
NUMBER |
属性のタイプがコレクション型の場合の要素の最大数 |
DATATYPE_ENTITY_KEY |
VARCHAR2(4000) |
この属性のデータ型を表すエンティティ・キー(この属性が複合型の場合に適用可能) |
EXTERNAL_DATATYPE_ENTITY_KEY |
VARCHAR2(4000) |
この属性のデータ型を表す外部エンティティ・キー(この属性が複合型の場合に適用可能) |
PARENT_ATTRIBUTE_KEY |
VARCHAR2(4000) |
この属性の親属性を表す属性キー(親属性が複合データ型の場合に適用可能) |
EXTERNAL_PARENT_ATTRIBUTE_KEY |
VARCHAR2(4000) |
この属性の親属性を表す外部属性キー(親属性が複合タイプの場合に適用可能) |
PATH |
VARCHAR2(4000) |
属性のフルパス |
ALL_DCAT_CONNECTIONSビュー
このインスタンスに接続されているデータ・カタログに関する情報を含むビュー。
| 列 | データ型 | 摘要 |
|---|---|---|
DCAT_CON_ID |
VARCHAR2(4000) |
インスタンス内で一意の接続識別子 |
COMPARTMENT_ID |
VARCHAR2(4000) |
データ・カタログ・インスタンスが存在するコンパートメントのOCID |
INSTANCE_ID |
VARCHAR2(4000) |
データ・カタログのインスタンスのOCID |
REGION |
VARCHAR2(4000) |
データ・カタログのインスタンスのリージョン |
ENDPOINT |
VARCHAR2(4000) |
データ・カタログのインスタンスのエンドポイント |
CREATED |
TIMESTAMP |
データ・カタログ・インスタンスが作成されたとき |
NAME |
VARCHAR2(4000) |
データ・カタログ・インスタンスの名前 |
LAST_UPDATED |
TIMESTAMP |
データ・カタログ・インスタンスへの接続の最終更新のタイムスタンプ |
LATEST_OPERATION_ID |
NUMBER |
最後の同期操作のID |
DATA_CATALOG_CREDENTIAL |
VARCHAR2(128) |
データ・カタログへのアクセスに使用される資格証明 |
OBJECT_STORE_CREDENTIAL |
VARCHAR2(128) |
オブジェクト・ストアにアクセスするために外部表ドライバによって使用される資格証明 |
ALL_DCAT_ENTITIESビュー
このデータベースにアクセスする権限があるデータ・カタログ論理エンティティ。
| 列 | データ型 | 摘要 |
|---|---|---|
DCAT_CON_ID |
VARCHAR2(4000) |
インスタンス内で一意の接続識別子 |
CATALOG_ID |
VARCHAR2(4000) |
アセットを含むデータ・カタログのOCID |
KEY |
VARCHAR2(4000) |
エンティティ・キー |
DISPLAY_NAME |
VARCHAR2(4000) |
エンティティ表示名 |
BUSINESS_NAME |
VARCHAR2(4000) |
エンティティ・ビジネス名 |
DESCRIPTION |
VARCHAR2(4000) |
論理エンティティの説明 |
DATA_ASSET_KEY |
VARCHAR2(4000) |
資産キー |
FOLDER_KEY |
VARCHAR2(4000) |
フォルダ一意キー |
FOLDER_NAME |
VARCHAR2(4000) |
フォルダ名(バケット) |
EXTERNAL_KEY |
VARCHAR2(4000) |
論理エンティティの外部キー |
PATTERN_KEY |
VARCHAR2(4000) |
論理エンティティの関連パターンのキー |
REALIZED_EXPRESSION |
VARCHAR2(4000) |
この論理エンティティのファイルの取得に使用される正規表現 |
PATH |
VARCHAR2(4000) |
論理エンティティのフルパス |
TIME_CREATED |
TIMESTAMP(6) WITH TIME ZONE |
エンティティが作成された日時 |
TIME_UPDATED |
TIMESTAMP(6) WITH TIME ZONE |
データ・エンティティに最後に変更が行われた時刻 |
UPDATED_BY_ID |
VARCHAR2(4000) |
データ・ カタログでこのオブジェクトを更新したユーザーのOCID |
URI |
VARCHAR2(4000) |
APIのエンティティ・インスタンスのURI |
LIFECYCLE_STATE |
VARCHAR2(4000) |
エンティティの現在の状態。考えられるライフサイクルの状態の詳細は、データ・カタログのエンティティ・リファレンスで、lifecycleStateの考えられる状態のリストを参照してください。 |
ALL_DCAT_FOLDERSビュー
論理エンティティのデータファイルを含むオブジェクト・ストレージ・バケットのメタデータ。
| 列 | データ型 | 摘要 |
|---|---|---|
DCAT_CON_ID |
VARCHAR2(4000) |
インスタンス内で一意の接続識別子 |
CATALOG_ID |
VARCHAR2(4000) |
アセットを含むデータ・カタログのOCID |
KEY |
VARCHAR2(4000) |
フォルダ・キー |
DISPLAY_NAME |
VARCHAR2(4000) |
フォルダ表示名 |
BUSINESS_NAME |
VARCHAR2(4000) |
フォルダ・ビジネス名 |
DESCRIPTION |
VARCHAR2(4000) |
フォルダの説明 |
DATA_ASSET_KEY |
VARCHAR2(4000) |
フォルダを含むデータ・アセットのキー |
PARENT_FOLDER_KEY |
VARCHAR2(4000) |
親フォルダのキー(現在はデータ・アセット・キー) |
PATH |
VARCHAR2(4000) |
フォルダのフルパス |
EXTERNAL_KEY |
VARCHAR2(4000) |
バケットのオブジェクト・ストレージURI |
TIME_EXTERNAL |
TIMESTAMP(6) WITH TIMEZONE |
このフォルダの最終変更タイムスタンプ |
TIME_CREATED |
TIMESTAMP(6) WITH TIMEZONE |
フォルダが作成された日時 |
URI |
VARCHAR2(4000) |
データ・カタログAPIのフォルダ・インスタンスへのURI。 |
LIFECYCLE_STATE |
VARCHAR2(4000) |
フォルダの現在の状態。考えられるライフサイクル状態の詳細は、データ・カタログのフォルダ・リファレンスで、lifecycleStateの考えられる状態のリストを参照してください。 |
ALL_DCAT_GLOBAL_ACCESSIBLE_CATALOGSビュー
このビューには、すべてのリージョンでアクセス可能なすべてのカタログが、各カタログのアクセス権限のレベルとともにリストされます。
| 列 | データ型 | 摘要 |
|---|---|---|
CATALOG_ID |
VARCHAR2(4000) |
カタログOCID |
CATALOG_NAME |
VARCHAR2(4000) |
カタログの名前 |
CATALOG_REGION |
VARCHAR2(4000) |
カタログ・リージョンの名前 |
CATALOG_SCORE |
NUMBER |
カタログ・スコアは、データ・カタログ・アクセス資格証明に対して構成された権限から計算される数値です。カタログ・スコアが高いほど、権限が大きくなるため、このカタログがこのAutonomous AI Databaseインスタンスでの使用を想定している可能性が高くなります。 |
ALL_DCAT_LOCAL_ACCESSIBLE_CATALOGSビュー
このビューには、現在のリージョンでアクセス可能なすべてのカタログが、各カタログのアクセス権限レベルとともにリストされます。
| 列 | データ型 | 摘要 |
|---|---|---|
CATALOG_ID |
VARCHAR2(4000) |
カタログOCID |
CATALOG_NAME |
VARCHAR2(4000) |
カタログの名前 |
CATALOG_SCORE |
NUMBER |
カタログ・スコアは、データ・カタログ・アクセス資格証明に対して構成された権限から計算される数値です。カタログ・スコアが高いほど、権限が大きくなるため、このカタログがこのAutonomous AI Databaseインスタンスでの使用を想定している可能性が高くなります。 |
ALL_GLUE_DATABASESビュー
データカタログの資格情報にアクセスする権限があるAWS Glueデータカタログデータベース。
| 列 | データ型 | 摘要 |
|---|---|---|
DCAT_CON_ID |
VARCHAR2(4000) |
データ・カタログ接続IDの一意識別子。 |
CATALOG_ID |
VARCHAR2(255) |
データ・カタログの一意識別子。 |
NAME |
VARCHAR2(255) |
データベースの名前。 |
DESCRIPTION |
VARCHAR2(2048) |
データベースの説明。 |
LOCATION_URI |
VARCHAR2(1024) |
データベースの場所。 |
CREATE_TIME |
TIMESTAMP |
データ・カタログにデータベースが作成された時刻。 |
PARAMETERS |
CLOB |
データベースのパラメータおよびプロパティを定義するキーと値のペアを含むJSONドキュメント。 |
TARGET_DATABASE |
VARCHAR2(4000) |
AWSでのリソース・リンクのターゲット・データベースについて説明するJSONドキュメント。 |
ALL_GLUE_TABLESビュー
このビューには、データ・カタログ資格証明がアクセスを許可されているすべてのAWS Glueデータ・カタログ表が表示されます。
| 列 | データ型 | 摘要 |
|---|---|---|
DCAT_CON_ID |
VARCHAR2(4000) |
データ・カタログ接続IDの一意識別子。 |
CATALOG_ID |
VARCHAR2(255) |
カタログ識別子 |
DATABASE_NAME |
VARCHAR2(255) |
データベース名 |
NAME |
VARCHAR2(255) |
表名 |
TABLE_TYPE |
VARCHAR2(255) |
表タイプ |
CLASSIFICATION |
VARCHAR2(255) |
|
DESCRIPTION |
VARCHAR2(2048) |
表の説明 |
OWNER |
VARCHAR2(255) |
表所有者 |
CREATED_BY |
VARCHAR2(255) |
テーブル作成者 |
CREATE_TIME |
TIMESTAMP |
データ・カタログに表が作成された時刻。 |
LAST_ANALYZED_TIME |
TIMESTAMP |
この表の列統計が最後に計算された時刻。 |
LAST_ACCESS_TIME |
TIMESTAMP |
最後にテーブルにアクセスした時刻。 |
UPDATE_TIME |
TIMESTAMP |
最後にテーブルが更新された時刻。 |
IS_REGISTERED_WITH_LAKE_FORMATION |
NUMBER |
表がAWSレイク形成に登録されているかどうかを示します。 |
PARAMETERS |
CLOB |
表のプロパティを定義するキーと値のペアを含むJSONドキュメント。 |
PARTITION_KEYS |
CLOB |
表のパーティション化に使用する列のリストを含むJSONドキュメント。 |
RETENTION |
NUMBER |
この表の保存期間。 |
STORAGE_DESCRIPTION |
CLOB |
表の物理記憶域に関する情報を含むJSONドキュメント。 |
TARGET_TABLE |
VARCHAR2(4000) |
AWSでのリソース・リンクに使用されるターゲット表を記述するJSONドキュメント。 |
VERSION_ID |
VARCHAR2(255) |
表のバージョン識別子。 |
VIEW_EXPANDED_TEXT |
CLOB |
Hiveとの互換性のためにAWS Glueによって導入されました。AWS Glueでは使用されません。 |
VIEW_ORIGINAL_TEXT |
CLOB |
Hiveとの互換性のためにAWS Glueによって導入されました。AWS Glueでは使用されません。 |
DCAT_ATTRIBUTESビュー
論理エンティティ属性の外部表列へのマッピングをリストします。
| 列 | データ型 | 摘要 |
|---|---|---|
DCAT_CON_ID |
VARCHAR2 (4000) |
インスタンス内で一意の接続識別子 |
ASSET_KEY |
VARCHAR2(4000) |
データ・カタログ・アセット・キー |
ENTITY_KEY |
VARCHAR2(4000) |
データ・カタログ・エンティティ・キー |
ATTRIBUTE_KEY |
VARCHAR2(4000) |
データ・カタログ属性キー |
ORACLE_COLUMN_NAME |
VARCHAR2(128) |
マップされた列名 |
DCAT_ENTITIESビュー
外部表への論理エンティティのマッピングについて説明します。
| 列 | データ型 | 摘要 |
|---|---|---|
DCAT_CON_ID |
VARCHAR2(4000) |
インスタンス内で一意の接続識別子 |
ASSET_KEY |
VARCHAR2(4000) |
データ・カタログ・アセット・キー |
ENTITY_KEY |
VARCHAR2(4000) |
データ・カタログ・エンティティ・キー |
FOLDER_KEY |
VARCHAR2(4000) |
データ・カタログ・フォルダ・キー |
ORACLE_TABLE_NAME |
VARCHAR2(128) |
マップされた表名 |
ORACLE_SCHEMA_NAME |
VARCHAR2(128) |
マップされたスキーマ名 |
ENTITY_ORACLE_DB_SCHEMA |
VARCHAR2(4000) |
スキーマの導出に使用されるエンティティのoracle-db-schemaカスタム・プロパティ |
ASSET_ORACLE_DB_SCHEMA |
VARCHAR2(4000) |
スキーマを導出するために使用されるデータ・アセットのoracle-db-schemaカスタム・プロパティ |
FOLDER_ORACLE_DB_SCHEMA |
VARCHAR2(4000) |
スキーマの導出に使用されるフォルダのoracle-db-schemaカスタム・プロパティ |
DBMS_DCAT$SYNC_LOGビュー
DBMS_DCAT$SYNC_LOGビューを使用すると、現行のユーザーが実行した最後の同期操作のログ表に簡単にアクセスできます。
RUN_SYNCプロシージャへのすべてのコールは、USER_LOAD_OPERATIONSのLOGFILE_TABLEフィールドが指す新しいログ表に記録されます。ログ表は2日後に自動的に削除され、ユーザーはDELETE_ALL_OPERATIONSプロシージャ(タイプはDCAT_SYNC)を使用してすべての同期ログをクリアできます。
DBMS_DCAT$SYNC_LOGビューは、最新のログ表を自動的に識別します。DBMS_DCAT$SYNC_LOGビューのスキーマを次に説明し、アクセス権限は個々のログ表のものと同じです。デフォルトでは、READはdbms_dcatロールおよびADMINユーザーに付与されます。
ログ表の形式は次のとおりです。
| 列 | データ型 | 摘要 |
|---|---|---|
LOG_TIMESTAMP |
TIMESTAMP |
ログ・エントリのタイムスタンプ。 |
LOG_LEVEL |
VARCHAR2(32) |
エントリ・ログ・レベルには、OFF、FATAL、ERROR、WARN、INFO、DEBUG、TRACE、ALLのいずれかの値を指定できます。 |
LOG_DETAILS |
VARCHAR2(32767) |
ログ・メッセージ。 |
トラブルシューティング・ヒント
ここでは、一般的な問題に関してトラブルシューティングのヒントを示します。
- 必要なすべてのロールおよび権限が正しく割り当てられていることを確認します。
- リージョンおよびオブジェクト・ストアのURLが実際のデプロイメントと一致することを再確認します。
- 関連するユーザーまたはロールに
GRANT READ権限が明示的に付与されていることを確認します。 - 同期の問題を診断するには、
DBMS_DCAT$SYNC_LOG表で詳細なエラー・メッセージおよび操作ステータスを確認します。
ノート
ノート: USER_LOAD_OPERATIONS.LOGFILE_TABLEは、データ・ディクショナリを問い合せるか、ロード操作ログを追跡するOracleデータ・カタログ・ビューを使用して検索できます。