Hello List, 

another Oracle question.
I am now in process of converting the charset in our Oracle database from 
WE8ISO8859P15 to AL32UTF8.
The procedure is mostly similar to the following description -

Character Set Scanner utility

though the change from US7ACII to UTF8 could be done with only using the 'alter 
database command' we will use the character set scanner utility CSSCAN to scan 
for any change required.

Installing the CSSCAN schema.

Before using the cssan you must install the schema as a user with DBA 
privileges. This is done by executing the csminst.sql script located at 
$ORACLE_HOME/rdbms/admin

cd $ORACLE_HOME/rdbms/admin
$sqlplus "/ as sysdba"

SQL*Plus: Release 9.2.0.6.0 - Production on Tue Oct 17 16:00:16 2006
Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
Connected to:
Oracle9i Enterprise Edition Release 9.2.0.6.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.6.0 - Production
SQL> START csminst.sql

Executing CSSCAN

The CSSCAN executable is located at the $ORACLE_HOME/bin. After executing the 
script you must connect to the Database as a user with DBA privileges. The 
CSSCAN utility prompts you with options to scan a table, schema or the enter 
database. We choose to scan the entire database in our case.

The CSSCAN displays your current character set version and prompts you to enter 
the new character set version.


$ csscan
Character Set Scanner v1.1 : Release 9.2.0.1.0 - Production on Tue Oct
17 16:03:15 2006
Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
Username: system
Password: 
Connected to: 
Oracle9i Enterprise Edition Release 9.2.0.6.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.6.0 - Production 


(1) Full database, (2) User, (3) Table: 1 > 1
Enter new database character set name: > UTF8
Enter number of scan processes to utilize (1..32): 1 >


After the successful completion of the scan three report files will be created 
scan.txt, scan.out and scan.err.

In my case I have exported the database objects with exceptions as specified in 
the scan.out and plan to import it back after the database conversion is done.


Changing the Character Set at Database Level


Shutdown all application services and the database and listener. You must do a 
clean shutdown of your database and start it up in restricted mode before 
changing the character set. Also you must not have any active sessions before 
issuing the alter database command.

SQL> alter database character set internal_use UTF8; 
alter database character set internal_use UTF8

Import Back Database Objects.

After a successful character set conversion at the database level now you can 
import back the objects and rebuild the indexes specified the in scan.out 
report.

I've searched for all the objects that are not convertible using this csscan 
utility, modified these objects (mostly it was "exceed column size" error and I 
just enlarged column sizes). Then I switched the charset (alter database 
character set internal_use UTF8). The database seemed to work fine. So I 
started the ARS service. But the service did not start.

There are two possible explanations -

1. The procedure described above is not right. It is not possible to upgrade 
the database to Unicode this way. If so, what is a right procedure?

2. I need to change something in ARS configuration files also. ARS can not 
connect to a database with another char set so easily. If so, what should I 
correct in ARS?

 

Thank you for your assistance.

I tried to find the procedure of switching/upgrading to Unicode within ARS 
manuals with no success.

 

Environment:

 

Oracle 9.2 + ARS 6.3 on a Win2003 platform. This is our test/development 
server. I will have to switch our productive one (ARS 6.3 + Oracle 9.2 + 
Solaris 9) later on also.



Kind regards
Dmitry Bezhenar

Reply via email to