メイン コンテンツをスキップする 補完的コンテンツへスキップ

Oracle

このセクションでは、Oracle Target コネクタを使用して Oracle ターゲットへの接続を構成する方法について説明します。Oracle は、レプリケーション タスクのターゲットとしてのみ使用できます。Oracle ターゲットに接続する前に、データベースで 必要な権限 を構成する必要があります。データ移動ゲートウェイ 経由で Oracle に接続している場合は、ドライバーのセットアップ の説明に従ってドライバーをインストールする必要もあります。

Oracle コネクタを使用する場合の制限と考慮事項については、「 制限と考慮事項」を参照してください。

接続プロパティの設定

このセクションでは、使用可能な接続プロパティについて説明します。特に指定がない限り、すべてのプロパティが必要です。

データ ターゲット

  • データ ゲートウェイOracle ターゲットへの接続をテストするために使用される データ移動ゲートウェイ を選択します。これは、データ ソースへのアクセスに使用されたゲートウェイと同じである必要があります。

    情報メモ
    • データ移動ゲートウェイ 2023.5.10 以降が必要です。
    • データ移動ゲートウェイ マシンに適切なドライバーをインストールする必要もあります。詳細については、以下の「ドライバーのセットアップ」を参照してください。

  • 接続文字列: 使用する Oracle データベースの Oracle [接続文字列]。

    情報メモ
    • Oracle Autonomous Data Warehouse にレプリケートする場合は、最初に Oracle Autonomous Data Warehouse への接続 で説明されている手順を実行する必要があります。
    • この情報では大文字と小文字が区別されます。

アカウントのプロパティ

ユーザー名パスワード:  Oracle Server データベースへのアクセスを承認されたユーザーのユーザー名とパスワードです。

内部プロパティ

内部プロパティは、特殊なユース ケース向けであるため、ダイアログで公開されません。Qlik サポートによって指示があった場合にのみ使用する必要があります。

項目右側にある 新規作成キャンセル ボタンを使用して、必要に応じてプロパティを追加したり削除したりします。

名前

接続の表示名です。

前提条件

必要な権限

接続文字列で指定されたユーザーには、Oracle データベースで付与される次の権限が付与されている必要があります。

  • CREATE ANY TABLE

  • CREATE ANY INDEXES

  • ALTER ANY TABLE

  • DROP ANY TABLE
  • INSERT ANY TABLE

  • UPDATE ANY TABLE

  • DELETE ANY TABLE

  • SELECT ANY TABLE

  • SELECT all_indexes

  • SELECT all_ind_columns

  • SELECT all_constraints

  • SELECT all_cons_columns

  • LOCK ANY TABLE

ドライバーのセットアップ

driver のインストールは、ドライバー インストール ユーティリティを使用する (推奨) か、手動で実行できます。手動インストールは、ドライバー インストール ユーティリティで問題が発生した場合にのみ実行するようにしてください。

ドライバー インストール ユーティリティを使用したドライバーのインストール

このセクションでは、必要な driver のインストール方法を説明しました。このプロセスでは、必要な driver を自動的にダウンロード、インストール、設定するスクリプトを実行します。また、必要に応じて driver の更新やアンインストールを行うスクリプトを実行することもできます。

  • データ移動 ゲートウェイ サーバーに Python 3.6.x 以降 がインストールされていることを確認します。

    Python は、ほとんどの Linux 配布に前もってインストールされています。お使いのシステムにインストールされている Python のバージョンは、次のコマンドを実行することで確認できます。

    python3 --version

driverダウンロードしてインストールするには:

  1. データ移動 ゲートウェイ マシンで、作業ディレクトリを次に変更します:

    opt/qlik/gateway/movement/drivers/bin

  2. 次のコマンドを実行します。

    構文:

    ./install oracle

    アクセス制限または技術的な問題により driver をダウンロードできない場合は、driver をダウンロードする場所と データ移動 ゲートウェイ マシンのコピー先を指示するメッセージが表示されます。それが完了したら、install oracle コマンドを再度実行します。

    それ以外の場合は、driver の EULA が表示されます。

  3. 以下のいずれかを行います。

    • 何度も [Enter] を押すと、EULA 全体をスクロールできます。
    • 何度もスペースバーを押すと、EULA 全体をスピーディにスクロールできます。
    • q を押すと、ライセンス テキストが終了し、EULA 受諾オプションが表示されます。
  4. 以下のいずれかを行います。

    • 「y」を入力して [Enter] を押すと、EULA が受諾され、インストールが開始します。
    • 「n」を入力して [Enter] を押すと、EULA が拒否され、インストールが終了します。
    • 「v」を入力して [Enter] を押すと、EULA が再表示されます。

  5. driver がインストールされます。

