中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Oracle 12C 修改字符集為AL32UTF8研究

發布時間:2020-08-10 13:54:20 來源:ITPUB博客 閱讀:261 作者:studywell 欄目:關系型數據庫

有這樣一個問題:PDB字符集能否從ZHS16GBK修改為AL32UTF8?

答案:由于CDB為ZHS16GBK,導致PDB不能修改。

針對這個問題作了一下學習,記錄一下。

1、遷移轉換字符集方法:

12C :只有DMU這個工具

10g/11g :csscan/ csalter /部分 exp/imp

8i/9i :Alter Database Character Set () / 部分 exp/imp 

2、AL32UTF8 是一個變寬度的字符集,表示為 1 個字符的代碼可以是 1,2,3 或 4 個字節長。

這 與 WE8ISO8859P1 或 WE8MSWIN1252 字符集中 1 字符始終是 1 個字節有很大的區別。

3、使用 AL32UTF8數據庫會增長,最大的擴展將會發生在 CLOB 類型上(或者 XMLtype – 該類型后臺使用 CLOB),

如果源數據 庫是 8 bit 字符集(WE8ISO8859P1,WE8MSWIN1252 等),那么轉換后的 Clob 列會在磁盤 大小上變成原來的兩倍。 

4、CDB不能轉換字符集,只能重新創建CDB。DMU 是PDB轉換字符集的唯一工具;

5、截至2019.9.8,DMU最新版本為19.1,使用過程圖形界面有卡死現象。DMU用于轉換數據的過程是:

將數據庫置于受限模式。

禁用各種作業隊列進程。

刪除或禁用所選索引。

禁用選定的觸發器和約束。

將用戶表和選定數據字典表中的數據轉換為Unicode。

轉換CLOB數據字典中的列。

發表ALTER DATABASE CHARACTER SET聲明。

啟用觸發器和約束; 并重新創建索引和約束。

恢復數據庫實例參數。

6、使用9i 傳統方法alter database character set INTERNAL_USE AL32UTF8;  修改CDB測試成功,但oracle官方不推薦。該方法并未執行兩個步驟:將用戶表和選定數據字典表中的數據轉換為Unicode  和 轉換CLOB數據字典中的列。這兩關鍵步驟只能通過DMU實行。

測試:使用該方法切換CDB字符集從ZHS16GBK到AL32UTF8成功,同時PDB$SEED也自動變化;但按官方說法切換不完整,不贊成這樣做。

7、NLS_NCHAR_CHARACTERSET("國家字符集")定義了 NCHAR,NVARCHAR2 和 NCLOB 列 的編碼并且在 9i 及以上版本已經是 Unicode了(參見 Note 276914.1 The National Character Set in Oracle 9i 10g and 11g)。 

8、NLS_CHARACTERSET("字符集")定義了"普通的" CHAR,VARCHAR2,LONG 和 CLOB列編 碼,這些也可以被用于存放 Unicode。在這樣的情況下需要 AL32UTF8 或者 UTF8 NLS_CHARACTERSET 數據庫。

參考文檔:

AL32UTF8/UTF8(Unicode)數據庫字符集含義 (文檔 ID 1946289.1)

如何選擇或更改數據庫字符集 (NLS_CHARACTERSET) (文檔 ID 1525394.1)

The Database Migration Assistant for Unicode (DMU) Tool (文檔 ID 1272374.1)

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

江达县| 华亭县| 昌黎县| 永川市| 永福县| 林周县| 响水县| 黄骅市| 佛冈县| 石城县| 贵德县| 扬州市| 黑水县| 故城县| 星子县| 县级市| 漳浦县| 江陵县| 油尖旺区| 浦东新区| 汶川县| 桐梓县| 浦县| 夹江县| 宜宾市| 昂仁县| 禄劝| 平利县| 阳新县| 尼玛县| 三亚市| 怀集县| 连江县| 大埔区| 防城港市| 博兴县| 客服| 澄江县| 济宁市| 海兴县| 洛宁县|