以下の内容はhttps://htn20190109.hatenablog.com/entry/2024/12/01/143050より取得しました。


{OCI データベース} 303 : Data Pumpを利用してデータを移行しよう

 



https://oracle-japan.github.io/ocitutorials/adb/adb303-datapump/

 

sqlplusとimpdpはCentOS 7から実行

 

-- 1. コンパートメント作成

oci iam compartment create \
--compartment-id ocid1.tenancy.oc1..111111111111111111111111111111111111111111111111111111111111 \
--description cmp01 \
--name cmp01


oci iam compartment list \
--query 'data[?"name"==`'cmp01'`].id | [0]' \
--raw-output

 


-- 2. ADB作成

 

oci db autonomous-database list \
--compartment-id ocid1.compartment.oc1..111111111111111111111111111111111111111111111111111111111111 

oci db autonomous-database list \
--compartment-id ocid1.compartment.oc1..111111111111111111111111111111111111111111111111111111111111 \
--display-name adb12

 

oci db autonomous-database create \
--compartment-id ocid1.compartment.oc1..111111111111111111111111111111111111111111111111111111111111 \
--admin-password 'passwordpassword' \
--db-name adb12 \
--db-version 19c \
--db-workload OLTP \
--display-name adb12 \
--is-auto-scaling-enabled FALSE \
--is-auto-scaling-for-storage-enabled FALSE \
--is-local-data-guard-enabled FALSE \
--is-mtls-connection-required FALSE \
--whitelisted-ips '[
"192.0.2.1"
]' \
--is-free-tier TRUE

 

 

 

oci db autonomous-database list \
--compartment-id ocid1.compartment.oc1..111111111111111111111111111111111111111111111111111111111111 \
--query 'data[].{"db-name":"db-name","id":"id","lifecycle-state":"lifecycle-state"}' \
--output table

 


-- 3. クレデンシャル・ウォレットで接続

※デフォルトポートは1522


mkdir -p /tmp/client_credentials

unzip Wallet_adb12.zip -d /tmp/client_credentials

export TNS_ADMIN=/tmp/client_credentials


cd /tmp/client_credentials

vim sqlnet.ora

WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="?/network/admin")))

WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY=$TNS_ADMIN)))

sqlplus admin/passwordpassword@adb12_low

 


-- 4. オブジェクトストレージへのアクセストークンを取得

 

-- 5. バケット作成


oci os bucket list \
--compartment-id ocid1.compartment.oc1..111111111111111111111111111111111111111111111111111111111111 

 

oci os bucket create \
--compartment-id ocid1.compartment.oc1..111111111111111111111111111111111111111111111111111111111111 \
--name bucket01 \
--auto-tiering Disabled \
--object-events-enabled false \
--public-access-type NoPublicAccess \
--storage-tier Standard \
--versioning Disabled

 

-- 6. ダンプファイルをオブジェクトストレージにアップロード

oci os object list \
--bucket-name bucket01


oci os object put \
--bucket-name bucket01 \
--file export_hr_01.dmp

oci os object put \
--bucket-name bucket01 \
--file export_hr_02.dmp

oci os object put \
--bucket-name bucket01 \
--file export_hr_03.dmp

oci os object put \
--bucket-name bucket01 \
--file export_hr_04.dmp

 

 


-- 7. クレデンシャルの登録

sqlplus admin/passwordpassword@adb12_low

sho user
show con_name

 

BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL(
credential_name => 'CRED01',
username => 'oracleidentitycloudservice/hoge@example.net',
password => 'xxxx'
);
END;
/

exit

 


-- 8. インポート・スクリプトを用意


cat <<-'EOF' > impdp_hr.sh

#!/bin/sh

impdp userid=admin/passwordpassword@adb12_low \
credential=CRED01 \
parallel=4 \
schemas=HR \
directory=DATA_PUMP_DIR \
dumpfile=https://objectstorage.us-ashburn-1.oraclecloud.com/n/111111111111/b/bucket01/o/export_hr_%u.dmp \
logfile=DATA_PUMP_DIR:import_hr.log

EOF

cat impdp_hr.sh


-- 9. インポートを実施

chmod +x impdp_hr.sh
./impdp_hr.sh

sqlplus admin/passwordpassword@adb12_low

select count(1) from hr.COUNTRIES ;

exit

 


-- 10. クリーンアップ

oci os object list \
--bucket-name bucket01

oci os bucket delete \
--name bucket01 \
--empty \
--force

 

 

oci db autonomous-database list \
--compartment-id ocid1.compartment.oc1..111111111111111111111111111111111111111111111111111111111111 \
--query 'data[?"db-name"==`'adb12'`]."id" | [0]' \
--raw-output

 

oci db autonomous-database delete \
--autonomous-database-id ocid1.autonomousdatabase.oc1.iad.111111111111111111111111111111111111111111111111111111111111 \
--force

 

oci iam compartment list \
--query 'data[?"name"==`'cmp01'`].id | [0]' \
--raw-output


oci iam compartment delete \
--compartment-id ocid1.compartment.oc1..111111111111111111111111111111111111111111111111111111111111 \
--force

 

 




以上の内容はhttps://htn20190109.hatenablog.com/entry/2024/12/01/143050より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14