Oracle11g 字符集 AL32UTF8 修改為ZHS16GBK詳解
首先嚐試下面方式更改HP伺服器資料庫字元:
嘗試方法一:在sys/sys 下面執行下面語句:(失敗)
注:SQL> alter database CHARACTER SET ZHS16GBK; alter database CHARACTER SET ZHS16GBK 結果報下面錯誤: ERROR 位於第 1 行: ORA-12712: 新字符集必須為舊字符集的超集。
注:超集解釋:如果s1集合包含s2集合中的每一個元素,並且s1集合中有可能包含s2集合中不含有的元素時,那麼稱s1是s2的超級。說明AL32UTF8包含ZHS16GBK。
嘗試方法二:用scott/tiger 登陸 sqlplus 然後connect sys/sys as sysdba,然後輸入命令即可,文中標紅的請用自己設定的密碼。(此方法測試後成功!)
然後在sqlplus介面依次執行以下sql語句:
若此時資料庫伺服器已啟動,則先執行SHUTDOWN IMMEDIATE命令關閉資料庫伺服器,然後執行以下命令:注:每條sql語句都會有相應的提示,請輸入時務必仔細。 SQL>STARTUP MOUNT; SQL>ALTER SYSTEM ENABLE RESTRICTED SESSION; SQL>ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0; SQL>ALTER SYSTEM SET AQ_TM_PROCESSES=0; SQL>ALTER DATABASE OPEN; SQL>ALTER DATABASE CHARACTER SET INTERNAL_USE ZHS16GBK; //跳過超子集檢測 SQL>SHUTDOWN IMMEDIATE; SQL>STARTUP
最後重啟oracle11g監聽和服務,重新登入PL/SQL developer ,
執行select userenv('language') nls_lang from dual; 發現目標資料庫字符集如下,已經正確修改為SIMPLIFIED 。CHINESE_CHINA.ZHS16GBK。
NLS_LANG
---------------------------------------------------- SIMPLIFIED CHINESE_CHINA.ZHS16GBK
--------------------- 本文來自 一凡孟 的CSDN 部落格 ,全文地址請點選:https://blog.csdn.net/mfl0315/article/details/41929775?utm_source=copy