提供された driver をインストールする前に前のバージョンの driver をアンインストールしたい場合は、更新コマンドを実行します。

driverダウンロードして更新するには:

  1. データ移動 ゲートウェイ マシンで、作業ディレクトリを次に変更します:

    opt/qlik/gateway/movement/drivers/bin

  2. 次のコマンドを実行します。

    構文:

    ./update oracle

    アクセス制限または技術的な問題により driver をダウンロードできない場合は、driver をダウンロードする場所と データ移動 ゲートウェイ マシンのコピー先を指示するメッセージが表示されます。それが完了したら、update oracle コマンドを再度実行します。

    それ以外の場合は、driver の EULA が表示されます。

  3. 以下のいずれかを行います。

    • 何度も [Enter] を押すと、EULA 全体をスクロールできます。
    • 何度もスペースバーを押して、EULA 全体をスピーディにスクロールします。
    • q を押すと、ライセンス テキストが終了し、EULA 受諾オプションが表示されます。
  4. 以下のいずれかを行います。

    • 「y」を入力して [Enter] を押すと、EULA が受諾され、インストールが開始します。
    • 「n」を入力して [Enter] を押すと、EULA が拒否され、インストールが終了します。
    • 「v」を入力して [Enter] を押すと、最初から EULA をレビューできます。
  5. 古い driver がアンインストールされ、新しい driver がインストールされます。

driver をアンインストールする場合は、アンインストール コマンドを実行します。

driver をアンインストールするには:

  1. このコネクタを使用するように構成されているすべてのタスクを停止します。

  2. データ移動 ゲートウェイ マシンで、作業ディレクトリを次に変更します:

    opt/qlik/gateway/movement/drivers/bin

  3. 次のコマンドを実行します。

    構文:

    ./uninstall oracle

    driver がアンインストールされます。

ドライバーの手動インストール

自動ドライバーのインストールが正常に完了しなかった場合にのみ、driver を手動でインストールするようにしてください。

データ移動ゲートウェイ がインストールされたら、oracle-instantclient-basiclite-<version>.x86_64.rpm ドライバーをダウンロードします。サポートされているバージョンへの直接ダウンロード リンクは、/opt/qlik/gateway/movement/drivers/manifests/oracle.yamlbinary-artifacts にあります。ダウンロードが完了したら、RPM を データ移動ゲートウェイ マシンにコピーします。

次に、Data Movement gateway サーバーで、シェル プロンプトを開き、次の手順を実行します。

  1. Data Movement gateway サービスを停止します。

    sudo systemctl stop repagent

  2. オプションで、サービスが停止されたことを確認します。

    sudo systemctl status repagent

  3. ステータスは次のようになっているはずです。

    Active: inactive (dead) since <timestamp> ago

  4. ドライバー (RPM) をインストールします。
  5. さらに、システムにまだ含まれていない場合は、$Oracle_Home\lib ディレクトリにシンボリック リンクを作成します。リンクに libclntsh.soという名前を付け、このファイルの特定のバージョンを指定します。

    lrwxrwxrwx 1 oracle oracle 63 Oct 2 14:16 libclntsh.so -> /u01/app/oracle/home/lib/libclntsh.so.21.1

  6. 作業ディレクトリを <Data Movement gateway-Install-Dir>/bin に変更し、ドライバーの場所を site_arep_login.sh ファイルにコピーして、LD_LIBRARY_PATH 環境変数を Oracle Instant Client ディレクトリおよび Data Movement gatewaylib ディレクトリに追加します。

    echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/opt/oracle/instantclient_<version>:/opt/qlik/gateway/movement/lib/" >> site_arep_login.sh

  7. 必要に応じて、ドライバーの場所がコピーされていることを確認します。

    cat site_arep_login.sh
  8. Data Movement gateway サービスを起動します。

    sudo systemctl start repagent

  9. オプションで、サービスが開始されたことを確認します。

    sudo systemctl status repagent

    ステータスは次のようになっているはずです。

    Active: active (running) since <timestamp> ago

Oracle Autonomous Data Warehouse への接続

Oracle Autonomous Data Warehouse にレプリケートする場合は、次の手順を実行してください。

Oracle Autonomous Data Warehouse (ADW) への接続を設定するには、Oracle Autonomous Data Warehouse 環境の設定時にダウンロードした Client Credentials (Wallet) ZIP ファイルが必要です。

