跳到主要內容 跳至補充內容

Oracle

此區段說明如何使用 Oracle 目標連接器對 Oracle 目標設定連線能力。Oracle 僅可作為複寫任務中的目標使用。您需要先在資料庫上設定 必要權限,才能連線至 Oracle 目標。若您正透過 資料移動閘道 連線至 Oracle,您也需要按照 驅動程式的設定 中的說明安裝驅動程式。

如需關於使用 Oracle 連接器時的限制和考慮事項的資訊,請參閱 限制和考慮事項

設定連線屬性

本節說明可用的連線屬性。除非另有指明,否則所有屬性皆為必要。

資料目標

  • 資料閘道選取將會用來測試 Oracle 目標連線的 資料移動閘道。其閘道應與用來存取資料來源的閘道相同。

    資訊備註
    • 需要 資料移動閘道 2023.5.10 或更高版本。
    • 您也需要在 資料移動閘道 機器上安裝適當的驅動程式。如需詳細資訊,請參閱以下的 驅動程式的設定

  • 連線字串:您要使用之 Oracle 資料庫的 Oracle 連線字串

    資訊備註

帳戶屬性

使用者名稱密碼: 獲得授權可存取 Oracle 伺服器資料庫的使用者的使用者名稱和密碼。

內部屬性

內部屬性用於特殊使用情況,因此不會在對話方塊中顯示。您只能在 Qlik 支援指示下使用。

根據需要使用欄位右側的 新建取消 按鈕以新增或移除屬性。

名稱

連線的顯示名稱。

必要條件

必要權限

必須向連線字串中指定的使用者授予 Oracle 資料庫中的下列權限:

  • 建立任何表格

  • 建立任何索引

  • 改變 任何 表格

  • 捨棄任何表格
  • 插入任何表格

  • 更新任何表格

  • 刪除任何表格

  • 選取任何表格

  • 選取 all_indexes

  • 選取 all_ind_columns

  • 選取 all_constraints

  • 選取 all_cons_columns

  • 鎖定任何表格

驅動程式的設定

您可以使用驅動程式安裝公用程式 (建議) 或手動安裝 driver。只能在不太可能發生的事件 (您在使用驅動程式安裝公用程式時遇到問題) 中嘗試手動安裝。

使用驅動程式安裝公用程式來安裝驅動程式

此區段描述如何安裝所需的 driver。該流程涉及執行將會自動下載、安裝並設定所需 driver 的指令碼。您也可以執行指令碼,以根據需求更新並解除安裝 driver

  • 確認 Python 3.6 或更高版本安裝於 資料移動 閘道伺服器。

    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 複製到 資料移動閘道 機器。

接著,在 資料移動閘道 伺服器上,開啟 shell prompt 並進行以下項目:

  1. 停止 資料移動閘道 服務:

    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. 將工作目錄變更為 <資料移動閘道-Install-Dir>/bin 並將 LD_LIBRARY_PATH 環境變數附加到 Oracle instant Client 目錄以及 資料移動閘道lib 目錄,作法是將驅動程式的位置複製到 site_arep_login.sh 檔案:

    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. 開始 資料移動閘道 服務:

    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 環境時下載的用戶端認證 (Wallet) ZIP 檔案。

若要啟用 資料移動閘道 以連線至 Oracle Autonomous Data Warehouse:

  1. 將用戶端認證 ZIP 檔案的內容解壓縮至您選擇的資料夾。

    這可以是任何資料夾,但為了此程序,/home/adw_credentials 將會是包含解壓縮檔案的 Linux 資料夾。

  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 檔案中的名稱之一。

如需更多關於設定連線至 Oracle ADW 的資訊,請參閱:

使用用戶端應用程式連線自發交易處理

限制和考慮事項

使用 Oracle 作為複寫目標時,下列限制適用:

  • 無法在 Oracle 資料庫中建立新的結構描述。若要複寫至新的結構描述,新的結構描述必須已存在於目標資料庫。然後,您應在任務設定的 Metadata 索引標籤中指定新的結構描述名稱。
  • 批次最佳化套用模式下工作時,空的 LOB 欄可能會複寫為 NULL 值。

  • 完整載入完成後,若啟用將 LOB 大小限制為選項,且表格包含 NCLOB 資料,則目標上的 NCLOB 大小將會截斷為將 LOB 大小限制為欄位中指定大小的一半。CDC 仍會根據限制截斷。

資料類型

會保留原生資料類型資訊,並顯示在資料集檢視的原生資料類型欄中。若看不見欄,您需要開啟資料集檢視的欄選擇器並選取原生資料類型欄。

資料類型
Qlik Cloud 資料類型 Oracle 資料類型

布林

數字 (1)

位元組

原始 (長度)

日期

日期時間

時間

時間戳記 (0)

日期時間

若刻度 <= 9,則時間戳記 (刻度)

否則,VARCHAR2 (37)

INT1

數字 (3)

INT2

數字 (5)

INT4

數字 (10)

INT8

數字 (19)

數字

數字 (p,s)

REAL4

BINARY_FLOAT

REAL8

BINARY_DOUBLE

字串

含日期指示:日期

含時間指示:時間戳記

含時間戳記指示:時間戳記

含 timestamp_with_timezone 指示:具有時區的時間戳記

含 timestamp_with_local_timezone 指示:具有當地時區的時間戳記

含 interval_year_to_month 指示:間隔年至月

含 interval_day_to_second 指示:間隔日至秒

若長度 > 4000:CLOB

在所有其他情況下:VARCHAR2 (長度)

UINT1

數字 (3)

UINT2

數字 (5)

UINT4

數字 (10)

UINT8

數字 (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 至 Oracle 複寫任務中相關。請參閱以下備註。

XMLTYPE

此頁面是否對您有幫助?

若您發現此頁面或其內容有任何問題——錯字、遺漏步驟或技術錯誤——請告知我們可以如何改善!