# Oracle

このセクションでは、Oracle ターゲット コネクタを使用して Oracle ターゲットへの接続を構成する方法について説明します。Oracle は、レプリケーション タスクのターゲットとしてのみ使用できます。Oracle ターゲットに接続する前に、データベースで [必要な権限](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/TargetConnections/oracle-target.htm#Permissi) を構成する必要があります。Data Movement gateway 経由で Oracle に接続している場合は、[ドライバーのセットアップ](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/TargetConnections/oracle-target.htm#Driver) の説明に従ってドライバーをインストールする必要もあります。

Oracle コネクタを使用する場合の制限と考慮事項については、「[制限と考慮事項](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/TargetConnections/oracle-target.htm#Limitati)」を参照してください。

## 接続プロパティの設定

コネクタを構成するには、次の手順を実行します。

1. [接続] で、 [接続を作成] をクリックします。

2. Oracle ターゲット コネクタを選択し、次の設定を行います。

### データ ターゲット

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

  情報メモ

  * このサブスクリプション ティアでは Data Movement gateway がサポートされていないため、Qlik Talend Cloud スターター サブスクリプションではこの項目を使用できません。

  * Data Movement gateway マシンに適切なドライバーをインストールする必要もあります。詳細については、以下の「[ドライバーのセットアップ](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/TargetConnections/oracle-target.htm#Driver)」を参照してください。

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

  情報メモ

  * Oracle Autonomous Data Warehouse にレプリケートする場合は、最初に [Oracle Autonomous Data Warehouse への接続](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/TargetConnections/oracle-target.htm#Connecti) で説明されている手順を実行する必要があります。
  * この情報では大文字と小文字が区別されます。

### アカウントのプロパティ

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

### 内部プロパティ

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

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

### 名前

接続の表示名です。

## 前提条件

### 必要な権限

接続文字列で指定されたユーザーには、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 のインストール

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 が再表示されます。

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

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 をレビューできます。

   古い driver がアンインストールされ、新しい driver がインストールされます。

driver のアンインストール

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

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

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

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

   opt/qlik/gateway/movement/drivers/bin

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

   構文:

   ./uninstall oracle

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

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

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

Data Movement gateway がインストールされたら、oracle-instantclient-basiclite-&lt;version&gt;.x86\_64.rpm ドライバーをダウンロードします。サポートされているバージョンへの直接ダウンロード リンクは、/opt/qlik/gateway/movement/drivers/manifests/oracle.yaml の binary-artifacts にあります。ダウンロードが完了したら、RPM を Data Movement gateway マシンにコピーします。

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

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

   sudo systemctl stop repagent

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

   sudo systemctl status repagent

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

   Active: inactive (dead) since &lt;timestamp&gt; ago

3. ドライバー (RPM) をインストールします。

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

   例:

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

5. 作業ディレクトリを &lt;Data Movement gateway-Install-Dir&gt;/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\_&lt;version&gt;:/opt/qlik/gateway/movement/lib/" &gt;&gt; site\_arep\_login.sh

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

   ```
   cat site_arep_login.sh
                           
   ```

7. Data Movement gateway サービスを起動します。

   sudo systemctl start repagent

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

   sudo systemctl status repagent

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

   Active: active (running) since &lt;timestamp&gt; ago

### Oracle Autonomous Data Warehouse への接続

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

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

Qlik Talend Data Integration が 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 への接続設定の詳細については、次を参照してください。

[クライアント アプリケーションを使用して自律型トランザクション処理に接続する](https://docs.oracle.com/en/cloud/paas/atp-cloud/atpug/connect-preparing.html#GUID-EFAFA00E-54CC-47C7-8C71-E7868279EF3B)

## 制限と考慮事項

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

* Oracle データベースに新しいスキーマを作成することはできません。新しいスキーマにレプリケートするには、新しいスキーマ名がターゲット データベースにすでに存在している必要があります。次に、タスク設定の [[Metadata](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Replicating/replicating-settings-metadata.htm)] タブで新しいスキーマ名を指定する必要があります。

* [[バッチ最適化の適用](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Replicating/replicating-settings-replication.htm)] モードで作業している場合、空の LOB 列が NULL 値としてレプリケートされる場合があります。

* フル ロードの完了後、 [LOB サイズを制限] オプションが有効で、テーブルに NCLOB データが含まれている場合、ターゲット上の NCLOB サイズは、 [[LOB サイズを制限](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Replicating/replicating-settings-metadata.htm)] 項目で指定したサイズの半分に切り捨てられます。CDC は制限に従って切り捨てます。

## データ型

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

データ型

| Qlik Cloud データ型 | Oracle データ型 |
| --- | --- |
| BOOLEAN | NUMBER (1) |
| BYTES | RAW (length) |
| 日付 | DATETIME |
| TIME | TIMESTAMP (0) |
| DATETIME | スケールが &lt;= 9 の場合は、TIMESTAMP (scale)<br><br>それ以外の場合は、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<br><br>時刻表示付き: TIMESTAMP<br><br>タイムスタンプ表示付き: TIMESTAMP<br><br>timestamp\_with\_timezone 表示付き: TIMESTAMP WITH TIMEZONE<br><br>timestamp\_with\_local\_timezone 表示付き: TIMESTAMP WITH LOCAL TIMEZONE<br><br>interval\_year\_to\_month 表示付き: INTERVAL YEAR TO MONTH<br><br>interval\_day\_to\_second 表示付き: INTERVAL DAY TO SECOND<br><br>長さが &gt; 4000 の場合: CLOB<br><br>それ以外の場合: VARCHAR2 (長さ) |
| UINT1 | NUMBER (3) |
| UINT2 | NUMBER (5) |
| UINT4 | NUMBER (10) |
| UINT8 | NUMBER (19) |
| WSTRING | NVARCHAR2 (length)<br><br>長さが 2000 を超える場合、列のデータ型は NCLOB になることに注意してください。 |
| BLOB | BLOB<br><br>情報メモ<br><br><ul> <li>レプリケーション タスクでこのデータ型を使用するには、特定のタスクで BLOB の使用を有効にする必要があります。</li> <li>CDC 中または [<span>無制限の LOB サイズを許可</span>] オプションが有効になっているフル ロード中、LOB データ型は、主キーまたは一意のインデックスを持つテーブルでのみサポートされます。 </li> </ul> |
| CLOB | CLOB<br><br>情報メモ<br><br><ul> <li>レプリケーション タスクでこのデータ型を使用するには、特定のタスクで CLOB の使用を有効にする必要があります。</li> <li>CDC 中または [<span>無制限の LOB サイズを許可</span>] オプションが有効になっているフル ロード中、LOB データ型は、主キーまたは一意のインデックスを持つテーブルでのみサポートされます。 </li> </ul> |
| NCLOB | NCLOB<br><br>情報メモ<br><br><ul> <li>レプリケーション タスクでこのデータ型を使用するには、特定のタスクで NCLOB の使用を有効にする必要があります。</li> <li>CDC 中または [<span>無制限の LOB サイズを許可</span>] オプションが有効になっているフル ロード中、LOB データ型は、主キーまたは一意のインデックスを持つテーブルでのみサポートされます。 </li> </ul> |
| XMLTYPE ターゲット データ型は、Oracle 間のレプリケーション タスクにのみ関連します。以下の注記を参照してください。 | XMLTYPE |