Oracle字符集是一個字節數據的解釋的符號集合
一
影響oracle數據庫字符集最重要的參數是NLS_LANG參數
Oracle的字符集命名遵循以下命名規則:
<Language><bit size><encoding>
即: <語言><比特位數><編碼>
比如: ZHS
它的格式如下
它有三個組成部分(語言
其中
從NLS_LANG的組成我們可以看出
所以兩個數據庫之間的字符集只要第三部分一樣就可以相互導入導出數據
這涉及三方面的字符集
一是
二是
三是
在做數據導入的時候
有很多種方法可以查出oracle server端的字符集
①比較直觀的查詢方法
SQL> select userenv(
查詢結果如下: SIMPLIFIED CHINESE_CHINA
②查看有關字符集的所有參數
SELECT * FROM v$nls_parameters;
結果中的NLS_CHARACTERSET ZHS
用oracle的exp工具導出的dmp文件也包含了字符集信息
SQL> select nls_charset_name(to_number(
在windows平台下
Win+R àregedit à HKEY_LOCAL_MACHINESOFTWAREORACLE nls_lang 顯示本地的字符集
在unix平台下
$echo $NLS_LANG
AMERICAN_AMERICA
如果檢查的結果發現server端與client端字符集不一致
關於字符集客戶端的字符集要求與服務器一致
客戶端的字符集要求與服務器一致
字符集要求一致
SELECT * FROM nls_database_parameters;
SELECT * FROM nls_instance_parameters;
SELECT * FROM nls_session_parameters;
二
一旦數據庫創建後
下例為把數據庫的字符集從ZHS
對於每個sql腳本的含義
startup mount ;
alter session set sql_trace=true;
alter system enable restricted session;
alter system set job_queue_processes=
alter system set aq_tm_processes=
alter database open;
set linesize
alter database character set INTERNAL_USE ZHS
shutdown immediate ;
startup ;
查看字符集參數
①SQL_TRACE是Oracle提供的用於進行SQL跟蹤的手段
sql_trace =true
在全局啟用SQL_TRACE會導致所有進程的活動被跟蹤
提示: 通過在全局啟用sql_trace
②在使用過程中對數據庫進行限制
ALTER SYSTEM DISABLE RESTRICTED SESSION來取消數據庫的受限制狀態
③首先設置JOB_QUEUE_PROCESSES=
④aq_tm_processes值可選在
⑤利用INTERNAL_USE 關鍵字修改區域設置
⑥STARTUP NOMOUNT
然後可以使用ALTER DATABASE MOUNT 來掛上數據庫
From:http://tw.wingwit.com/Article/program/Oracle/201311/19105.html