始める前に
このチュートリアルでは、Oracle Object StoreのデータをAutonomous Data Warehouse内のデータベースにロードする方法を示します。このチュートリアルを完了するのに要する時間は約15分です。
Oracle Autonomous Data Warehouse Cloud Serviceチュートリアル・シリーズ
これはAutonomous Data Warehouseチュートリアル・シリーズの第3部です。チュートリアルを順番に実施してください。
- Autonomous Data Warehouse Cloudのプロビジョニング
- SQL Developerの接続および表の作成
- Autonomous Data Warehouseへのデータのロード
- サンプル・データに対する問合せの実行
- Autonomous Data Warehouse CloudでのOracle Machine Learningの使用(追加のチュートリアル)
背景
Oracle Databaseツールと、オラクル社またはサードパーティ製のデータ統合ツールを使用して、Autonomous Data Warehouseにデータをロードできます。次のようにデータをロードできます。
- クライアント・コンピュータのローカル・ファイルから、または
- クラウドベースのオブジェクト・ストアに格納されているファイルから
データ・ロードの速度を上げるため、Autonomous Data Warehouseにデータをロードする前に、Oracle Cloud Infrastructure Object Storageなどのクラウドベースのオブジェクト・ストアにソース・ファイルをアップロードしておくことをお薦めします。
クラウド内のファイルからAutonomous Data Warehouseデータベースにデータをロードするには、新しいPL/SQL DBMS_CLOUD
パッケージを使用します。DBMS_CLOUD
パッケージは、Oracle Cloud Infrastructure Object Storage、Oracle Cloud Infrastructure Object Storage Classic、Amazon AWS S3といったクラウド・ソースからのデータ・ファイルのロードをサポートしています。
このチュートリアルでは、DBMS_CLOUD
パッケージに含まれている2つのプロシージャを使用してOracle Cloud Infrastructure Object Storageからデータをロードする方法を説明します。
create_credential
: Autonomous Data Warehouseスキーマにオブジェクト・ストア資格証明を格納します。- このプロシージャを使用して、前のチュートリアルで定義したAutonomous Data Warehouse
adwc_user
スキーマにオブジェクト・ストア資格証明を作成します。 copy_data
: 指定されたソース・ファイルを表にロードします。この表はAutonomous Data Warehouse内にすでに存在している必要があります。- このプロシージャを使用して、Oracle Cloud Infrastructure Object Storageクラウド・サービスにステージングされたデータ・ファイルから
adwc_user
スキーマ内の表にデータをロードます。 - このチュートリアルでは、
SH
表(Oracleサンプル・スキーマからの販売履歴表: SALES、COSTS、TIMES、PRODUCTS、CHANNELS、PROMOTIONS、CUSTOMERS、COUNTRIES、SUPPLEMENTARY_DEMOGRAPHICS)にデータをロードする方法を説明します。 - データのロードの詳細は、クラウド内のファイルからのデータのロードのドキュメントを参照してください。
前提条件
- Autonomous Data Warehouseのインスタンスにアクセスできること。このシリーズの前のチュートリアルとドキュメントを参照してください: Oracle Autonomous Data Warehouse Cloudの使用。
- データ・ファイルがすでにステージング領域にアップロードされていること。または、次の第1項の手順を実行して、データ・ファイルをOracle Cloud Infrastructure Object Storageサービスにアップロードしていること。
- オブジェクト・ストアにすでに存在するデータ・ファイルを使用する場合は、Autonomous Data Warehouse表にコピーするファイルのURLパスとオブジェクト・ストア資格証明を、クラウド管理者から入手していること。
- データ・ファイルをOracle Cloud Infrastructure Object Storageのオブジェクト・ストアにアップロードする場合は、クラウド・テナント名と、データを格納するオブジェクト・ストアの場所に対し読取り/書込み権限のあるユーザー名およびパスワードをクラウド管理者から入手していること。
- Oracle SQL Developer (Oracle Technology Networkダウンロード・サイトを参照)。バージョン18.3以上。バージョン18.2以降には、主なAutonomous Transaction Processing機能の拡張機能が含まれています。
注意:
64ビット・プラットフォームのWindowsを使用している場合は、「Windows 64-bit with JDK 8 included」ディストリビューションをダウンロードしてください。これには、SQL Developerの実行とAutonomous Transaction Processingデータベースへの接続で必要となるファイルが含まれています。
18.2より前のバージョンのSQL Developerを使用している場合、ドキュメント・トピックOracle SQL Developer (18.2より前のバージョン)による接続を参照してください。
データ・ファイルのオブジェクト・ストアへのアップロード
Autonomous Data Warehouseデータベースにロードするデータ・ファイルをクラウドベースのオブジェクト・ストアにアップロードします。このチュートリアルでは、Oracle Cloud Infrastructure Object Storageサービスのオブジェクト・ストアを使用します。
- Oracle Cloud管理者から提供された資格証明(クラウド・テナント、ユーザー名、パスワード)を使用して、Oracle Cloud Infrastructureコンソールにログインします。
- Oracle Cloud Infrastructureコンソールの左上のメニューから「オブジェクト・ストレージ」を選択します。サブメニューから「オブジェクト・ストレージ」を選択します。
- データベース表データをアップロードするためのバケットの作成先コンパートメントを選択します。
- バケットの作成をクリックし、ソース・ファイルをアップロードするためのストレージ・バケットを作成します。後ほど、ステージングしたこれらのデータをAutonomous Data Warehouse内のデータベース表にコピーします。
- バケット名を入力し、標準のストレージ層を選択して、バケットの作成をクリックします。
- 「オブジェクトのアップロード」をクリックし、バケットにアップロードするデータ・ファイルを選択します。
- ローカル・コンピュータ上のデータ・ファイルのある場所に移動します。各ファイルをドラッグ・アンド・ドロップするか「オブジェクトのアップロード」をクリックして各ファイルを個別にアップロードします。
この例では、SH
表(Oracleサンプル・スキーマからの販売履歴表)のデータ・ファイルをアップロードします。ここをクリックして、オブジェクト・ストアにアップロードする10個のSH
データ・ファイルが格納されたzipファイルをダウンロードします。
注意: または、curl
コマンドを使用して、多数のファイルをアップロードできます。 - データ・ファイルがバケットにアップロードされます。クラウドにステージングされているこれらのファイルは、Autonomous Data Warehouseデータベースの表にコピーする準備が整っています。このままOracle Cloud Infrastructure Object Storageにログインした状態を維持します。
オブジェクト・ストア認証トークンを作成します
Oracle Cloud Infrastructure Object Storageオブジェクト・ストアからデータをロードするには、オブジェクト・ストア・アカウントの認証トークンを作成する必要があります。Autonomous Data Warehouseデータベースとオブジェクト・ストア間の通信は、認証トークンおよびユーザー名/パスワード認証に依存します。
- Oracle Cloud Infrastructure Object Storageからログアウトした場合、Oracle Cloud管理者から提供された資格証明(クラウド・テナント、ユーザー名、パスワード)を使用して再ログインします。
- コンソールの右上隅の人間の形をしたアイコンの上にマウス・カーソルを置き、ドロップダウン・メニューから「ユーザー設定」をクリックします。
- コンソール左側にある「リソース」で認証トークンをクリックします。
- トークンの生成をクリックします。
- ポップアップ・ダイアログが表示されます。次の手順を実行して、認証トークンを設定します。
- ポップアップ・ダイアログに説明を入力します。
- トークンの生成ボタンをクリックします。
- 生成されたトークンをテキスト・ファイルにコピーします。トークンは表示されなくなります。
- 「閉じる」をクリックします。
Autonomous Data Warehouseスキーマでのオブジェクト・ストア資格証明の作成
オブジェクト・ストアの認証トークンが作成されたので、データをステージングするオブジェクト・ストアの資格証明をAutonomous Data Warehouseのadwc_user
スキーマに格納します。
- SQL Developerを開き、ユーザー
adwc_user
としてAutonomous Data Warehouseデータベースに接続します。SQL DeveloperをAutonomous Data Warehouseデータベースに接続する手順は、前のチュートリアルのSQL Developerの接続および表の作成を参照してください。そのチュートリアルで提案したユーザーadwc_user
のパスワードはWelcomeADWC1!
です。 - SQL Developerのワークシートで
DBMS_CLOUD
パッケージのcreate_credential
プロシージャを使用して、オブジェクト・ストア資格証明をadwc_user
スキーマに格納します。 - 資格証明の名前を作成します。この資格証明名は、次の手順の
copy_data
プロシージャで参照します。 - Oracle Cloud Infrastructure Object Storageサービス用の資格証明(ユーザー名と前の手順で生成したオブジェクト・ストア認証トークン)を指定します。
begin
DBMS_CLOUD.create_credential (
credential_name => 'OBJ_STORE_CRED',
username => '<your username>',
password => '<your Auth Token>'
) ;
end;
/
このスクリプトを実行すると、オブジェクト・ストアの資格証明がAutonomous Data Warehouse adwc_user
スキーマに格納されます。
オブジェクト・ストアからAutonomous Data Warehouseデータベース表へのデータのコピー
DBMS_CLOUD
パッケージのcopy_data
プロシージャでは、ターゲット表がAutonomous Data Warehouseデータベースにすでに存在している必要があります。前のチュートリアルのSQL Developerの接続および表の作成では、すべてのターゲット表をAutonomous Data Warehouse adwc_user
スキーマに作成しました。
次にcopy_data
プロシージャを実行して、オブジェクト・ストアにステージングしたデータをAutonomous Data Warehouse adwc_user
表にコピーします。
- SQL Developerのワークシートで
DBMS_CLOUD
パッケージのcopy_data
プロシージャを使用して、オブジェクト・ストアにステージングしたデータをコピーします。credential_name
には、第3項「Autonomous Data Warehouseスキーマでのオブジェクト・ストア資格証明の作成」で定義した資格証明の名前を指定します。file_uri_list
には、オブジェクト・ストアにステージングしたファイルの場所を指し示すURLを指定します。URLは次のような構成です。太字の部分は自分で指定する値です。
https://swiftobjectstorage.<リージョン名>.oraclecloud.com/v1/<テナント名>/<バケット名>/<ファイル名>
- ここをクリックすると、サンプルのスクリプトを参照できます。スクリプトでは、独自の表名、リージョン名、テナント名、バケット名およびファイル名を使用します。
注意: リージョン名、テナント名およびバケット名はすべて、省略記号オプション・メニューをクリックしてファイルの詳細に移動することで、1つの場所で検出できます。
注意:adwc_user
にオブジェクト・ストアへの読取り/書込み権限がないことを示すエラー・メッセージを受け取った場合は、ユーザー権限を正しく設定するか、管理者に連絡して設定する必要があります。
- プロシージャを実行した後、データがオブジェクト・ストアからAutonomous Data Warehouseデータベース内の表にコピーされたことを確認します。
データ・ロードの確認
PL/SQLパッケージDBMS_CLOUD
を使用して実行されたデータ・ロード操作は、表dba_load_operations
およびuser_load_operations
に記録されます。これらの表には次の内容が含まれます。
dba_load_operations
: すべてのロード操作を表示します。user_load_operations
: スキーマ内のロード操作を表示します。
- 進行中および完了したデータ・ロードに関する情報を表示するには、これらの表を問い合せます。次に例を示します。
SELECT table_name, owner_name, type, status, start_time, update_time,
logfile_table, badfile_table
FROM user_load_operations WHERE type = 'COPY'; - 結果を確認します。ログ・ファイルおよび不良ファイルは表としてアクセスできます。
ロードの監視およびトラブルシューティングの詳細は、ドキュメント・トピックデータのロード - ロードの監視およびトラブルシューティングTABLE_NAME STATUS ROWS_LOADED LOGFILE_TABLE BADFILE_TABLE
---------- ------------ ----------- ------------- -------------
CHANNELS FAILED COPY$1_LOG COPY$1_BAD
CHANNELS COMPLETED 5 COPY$2_LOG COPY$2_BAD
を参照してください。
次のチュートリアル
さらに学習するには
- Autonomous Data Warehouse Webサイト