最近 做 ogg , 源端 為 american_america.zhs16gbk , 目標 端 american_america.al32utf8
遠端抓取 和 目標端復制 配置 都是 為 : setenv (nls_lang=american_america.zhs16gbk)
源端 oracle用戶 nls_lang = american_america.zhs16gbk ,db字符集 zhs16gbk
目標端 oracle用戶 nls_lang = american_america.al32utf8 ,db字符集 al32utf8
目標端 字符欄位長度 已經 做了 3* 原長度 /2 擴大長度
現在碰到兩個問題 :
一個是 很多 char 型別的欄位 , 目標端 復制 部分欄位 會 報 欄位長度 不夠的錯誤 :ora-12889 value too long for column XXX ,
關鍵是 無論 吧目標端的長度 擴大到多長 都沒有用 !!還是 報同樣的錯誤 !!! 最后 想了一個辦法 用 colmap xxx=@strtrim(xxx) c處理 就可以通過 , 這是為啥 ???????
第二個問題 , 即使采用了 一 的方法 處理 不報錯了 , 但是仍然有 極少的 中文 char 欄位 ,會亂碼 !! 但是 同一條記錄的其余中文 也不亂碼 ? 亂碼 欄位 也不是 所有的記錄 都亂碼, 只有少量 亂碼 。 為 毛啊 ??????
兩個問題 可能是同一個 原因 !!!!
求大神解答 !!!!!
uj5u.com熱心網友回復:
試過這樣嗎?源端抓取 setenv (nls_lang=american_america.zhs16gbk)
目標端復制 為 setenv (nls_lang=american_america.al32utf8)
uj5u.com熱心網友回復:
或者源端抓取 setenv (nls_lang=american_america.al32utf8)
目標端復制 為 setenv (nls_lang=american_america.al32utf8)
uj5u.com熱心網友回復:
都試過的,二樓的方法 不行 , 最后 還是看了 oracle 的官方 檔案 ,才最后確定了 我上面說的 方法(事實證明是 最接近成功的一個 , 除了 char 的問題 ) , 其他的 中文都沒問題 , 就是 處理 char 型別 和 char 的 中文 有 這個問題 ! 三樓的說法 看到有的 帖子說 要另外的用戶 設定 環境變數 nls_lang=american_america.al32utf 安裝 ogg ,然后再這樣配置 ,我沒有 用另外的用戶 只是在原來的oracle 用戶,nls_lang 在 抓取的 組態檔 中 指定 , 結果 也不行 !!另外 增加了 trimspaces 引數也沒有毛用 !!!
發愁 中 .....
uj5u.com熱心網友回復:
根據metalink建議:Replicate Chinese Characters AMERICAN_AMERICA.ZHS16GBK to target charset AL32UTF8, Oracle to Oracle, 11.1 and before 11.2 (Doc ID 1469735.1)源端
setenv NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
目標端:
setenv NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
另外看你ogg里配置本來也是如上設定,但下面用戶環境變數建議都改成如下試試:
oracle用戶 nls_lang = AMERICAN_AMERICA.ZHS16GBK
uj5u.com熱心網友回復:
現在 離這個配置 就差 目標端的 oracle 用戶的 nls_lang了 , 因為這個小機 不只有一個 庫, 還有其他 的 庫 ,關鍵 另外一個庫 也有一個 ogg 復制 ,是 uf8 到 utf8的 , 所以 oracle 用戶的 nls_lang 肯定不能改 , 實在不行 就只能 用另外的 用戶 再 重新 起一個 ogg 復制試一下看了 !!uj5u.com熱心網友回復:
其實 是只有一個欄位 有問題 , 重新 用 新的用戶 設定了 nls_lang = AMERICAN_AMERICA.ZHS16GBK 的環境變數 , 復制行程里面 同樣 配置 setenv (nls_lang = AMERICAN_AMERICA.ZHS16GBK) , 有問題的那個欄位 仍然有問題 , 問題仍然沒有解決 !!!!根據官方的說法 其實 復制行程 里面的 配置 會 覆寫 系統 環境變數的 !!
抱歉 前面沒說清楚 其實 是 只有一個欄位 有問題 !!!!!!!! 這個欄位 涉及到 4張表 ,而這四張表的 這個 欄位 都是 同一個 來源 , 現在懷疑是不是來源本來就有問題 !!!
uj5u.com熱心網友回復:
關鍵 的 關鍵 是: 初始化的 資料 使用 dblink 直接 insert 過來的 , 這個欄位 都沒有問題 , 等到 ogg 自動 同步時 就會 出問題 , 感覺也不像是 來源的問題 !!!!! 頭大了 !!!轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/231642.html
標籤:高級技術
上一篇:請問如何將日期按照月份拆分
下一篇:創建mysql資料庫出問題