Data Movement gateway が Oracle Autonomous Data Warehouse に接続できるようにするには:

  1. Client Credentials ZIP ファイルの内容を選択したフォルダーに解凍します。

    任意のフォルダーを選択できますが、この手順では、解凍されたファイルを含む Linux フォルダーを /home/adw_credentials とします。

  2. 解凍したファイルを含むフォルダーで sqlnet.ora ファイルを編集し、?/network/admin を解凍したファイルを含むフォルダーのパスに置き換えます。

    WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="/home/adw_credentials")))

    SSL_SERVER_DN_MATCH=yes

  3. TNS_ADMIN 環境変数を作成し、資格情報ファイルの場所に設定します。

    次のコマンドを実行します。

    export TNS_ADMIN=/home/adw_credentials

    export PATH=$TNS_ADMIN:$PATH

  4. Oracle ターゲット コネクタの [接続文字列] 項目に、tnsnames.ora ファイルの名前の 1 つを入力します。

Oracle ADW への接続設定の詳細については、次を参照してください。

クライアント アプリケーションを使用して自律型トランザクション処理に接続する

制限と考慮事項

Oracle をレプリケーション ターゲットとして使用する場合、次の制限が適用されます。

  • Oracle データベースに新しいスキーマを作成することはできません。新しいスキーマにレプリケートするには、新しいスキーマ名がターゲット データベースにすでに存在している必要があります。次に、タスク設定の [Metadata] タブで新しいスキーマ名を指定する必要があります。
  • [バッチ最適化の適用] モードで作業している場合、空の LOB 列が NULL 値としてレプリケートされる場合があります。

  • フル ロードの完了後、 [LOB サイズを制限] オプションが有効で、テーブルに NCLOB データが含まれている場合、ターゲット上の NCLOB サイズは、 [LOB サイズを制限] 項目で指定したサイズの半分に切り捨てられます。CDC は制限に従って切り捨てます。

データ型

ネイティブ データ タイプの情報は保持され、データセット ビューの [ネイティブ データ タイプ] 列に表示されます。列が表示されない場合は、データ セット ビューの列ピッカーを開いて、 [ネイティブ データ タイプ] 列を選択する必要があります。

データ型
Qlik Cloud データ型 Oracle データ型

BOOLEAN

NUMBER (1)

BYTES

RAW (長さ)

DATE

DATETIME

TIME

TIMESTAMP (0)

DATETIME

スケールが <= 9 の場合は、TIMESTAMP (scale)

それ以外の場合は、VARCHAR2 (37)

INT1

NUMBER (3)

INT2

NUMBER (5)

INT4

NUMBER (10)

INT8

NUMBER (19)

NUMERIC

NUMBER (p,s)

REAL4

BINARY_FLOAT

REAL8

BINARY_DOUBLE

STRING

日付表示付き: DATE

時刻表示付き: TIMESTAMP

タイムスタンプ表示付き: TIMESTAMP

timestamp_with_timezone 表示付き: TIMESTAMP WITH TIMEZONE

timestamp_with_local_timezone 表示付き: TIMESTAMP WITH LOCAL TIMEZONE

interval_year_to_month 表示付き: INTERVAL YEAR TO MONTH

interval_day_to_second 表示付き: INTERVAL DAY TO SECOND

長さが > 4000 の場合: CLOB

他のすべての場合: VARCHAR2 (長さ)

UINT1

NUMBER (3)

UINT2

NUMBER (5)

UINT4

NUMBER (10)

UINT8

NUMBER (19)

WSTRING

NVARCHAR2 (長さ)

長さが 2000 を超える場合、列のデータ型は NCLOB になることに注意してください。

BLOB

BLOB

情報メモ
  • レプリケーション タスクでこのデータ型を使用するには、特定のタスクで BLOB の使用を有効にする必要があります。
  • CDC 中または [無制限の LOB サイズを許可] オプションが有効になっているフル ロード中、LOB データ型は、主キーまたは一意のインデックスを持つテーブルでのみサポートされます。

CLOB

CLOB

情報メモ
  • レプリケーション タスクでこのデータ型を使用するには、特定のタスクで CLOB の使用を有効にする必要があります。
  • CDC 中または [無制限の LOB サイズを許可] オプションが有効になっているフル ロード中、LOB データ型は、主キーまたは一意のインデックスを持つテーブルでのみサポートされます。

NCLOB

NCLOB

情報メモ
  • レプリケーション タスクでこのデータ型を使用するには、特定のタスクで NCLOB の使用を有効にする必要があります。
  • CDC 中または [無制限の LOB サイズを許可] オプションが有効になっているフル ロード中、LOB データ型は、主キーまたは一意のインデックスを持つテーブルでのみサポートされます。

XMLTYPE ターゲット データ型は、Oracle 間のレプリケーション タスクにのみ関連します。以下の注記を参照してください。

XMLTYPE

このページは役に立ちましたか?

このページまたはコンテンツに、タイポ、ステップの省略、技術的エラーなどの問題が見つかった場合は、お知らせください。改善に役立たせていただきます。