Goldengate實驗:源端目標端字符集不同
1、Goldengate版本
Oracle GoldenGate Command Interpreter for Oracle
Version 11.1.1.1.2 OGGCORE_11.1.1.1.2_PLATFORMS_111004.2100
Linux, x64, 64bit (optimized), Oracle 10g on Oct? 4 2011 23:50:20
Copyright (C) 1995, 2011, Oracle and/or its affiliates. All rights reserved.
?
2、源端oracle版本
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
字符集:AL32UTF8
?
3、目標端oracle版本
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
字符集:ZHS16GBK
?
4、實驗一:引數檔案中NLS_LANG引數都與目標端字符集一致
Goldengate引數檔案:
GGSCI (node1) 2> view param ext01
extract ext01
SETENV (ORACLE_SID=ogg)
SETENV (NLS_LANG = AMERICAN_AMERICA.ZHS16GBK)
userid ogguser, password ogguser
exttrail dirdat/ex
table SCOTT.emp;
GGSCI (node1) 3> view param rep01
replicat rep01
setenv (ORACLE_SID=orcl10g)
SETENV (NLS_LANG = AMERICAN_AMERICA.ZHS16GBK)
userid ogguser, password ogguser
ASSUMETARGETDEFS
map scott.emp, target scott.emp ;
?
源端:
update emp set ename='外國人都生活在燃料油載磚廠在被風雨剝蝕了往復博聯矽矓阿彌陀佛' where empno=7900;
commit;
select * from emp;
?
目標端:
select * from emp;
結論:抽取程式和複製程式引數檔案中的NLS_LANG變數都與目標端的字符集一致,同步發生亂碼。
實驗二:抽取程式和複製程式NLS_LANG與各自資料庫字符集一致
Goldengate引數檔案:
GGSCI (node1) 2> view param ext01
extract ext01
SETENV (ORACLE_SID=ogg)
SETENV (NLS_LANG = AMERICAN_AMERICA.AL32UTF8)
userid ogguser, password ogguser
exttrail dirdat/ex
table SCOTT.emp;
GGSCI (node1) 3> view param rep01
replicat rep01
setenv (ORACLE_SID=orcl10g)
SETENV (NLS_LANG = AMERICAN_AMERICA.ZHS16GBK)
userid ogguser, password ogguser
ASSUMETARGETDEFS
map scott.emp, target scott.emp ;
源端:
update emp set ename='外國人都生活在燃料油載磚廠在被風雨剝蝕了往復博聯矽矓阿彌陀佛' where empno=7900;
commit;
select * from emp;
目標端:
select * from emp;
結論:抽取程式和複製程式引數檔案中的NLS_LANG變數與各自資料庫字符集一致,同步發生亂碼。
實驗三:抽取程式和複製程式NLS_LANG都與源端資料庫字符集一致
Goldengate引數檔案:
GGSCI (node1) 2> view param ext01
extract ext01
SETENV (ORACLE_SID=ogg)
SETENV (NLS_LANG = AMERICAN_AMERICA.AL32UTF8)
userid ogguser, password ogguser
exttrail dirdat/ex
table SCOTT.emp;
GGSCI (node1) 3> view param rep01
replicat rep01
setenv (ORACLE_SID=orcl10g)
SETENV (NLS_LANG = AMERICAN_AMERICA.AL32UTF8)
userid ogguser, password ogguser
ASSUMETARGETDEFS
map scott.emp, target scott.emp ;
源端:
update emp set ename='外國人都生活在燃料油載磚廠在被風雨剝蝕了往復博聯矽矓阿彌陀佛' where empno=7900;
commit;
select * from emp;
目標端:
select * from emp;
結論:抽取程式和複製程式引數檔案中的NLS_LANG變數與源端資料庫字符集一致,同步正常,不亂碼。
?
5、結論
本實驗只針對源端字符集為AL32UTF8 與 目標端ZHS16GBK的情況,只有在抽取程式和複製程式引數檔案中的NLS_LANG變數與源端資料庫字符集一致,才不發生亂碼。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/196700/viewspace-773335/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- OGG源端和目標端資料不一致的場景
- pytorch實現yolov3(5) 實現端到端的目標檢測PyTorchYOLO
- oracle goldengate 目標端表空間滿導致程式abended處理過程OracleGo
- 客戶端字符集客戶端
- goldengate同源一目標+多表和同源多目標+多表Go
- cdc目標端資料庫初始化(backup restore)資料庫REST
- 關於goldengate無主鍵表的update的同步(源端和目的端列數不一樣多)Go
- 移動端實用資源整理
- NFS導致的目標端檔案系統不可讀NFS
- 設定ORACLE客戶端字符集Oracle客戶端
- mvc 客戶端 驗證 失效 沒有 form 標籤MVC客戶端ORM
- 解決手機端和 PC 端跳轉不同頁面
- Oracle exp 設定客戶端字符集Oracle客戶端
- oracle goldengate 遠端捕獲和投遞OracleGo
- Oracle GoldenGate 簡單實驗OracleGo
- nginx 判斷移動端或者 PC 端 進入不同專案Nginx
- 如何處理手機端和 PC 端跳轉不同頁面
- 乾貨:不同場景容器內獲取客戶端源IP的方法客戶端
- 【CRC校驗方法】+【FPGA實現(傳送端)】FPGA
- 移動端學習目錄
- Linux共享遠端目錄Linux
- 同一個網站,手機端跟電腦端顯示不同是怎麼實現的?網站
- goldengate 目的端程式引數APPLYNOOPUPDATES 和ALLOWNOOPUPDATESGoAPPOOP
- 美軍開發遠端人臉識別系統,實現1公里內目標識別
- Nginx根據PC端和手機端跳轉不同的路徑Nginx
- goldengate 配置源頭 scott.* 到目的端scott2.*時,只是在目的端rep程式引數檔案中指定即可Go
- 小程式端實現文字展示以及標題定位
- python實現兩臺不同主機之間進行通訊(客戶端和服務端)——SocketPython客戶端服務端
- Istio 中實現客戶端源 IP 的保持客戶端
- C#實現組播源及客戶端C#客戶端
- 移動端真機除錯實戰經驗除錯
- iOS和安卓端不同國家CPI整理iOS安卓
- MySQL 5.5客戶端字符集相關引數MySql客戶端
- C# 之 服務端獲取遠端資源C#服務端
- 客戶端身份驗證客戶端
- app後端設計–總目錄APP後端
- oracle goldengate 複製端延時應用引數OracleGo
- RMAN遠端連線目標資料庫遭遇RMAN-06429錯誤資料庫