RMAN Does Not Recognize Character Set Name: PLS-00553
While working with Sadhan I configure the rman backup server
and start taking different production DB backup. In one fine morning one of our
database break down needs media recovery. I connected the rman to target
database and try to restore the database but I receive the following error
while using the “restore database” command.
RMAN-03002: failure during compilation of
command
RMAN-03013: command type: send
RMAN-06003: ORACLE error from target database:
ORA-06550: line 1, column 51:
PLS-00553: character set name is not recognized
Cause:
After searching about this error I found RMAN failed to
compile the SEND statement because the NS_LANG of the target database differed
from the NS_LANG of the recovery catalog. In the environment or shell
script, set and export NS_LANG to the correct value for the recovery catalog so
that RMAN receives the correct value.
Solution:
1. Query the target database to determine
NLS_CHARACTERSET
parameter.SQL> SELECT VALUE FROM V$NLS_PARAMETERS WHERE PARAMETER='NLS_CHARACTERSET';
VALUE ------------- AR8MSWIN1256
Try same Query with the rman catalog database I found the
database character set is same as the production database here also.
2. Set the character environment variable in the rman
catalog system same as the server.
% setenv NLS_LANG american_america.we8dec
% setenv NLS_DATE_FORMAT "MON DD YYYY HH24:MI:SS"
In windows you can go through the registry to setup
environment variable:
HKEY_LOCAL_MACHINE –> SOFTWARE –> ORACLE –>
NLS_LANG
also check from the below path:
My Computer -> Properties -> Advanced ->
Environment Variables -> System Variables -> New/Edit/Delete (to set the
variables)
Note: If
the connection is made through a listener, then the listener must be started
with the correct Globalization Support settings. Otherwise, the spawned
connections inherit the incorrect Globalization Support settings from the
listener.
No comments:
Post a Comment