2012-03-14 18 views

risposta

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

vi mostrerà il database e il set di caratteri nazionali. Il set di caratteri del database controlla la codifica dei dati nelle colonne CHAR e VARCHAR2. Se il database supporta Unicode in queste colonne, il set di caratteri del database dovrebbe essere AL32UTF8 (o UTF8 in alcuni rari casi). Il set di caratteri nazionali controlla la codifica dei dati nelle colonne NCHAR e NVARCHAR2. Se il set di caratteri del database non supporta Unicode, potresti essere in grado di archiviare i dati Unicode in colonne con questi tipi di dati, ma questo in genere aggiunge complessità al sistema - le applicazioni potrebbero dover cambiare per supportare il set di caratteri nazionale.

1

Unicode è un sistema di codifica dei caratteri che definisce ogni personaggio nella maggior parte delle lingue parlate nel mondo, supporto per Unicode in Oracle Database:

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 

per assicurarsi che il database è Unicode, si prega di verificare il valore del parametro "NLS_CHARACTERSET" e dovrebbe essere AL32UTF8 o AL16UTF16 dall'elenco precedente.

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

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

Per modificare il valore del parametro, si prega di prendere il terzino a causa ALTER DATABASE non può eseguire il rollback e l'Uso seguenti dichiarazioni:

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; 
Problemi correlati