6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Autonomous DatabaseのData Transformsを用いて、異なるスキーマ間でデータの複製をしてみた。

Last updated at Posted at 2022-12-14

はじめに

Data Transformsは、Autonomous Databaseに組み込まれているデータ統合ツールです。Database Actionsからアクセス可能で、様々なソースからAutonomous Databaseにデータをロードして変換するためのツールとして知られています。

本記事の前提条件

作業の大まかな流れ

~前提条件まで~

  • QTEAMというユーザーを作成し、Movie Sales 2020.csvをロードします。
  • Data Transformsを開き、MovieStreamという名前でConnectionを作成し、Autonomous Databaseに接続します。
  • QTEAMスキーマにロードしてあるデータ(Movie Sales 2020.csv)をインポートします。
  • データの変換作業(データの修正、トリミング)を行います。
    詳細は、OCIチュートリアル, Oracle Database編, 403 : Data Transformsを使ってみようをご覧ください。
    ~本記事~

実際にデータの複製をしてみた

QTEAM_TARGETスキーマの作成

  1. ADBのコンソール画面からDatabase Actionsを起動し、データベース・ユーザーをクリックします。
    qiita_DataTransforms_Replicate_1.png

  2. ユーザーの作成をクリックします。
    qiita_DataTransforms_Replicate_2.png

  3. 次のようにユーザー情報を入力します。

    入力項目 入力内容
    ユーザー QTEAM_TARGET
    パスワード    任意
    パスワードの確認 任意
    Webアクセス ON
    Webアクセス拡張機能→承認が必要 ON
    表領域の割当制限DATA UNLIMITED

    qiita_DataTransforms_Replicate_3.png

    • ユーザーを作成ボタンを押す前に、付与されたロールの項目から以下の2つのユーザーロールについて、[付与済]と[デフォルト]の両方にチェックしてください。(後からでも編集できます。)
      ・DWROLE
      ・DATA_TRANSFORMS_USER
      qiita_DataTransforms_Replicate_4.png

    qiita_DataTransforms_Replicate_5.png

  4. Database Actionsの起動パッドに戻り、ADMINユーザーからいったんログアウトして、前提条件で作成してあるQTEAMユーザーでログインし直します。

Replicate_MoviestreamのProjectを作成

  1. Data Transformsを起動します。
    QTEAMユーザーでDatabase Actionsにログインした状態で、起動パッドを開きます。データ変換の項目をクリックし、QTEAMユーザーの情報を入力すると、Data Transformsが起動します。
  2. Home画面からProjectsに移動し、Create Projectを押し、Replicate_Moviestreamという名前でProjectを作成します。
    qiita_DataTransforms_Replicate_6.png

MovieStream_TargetのConnectionを作成

前提条件でMovieStreamというConnectionを作成済みですが、データ複製のターゲット用としてMovieStream_Targetを新たに作成します。

  1. Create Connectionsを押して、下記画像のようにConnectionの作成を行います。

    • Name: MovieStream_Target
    • Use Credential File: ON
    • Services: 〇〇_low
    • User: QTEAM_TARGET
    • Password: 設定したパスワード

    Test Connectionを押し、接続テストに成功したら、作成ボタンを押します。

    qiita_DataTransforms_Replicate_7.png

QTEAMから、QTEAM_TARGETにデータを読み込む

  1. Home画面に戻り、Load Dataを押します。すると以下の画像のように、Load Dataの情報を入力する画面が立ち上がってきます。

    • Name: MovieStream_dataLoad (例)
    • Project Name: Replicate_Moviestream を選択
      Nextを押します。
      qiita_DataTransforms_Replicate_8.png
  2. Source Connectionを入力する画面に移ります。データ複製のためのソースとなるConnectionであるMovieStreamを選択します。スキーマはQTEAMにします。
    qiita_DataTransforms_Replicate_9.png

    1. 続いてTarget Connectionを入力する画面に移ります。データの複製先のターゲットとなるConnectionであるMovieStream_Targetを選択します。スキーマはQTEAM_TARGETにします。
      qiita_DataTransforms_Replicate_10.png
  3. Home画面からProjectsを押し、先ほど作成したReplicate_MovoeStreamのProjectを選択します。
    qiita_DataTransforms_Replicate_11.png

  4. 画面左側のData Loadsを選択し、MovieStream_dataLoadが表示されているはずなので、このリンクを押します。
    qiita_DataTransforms_Replicate_12.png

    • MovieStream_dataLoadの詳細画面が表示されます。ソーススキーマのすべての表を見ることができ、該当の表(MOVIE_SALES_2020Q2)を選択します。
    • Recreate, Truncate, Append, Do not Loadの4つのアクション中から、行う作業を選択します。今回はデータの複製を行うので、Recreateを選びます。「保存されていない変更があります。」という注意が表示されたら、必要に応じてフロッピーディスクのアイコンをクリックし、作業の内容を保存してください。保存ができたら、緑色の三角印の実行ボタンを押してください。
      qiita_DataTransforms_Replicate_13.png

データが複製されたかを確認

  1. Database Actionsの起動パッドに戻ります。この時点ではQTEAMユーザーでログインしているかと思います。ログアウトして、QTEAM_TARGETユーザーでログインし直します。

  2. 起動パッドから、データカタログの項目を選択します。
    qiita_DataTransforms_Replicate_14.png

  3. しばらく待つと、以下のようにQTEAMスキーマから複製されたMOVIESALES_2020Q2の表の情報が表示されます。
    qiita_DataTransforms_Replicate_15.png

まとめ

本記事ではData Transformsを用いて、異なるスキーマ間においてデータを複製をさせてみました。

参考資料

6
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?