始める前に
このチュートリアルでは、Oracle Object StoreのデータをAutonomous Transaction Processing内のデータベースにロードする方法を説明します。このチュートリアルを完了するのに要する時間は約15分です。
Oracle Autonomous Transaction Processingチュートリアル・シリーズ
これは、Autonomous Transaction Processingの一連のチュートリアルで3番目のものです。チュートリアルを順番に実施してください。
- Autonomous Transaction Processingのプロビジョニング
- Autonomous Transaction ProcessingへのSQL Developerの接続
- Autonomous Transaction Processingへのデータのロード
- Autonomous Data Warehouse Cloud ServiceでのOracle Machine Learningの使用(追加のチュートリアル)
背景
Oracle Databaseツールと、オラクル社またはサードパーティ製のデータ統合ツールを使用して、Autonomous Transaction Processingにデータをロードできます。次のようにデータをロードできます。
- クライアント・コンピュータのローカル・ファイルから、または
- クラウドベースのオブジェクト・ストアに格納されているファイルから
データ・ロードの速度を上げるため、Autonomous Transaction Processingデータベースにデータをロードする前に、Oracle Cloud Infrastructure Object Storageなどのクラウドベースのオブジェクト・ストアにソース・ファイルをアップロードしておくことをお薦めします。
クラウド内のファイルからAutonomous Transaction Processingデータベースにデータをロードするには、新しい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 Transaction Processingスキーマにオブジェクト・ストア資格証明を格納します。- このプロシージャを使用して、前のチュートリアルで定義したAutonomous Transaction Processingの
atpc_user
スキーマにオブジェクト・ストア資格証明を作成します。 copy_data
: 指定されたソース・ファイルを表にロードします。表はAutonomous Transaction Processingデータベースに存在している必要があります。- このプロシージャを使用して、Oracle Cloud Infrastructure Object Storageクラウド・サービスにステージングされたデータ・ファイルから
atpc_user
スキーマ内の表にデータをロードます。 - このチュートリアルでは、
SH
表(Oracleサンプル・スキーマからの販売履歴表: SALES、COSTS、TIMES、PRODUCTS、CHANNELS、PROMOTIONS、CUSTOMERS、COUNTRIES、SUPPLEMENTARY_DEMOGRAPHICS)にデータをロードする方法を説明します。 - データのロードの詳細は、クラウド内のファイルからのデータのロードのドキュメントを参照してください。
前提条件
- Autonomous Transaction Processing Cloud Serviceのデータベースへのアクセス。このシリーズの前のチュートリアルとドキュメントを参照してください: Oracle Autonomous Data Warehouse Cloudの使用。
- データ・ファイルがすでにステージング領域にアップロードされていること。または、次の第1項の手順を実行して、データ・ファイルをOracle Cloud Infrastructure Object Storageサービスにアップロードしていること。
- オブジェクト・ストアにすでに存在するデータ・ファイルを使用する場合は、Autonomous Transaction Processing表にコピーするファイルのURLパスとオブジェクト・ストア資格証明を、クラウド管理者から入手していること。
- データ・ファイルをOracle Cloud Infrastructure Object Storageのオブジェクト・ストアにアップロードする場合は、クラウド・テナント名と、データを格納するオブジェクト・ストアの場所に対し読取り/書込み権限のあるユーザー名およびパスワードをクラウド管理者から入手していること。
- Oracle SQL Developer (Oracle Technology Networkダウンロード・サイトを参照)。18.2以降のバージョンをダウンロードすることをお薦めします。このバージョンには主要Autonomous DW Cloud機能に対する拡張機能が含まれています。SQL Developer 17.3.1もAutonomous DW Cloudで動作します。17.3.1より前のバージョンは動作しません。
注意:
64ビット・プラットフォームのWindowsを使用している場合は、「Windows 64-bit with JDK 9 included」ディストリビューションをダウンロードしてください。これには、SQL Developerの実行とAutonomous Transaction Processingデータベースへの接続で必要となるファイルが含まれています。
Windowsを使用していない場合は、お使いのオペレーティング・システムに適したJava 8 JDKをダウンロードしてインストールしてください。 - 前のチュートリアルで定義したまたはAutonomous Transaction Processing管理者から入手したクライアント資格証明zipファイルおよびキーストア・パスワード。このファイルには、SQL DeveloperをAutonomous Transaction Processingデータベースに接続するためのセキュリティ資格証明が含まれています。
データ・ファイルのオブジェクト・ストアへのアップロード
Autonomous Transaction Processingデータベースにロードするデータ・ファイルをクラウドベースのオブジェクト・ストアにアップロードします。このチュートリアルでは、Oracle Cloud Infrastructure Object Storageサービスのオブジェクト・ストアを使用します。
- Oracle Cloud管理者から提供された資格証明(クラウド・テナント、ユーザー名、パスワード)を使用して、Oracle Cloud Infrastructureコンソールにログインします。
- コンソールの右上の「ストレージ」メニューから「オブジェクト・ストレージ」を選択します。
- データベース表データをアップロードするためのバケットの作成先コンパートメントを選択します。
- バケットの作成をクリックし、ソース・ファイルをアップロードするためのストレージ・バケットを作成します。後でこのステージング済データをAutonomous Transaction Processingデータベース内の表にコピーします。
- バケット名を入力し、標準のストレージ層を選択して、バケットの作成をクリックします。
- 「オブジェクトのアップロード」をクリックし、バケットにアップロードするデータ・ファイルを選択します。
- ローカル・コンピュータ上のデータ・ファイルのある場所に移動します。各ファイルをドラッグ・アンド・ドロップするか「オブジェクトのアップロード」をクリックして各ファイルをアップロードします。
この例では、SH
表(Oracleサンプル・スキーマからの販売履歴表)のデータ・ファイルをアップロードします。ここをクリックして、オブジェクト・ストアにアップロードする10個のSH
データ・ファイルが格納されたzipファイルをダウンロードします。
注意: または、curl
コマンドを使用して、多数のファイルをアップロードできます。 - データ・ファイルがバケットにアップロードされます。クラウドにステージングされているこれらのファイルは、Autonomous Transaction Processingデータベースの表にコピーできます。このままOracle Cloud Infrastructure Object Storageにログインした状態を維持します。
オブジェクト・ストア認証トークンを作成します
Oracle Cloud Infrastructure Object Storageオブジェクト・ストアからデータをロードするには、オブジェクト・ストア・アカウントの認証トークンを作成する必要があります。Autonomous Transaction Processingデータベースとオブジェクト・ストア間の通信は、認証トークンおよびユーザー名/パスワード認証に依存します。
- Oracle Cloud Infrastructure Object Storageからログアウトした場合、Oracle Cloud管理者から提供された資格証明(クラウド・テナント、ユーザー名、パスワード)を使用して再ログインします。
- コンソールの右上にあるユーザー名の下のユーザー設定をクリックします。
- コンソール左側にある「リソース」で認証トークンをクリックします。
- トークンの生成をクリックします。
- ポップアップ・ダイアログが表示されます。次の手順を実行して、認証トークンを設定します。
- ポップアップ・ダイアログに説明を入力します。
- トークンの生成ボタンをクリックします。
- 生成されたトークンをテキスト・ファイルにコピーします。トークンは表示されなくなります。
- 「閉じる」をクリックします。
Autonomous Transaction Processingスキーマでのオブジェクト・ストア資格証明の作成
オブジェクト・ストアの認証トークンが作成されたので、データをステージングするオブジェクト・ストアの資格証明をAutonomous Transaction Processingのatpc_user
スキーマに格納します。
- SQL Developerを開き、ユーザー
atpc_user
としてAutonomous Transaction Processingデータベースに接続します。atpc_user
としてSQL DeveloperをAutonomous Transaction Processingデータベースに接続する手順は、前のチュートリアルのSQL Developerの接続および表の作成を参照してください。 - SQL Developerのワークシートで
DBMS_CLOUD
パッケージのcreate_credential
プロシージャを使用して、オブジェクト・ストア資格証明をatpc_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 Transaction Processingのatpc_user
スキーマに格納されます。
オブジェクト・ストアからAutonomous Transaction Processingデータベース表へのデータのコピー
DBMS_CLOUD
パッケージのcopy_data
プロシージャでは、ターゲット表がAutonomous Transaction Processingデータベースにすでに存在する必要があります。前のチュートリアルSQL Developerの接続および表の作成では、Autonomous Transaction Processingのatpc_user
スキーマにすべてのターゲット表を作成しました。
次にcopy_data
プロシージャを実行して、オブジェクト・ストアにステージングしたデータをAutonomous Transaction Processingのatpc_user
表にコピーします。
- SQL Developerのワークシートで
DBMS_CLOUD
パッケージのcopy_data
プロシージャを使用して、オブジェクト・ストアにステージングしたデータをコピーします。credential_name
には、第3項「Autonomous Transaction Processingスキーマでのオブジェクト・ストア資格証明の作成」で定義した資格証明の名前を指定します。file_uri_list
には、オブジェクト・ストアにステージングしたファイルの場所を指し示すURLを指定します。URLは次のような構成です。太字の部分は自分で指定する値です。
https://swiftobjectstorage.<リージョン名>.oraclecloud.com/v1/<テナント名>/<バケット名>/<ファイル名>
- ここをクリックすると、サンプルのスクリプトを参照できます。スクリプト内では、実際に使用する表名、リージョン名、テナント名、バケット名、ファイル名を使用してください。
- プロシージャを実行した後、データがオブジェクト・ストアからAutonomous Transaction Processingデータベース内の表にコピーされたことを確認します。
データ・ロードの確認
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'; - 結果を確認します。ログ・ファイルおよび不良ファイルは表としてアクセスできます。
ロードの監視およびトラブルシューティングの詳細は、ドキュメント・トピックAutonomous Transaction Processingのパフォーマンスの管理と監視を参照してください。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 Cloud ServiceでのOracle Machine Learningの使用