PLS-00553: character set name is not recognized [message #408644] |
Wed, 17 June 2009 03:43 |
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 |
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 #408683 is a reply to message #408644] |
Wed, 17 June 2009 05:28 |
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 #408697 is a reply to message #408644] |
Wed, 17 June 2009 06:11 |
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 |
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 |
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 #411906 is a reply to message #408644] |
Tue, 07 July 2009 05:10 |
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 |
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
|
|
|