2012-03-14 10 views

cevap

17
SELECT * 
    FROM v$nls_parameters 
WHERE parameter LIKE '%CHARACTERSET'; 

size veritabanı ve ulusal karakter kümesini gösterir. Veritabanı karakter kümesi, CHAR ve VARCHAR2 sütunlarındaki verilerin kodlamasını kontrol eder. Veritabanı, bu sütunlarda Unicode'u destekliyorsa, veritabanı karakter kümesi AL32UTF8 (veya bazı nadir durumlarda UTF8) olmalıdır. Ulusal karakter kümesi, NCHAR ve NVARCHAR2 sütunlarındaki verilerin kodlamasını kontrol eder. Veritabanı karakter kümesi Unicode'u desteklemiyorsa, Unicode verilerini bu veri türleriyle sütunlara depolayabilir, ancak genellikle sisteme karmaşıklık katabilirsiniz. Uygulamalar, ulusal karakter kümesini desteklemek için değişebilir.

1

Unicode Oracle Veritabanı Unicode için, dünyada konuşulan dillerin çoğunda Destek her karakteri tanımlayan bir karakter kodlama sistemidir:

Character Set Supported in RDBMS Release Unicode Encoding 
AL24UTFFSS  7.2 - 8i     UTF-8 
UTF8   8.0 - 11g     UTF-8 
UTFE   8.0 - 11g     UTF-EBCDIC 
AL32UTF8  9i - 11g     UTF-8 
AL16UTF16  9i - 11g     UTF-16 

veritabanı Unicode olduğundan emin olun için değerini kontrol edin "NLS_CHARACTERSET" Parametresi ve yukarıdaki listeden AL32UTF8 veya AL16UTF16 olmalıdır. ALTER DATABASE geri alınamaz çünkü

SQL> 
SQL> SELECT * FROM v$nls_parameters WHERE parameter='NLS_CHARACTERSET'; 

PARAMETER     VALUE    CON_ID 
--------------------------- ------------------- ---------- 
NLS_CHARACTERSET   AL32UTF8   0 

Parametre değerini değiştirmek için yukarı Bek atın lütfen ve Kullanımı aşağıdaki ifadeler:

SHUTDOWN IMMEDIATE 
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 AL32UTF8; 
SHUTDOWN IMMEDIATE; 
STARTUP;