Configure PeopleSoft

You must access the database to complete the file system configuration of the middle tier servers at the standby.

Convert the First Standby Database to a Snapshot Standby

Bring the application up to complete configuration of the standby environment. To do this, you must temporarily access the database in read-write mode, which cannot be done while the database is applying redo from the primary. When you convert the OCI database onOracle Exadata Database Service on Dedicated Infrastructure from a physical standby to a snapshot standby, redo from the primary database is shipped to the standby but isn't applied until the database is reverted to a physical standby.
  1. With SSH, log into one of the Oracle Exadata Database Service on Dedicated Infrastructure DB nodes (domUs).
  2. Become the oracle user.
    $ sudo su – oracle
  3. Source the standby database environment.
    This environment was created when the placeholder database was created in preparation for using Oracle Zero Downtime Migration.
    $ . ./CDBHCM.env
  4. Start Oracle Data Guard Broker and enter the SYS password.
    $ dgmgrl
    DGMGRL for Linux: Release 19.0.0.0.0 - Production on Tue Nov 15 18:38:11 2022
    Version 19.14.0.0.0
    
    Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.
    
    Welcome to DGMGRL, type "help" for information.
    DGMGRL> connect sys/password
    Connected to " CDBHCM_iad1dx"
    Connected as SYSDBA.
    DGMGRL>
  5. Show the Data Guard configuration, including redo and apply lag times.
    DGMGRL> show configuration lag
    
    Configuration - ZDM_ CDBHCM_iad1dx
    
      Protection Mode: MaxPerformance
      Members:
      CDBHCM_sca6dp   - Primary database
        CDBHCM_iad1dx - Physical standby database 
                         Transport Lag:      0 seconds (computed 1 second ago)
                         Apply Lag:          0 seconds (computed 1 second ago)
        CDBHCM_phx5s - Physical standby database (receiving current redo)
                          Transport Lag:      1 second (computed 1 second ago)
                          Apply Lag:          2 seconds (computed 1 second ago)
    
    
    Fast-Start Failover:  Disabled
    
    Configuration Status:
    SUCCESS   (status updated 43 seconds ago)
  6. If there are no errors and the above show “SUCCESS”, then convert the standby database to a snapshot standby.
    DGMGRL> convert database CDBHCM_iad1dx to snapshot standby
    Converting database "CDBHCM_iad1dx" to a Snapshot Standby database, please wait...
    Database "CDBHCM_iad1dx" converted successfully
  7. Show the configuration once more to see that the physical standby is now a snapshot standby.
    You may see warnings indicating that the transport lag has exceeded thresholds. This warning will go away after several minutes.
    DGMGRL> show configuration lag
    
    Configuration - ZDM_ CDBHCM_iad1dx
    
      Protection Mode: MaxPerformance
      Members:
       CDBHCM_sca6dp - Primary database
       CDBHCM_iad1dx - Snapshot standby database 
                         Transport Lag:      0 seconds (computed 2 seconds ago)
                         Apply Lag:          10 minutes 14 seconds (computed 2 seconds ago)
        CDBHCM_phx5s - Physical standby database (receiving current redo)
                          Transport Lag:      1 second (computed 1 second ago)
                          Apply Lag:          2 seconds (computed 1 second ago)
    
    
    Fast-Start Failover:  Disabled
    
    Configuration Status:
    SUCCESS   (status updated 60 seconds ago)
  8. Verify that the services required for PeopleSoft have been started.
    For this example, the services are: HR92U033_BATCH and HR92U033_ONLINE. Oracle Zero Downtime Migration migrated these services from the source (on-premises) database and registered them into Oracle Clusterware.
    $ srvctl status service -db CDBHCM_iad1dx -s HR92U033_BATCH
    Service HR92U033_BATCH is running on instance(s) CDBHCM1,CDBHCM2
    $ srvctl status service -db CDBHCM_iad1dx -s HR92U033_ONLINE
    Service HR92U033_ONLINE is running on instance(s) CDBHCM1,CDBHCM2
  9. If the required services have not been started, then start them.
    $ srvctl start service -db CDBHCM_iad1dx -s HR92U033_BATCH
    $ srvctl start service -db CDBHCM_iad1dx -s HR92U033_ONLINE
The snapshot standby is ready for you to configure the application and process scheduler.

Establish the PeopleSoft Database Connection

