前回のおさらい

みなさん、こんにちは。プラチナホルダーの小酒井です。

前回はローカルファイルをADWにロードするところまで行いました。
内容を確認したい方はこちらからご覧下さい。

さて、今回はADWのダイナミックスケーリングから行いましょう。

ADWのダイナミックスケーリング

ADWは必要な同時接続数とパフォーマンスの要求に基づき、オンラインから動的にスケールすることができます。
CPUコア数とSTORAGE容量を変更することが可能です。

今回は、割り当てるCPUコア数を増やしてみます。

対象インスタンスの選択

サービスメニューに戻り、スケールアップしたいインスタンスを選択します。

「Scale Up/Down」をクリックします。

CPU CORE COUNT に2を設定しし、「Update」をクリックします。

アプリケーションはスケール操作中でも、オンライン操作が可能です。(ダウンタイムは発生しません)

「SCALING IN PROGRESS…」から「AVAILABLE」に変わるとスケール完了です。
数分待つと完了しました。

ADWへのデータ移行

既存環境からの移行作業をData Pumpを使用して実施してみます。

Oracle Data Pumpは、OracleデータベースとADWとの間で、高速に大量のデータおよびメタデータの移動をすることができます。

OCI Object Storageにデータを保存し、Oracle Data Pumpを使用してADWにデータをロードできることを確認します。

Data Pump Export で対象スキーマをエクスポート

ローカル環境にあるデータベースからadwuserスキーマをエクスポートします。
ADW側で使用できない機能で使用されるオブジェクトについては、あらかじめexcludeで除外しておきます。そうすることで、データの転送時間が短縮されます。

[oracle@ol76-183 ~]$ expdp system@orclpdb1 \
> directory=data_pump_dir \
> dumpfile=exp_adwuser_%U.dmp \
> logfile=exp_adwuser.log \
> schemas=adwuser \
> data_options=group_partition_table_data \
> exclude=index,cluster,indextype,materialized_view,materialized_view_log,materialized_zonemap,db_link \
> parallel=4 \
> compression_algorithm=high compression=all \
> version=12.2

Export: Release 18.0.0.0.0 - Production on 土 12月 15 19:40:43 2018
Version 18.3.0.0.0

Copyright (c) 1982, 2018, Oracle and/or its affiliates. All rights reserved.
パスワード:

接続先: Oracle Database 18c Enterprise Edition Release 18.0.0.0.0 - Production
"SYSTEM"."SYS_EXPORT_SCHEMA_01"を起動しています: system/********@orclpdb1 directory=data_pump_dir dumpfile=exp_adwuser_%U.dmp logfile=exp_adwuser.log schemas=adwuser data_options=group_partition_table_data exclude=index,cluster,indextype,materialized_view,materialized_view_log,materialized_zonemap,db_link parallel=4 compression_algorithm=high compression=all version=12.2
オブジェクト型SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICSの処理中です
オブジェクト型SCHEMA_EXPORT/USERの処理中です
オブジェクト型SCHEMA_EXPORT/SYSTEM_GRANTの処理中です
オブジェクト型SCHEMA_EXPORT/ROLE_GRANTの処理中です
オブジェクト型SCHEMA_EXPORT/DEFAULT_ROLEの処理中です
オブジェクト型SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMAの処理中です
オブジェクト型SCHEMA_EXPORT/TABLE/TABLE_DATAの処理中です
オブジェクト型SCHEMA_EXPORT/TABLE/TABLEの処理中です
. . "ADWUSER"."TAB1"                            4.484 KB       1行がエクスポートされました
オブジェクト型SCHEMA_EXPORT/STATISTICS/MARKERの処理中です
マスター表"SYSTEM"."SYS_EXPORT_SCHEMA_01"は正常にロード/アンロードされました
******************************************************************************
SYSTEM.SYS_EXPORT_SCHEMA_01に設定されたダンプファイルは次のとおりです:
  /opt/oracle/admin/ORCLCDB/dpdump/7CAD4E0962832AFEE0536538A8C012F5/exp_adwuser_01.dmp
  /opt/oracle/admin/ORCLCDB/dpdump/7CAD4E0962832AFEE0536538A8C012F5/exp_adwuser_02.dmp
  /opt/oracle/admin/ORCLCDB/dpdump/7CAD4E0962832AFEE0536538A8C012F5/exp_adwuser_03.dmp
ジョブ"SYSTEM"."SYS_EXPORT_SCHEMA_01"が土 12月 15 19:41:24 2018 elapsed 0 00:00:36で正常に完了しました

[oracle@ol76-183 ~]$

 

データファイルをOCI Object Storage へアップロード

エクスポートで生成された3つのダンプファイルをOCI Object Storageへアップロードします。

左上のメニューから、「Object Storage」を選択し、「Object Storage」をクリックします。

「Create Bucket」をクリックし、アップロードするためのストレージ・バケットを作成します。

バケット名と標準ストレージ層を選択し、「Create Bucket」をクリックします。

バケットが作成されたことが確認できます。バケット名をクリックします。

「Upload Object」をクリックし、バケットにデータをアップロードします。

先程のexportで生成された3つのダンプファイルをアップロードします。

3つのダンプファイルのアップロードが完了しました。

オブジェクト・ストア認証トークンの作成

Oracle Cloud Infrastructure Object Storageオブジェクト・ストアからデータをロードするには、オブジェクト・ストア・アカウントの認証トークンを作成する必要があります。
Autonomous DW Cloudデータベースとオブジェクト・ストア間の通信は、認証トークンとユーザー名/パスワード認証に依存しています。

まずはユーザーを作成します。左上のメニューから、「Identify」を選択し、「Users」をクリックします。

「Create User」をクリックします。

ユーザー名と詳細を入力し、「Create」をクリックします。

Users画面で指定したユーザーが作成されていることが確認できます。

作成したユーザー名をクリックして詳細画面を表示します。

コンソール左側にあるResourcesで「Auth Tokens」を選択し、「Generate Token」をクリックします。

ポップアップ・ダイアログが表示されますので、説明を入力し「Generate Token」をクリックします。

生成されたトークンをテキスト・ファイルにコピーし、「Close」をクリックします。

ADWに接続してCredentialを作成

オブジェクト・ストアの認証トークンが作成されたので、DBMS_CLOUD.CREATE_CREDENTIALプロシージャを使用して、オブジェクト・ストアの資格証明をADWに格納します。

[oracle@ol76-183 ~]$ sqlplus /nolog

SQL*Plus: Release 18.0.0.0.0 - Production on 土 12月 15 16:58:47 2018
Version 18.3.0.0.0

Copyright (c) 1982, 2018, Oracle. All rights reserved.

()> conn admin@adw1129_low
パスワードを入力してください:
接続されました。
ADMIN(adw1129_low)> execute dbms_cloud.create_credential('ADWUSER_CRED', 'adwuser', 'xxxxxxxxxxxxxxxxxxxx');

PL/SQLプロシージャが正常に完了しました。

ADMIN(adw1129_low)>

 

アップロードしたダンプファイルをData Pump Import でインポート

先程アップロードしたデータを、ADW内のデータベースにData Pump Importでインポートします。

[oracle@ol76-183 ~]$ impdp admin@adw1129_low \
> directory=data_pump_dir \
> credential=ADWUSER_CRED \
> dumpfile=https://objectstorage.us-ashburn-1.oraclecloud.com/n/xxxxxxxxxx/b/ADWBUCKET/o/exp_adwuser_%U.dmp \
> logfile=imp_adwuser.log \
> remap_tablespace=USERS:DATA \
> partition_options=merge \
> transform=segment_attributes:n \
> transform=dwcs_cvt_iots:y transform=constraint_use_default_index:y \
> exclude=index,cluster,indextype,materialized_view,materialized_view_log,materialized_zonemap,db_link \
> parallel=4

Import: Release 18.0.0.0.0 - Production on 土 12月 15 21:30:48 2018
Version 18.3.0.0.0

Copyright (c) 1982, 2018, Oracle and/or its affiliates. All rights reserved.
パスワード:

接続先: Oracle Database 18c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
マスター表"ADMIN"."SYS_IMPORT_FULL_02"は正常にロード/アンロードされました
"ADMIN"."SYS_IMPORT_FULL_02"を起動しています: admin/********@adw1129_low directory=data_pump_dir credential=ADWUSER_CRED dumpfile=https://objectstorage.us-ashburn-1.oraclecloud.com/n/xxxxxxxxxx/b/ADWBUCKET/o/exp_adwuser_%U.dmp logfile=imp_adwuser.log remap_tablespace=USERS:DATA partition_options=merge transform=segment_attributes:n transform=dwcs_cvt_iots:y transform=constraint_use_default_index:y exclude=index,cluster,indextype,materialized_view,materialized_view_log,materialized_zonemap,db_link parallel=4
オブジェクト型SCHEMA_EXPORT/USERの処理中です
オブジェクト型SCHEMA_EXPORT/SYSTEM_GRANTの処理中です
オブジェクト型SCHEMA_EXPORT/ROLE_GRANTの処理中です
オブジェクト型SCHEMA_EXPORT/DEFAULT_ROLEの処理中です
オブジェクト型SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMAの処理中です
オブジェクト型SCHEMA_EXPORT/TABLE/TABLEの処理中です
オブジェクト型SCHEMA_EXPORT/TABLE/TABLE_DATAの処理中です
. . "ADWUSER"."TAB1" 4.484 KB 1行がインポートされました
オブジェクト型SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICSの処理中です
オブジェクト型SCHEMA_EXPORT/STATISTICS/MARKERの処理中です
ジョブ"ADMIN"."SYS_IMPORT_FULL_02"が土 12月 15 12:31:52 2018 elapsed 0 00:00:48で正常に完了しました

[oracle@ol76-183 ~]$

 

adwuserスキーマがインポートできていることが確認できます。

さいごに

今回はOracle Autonomous Data Warehouse Cloud を利用してみました。
インスタンスの作成やデータのロードを確認してみましたが、非常に簡単な手順で実施することができました。

オンプレミスからADWへのデータ移行について、SQL Developer で直接ロードできたり、Data Pump を利用しての移行が可能であることが確認できました。
また今回はご紹介できませんでしたが、SQL*LoaderやDatabase Linkを用いた移行GGCS(GoldenGate)での移行も可能のようです。

ADWの性能検証については別途確認する必要がありますが、今後オンプレミスからADWへの移行が増えてくることが想定されます。

弊社はOracle Cloudサービスを展開しておりますので、Oracle Cloud について何かお困りのことがありましたら、お気軽にお問い合せいただけますと幸いです。

Oracle Cloud特設ページはこちら

リピート率95%!Oracle Databaseチケットサービスはこちら

Oracleライセンス購入はこちら

投稿者プロフィール

小酒井崇史
小酒井崇史
主にミッションクリティカルなシステムの運用保守やオラクル製品サポート業務の経験が多く、最近はExadata環境に関する業務も担当している。今後はOracle Cloudに関する業務も多く携わっていきたい。お客様から信頼される存在となるよう、日々精進中。