本エントリは Oracle Cloud Infrastructure #2 Advent Calendar 2020 の Day 1 です。
Day 1 と言っても、もう 12月5日 ですけどね……#2 は余り埋まってないので、気ままに書いていこうかと。
彡(゚)(゚)
Oracle Cloud Infrastructure #2 Advent Calendar 2020
https://qiita.com/advent-calendar/2020/oci2
Object Storage にアップロードしたファイルを Autonomous Database の DATA_PUMP_DIR に コピーしてみます。
1. Object Storage の作成とファイルアップロード
2. IAMユーザーの作成と権限(Policy)の付与
Object Storage に対する権限を持った IAMユーザー を作成します。付与した権限(Policy Statement)は下記となります。
ALLOW GROUP AYU_IAM_Group1 TO manage object-family IN compartment ayu-compartment01
3. IAMユーザーの Auth Token発行
IAMユーザーの Auth Token を発行します。後から確認は出来ないので注意
4. DBMS_CLOUD.CREATE_CREDENTIAL で Autonomous Database に Auth Token を登録
DBMS_CLOUDパッケージ の CREATE_CREDENTIALプロシージャ で 3. の Auth Token を Autonomous Database に登録します。
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL(
credential_name => 'CRED_AYU_TOKEN', -- 任意の文字列
username => 'AYU_IAM_USER1', -- Auto Token を発行したIAMユーザー名
password => 'xxxxxxxxxxxxxxxxxxxx' -- 3. で生成した Auth Token
);
END;
/
PL/SQLプロシージャが正常に完了しました。
5. DBMS_CLOUD.GET_OBJECT で Object Storage から Autonomous Database の DATA_PUMP_DIR にファイルをコピー
DBMS_CLOUDパッケージ の CREATE_CREDENTIALプロシージャ で Auth Token を Autonomous Database に登録します。
BEGIN
DBMS_CLOUD.GET_OBJECT(
credential_name => 'CRED_AYU_TOKEN',
object_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/xxxxxxxxxxxx/b/ayu-bucket1/o/test.txt',
directory_name => 'DATA_PUMP_DIR'
);
END;
/
BEGIN
DBMS_CLOUD.GET_OBJECT(
credential_name => 'CRED_AYU_TOKEN',
object_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/xxxxxxxxxxxx/b/ayu-bucket1/o/test2.txt',
directory_name => 'DATA_PUMP_DIR'
);
END;
/
PL/SQLプロシージャが正常に完了しました。
PL/SQLプロシージャが正常に完了しました。
6. DBMS_CLOUD.LIST_FILES でコピー結果を確認
DBMS_CLOUD.LIST_FILESファンクション で DATA_PUMP_DIR の中身を確認します。TABLEファンクションなので SELECT文 で確認
COLUMN OBJECT_NAME FORMAT A30;
COLUMN CHECKSUM FORMAT A30;
SELECT * FROM TABLE(DBMS_CLOUD.LIST_FILES('DATA_PUMP_DIR'));
OBJECT_NAME BYTES CHECKSUM CREATED LAST_MODIFIED
------------------------------ ---------- ------------------------------ ---------------------------------- ----------------------------------
test.txt 6 2020/12/05 05:20:09.000000000 GMT: 2020/12/05 05:20:09.000000000 GMT:
test2.txt 7 2020/12/05 05:20:57.000000000 GMT: 2020/12/05 05:20:57.000000000 GMT:
7. まとめ
本当は別記事を書くつもりやったんやけど、思いのほか長くなったんで切り出してみた。
次の Advent Calendar はいつ書こうかしら……皆さんも Oracle Cloud と Advent Calendar をよろしくね彡(^)(^)
Oracle Cloud Infrastructure Advent Calendar 2020
https://qiita.com/advent-calendar/2020/ociOracle Cloud Infrastructure #2 Advent Calendar 2020
https://qiita.com/advent-calendar/2020/oci2
8. 参考ドキュメント
A Autonomous Database提供パッケージ・リファレンス
DBMS_CLOUDパッケージ
https://docs.oracle.com/cd/E83857_01/paas/atp-cloud/atpug/dbms-cloud-package.html#GUID-CE359BEA-51EA-4DE2-88DB-F21A9FC10721