(第8回)Autonomous Database Warehouseにテーブルを作成、データのロード準備

(第8回)Autonomous Database Warehouseにテーブルを作成、データのロード準備

目次

前回の作業と今回の作業について
テーブルの作成
認証トークンの作成
ADWCに資格情報を格納する
バケットにロード用のデータを用意
次回作業について

前回の作業と今回の作業について

前回は、linuxマシンにインストールしたCommand Line Interface(CLI)のを設定し、バケット内にアップロードしたファイルの表示させるところまで行いました。

今回は、DBの操作に戻り、Autonomous Database Warehouseにテーブルを作成し、データをロードします。

テーブルの作成

試しにtestというテーブルを作成します。

CREATE TABLE adwc_user.test (
    id   NUMBER  NOT NULL,
    name  NUMBER  NOT NULL,
    time  DATE   NOT NULL);

testテーブルが作成されました。

このtestテーブルにデータをロードしたいと思います。

認証トークンの作成

ADWCとバケット間を通信は、認証トークンとユーザ名、PWを使用するとのことなので、早速認証トークンを作成します。
メニューから【Identity】→【Users】→【User Details】に進んだ先の、左下に[Auth Tokens]という項目を押下します。

「Generate Token」を押下します。

【Generate Token】を押下すると、【DESCRIPTION】の部分に説明を記載します。トークンが増えていくと、なんの為に、生成したものか分からなくなるので、ここでは「Token for loading data to ADWC」としておきます。

再び【Generate Token】を押下すると、トークンが発行されますので、コピーしておきます。

ADWCに資格情報を格納する

ADWCに資格情報を格納する為に、DBMS_CLOUDパッケージの、create_credentialプロシージャを使用します。引数は、credential_name,username,passwordの3つになります。

begin
  DBMS_CLOUD.create_credential (
    credential_name => 'OBJ_STORE_CRED',
    username => 'ユーザの名前',
    password => 'トークン'
  ) ;
end;

バケットにデータを用意

続いて、バケット側にデータを上げていきます。前回、せっかくCommand Line Interfaceを入れたので、コマンドで行っていきたいと思います。様々検証で上げていたファイルを削除します。

****-Virtual-Machine:~$ oci os object delete -ns テナント名 -bn バケット名 --name ファイル名
Are you sure you want to delete this resource? [y/N]: y

ファイル名が分からないときは、–dry-runを付けると、ファイル名が出てくるので試してみました。

*****-Virtual-Machine:~$ oci os object bulk-delete -ns ***** -bn ***** --dry-run

ファイル名が日本語の場合、このような風にエンコードされて出てきましたので、注意が必要かと思います。

{
 "delete-failures": {},
 "deleted-objects": [
   "\u***\u***\u***\u***\u***\u***\u***\u***\u***"
 ]
}

ファイル名を指定するのが面倒なので、対象となる文字列指定・該当するものを削除も試してみました。 –prefix の後に対象文字列を入れると以下のように削除できました。対象がひとつならdeleteで、複数はbulk-delete、今回頻繁に間違えたので、今後、CLIが体に染みつくぐらい触らないとな、と。。

*****-Virtual-Machine:~$ oci os object bulk-delete -ns **** -bn **** --prefix te
WARNING: This command will delete 1 objects. Are you sure you wish to continue? [y/N]: y
Deleted test.txt  [####################################]  100%
{
 "delete-failures": {},
 "deleted-objects": [
   "test.txt"
 ]
}

CLIの操作は色々試したくなって横道にそれがちになります。。前置きが長くなりましたが、アップに移ります。

****-Virtual-Machine:~$ oci os object put -bn **** --file **** --name *****
Uploading object  [####################################]  100%
{
 "etag": "****",
 "last-modified": "****",
 "opc-content-md5": "****"
}

nameのプロパティは必須のようです、指定しなければ元と同じにしてくれるのかな、と思っていましたがはじかれてしまいました。

次回作業について

様々、横道にそれつつ進んできましたが、次回はADWCにデータを入れてクエリなどの実行に進みたいと思います。次回で、一旦環境構築編については終了の予定です。