一、查看編碼
1、查看oracle數據庫編碼
命令:select * from nls_database_parameters where parameter =’NLS_CHARACTERSET’;
執行結果:
查詢的數據來源props$,這個代表的是數據庫字符集。
2、查看oracle客戶端編碼
命令:select * from nls_instance_parameters where parameter=’NLS_LANGUAGE’;
執行結果:
查詢的數據來源v nls_parameters,表示會話的設置,如果會話沒有特殊的設置,將與nls_instance_parameters一致。
二、修改編碼
將數據庫環境字符集的AL32UTF8,換為ZHS16GBK
- 首先以sysdba的身份登錄上去 conn /as sysdba
- 關閉數據庫shutdown immediate;
- 以mount打來數據庫,startup mount
設置session
- SQL>ALTER SYSTEM ENABLE RESTRICTED SESSION;
- SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
- SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0;
啟動數據庫
- alter database open;
修改字符集
- ALTER DATABASE character set INTERNAL_USE ZHS16GBK;
關閉,重新啟動
- SQL>shutdown immediate;
- SQL> startup