Edit the tnsnames.ora file to establish the connection.

  1. Log onto one of the OCI compute instances and source the psft.env file. Then move to the $TNS_ADMIN directory:
    $ cd $TNS_ADMIN
  2. Edit the tnsnames.ora file, changing the HOST value to the cluster SCAN name in the database connect strings for both the application server and process scheduler domains.

    Note:

    PeopleTools uses TNS connect aliases as DBNames. Make sure the TNS alias names match the DBNAME column in your PS.PSDBOWNER table.

    For example, the following are the entries in our example PSDBOWNER table:

    DBNAME   OWNERID
    -------- --------
    HR92U033 EMDBO
    HRBATCH  EMDBO

    The following are the entries in our example tnsnames.ora file:

    # Application server
    HR92U033 =
        (DESCRIPTION =
           (CONNECT_TIMEOUT=5)(TRANSPORT_CONNECT_TIMEOUT=3)(RETRY_COUNT=3)
           (ADDRESS_LIST =
               (LOAD_BALANCE=on)
               (ADDRESS = (PROTOCOL = TCP)(HOST = iadexadb-bw5wn-scan.ebsexadbprivate.ebscloudmaavcn.oraclevcn.com)(PORT = 1521))
           )
            (CONNECT_DATA =
               (SERVER = DEDICATED)
               (SERVICE_NAME = HR92U033_ONLINE)
           )
        )
     
    # Process scheduler
    HRBATCH =
       (DESCRIPTION =
           (CONNECT_TIMEOUT=5)(TRANSPORT_CONNECT_TIMEOUT=3)(RETRY_COUNT=3)
           (ADDRESS_LIST =
           (LOAD_BALANCE=on)
               (ADDRESS = (PROTOCOL = TCP)(HOST = iadexadb-bw5wn-scan.ebsexadbprivate.ebscloudmaavcn.oraclevcn.com)(PORT = 1521))
           )
           (CONNECT_DATA =
               (SERVER = DEDICATED)
               (SERVICE_NAME = HR92U033_BATCH)
           )
        )
  3. To test this configuration, ensure that the database services migrated by Oracle Zero Downtime Migration are up and running.
    In the example configuration, they are HR92U033_ONLINE and HR92U033_BATCH.
  4. Log in as the psadm2 OS user and test the first TNS connect string alias with SQL*Plus.
    $ sqlplus PS/password@HR92U033
    SQL*Plus: Release 19.0.0.0.0 - Production on Sat Nov 20 00:50:53 2021
    Version 19.3.0.0.0
    Copyright (c) 1982, 2019, Oracle.  All rights reserved.
    Last Successful login time: Fri Nov 19 2021 02:06:04 +00:00
    
    Connected to:
    Oracle Database 19c EE Extreme Perf Release 19.0.0.0.0 - Production
    Version 19.19.0.0.0
    
    SQL>
  5. Test the HRBATCH connect string alias in a similar fashion, to ensure it successfully connects to the database.
  6. Perform these tests on all compute instances that will host the application and process scheduler.

Configure the PeopleSoft Application Domains

Deploy the application server domain and configure compute instances to host the application servers.

In this scenario, the application server domain is HR92U033 and two of the four compute instances will each host both the application servers and the process scheduler: iad-psft-hcm-app01 and iad-psft-hcm-app02. The application servers and the process scheduler each run within their own Oracle Tuxedo domain.

As psadm2 user, you'll use the psadmin utility to configure the Oracle Tuxedo domain, including the application server.

Find the psappsrv.cfg file in the $PS_CFG_HOME/appserv/Application server domain directory. Use the psadmin utility to make any required configuration changes to this file ($PS_HOME/bin/psadmin), before deploying the domain on each node.

  1. Start the psadmin utility as the psadm2 user on the first node (iad-psft-hcm-app01).
    cd $PS_HOME/bin ./psadmin
    When the psadmin utility starts, it will show the directory paths for PS_HOME, PS_CFG_HOME, and PS_APP_HOME. Make sure they are correct.
    For example,
    PS_CFG_HOME            /peoplesoft/local/ps_config
    PS_HOME                /u01/app/psft/pt/ps_home8.57.11
    PS_APP_HOME            /u01/app/psft/pt/hcm_app_home
  2. Select option 1: Application Domain to configure the application server domain.
  3. Select option 1: Administer a Domain. Select the domain name, in our case HR92U033.
  4. Select option 4: Configure this domain. Enter Y to shut the domain down.
  5. Review the configuration options and settings that are presented.
    • Ensure your TNS connect string aliases are correct for DBName. In our case it is HR92U033.
    • Make any adjustments needed for ports used by the application domain server.
    • Take note in particular of the JOLT port range – the ports used by the PeopleSoft Internet Architecture (PIA) web server to connect to the application server. You will use these values in a later step. The default is 9000 – 9010.
  6. Select option 14: Load domain as shown.
    The domain configuration is loaded and all the required domain files for Oracle Tuxedo are regenerated.
  7. Select option 1: Boot this domain under Domain Administration to start this domain.
    Monitor the startup process. If errors are reported, check the log files in. $PS_CFG_HOME/appserv/domain name/LOGS
  8. Repeat Steps 1-7 as the psadm2 user on the second node, iad-psft-hcm-app02.

