標籤:io 使用 ar 資料 art sp 問題 cti log
修改資料庫字元集為:ZHS16GBK
查看伺服器端字元集
SQL > select * from V$NLS_PARAMETERS
修改:
$sqlplus /nolog
SQL>conn / as sysdba~
若此時資料庫伺服器已啟動,則先執行 SHUTDOWN IMMEDIATE 命
令關閉資料庫伺服器,然後執行以下命令:
SQL>shutdown immediate~
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 ZHS16GBK~
*
ERROR at line 1:
ORA-12721: operation cannot execute when other sessions are active
若出現上面的錯誤,使用下面的辦法進行修改,使用INTERNAL_USE可以跳過超集的檢查:
SQL>ALTER DATABASE CHARACTER SET INTERNAL_USE ZHS16GBK~
SQL>SHUTDOWN IMMEDIATE~
SQL>STARTUP
Oracle gb2312 字元集 轉 utf-8
最近因為一些特殊的需求,考慮到以後系統的開發,
就把現有Oracle資料庫的字元集gb2312改為了UTF-8
步驟:
1.在SQL*PLUS 中,以DBA登入
conn 使用者名稱 as sysdba
2.執行轉換語句:
SHUTDOWN IMMEDIATE;
STARTUP MOUNT EXCLUSIVE;
ALTER SYSTEM ENABLE RESTRICTED SESSION;
ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
ALTER SYSTEM SET AQ_TM_PROCESSES=0;
ALTER DATABASE OPEN;
ALTER DATABASE NATIONAL CHARACTER SET UTF8;
SHUTDOWN immediate;
startup;
注意:如果沒有大對象,在使用過程中進行語言轉換沒有什麼影響,(切記設定的字元集必須是ORACLE支援,不然不能start)
按上面的做法就可以,但是可能會出現‘ORA-12717: Cannot ALTER DATABASE NATIONAL CHARACTER SET when
NCLOB data exists’ 這樣的提示資訊
要解決這個問題有兩種方法
一個是,利用INTERNAL_USE 關鍵字修改地區設定,
還有一個是利用re-create,但是re-create有點複雜,所以請用internal_use,
SHUTDOWN IMMEDIATE;
STARTUP MOUNT EXCLUSIVE;
ALTER SYSTEM ENABLE RESTRICTED SESSION;
ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
ALTER SYSTEM SET AQ_TM_PROCESSES=0;
ALTER DATABASE OPEN;
ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE UTF8;
SHUTDOWN immediate;
startup;
如果按上面的做法做,National charset的地區設定就沒有問題
Linux修改oracle 10g的字元集