Oracle 11G Xe Greek Character Set Not Displaying

How can I tell if my Oracle system is set to support Unicode or multibyte characters?

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

will show you the database and national character set. The database character set controls the encoding of data in CHAR and VARCHAR2 columns. If the database supports Unicode in those columns, the database character set should be AL32UTF8 (or UTF8 in some rare cases). The national character set controls the encoding of data in NCHAR and NVARCHAR2 columns. If the database character set does not support Unicode, you may be able to store Unicode data in columns with these data types but that generally adds complexity to the system-- applications may have to change to support the national character set.

Oracle Database Character Set

And Unicode is your friend, use NVARCHAR or NTEXT.

SQL Error: ORA-12712: new character set must be a superset of old character set

For an ALTER DATABASE CHARACTER SET statement to execute successfully, two conditions must be fulfilled:

  • Each and every character in the current character set is available in the new character set.
  • Each and every character in the current character set has the same code point value in the new character set. (ie: the old charset must be a subset of the new one)

Because WE8MSWIN1252 is not a strict subset of AL32UTF8 this statement will fail (example: the pound sign is A3 in hex in WE8MSWIN1252, but in AL32UTF8 it is C2 A3).

You'll need to use CSALTER to do this migration.

Refer to: Character Set Migration.

How can I run Oracle XE on localhost only?

There are two parts for this (because there are two 'technologies' serving different ports).

Firstly the listener for database port 1521. You use a SQLNET.ORA setting (tcp.invited_nodes) as a soft firewall, so the listener will ignore other nodes.

Secondly, for the 8080 PL/SQL gateway you need to use DBMS_XDB.SETLISTENERLOCALACCESS as described here



Related Topics



Leave a reply



Submit