Configure the Process Scheduler Domains

The PeopleSoft process scheduler (or batch server) is configured in much the same way as the application server, plus the configuration of the process scheduler logs. As user psadm2, you'll create one directory for each process scheduler node:

  • /u02/app/psft/ps/log_output/node1/HR92U033 (for node: iad-psft-hcm-app01)
  • /u02/app/psft/ps/log_output/node2/HR92U033 (for node: iad-psft-hcm-app02)

You can do this from any one of the middle tier compute instances. With the log output directories in place, perform the following to configure the process scheduler:

  1. Start the psadmin utility as the psadm2 user on the first node (iad-psft-hcm-app01).
    cd $PS_HOME/bin ./psadmin
    When the psadmin utility starts, it will show the directory paths for PS_HOME, PS_CFG_HOME, and PS_APP_HOME. Make sure they are correct.
    For example,
    PS_CFG_HOME            /peoplesoft/local/ps_config
    PS_HOME                /u01/app/psft/pt/ps_home8.57.11
    PS_APP_HOME            /u01/app/psft/pt/hcm_app_home
  2. Select option 2: Process Scheduler.
  3. Select option 1: Administer a Domain. Select the domain name, in our case HR92U033.
  4. Select option 4: Configure this domain. Enter Y to shut the domain down.
  5. Review the configuration options and settings that are presented.
    Ensure your TNS connect string aliases are correct for DBName. In our case it is HRBATCH.
  6. Select option 16: Log/Output and provide the directory paths you just created.

    For example,

    • /u02/app/psft/ps/log_output/node1/HR92U033 (for node: iad-psft-hcm-app01)
    • /u02/app/psft/ps/log_output/node2/HR92U033 (for node: iad-psft-hcm-app02)
  7. Select option 6: Load domain as shown.
    The domain configuration is loaded and all the required domain files for Oracle Tuxedo are regenerated.
  8. Select option 1: Boot this domain under Domain Administration to start this domain.
    Monitor the startup process. If errors are reported, check the log files in. $PS_CFG_HOME/appserv/prcs/domain name/LOGS
  9. Repeat Steps 1-8 as the psadm2 user on the second node, iad-psft-hcm-app02.
  10. Open the JOLT port on all application server and process scheduler compute instances.
    This is accomplished with the command firewall-cmd, which is run as root. The following is an example, which you'll need to modify for your environment:
    # firewall-cmd --zone=public --add-rich-rule 'rule family=ipv4 source address=10.0.103.0/24 port port=9000-9100 protocol=tcp accept' –permanent
    # firewall-cmd --reload
  11. Monitor the application and process scheduler database connections as these Oracle Tuxedo domains start. You can log into one of the Oracle Exadata Database Service on Dedicated Infrastructure Oracle Real Application Clusters (Oracle RAC) instances as the oracle OS user to run the following query for monitoring:
    $ sqlplus / as sysdba
    SQL> col service_name format a20
    SQL> select a.inst_id,a.instance_name,b.service_name, count(*)
    2> from gv$instance a, gv$session b
    3> where a.inst_id = b.inst_id
    4> and service_name not like 'SYS%'
    5> group by a.inst_id,a.instance_name,b.service_name
    6> order by 1;

    The following is example output:

    INST_ID INSTANCE_NAME    SERVICE_NAME           COUNT(*)
    ---------- ---------------- -------------------- ----------
             1 CDBHCM1          HR92U033_BATCH                8
             1 CDBHCM1          HR92U033_ONLINE              54
             2 CDBHCM2          HR92U033_BATCH                7
             2 CDBHCM2          HR92U033_ONLINE              48
The output shows the number of connections to each service on each Oracle RAC instance. The processes should be scattered across the database servers.

Configure the PeopleSoft PIA Web Server Domain

Use the PeopleSoft Internet Architecture (PIA) setup.sh script to configure the PIA web server domain.

