7 Replies Latest reply: Dec 5, 2012 4:31 AM by dunnsoftinc RSS

    ora-12705 invalid or unknown nls parameter during linux datamover psdmtx

    dunnsoftinc
      Hello. I’m installing the following peoplesoft products:

      tuxedo 10gR3
      peopletools 8.52.00
      hrms 9.10
      weblogic 11gR1

      My os level platform is oracle enterprise linux 6 (2.6.32-71.el6.x86_64 #1 SMP). Multiple oracle database homes are in place. Oracle 9i, 10g, and 11g are all installed in separate locations on this machine. The os oracle account and the os peoplesoft account (ex: pshrtest2 – os peoplesoft admin account) select or choose the oracle version at login time; 9i, 10g, or 11g. Currently, I’m attempting to create the hrms 9.1, peopletools 8.52 demonstration database within Oracle 9i. I’m well versed with the demonstration database build manual steps using datamover (linux: $PS_HOME/bin/psdmtx). This demonstration build via datamover manual step is failing for the peopletools 8.50.00, 8.51.00, and 8.52.00, but succeeds for previous revisions of peopletools such as 8.48.00, 8.48.10, 8.49.00.

      datamover command:

      psdmtx –CT ORACLE –CD HRTEST2 –CO SYSADM –CP SYSADM –CI PEOPLE –CW PEOP1E –FP dbsetup.dms

      datamover error:

      PSDMTX Error: signon
      Reason: Could not sign on to database HRTEST2 with user SYSADM.

      datamover trace #1
      file: datamover.trc

      ?appsrv.3917 (-1) [11/27/12 00:33:03](0) Cache Directory being used: /media/v02/psoft/hr852test2/PS_CACHE/CACHE/1/
      ?appsrv.3917 (-1) [11/27/12 00:33:04](0) Cur#0.3917.HRTEST2 RC=12705 Dur=0.432763 Create Connection Info=Primary/HRTEST2/PEOPLE/ Handle=0000000000000000
      ?appsrv.3917 (-1) [11/27/12 00:33:04](3) File: SQL Access ManagerSQL error. Stmt #: 2 Error Position: 0 Return: 12705 – ORA-12705: invalid or unknown NLS parameter value specified

      Datamover trace #2

      PID: 3948 TIME: Tue Nov 27 00:42:17 2012 Initializing PSORA
      PID: 3948 TIME: Tue Nov 27 00:42:17 2012 Initializing PSDB maximum cursor = 1024
      PID: 3948 TIME: Tue Nov 27 00:42:17 2012 Environment change: NLS_LANG=AMERICAN_AMERICA.UTF8
      PID: 3948 TIME: Tue Nov 27 00:42:17 2012 PSORA Initialized
      PID: 3948 TIME: Tue Nov 27 00:42:17 2012 PSORA_Initialize() nStatus=0 0 0
      PID: 3948 TIME: Tue Nov 27 00:42:17 2012 Attached to new server HRTEST2 0 9.200000
      PID: 3948 TIME: Tue Nov 27 00:42:17 2012 Can't begin session
      PID: 3948 TIME: Tue Nov 27 00:42:17 2012 oracle error code: 12705
      PID: 3948 TIME: Tue Nov 27 00:42:17 2012 ORA-12705: invalid or unknown NLS parameter value specified
      PID: 3948 TIME: Tue Nov 27 00:42:17 2012 PS-sqlcch(0000000000000000)
      PSDMTX Error: signon
      Reason: Could not sign on to database HRTEST2 with user SYSADM

      The linux os user account which is being used to execute datamover is, pshrtest2. Via the pshrtest2 account, I’m able to successfully tnsping the HRTEST2 database. I’m also able to connect to the HRTEST2 database successfully via sqlplus as follows:

      export ORACLE_SID=HRTEST2
      sqlplus people/peop1e
      sqlplus people/peop1e@hrtest2
      sqlplus sysadm/sysadm
      sqlplus sysadm/sysadm@hrtest2

      HRTEST2 nls_database_parameters

      NAME
      ---------
      HRTEST2

      1 row selected.


      PARAMETER VALUE
      ------------------------- -----------------------------------
      NLS_LANGUAGE      AMERICAN
      NLS_TERRITORY AMERICA
      NLS_CURRENCY      $
      NLS_ISO_CURRENCY      AMERICA
      NLS_NUMERIC_CHARACTERS .,
      NLS_CHARACTERSET WE8ISO8859P15
      NLS_CALENDAR      GREGORIAN
      NLS_DATE_FORMAT      DD-MON-RR
      NLS_DATE_LANGUAGE AMERICAN
      NLS_SORT      BINARY
      NLS_TIME_FORMAT      HH.MI.SSXFF AM
      NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
      NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
      NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
      NLS_DUAL_CURRENCY $
      NLS_COMP      BINARY
      NLS_LENGTH_SEMANTICS CHAR
      NLS_NCHAR_CONV_EXCP FALSE
      NLS_NCHAR_CHARACTERSET AL16UTF16
      NLS_RDBMS_VERSION 9.2.0.4.0

      20 rows selected.

      The ora-12705 error is only being received from the peopletools 8.50.00 and above (8.50.00, 8.51.00, 8.52.00) revisions. This error is also received via the application server, although the demonstration seed database has not yet been built. This ora-12705 error is not generated within previous revisions of peopletools (8.48.00, 8.48.10, 8.49.00). What possible environment settings may be put into place and utilized to rectify this issue (ex: $NLS_LANG, $LANG)?
        • 1. Re: ora-12705 invalid or unknown nls parameter during linux datamover psdmtx
          Nicolas.Gasparotto
          I'm wondering why building PT8.5x on Oracle 9i... (which patchset level? <-- it seems you have 9.2.0.4, but only 9.2.0.8 is certified with PT8.5x).
          On my PT8.5x env, I have NLS_LANG=AMERICAN_AMERICA.UTF8 set at the environment variable of the peoplesoft user.
          Are you sure you are using the proper Oracle client path directoy ?
          Bear in mind that PT8.5x is a 64bit application only whereas 8.4x was 32bit (at least up to 8.49.14)...
          You also probably have one and only one listener, which version is it from ?

          Nicolas.

          Edited by: N Gasparotto on Nov 27, 2012 11:38 AM
          • 2. Re: ora-12705 invalid or unknown nls parameter during linux datamover psdmtx
            Nicolas.Gasparotto
            dunnsoftinc wrote:
            ...
            NLS_LENGTH_SEMANTICS CHAR
            This is also wrong, NLS_LENGTH_SEMANTICS should not be set to CHAR on the database level, I mean on the database creation (especially wrong on 9i database). It should rather be modified afterwards, after the database is created.
            Look :
            SQL> select * from nls_database_parameters;
            
            PARAMETER                      VALUE
            ------------------------------ ----------------------------------------
            NLS_LANGUAGE                   AMERICAN
            NLS_TERRITORY                  AMERICA
            NLS_CURRENCY                   $
            NLS_ISO_CURRENCY               AMERICA
            NLS_NUMERIC_CHARACTERS         .,
            NLS_CHARACTERSET               WE8MSWIN1252
            NLS_CALENDAR                   GREGORIAN
            NLS_DATE_FORMAT                DD-MON-RR
            NLS_DATE_LANGUAGE              AMERICAN
            NLS_SORT                       BINARY
            NLS_TIME_FORMAT                HH.MI.SSXFF AM
            
            PARAMETER                      VALUE
            ------------------------------ ----------------------------------------
            NLS_TIMESTAMP_FORMAT           DD-MON-RR HH.MI.SSXFF AM
            NLS_TIME_TZ_FORMAT             HH.MI.SSXFF AM TZR
            NLS_TIMESTAMP_TZ_FORMAT        DD-MON-RR HH.MI.SSXFF AM TZR
            NLS_DUAL_CURRENCY              $
            NLS_COMP                       BINARY
            NLS_LENGTH_SEMANTICS           BYTE                         <-- database level
            NLS_NCHAR_CONV_EXCP            FALSE
            NLS_NCHAR_CHARACTERSET         AL16UTF16
            NLS_RDBMS_VERSION              11.2.0.3.0
            
            20 rows selected.
            
            SQL> show parameter semantic
            
            NAME                                 TYPE        VALUE
            ------------------------------------ ----------- ------------------------------
            nls_length_semantics                 string      CHAR        <-- current value level
            Here all works fine.
            [psoft@orion6 bin]$ env|grep -i nls
            NLS_LANG=AMERICAN_AMERICA.UTF8
            [psoft@orion6 bin]$
            [psoft@orion6 bin]$ more test.dms
            set log /home/psoft/test.log;
            set output /home/psoft/test.dat;
            create table psoprdefn_tst as select * from psoprdefn;
            [psoft@orion6 bin]$ psdmtx -CT ORACLE -CD HCMDEMO1 -CO SYSADM -CP SYSADM -CI PEOPLE -CW peop1e -FP test.dms
            PeopleTools 8.52.11 - Data Mover
            Copyright (c) 2012 PeopleSoft, Inc.
            All Rights Reserved
            
            Started:  Tue Nov 27 11:49:58 2012
            Data Mover Release: 8.52.11
            Database: HCMDEMO1 (ENG)
            SQL Successful -  CREATE table psoprdefn_tst as select * from psoprdefn
            Ended: Tue Nov 27 11:50:00 2012
            Successful completion
            [psoft@orion6 bin]$ sqlplus sysadm/SYSADM@hcmdemo1
            
            SQL*Plus: Release 11.2.0.3.0 Production on Tue Nov 27 11:50:12 2012
            
            Copyright (c) 1982, 2011, Oracle.  All rights reserved.
            
            
            Connected to:
            Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
            With the Partitioning, OLAP, Data Mining and Real Application Testing options
            
            SQL> select count(*) from psoprdefn_tst;
            
              COUNT(*)
            ----------
                   160
            
            SQL>
            Nicolas.
            • 3. Re: ora-12705 invalid or unknown nls parameter during linux datamover psdmtx
              dunnsoftinc
              Hi Nicolas,

              You are correct. My current revision of 9i is 9.2.0.4. Thank you tremendously for making me aware that peopletools 8.5x is currently certified on 9.2.0.8. I should also add that my revision of 9.2.0.4 is 32bit as opposed to 64bit. Could this be the culprit?

              Via the linux os peoplesoft admin account (pshrtest2), the proper client path directory is being referenced. This account has no issue with locating and executing the oracle binaries. That is correct, only a single listener is in place and running using the default listener naming convention, which is also from revision 9.2.0.4.

              Thank you again for pointing out that the nls_length_semantics should not be altered from default at database creation time. I’ve been working on this issue for several days now, and have reviewed various remarks that this configuration should be made available if unicode is being enabled. Based upon the reports I’ve perused, I subsequently thought to test it, however I’ve received this ora-12705 error both with unicode and non-unicode, as well as char or byte being specified for nls_length_samantics at database creation time. Although, now I’m speculating that the database may very well need to be 64bit along with the application just as your tests have been completed within 11g.

              Regarding the comment you made earlier with peopletools 8.5x being certified on oracle 9.2.0.8, is this revision of oracle 64bit?
              • 4. Re: ora-12705 invalid or unknown nls parameter during linux datamover psdmtx
                Nicolas.Gasparotto
                Peopletools 8.5x is certified on Oracle client 64bit only. That won't work within the 32bit. Period.
                Regarding nls_length_samantics, it should not be set on the database creation, but only after.
                Lastly, you should probably wants to use the latest version of the listener, or the intermediate one, the 10g.

                Nicolas.
                • 5. Re: ora-12705 invalid or unknown nls parameter during linux datamover psdmtx
                  Nicolas.Gasparotto
                  Please, also note that :
                  1. Peopletools 8.50 is not certified on OL6 (only PT8.51 and above), needeless to say PT8.48 and PT8.49 are neither certified on OL6.
                  2. Oracle 9i (whatever the release/patchset level) is not certified on OL5 or on OL6, even 10g database (whatever the release/patchset level) is not certified on OL6

                  I don't say that it won't work at all, but I would seriously revised your environment infrastructure to make it more reliable and and to match with the Peoplesoft recommandations.
                  Regarding the comment you made earlier with peopletools 8.5x being certified on oracle 9.2.0.8, is this revision of oracle 64bit?
                  This is right, but it's not available on your plateform.

                  Nicolas.

                  Edited by: N Gasparotto on Nov 27, 2012 2:11 PM
                  • 6. Re: ora-12705 invalid or unknown nls parameter during linux datamover psdmtx
                    dunnsoftinc
                    Thank you kindly, Nicolas.

                    The demonstration database build on oracle 10g resolved the ora-12705 error.
                    • 7. Re: ora-12705 invalid or unknown nls parameter during linux datamover psdmtx
                      Nicolas.Gasparotto
                      Good to hear. Thanks for the feedback.

                      Nicolas.