Home » RDBMS Server » Backup & Recovery » PLS-00553: character set name is not recognized (9i, Linux sles8)
PLS-00553: character set name is not recognized [message #408644] Wed, 17 June 2009 03:43 Go to next message
dirkm
Messages: 86
Registered: November 2008
Location: Centurion - South Africa
Member
I have a server (RAC with 2 nodes actually), running 3 databases.

The Test server however is only 1 server (not RAC). I have successfully restored 1 of the databases using RMAN, from production (RAC) to Test - (both are version 9.2.0.5)

However, when I tried to restore a 2nd database, I received the following error. I checked the NLS environment variables, and the NLS parameters in Oracle, but they are all the same. I don't understand why I am getting this error:


RMAN> restore controlfile from '/Backup/Rman/prodN1/ControlFile.Ctl';

Starting restore at 16-JUN-09

allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=11 devtype=DISK
channel ORA_DISK_1: copied controlfile copy
replicating controlfile
input filename=/control01/oltp/oltp_control01.ctl
output filename=/control02/oltp/oltp_control02.ctl
output filename=/control03/oltp/oltp_control03.ctl
Finished restore at 16-JUN-09


RMAN> list backup;

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of list command at 06/16/2009 18:49:20
ORA-06550: line 1, column 43:
PLS-00553: character set name is not recognized
ORA-06550: line 0, column 0:
PL/SQL: Compilation unit analysis terminated

Re: PLS-00553: character set name is not recognized [message #408650 is a reply to message #408644] Wed, 17 June 2009 04:10 Go to previous messageGo to next message
dirkm
Messages: 86
Registered: November 2008
Location: Centurion - South Africa
Member
Could it be the date format I see below in Linux ? (both under user Oracle - though the NLS variables are the same)


Test:
=====

propbmdr01:~ # ls -la /Backup/Rman/prodN1/ControlFile.Ctl
-rw-r----- 1 oracle oinstall 11116544 Jun 22 2009 /Backup/Rman/prodN1/ControlFile.Ctl

Jun 22 2009 (this is actually seen across an NFS mount)


Production:
===========

-->ls -la /Backup/Rman/prodN1/ControlFile.Ctl
-rw-r----- 1 oracle dba 11116544 2009-06-16 23:48 /Backup/Rman/prodN1/ControlFile.Ctl

2009-06-16
Re: PLS-00553: character set name is not recognized [message #408654 is a reply to message #408650] Wed, 17 June 2009 04:26 Go to previous messageGo to next message
Mahesh Rajendran
Messages: 10708
Registered: March 2002
Location: oracleDocoVille
Senior Member
Account Moderator
Did you set NLS_DATE_FORMAT?
export NLS_DATE_FORMAT='MON DD YYYY HH24:MI:SS'


If it would not help,
I would compare NLS_CHARACTERSET inside the database
and
NLS_LANG in environment.


Re: PLS-00553: character set name is not recognized [message #408655 is a reply to message #408644] Wed, 17 June 2009 04:28 Go to previous messageGo to next message
Michel Cadot
Messages: 68716
Registered: March 2007
Location: Saint-Maur, France, https...
Senior Member
Account Moderator
Are Oracle versions identical in both server?
What is your database character set?

Regards
Michel
Re: PLS-00553: character set name is not recognized [message #408683 is a reply to message #408644] Wed, 17 June 2009 05:28 Go to previous messageGo to next message
dirkm
Messages: 86
Registered: November 2008
Location: Centurion - South Africa
Member
I am starting to wonder if it is perhaps NFS related. A friend of mine tells me that RMAN for Oracle 9i does not support NFS.

And this makes me think. The 1st database I restored was small enough to ftp to the target server, and then restore (there was no NFS involved and the restore worked).

The 2nd database is too big, and I had to mount the backup filesystem on the source server as an NFS mount on the target server.

Could this be my problem ?
Re: PLS-00553: character set name is not recognized [message #408686 is a reply to message #408683] Wed, 17 June 2009 05:34 Go to previous messageGo to next message
Mahesh Rajendran
Messages: 10708
Registered: March 2002
Location: oracleDocoVille
Senior Member
Account Moderator
>>Could this be my problem ?
No. I used it all the time.
Re: PLS-00553: character set name is not recognized [message #408695 is a reply to message #408683] Wed, 17 June 2009 06:02 Go to previous messageGo to next message
Michel Cadot
Messages: 68716
Registered: March 2007
Location: Saint-Maur, France, https...
Senior Member
Account Moderator
Please answer the questions we asked you.

Regards
Michel
Re: PLS-00553: character set name is not recognized [message #408697 is a reply to message #408644] Wed, 17 June 2009 06:11 Go to previous messageGo to next message
dirkm
Messages: 86
Registered: November 2008
Location: Centurion - South Africa
Member
Thanks. Back to Michel's question.

Both databases are 9.2.0.5

On the source I can do the following select (but not on the target, as there is no db and I am trying to restore one now).

SQL> select value from nls_database_parameters where parameter = 'NLS_CHARACTERSET';

VALUE
----------------------------------------
WE8ISO8859P1



On the target I can only do the following, after restoring the controlfile, and mounting the database:

nls_language string AMERICAN
nls_length_semantics string BYTE
nls_nchar_conv_excp string FALSE
nls_numeric_characters string

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
nls_sort string
nls_territory string AMERICA



The parameters are the same on the source database.
Re: PLS-00553: character set name is not recognized [message #408699 is a reply to message #408644] Wed, 17 June 2009 06:15 Go to previous messageGo to next message
dirkm
Messages: 86
Registered: November 2008
Location: Centurion - South Africa
Member
Also, on the source:

-->env | grep NLS
ORA_NLS33=/opt/oracle/product/9ir2/ocommon/nls/admin/data
XNLSPATH=/usr/X11R6/lib/X11/nls


On the target:

-->env | grep NLS
XNLSPATH=/usr/X11R6/lib/X11/nls
ORA_NLS33=/opt/oracle/product/9ir2/ocommon/nls/admin/data

Re: PLS-00553: character set name is not recognized [message #408720 is a reply to message #408644] Wed, 17 June 2009 07:03 Go to previous messageGo to next message
dirkm
Messages: 86
Registered: November 2008
Location: Centurion - South Africa
Member
I tried the following, as suggested by Mahesh, but I am still getting the same error:

-->export NLS_DATE_FORMAT='MON DD YYYY HH24:MI:SS'


How can I check the NLS_CHARACTERSET in the (target) database that I am trying to restore ?

This is a Test server. We lost a disk and with that the test database. I am now trying to restore the database, so there is not database running currently that I can query.
The environment variables on the 2 servers are the same. I cannot find a difference between the 2 servers (yet), but there must be something causing the "character set name is not recognized" in the RMAN.
Re: PLS-00553: character set name is not recognized [message #408759 is a reply to message #408697] Wed, 17 June 2009 12:03 Go to previous messageGo to next message
Mahesh Rajendran
Messages: 10708
Registered: March 2002
Location: oracleDocoVille
Senior Member
Account Moderator
Quote:
SQL> select value from nls_database_parameters where parameter = 'NLS_CHARACTERSET';

VALUE
----------------------------------------
WE8ISO8859P1



On the target I can only do the following, after restoring the controlfile, and mounting the database:

nls_language string AMERICAN
nls_length_semantics string BYTE
nls_nchar_conv_excp string FALSE
nls_numeric_characters string

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
nls_sort string
nls_territory string AMERICA



Assuming the above values are also in Source Database, I would set NLS_LANG in target environment and try again. Something like this.

export NLS_LANG=AMERICA_AMERICAN.WE8ISO8859P1

If it would still fail, I suggest open a SR with Oracle Support.
Re: PLS-00553: character set name is not recognized [message #410814 is a reply to message #408686] Tue, 30 June 2009 07:04 Go to previous messageGo to next message
dirkm
Messages: 86
Registered: November 2008
Location: Centurion - South Africa
Member
Mahesh Rajendran
>>Could this be my problem ?
No. I used it all the time.



Hi Mahesh. What platform are you on ?

Regards
Dirk
Re: PLS-00553: character set name is not recognized [message #411906 is a reply to message #408644] Tue, 07 July 2009 05:10 Go to previous messageGo to next message
dirkm
Messages: 86
Registered: November 2008
Location: Centurion - South Africa
Member
I am back to square 1, and I do not have Oracle support to log an SR.
I have tried the above suggestions, and I also got rid of NFS by connecting the server directly to the disks (so it is now locally mounted), and I am still sitting with the error:

restore database;
switch datafile all;
recover database;
}

executing command: SET NEWNAME
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of set command at 07/07/2009 11:53:29
ORA-06550: line 1, column 7:
PLS-00553: character set name is not recognized
ORA-06550: line 0, column 0:
PL/SQL: Compilation unit analysis terminated



I also tried the following, which didn't work:

1004 export NLS_DATE_FORMAT='MON DD YYYY HH24:MI'
1006 export NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI'
1009 export NLS_DATE_FORMAT='DD/MM/YYYY HH24:MI:SS'


Any help will be appreciated. I found a url about note 137377.1, but I also do not have access to Metalink.

Regards
Dirk
Re: PLS-00553: character set name is not recognized [message #411946 is a reply to message #408644] Tue, 07 July 2009 05:58 Go to previous message
dirkm
Messages: 86
Registered: November 2008
Location: Centurion - South Africa
Member
I think I have found the solution. A friend of mine downloaded and forwarded me the note Metalink Note 137377.1

It seems related to bug numbers: Bug 878554 Bug 1160035


I used the following from the note, and started my restore - so far so good - the 1st backup piece has been restored and it is now on the 2nd backup piece.


On my Production host (which I am restoring from):

SQL> SELECT * FROM V$NLS_PARAMETERS
WHERE PARAMETER = 'NLS_CHARACTERSET';

PARAMETER
----------------------------------------------------------------
VALUE
----------------------------------------------------------------
NLS_CHARACTERSET
WE8ISO8859P1


On Test (where I am restoring to):

-->export NLS_LANG=american_america.WE8ISO8859P1
oracle@propbmdr01:/home/oracle


-->env | grep NLS
NLS_LANG=american_america.WE8ISO8859P1
Previous Topic: how to recover one table without any backup
Next Topic: Recover a package body
Goto Forum:
  


Current Time: Thu Nov 28 15:54:13 CST 2024