Perform the following steps as the psadm2 user on every compute instance VM that will host a PIA web server:

  1. Source the environment as the psadm2 user on the first node (iad-psft-hcm-web01).
    $ . ./psft.env
    Ensure that PS_CFG_HOME is defined. In this example, it is set to /peoplesoft/local/ps_config. If it is not, be sure your .bash_profile calls the psft.env file.
  2. Copy the template response file to the PS_CFG_HOME directory for customization.
    $ cd $PS_HOME/setup/PsMpPIAInstall
    $ cp resp_file.txt $PS_CFG_HOME/iad_oci_pia_resp.txt
  3. Edit the iad_oci_pia_resp.txt file for your environment.

    The following example includes callouts in bold font for the 10 items that you must change.

    # Name of the PIA domain
    DOMAIN_NAME=HR92U033    - The domain name can be the same on all nodes
    # Web server type. Possible values are "weblogic", "websphere"
    SERVER_TYPE=weblogic
    # WebLogic home, the location where Oracle WebLogic is installed (for WebLogic deployment only)
    BEA_HOME=/u01/app/psft/pt/bea
    # admin console user id/password for securing WebLogic/WebSphere admin console credential
    USER_ID=system
    USER_PWD=password
    USER_PWD_RETYPE=password
    # Install action to specify the core task that installer should perform.
    # For creating new PIA domain - CREATE_NEW_DOMAIN.
    # For redeploying PIA - REDEPLOY_PSAPP.
    # For recreating PIA domain - REBUILD_DOMAIN.
    # For installing additional PSFT site - ADD_SITE
    # For installing Extensions - ADD_PSAPP_EXT
    INSTALL_ACTION=CREATE_NEW_DOMAIN          Use CREATE_NEW_DOMAIN
    # Domain type to specify whether to create new domain or modify existing domain. Possible values are "NEW_DOMAIN", "EXISTING_DOMAIN".
    DOMAIN_TYPE=NEW_DOMAIN
    # Install type to specify whether the installation is a single server,  multi-server deployment or distributed webLogic server .
    #Possible values are "SINGLE_SERVER_INSTALLATION", "MULTI_SERVER_INSTALLATION" and "DISTRIBUTED_SERVER_INSTALLATION"
    INSTALL_TYPE=SINGLE_SERVER_INSTALLATION
    # WebSite Name           THIS MUST BE THE SAME FOR ALL PeopleSoft WEB SERVERS
    WEBSITE_NAME=ps          For our project we chose “ps”.
                               
    # AppServer Name
    APPSERVER_NAME=iad-psft-hcm-app01         The application domain server
    # Appserver JSL Port
    JSL_PORT=9000         This is the default port, you can choose a different port
    # HTTP Port
    HTTP_PORT=8080     PIA front-end port to access PeopleSoft application
    # HTTPS Port
    HTTPS_PORT=8443   PIA front-end SSL port if SSL is enabled on the web server
    # Authentication Domain (optional)
    AUTH_DOMAIN=appprivatesu.ebscloudmaavcn.oraclevcn.com    Change this to match the network domain for your environment.
    # Web Profile Name Possible Values are "DEV","TEST","PROD","KIOSK"
    WEB_PROF_NAME=PROD
    # Web Profile password for User "PTWEBSERVER"
    WEB_PROF_PWD=PTWEBSERVER
    WEB_PROF_PWD_RETYPE=PTWEBSERVER
    # Integration Gateway user profile.
    IGW_USERID=administrator
    IGW_PWD=password
    IGW_PWD_RETYPE=password
    # AppServer connection user profile
    APPSRVR_CONN_PWD=PS
    APPSRVR_CONN_PWD_RETYPE=PS
    # Directory path for reports
    REPORTS_DIR=/u02/app/psft/ps/report_repository   Report repository location
  4. Run the setup.sh script to configure the PIA, pointing to your new response file.
    $ ./setup.sh -i silent -DRES_FILE_PATH=$PS_CFG_HOME/iad_oci_pia_resp.txt
  5. Enable load balancing and failover for the PIA web server to the application domain servers. :.
    1. Edit the configuration.properties file located in $PS_CFG_HOME/webserv/HR92U033/applications/peoplesoft/PORTAL.war/WEB-INF/psftdocs/ps .
    2. Modify the line defining the psserver to add the second application domain server.
      For example, our original entry was:
      psserver=iad-psft-hcm-app01.appprivatesu.ebscloudmaavcn.oraclevcn.com:9000
      We edited it to:
      psserver=iad-psft-hcm-app01.appprivatesu.ebscloudmaavcn.oraclevcn.com:9000,iad-psft-hcm-app02.appprivatesu.ebscloudmaavcn.oraclevcn.com:9000
  6. Repeat Steps 1-5 as the psadm2 user on the second node, iad-psft-hcm-web02.