通過在kingbase數據庫上面配置異構同步工具,可實現同步數據到oracle數據庫上,實現異構數據庫之間的數據聯動,目前測試環境爲centos 6.9,kingbase v7,oracle 11g。相關步驟如下:
1、在linux上面安裝kingbase數據庫,安裝步驟略,oracle此次測試安裝在windows上;
2、在linux上面安裝unixodbc,
在linux上運行yum list unixodbc,查看當前系統的unixodbc包,此次運行報錯,有一個yum進程在運行,ps -ef|grep yum找到並殺掉,再次運行即可;
執行命令yum install unixODBC.x86_64安裝unixodbc工具,64位、32位按自己環境來;
安裝過程如上圖;安裝後可執行odbcinst -j查看安裝成功的版本;
3、下載oracle的odbc驅動,官網下載地址如下:https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html
下載instantclient-basic-linux.x64-12.1.0.2.0.zip 、instantclient-odbc-linux.x64-12.1.0.2.0.zip 這兩個文件;將其傳到linux的/usr/lib64/oracle-odbc,oracle-odbc目錄爲自己創建的,名字可以隨便取;解壓這兩個文件即可;
4、在oracle-odbc目錄下創建文件tnsnames.ora,內容如下,也可直接複製oracle安裝目錄裏面的這個文件;然後設置tns環境變量:export TNS_ADMIN=/usr/lib64/oracle_odbc/
5、在當前用戶的目錄下創建.odbc.ini、.odbcinst.ini兩個文件,如果需要其他用戶(如kingbase)運行同步,則在那個用戶下也創建這兩個文件;
6、進入/usr/bin目錄,執行./isql -v oracle,測試是否odbc配置成功;
運行報錯,處理這個報錯;ldd這個lib文件,對於not found則查找到,再cp到\lib64裏面;注,當cp後再次ldd一次,有可能出現新的缺包,直到不出現not found即可
cp後執行一次ldconfig命令;
7、再次運行isql -v oracle命令,若出現段錯誤,則將oracle-odbc裏面的lib包全部cp到lib64裏面,ldconfig;執行成功則出現如下界面
8、配置kingbase數據庫的data目錄裏面的kingbase.conf文件,添加如下參數配置,並重啓kingbase數據庫;
9、在kingbase安裝目錄裏創建xlog_source目錄,進入xlog_source目錄創建xlogical.conf文件,內容如下:
10、進入kingbase的bin目錄,執行xlogical_ctl start -D ../xlog_source/命令,開啓同步命令;
此時可進入xlog_source目錄查看xlogical.log日誌,執行的操作均會記錄在日誌裏;
11、在kingbase執行建表,插入操作,在oracle可看到同步過去的表與數據;
同步配置完成。