前回のおさらい

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

前回はローカルファイルを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ライセンス購入はこちら

投稿者プロフィール

小酒井崇史
小酒井崇史
インフラソリューション事業部のマネージャーでプラチナホルダー。
主に、Oracle GoldenGate を使用した移行やシステム構築を経験。
現在はオンプレミスのシステムを Oracle Cloud へリフトするプロジェクトに参画中。
趣味はボクシングと将棋。マイブームは腹筋を鍛えること。