Linux下更改oracle用戶端字元集和服務端字元集

來源:互聯網
上載者:User

標籤:檢查   pen   基本   分享圖片   子集和   idt   xxxx   很多   sysdba   

from:http://blog.csdn.net/chid/article/details/6166506

Linux 下更改 oracle 用戶端字元集和服務端字元集

 

1.Linux 下更改 oracle 用戶端字元集,即設定環境變數“ NLS_LANG“ 的值

查看用戶端字元集,在終端下執行:

echo $NLS_LANG

 

修改用戶端字元集:

 

sudo gedit /etc/environment

在environment 檔案中增加以下內容:

NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"

export NLS_LANG

重新啟動作業系統即可。

 

2. 修改 oracle 服務端的字元集。

查看服務端字元集:

select userenv(‘language‘) from dual;

 

修改服務端字元集,終端下執行:

$ORACLE_HOME/bin/sqlplus /nolog

進入sqlplus 命令列

 

SQL>conn / as sysdba;

 

1 ) . 關閉資料庫

SQL>SHUTDOWN IMMEDIATE;

 

2 ) 啟動到 Mount

STARTUP MOUNT;

ALTER SYSTEM ENABLE RESTRICTED SESSION;

ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;

ALTER SYSTEM SET AQ_TM_PROCESSES=0;

ALTER DATABASE OPEN;

ALTER DATABASE CHARACTER SET INTERNAL_USE ZHS16GBK;

-- 下面一行語句可能會出現錯誤提示,可以不理會

ALTER DATABASE national CHARACTER SET INTERNAL ZHS16GBK;

 

SHUTDOWN IMMEDIATE;

STARTUP;

 

3. 修改 dmp 檔案字元集

dmp 檔案的第2 第3 位元組記錄了字元集資訊,因此直接修改dmp 檔案的第2 第3 位元組的內容就可以‘騙’過oracle 的檢查。這樣做理論上也僅是從子集到超集可以修改,但很多情況下在沒有子集和超集關係的情況下也可以修改,我們常用的一些字元集,如 US7ASCII ,WE8ISO8859P1 ,ZHS16CGB231280 ,ZHS16GBK 基本都可以改。因為改的只是dmp 檔案,所以影響不大。

 

具體的修改方法比較多,最簡單的就是直接用UltraEdit 修改dmp 檔案的第2 和第3 個位元組。比如想將dmp 檔案的字元集改為ZHS16GBK ,可以用以下SQL 查出該種字元集對應的16 進位代碼:

SQL> select to_char(nls_charset_id(‘ZHS16GBK‘), ‘xxxx‘) from dual;

 

0354

然後將dmp 檔案的2 、3 位元組修改為0354 即可。

 

 

 

 

Oracle 提供標準函數,對字元集名稱及 ID 進行轉換 : 

 

SQL> select nls_charset_id(‘ZHS16GBK‘) from dual;

NLS_CHARSET_ID(‘ZHS16GBK‘)

--------------------------

852

1 row selected.

 

SQL> select nls_charset_name(852) from dual;

NLS_CHAR

--------

ZHS16GBK

1 row selected.

 

十進位轉換十六進位 :

SQL> select to_char(‘852‘,‘xxxx‘) from dual;

TO_CH

-----

354

Linux下更改oracle用戶端字元集和服務端字元集

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.