1. 程式人生 > 其它 >如何修改Oracle的字符集

如何修改Oracle的字符集

Oracle檢視字符集

SELECT * FROM NLS_DATABASE_PARAMETERS p where p.PARAMETER='NLS_CHARACTERSET';

SELECT USERENV('language') FROM DUAL;
1.首先以sysdba的身份登入上去 conn /as sysdba

sqlplus / as sysdba
2.關閉資料庫

SQL> shutdown immediate
3.以mount(掛載方式)開啟資料庫

SQL> startup mount
4.設定session

SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;

SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;

SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0;
5.啟動資料庫

SQL> alter database open;
6.修改字符集

SQL> ALTER DATABASE CHARACTER SET ZHS16GBK;
可能會報錯,提示我們的字符集:新字符集必須為舊字符集的超集,跳過超集檢查做更改:

SQL> ALTER DATABASE character set INTERNAL_USE ZHS16GBK;
這條語句就可以了,TERNAL_USE提供的幫助就會使oracle繞過了子集與超集的驗證,這條語句和上面的語句內部操作時完全相同的。

7.關閉資料庫,重新啟動

SQL>shutdown immediate

SQL> startup
8、建議執行(可能使用impdp/expdp無法匯入)

原因:資料泵無法使用元資料API。通常,這是由於XSL樣式表未正確設定造成的。

SQL> execute sys.dbms_metadata_util.load_stylesheets;
————————————————
版權宣告:本文為CSDN博主「流沙Quicksand」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處連結及本宣告。
原文連結:https://blog.csdn.net/gengzhy/article/details/122999989