Error when trying to export database - characterset not recognized

Hello,
My problem as follows:
i recently changed character set from ARABIC_BAHRAIN.AR8MSWIN1252 to ARABIC_BAHRAIN.AR8MSWIN1252,, and everything went fine according to have arabic enabled on the db. But one problem occured is that whenever i try to take backup i have this error below:



About to export specified users ...
. exporting pre-schema procedural objects and actions
. exporting foreign function library names for user testuser
. exporting PUBLIC type synonyms
EXP-00008: ORACLE error 6552 encountered
ORA-06552: PL/SQL: Compilation unit analysis terminated
ORA-06553: PLS-553: character set name is not recognized
EXP-00000: Export terminated unsuccessfully

I tried dropping user and re-create again ,, but same problem still appears.

Thanks
LVL 7
Abu HamdanEnterprise Architect, PM ExpertAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

elkhawajahCommented:
The NLS_LANG of the other database that you are exporting to should have the same character set as the exporting from database..
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Greg CloughSenior Oracle DBACommented:
Could you please re-post the character sets that you changed from/to, as those in the question are identical.

Could you also post the current NLS_LANG setting of the machine where you are doing the export.

Here are a couple of hints that may be helpful:

1. Generally the NLS_LANG setting will match whatever client you are using, BUT when doing an export for backup/recovery purposes then the NLS_LANG should match the character set of the database. This way no translations occur, and that means you don't have to worry about any special characters being lost.

2. An export is not usually a good backup technique, and RMAN is the suggested method. If you must use export and are running on v10g or later, then use "Data Pump" instead. It basically does the same job, but is the supported tool of choice. Export is degraded, and will eventually disappear.
0
schwertnerCommented:
For me your character sets are identical.
What and how have you changed.
The character set of a DB could be changed only if you create
a new DB with the desired Character set and Export/Import
the DB.
Other ways are cutting the corners and bring effects
like you are facing.
0
Big Business Goals? Which KPIs Will Help You

The most successful MSPs rely on metrics – known as key performance indicators (KPIs) – for making informed decisions that help their businesses thrive, rather than just survive. This eBook provides an overview of the most important KPIs used by top MSPs.

Greg CloughSenior Oracle DBACommented:
@hammdan_1980

Have you had a chance to find the info needed for us to help you?

@schwertner

Actually, you can change character sets other than export/import and it is fully supported by Oracle, but only if the target character set is a true superset of the current database, and you don't change from single to multi-byte or vice versa:

http://download.oracle.com/docs/cd/B10501_01/server.920/a96529/ch10.htm#1009580

It's not cutting a corner if done correctly, but can cause lots of trouble if you are not very careful.
0
Abu HamdanEnterprise Architect, PM ExpertAuthor Commented:
first sorry i have been very busy during last days, and traveling to my country after assignment done. Regarding the problem i found that because i changed the characterset by updating the props$ table directly this problem occured so i found the supported corrected one which is as:

SHUTDOWN IMMEDIATE;
STARTUP MOUNT;

ALTER SYSTEM ENABLE RESTRICTED SESSION;

ALTER DATABASE CHARACTER SET AR8MSWIN1256;


so i just run it again and everything now is working without problems

I will split the points for all since all answers helped
1
Greg CloughSenior Oracle DBACommented:
I'm glad it's now working, but remember that in most cases using ALTER DATABASE to switch character sets isn't the right way to go. More common is to use export/import.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Oracle Database

From novice to tech pro — start learning today.