postgresql安裝oracle_fdw擴展


Oracle_fdw是PG的一個外部數據接口,可以使PostgreSQL輕松跨庫操作Oracle。Oracle_fdw的作用有以下兩點:

  • PG可以跨庫增刪改查Oracle中的表,可以查詢Oracle的視圖,可以使PG中的表和Oracle中表/視圖作Join查詢,類似dblink的功能。
  • 快速將Oralce表遷移進入PostgreSQL。
    本文簡單介紹下Oracle_fdw的安裝和使用。

一、環境

centos6.8 64位,postgresql9.6.8 x86_64

二、oracle_fdw安裝

官方地址:http://pgxn.org/dist/oracle_fdw/ ,選擇一個版本下載。

2.1 安裝Oracle Instant Client

具體安裝參照centos安裝oracle客戶端

此安裝不包括sdk文件,因此從oralce官網下載  sdk-10.2.0.5.0-linux-x64.zip文件,放到/opt/soft/目錄下

解壓sdk-10.2.0.5.0-linux-x64.zip文件

進入解壓出來的instantclient_10_2文件,拷貝sdk文件到$ORACLE_HOME目錄

進入以下目錄

創建軟連接

設置/etc/profile環境變量

保存退出,執行source /etc/profile命令,使配置生效。

2.2 編譯oracle_fdw

啟用postgres用戶環境變量

解壓oracle_fdw-2.0.0.zip

編譯安裝oracle_fdw

沒報錯,代表安裝成功。

三、創建oracle_fdw擴展

四、使用oracle_fdw

4.1 創建server

打開$ORACLE_HOME/network/admin/tnsnames.ora,內容如下:

 

先用oracle的客戶端如pl/sql登陸下,登陸正常進行下一步。

 

oradb_12是server的名稱,'12'指向tnsnames.ora中配置的實例名。

 

4.2 授予用戶權限

將剛創建的服務oradb_12授予權限於postgresql用戶postgres。

 

4.3 數據庫同步

postgres為postgres數據庫用戶 swdn_new為被訪問的oracle數據庫用戶名,123456為密碼

4.4 創建foreign table

create foreign table t_record_change_foreign
(
    table_name varchar(32),
    last_update_time timestamp(6),
    trans_id varchar(64),
    commited numeric(1)
)server oradb_12 options(schema 'SWDN_NEW',table 'T_RECORD_CHANGE');
SWDN_NEW為oracle數據庫用戶名,T_RECORD_CHANGE為需要訪問的Oracle數據庫的表,兩者均要大寫

4.5 查詢t_record_change_foreign表記錄

 

五、參考鏈接

1

2

3


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM