Home » RDBMS Server » Backup & Recovery » I don't have script file of an Oracle utility, named CSALTER.PLB. (ORACLE9i)
I don't have script file of an Oracle utility, named CSALTER.PLB. [message #681644] Wed, 12 August 2020 05:35 Go to next message
Itzhak Ben-Ari
Messages: 6
Registered: August 2020
Junior Member
I have to convert character set of an old database of one of our clients.
The database version is 9i and I need to convert current character set of this database, WE8MSWIN1252, to ALT32UTF8.
I already executed CSSCAN utility which approved that this conversion will be flawless and now
I need to execute CSALTER.PLB script file.

Ufortunately, I don't have CSALTER.PLB scipt file in my $ORACLE_HOME/rdbms/admin directory, so I need you to email me this script file.
I need a CSALTER.PLB script file for ORACLE9i.
My email address is itzhak_ba@supercom.com.
Re: I don't have script file of an Oracle utility, named CSALTER.PLB. [message #681646 is a reply to message #681644] Wed, 12 August 2020 05:49 Go to previous messageGo to next message
John Watson
Messages: 8424
Registered: January 2010
Location: Global Village
Senior Member
Welcome to the forum. Please read the OraFAQ Forum Guide and How to use code tags and make your code easier to read

Are you sure that csalter existed in release 9.x? From some ancient notes I have, I once did it like this:

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;
Re: I don't have script file of an Oracle utility, named CSALTER.PLB. [message #681647 is a reply to message #681646] Wed, 12 August 2020 06:52 Go to previous messageGo to next message
Itzhak Ben-Ari
Messages: 6
Registered: August 2020
Junior Member
Hi John,

I see that you right.
According to the following Oracle Support Site, CSALTER utility started in ORACLE 10G -
https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=284449647594013&parent=EXTERNAL_SEARCH&sourceId=BULLETIN& id=260192.1&_afrWindowMode=0&_adf.ctrl-state=4757a47qb_266

This is what I found in ORACLE9i documentation regarding using alter database command:
The ALTER DATABASE CHARACTER SET statement does not perform any data conversion, so it can be used if and only if the new character set is a strict superset of the current character set. Another restriction of the ALTER DATABASE CHARACTER SET statement is that it can be used only when the character set migration is between two single-byte character sets or between two multibyte character sets.
WE8MSWIN1252 is a single byte character set and ALT32UTF8 multi byte character set.
Do you believe that I will run into trouble if I use alter database in my case ?
I ran CSSCAN utility and the I found no exceptions nor any convertible data, so I don't have to be worried of running ALTER DATABASE, according to this check.
Re: I don't have script file of an Oracle utility, named CSALTER.PLB. [message #681648 is a reply to message #681647] Wed, 12 August 2020 07:54 Go to previous messageGo to next message
Michel Cadot
Messages: 67538
Registered: March 2007
Location: Nanterre, France, http://...
Senior Member
Account Moderator

CSALTER does not exit in 9i.
I would not recommend to use ALTER DATABASE to migrate to (AL32)UTF8, it is sure that from 10g you will screw your Oracle dictionary. I don't know with 9i as I don't know if CSSCAN scans this dictionary and your result is safe.

The safest way is to use exp/imp.

Re: I don't have script file of an Oracle utility, named CSALTER.PLB. [message #681650 is a reply to message #681648] Wed, 12 August 2020 09:23 Go to previous messageGo to next message
Itzhak Ben-Ari
Messages: 6
Registered: August 2020
Junior Member
So, the safest way is to export the entire database, whose character set at the moment is WE8MSWIN1252, create new database with character set of AL32UTF8 and import the database there ?
Re: I don't have script file of an Oracle utility, named CSALTER.PLB. [message #681651 is a reply to message #681650] Wed, 12 August 2020 10:47 Go to previous messageGo to next message
Michel Cadot
Messages: 67538
Registered: March 2007
Location: Nanterre, France, http://...
Senior Member
Account Moderator

Yes.

Re: I don't have script file of an Oracle utility, named CSALTER.PLB. [message #681652 is a reply to message #681651] Wed, 12 August 2020 13:50 Go to previous messageGo to next message
Itzhak Ben-Ari
Messages: 6
Registered: August 2020
Junior Member
Okay. Thanks.
Re: I don't have script file of an Oracle utility, named CSALTER.PLB. [message #681702 is a reply to message #681652] Mon, 17 August 2020 04:54 Go to previous messageGo to next message
Itzhak Ben-Ari
Messages: 6
Registered: August 2020
Junior Member
I did what you advised me and it is indeed resolving the problem I had. I created new Oracle 9.2 database with character set of AL32UTF8 and
when I am importing there the export file then I can finally see the Amharic letters (Amharic is the language of Ethiopia and the characters of this language are called Ge'ez).

However, when I try to insert records directly, using an SQLPLUS session in PLSQL/Developer, on the machine on which the new Oracle 9.2 database is installed, then I am getting question marks (ascii code 63), instead of Ge'ez special character.
The same problem repeats when I am trying to insert the same records on another machine on which I have an Oracle 11g installed with the same character set (AL32UTF8).

Should I add an NLS_LANG or NLS_CHARACTER SET environment variable in the REGISTRY or in Windows ?
if I should then which value should I assign into these environment varialbles, for supporting Amharic (Ge'ez) letters ?
By the way, I already added new language in Windows, Amharic, and it didn't help.

[Updated on: Mon, 17 August 2020 05:07]

Report message to a moderator

Re: I don't have script file of an Oracle utility, named CSALTER.PLB. [message #681703 is a reply to message #681702] Mon, 17 August 2020 05:09 Go to previous messageGo to next message
Michel Cadot
Messages: 67538
Registered: March 2007
Location: Nanterre, France, http://...
Senior Member
Account Moderator

To be correct the following must be true:
  • Your OS supports the character set
  • Your client tool supports the character set
  • NLS_LANG should be set to the OS character set you use
If you have a question mark, this means that Oracle tried to make a conversion from a non-existent character in the character set you configured.

Re: I don't have script file of an Oracle utility, named CSALTER.PLB. [message #681704 is a reply to message #681703] Mon, 17 August 2020 05:57 Go to previous message
Itzhak Ben-Ari
Messages: 6
Registered: August 2020
Junior Member
Thanks again for your good advice.

I added NLS_LANG system variable in the machine of the Oracle client in which I am trying to insert Amharic (Ge'ez) letters.
I set its value to: AMERICAN_AMERICA.AL32UTF8 and now I can add Ge'ez characters directly with SQLPLUS clause.
Previous Topic: Clone virtual machine with Oracle DB
Next Topic: ORA-12170: TNS:Connect timeout occurred
Goto Forum:
  


Current Time: Tue Nov 24 03:55:14 CST 2020