ORCALE字符集AL32UTF8和ZHS16GBK的互相轉換


AL32UTF8轉成ZHS16GBK

cmd中輸入“SQLPLUS”,回車,然后再在用戶名下輸入“SYS AS SYSDBA”,回車

密碼后面輸入“SYS”,回車。這里輸入密碼是隱式的,所以看不見,只要輸入就好了。

這里輸入SQL查詢語句,select * from nls_database_parameters where parameter='NLS_CHARACTERSET'; 查看當前數據庫字符集。

 

此時數據庫服務器已啟動,則先執行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>ALTER DATABASE national CHARACTER SET INTERNAL ZHS16GBK;

這一行不起作用,執行后出錯ORA-00933: SQL 命令未正確結束,不過執行上一行命令已經生效,其他文章里未提到本行。

繼續運行:

SQL>SHUTDOWN IMMEDIATE;
 
 
SQL>STARTUP

 到這里就完成了字符集從AL32UTF8轉成ZHS16GBK了。

 

=================================================

ZHS16GBK轉成 AL32UTF8

SQL> select userenv('language') from dual;

這也可以查詢oracle的字符集。

開始修改字符集:需要先關閉數據庫 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 INTERNAL_USE AL32UTF8;

SQL> shutdown immediate


SQL> startup

 

SQL> select userenv('language') from dual;

繼續使用 select userenv('language') from dual;查詢oracle字符集。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM