You’re trying to connect to RMAN, and you get an NLS error similar to the following:
ORA-12705: Cannot access NLS data files or invalid environment specified
There are usually two reasons for NLS character set problems:
• There’s a mismatch between the NLS character set of the client and that of the database
server.
• You have an NLS-related operating system variable that has been set incorrectly.
To determine whether there is an NLS character set mismatch, compare your target database
character set to your client character set. To display your target database character set,
issue the following SQL statement:
SQL> select value from v$nls_parameters where parameter = 'NLS_CHARACTERSET';
VALUE
-----------
WE8ISO8859P1
Compare that to the operating system NLS_LANG setting on your client. In Unix, use the
echo command to display the relevant NLS parameters:
$ echo $NLS_LANG
In Windows, search the Registry Editor for the value of NLS_LANG as shown here: Start -
run - regedit - Edit - Find - NLS_LANG.
If you find that there is an NLS_LANG mismatch, then you can override the OS variable
manually. For example, in a Unix C shell environment, use the setenv OS command:
$ setenv NLS_LANG american_america.we8iso8859p1
In a Unix Korn shell environment, use the OS export command as follows:
$ export NLS_LANG=american_america.we8iso8859p1
In a Windows environment, use the set command, as shown here:
c:\> set NLS_LANG=american_america.we8iso8859p1
If you set NLS_LANG to a value that RMAN doesn’t recognize, then you will receive an
error like this:
RMAN-00554: initialization of internal recovery manager package failed
RMAN-04005: error from target database:
ORA-12705: Cannot access NLS data files or invalid environment specified
If you receive an error like that, ensure that your NLS_LANG operating system parameter
is set to a valid value.
Monday, February 9, 2009
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment