修改Oracle字符集為ZHS16GBK

滴滴滴發表於2024-08-20

修改Oracle字符集為ZHS16GBK

1、登入DBA使用者

# 登入dba使用者
sqlplus /nolog
SQL>connect sys/oracle as sysdba

2、檢視當前字符集

# 檢視當前字符集
SELECT * FROM V$NLS_PARAMETERS WHERE PARAMETER = 'NLS_CHARACTERSET';
SELECT USERENV('language') FROM DUAL;

3、關閉資料庫,以mount方式開啟

# 關閉資料庫
shutdown immediate;

# 以mount開啟
startup mount;

4、設定session

# 設定session
ALTER SYSTEM ENABLE RESTRICTED SESSION;
ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
ALTER SYSTEM SET AQ_TM_PROCESSES=0;

5、啟動資料庫,修改字符集

# 啟動資料庫
SQL>alter database open;

# 修改字符集
ALTER DATABASE CHARACTER SET ZHS16GBK;

# 可能會遇到的錯誤:ORA-12712: new character set must be a superset of old character set

# 解決辦法
ALTER DATABASE character set INTERNAL_USE ZHS16GBK;

6、重啟,檢視是否修改成功

# 關閉
shutdown immediate;

# 重啟
startup;

# 檢視當前字符集
SELECT * FROM V$NLS_PARAMETERS WHERE PARAMETER = 'NLS_CHARACTERSET';
SELECT USERENV('language') FROM DUAL;

相關文章