Setting Up the Oracle Database Server

This section describes these setup tasks that must be performed on the Oracle Database Server:

Prerequisite

You must have performed the functions described in the module of this Learning Path entitled: Performing Common Setup for All Linux Servers.

General

The following general prerequisites are required for the Oracle Database Server:

  1. The database must be installed under the /u01 directory.
    Important: Installing the database on any mount point other than /u01 is not supported; provisioning cannot occur.
  2. You must configure the semaphore parameter in the /etc/sysctl.conf file using this command:

    sudo vi /etc/sysctl.conf

    Ensure that this setting exists:

    kernel.sem = 1024 32000 100 1024

  3. Ensure that sufficient available storage is available on /u01 for the Database Server.

    Use this command to view your available storage space on /u01:

    df -h

  4. From SQL prompt, use these commands to allocate recovery space for archive logging:

    • Log in as the oracle user:

      $ sudo su - oracle

    • Log in to the database:

      sqlplus '/as sysdba';

    • Set the recovery space using this command:

      sql> ALTER SYSTEM SET db_recovery_file_dest_size=50G SCOPE=BOTH;

    • Verify the available and used recovery space using this command:

      sql> SELECT * FROM V$RECOVERY_FILE_DEST;

      For example, if you set the recovery space to 50 GB and installed a full complement of pathcodes (SHARED, PS, DV, PY), issuing this command returns these results where the space limit is approximately 54 GB with 48 GB in use.

      NAME

      -------------------------------------------------------------------

      SPACE_LIMIT SPACE_USED SPACE_RECLAIMABLE NUMBER_OF_FILES CON_ID

      ----------- ---------- ----------------- --------------- ----------

      +RECO

      5.3687E+10 4.7264E+10 0 53 0

Prerequisite Configuration for the Oracle Database Server

The JD Edwards EnterpriseOne One-Click deployment of the Oracle database supports both Oracle Enterprise Edition and Standard Edition 2 for the current supported release of Oracle Database.

Important: You should have an Oracle DBA monitor the database relative to subsequent JD Edwards functions, such as Package Build. Database aspects such as Archive Logging can adversely affect disk space usage and could potentially cause database failures.

The following prerequisite configuration settings are applicable to a customer-installed Oracle database. These prerequisites must be met before the One-Click Provisioning Server can install a JD Edwards EnterpriseOne Database Server:

  • Customer must have an Oracle Database Server instance installed.
    Important: The password for the database users of an Oracle database can only include these special characters:

    _ # -

  • Customer must make TNS entry of the pluggable database in the tnsnames.ora file on the Database Server instance (do not use a variable for ORACLE_HOME; it must be an absolute value). The hostname field should be updated with the hostname of the Database Server machine.
    Important: For the shared schema, the TNS Alias must be JDEORCL and for non-shared schema it must be an alias value other than JDEORCL.
  • You must install the Oracle database as the oracle user -- not as any other user such as opc.
  • Customer must set the database character set to AL32UTF8
  • Customer must set the database national character set for the Unicode page setting to AL16UTF16
    Important: The character set parameters are critical and must be set when the database is installed; they cannot be changed after installation.
  • Minimum storage requirement for JD Edwards Shared Database is 10 GB
  • Minimum storage requirement per pathcode is 20GB (Including demo data)
  • Above mentioned storage should be made available for:
    • OraDB install directory
    • OraDB index directory
    • OraDB table directory
    These are the directories that you will specify during Orchestration.
    Important: Best practice is to use different mount points for creating these directories. Otherwise you may encounter database deployment issues.
  • Customer must set the minimum required DB processes to provision the JD Edwards EnterpriseOne Database Server to a minimum value of 1500
  • Customer must ensure the Files System IO option is SETALL
  • Database must be running with PDB (JDEORCL) set to OPEN_MODE
  • Set environment variables for the Oracle Database because by default environment variables for the oracle user are not set

The following is a detailed list of commands necessary to set up the prerequisites for the Oracle Database for use with JD Edwards EnterpriseOne One-Click Provisioning.

  1. Use this command to ensure that the /u01 mount point has proper permissions to allow the One-Click Provisioning process to subsequently create requisite folders:
    sudo chmod 775 /u01
    Important: This permission is required for the Database Server or else One-Click Provisioning will fail.
  2. Sudo to the oracle user from the opc user using this command:

    sudo su - oracle

  3. Make a TNS entry of the pluggable database in the listener.ora and tnsnames.ora files of the Database Server machine. Ensure the same port is also specified in each file. For example:

    ----------------

    listener.ora

    ----------------

    LISTENER_ORCL =

    (ADDRESS = (PROTOCOL = TCP)(HOST = hostname)(PORT = 1521))

    ORCL =

    (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = hostname)(PORT = 1521))

    (CONNECT_DATA =

    (SERVER = DEDICATED)

    (SERVICE_NAME = jdeorcl)

    )

    )

    -------------------

    tnsnames.ora

    -------------------

    JDEORCL =

    (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = hostname)(PORT = 1521))

    (CONNECT_DATA =

    (SERVER = DEDICATED)

    (SERVICE_NAME = jdeorcl)

    )

    )

  4. Use this procedure to set the environment variables because by default environment variables for the oracle user are not set.

    • Switch to the oracle user using this command:

      sudo su - oracle

    • Edit the bash_profile using this command:

      vi .bash_profile

    • Add the following lines in the .bash_profile

      export ORACLE_HOME=path

      export ORACLE_SID=ORCL

      PATH=path

      export PATH

      Note: You cannot use an environment variable when defining ORACLE_HOME, such as $ORACLE_HOME. You must use the absolute value.

      For example, a properly completed .bash_profile might look like this:

      export ORACLE_HOME=/u01/app/oracle/product/12.1.0.2/dbhome_1

      export ORACLE_SID=orcl

      PATH=$ORACLE_HOME/bin:$PATH

      export PATH

    • Save and close the .bash_profile file.

    • Execute the .bash_profile file for the variables to take effect.

  5. Connect to the database using this command:

    sqlplus '/as sysdba';

  6. Verify the code page setting of the Oracle database using this command:

    SELECT VALUE FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER = 'NLS_CHARACTERSET';

  7. If the character set is not AL32UTF8, you will have to reinstall the database using the correct parameter to set it.

  8. Verify the Unicode code page setting of the Oracle database by executing this command:

    SELECT VALUE FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER = 'NLS_NCHAR_CHARACTERSET';

  9. If the setting is not AL16UTF16, you will have to reinstall the database using the correct parameter to set it.

  10. Determine the number of DB processes available using this command:

    select limit_value from v$resource_limit where resource_name='processes';

  11. If the value is less than 1500 (which is the minimum recommended for use with JD Edwards EnterpriseOne, run this command to set to the minimum recommended value:

    alter system set processes=1500 scope=spfile;

  12. Check the value of the filesystemio_option parameter using this command:

    show parameter filesystemio_options;

  13. If the value of the filesystemio_option parameter is not SETALL (which is required), use this command to set it:

    alter system set filesystemio_options=setall scope=spfile;

  14. Shutdown the database using this command:

    shutdown immediate;

  15. Start the database using this command:

    startup;

  16. Verify the databaset is open using this command:

    select OPEN_MODE from v$pdbs where NAME = 'JDEORCL';

    If the pluggable database you want to use is not named JDEORCL, you can issue this command to find the name of available PDBs (ignore PDF$SEED) and substitute that name for JDEORCL in the command above):

    NAME, OPEN_MODE from v$pdbs;

  17. If the OPEN_MODE is set to READ WRITE then the PDB is ready to be provisioned by the JD Edwards EnterpriseOne One-Click Provisioning Server.

  18. If the OPEN_MODE is not READ WRITE then the PDB is not open. Open the PDB using this command:

    alter pluggable database JDEORCL open;

    The PDB is ready to be provisioned by the JD Edwards EnterpriseOne One-Click Provisioning Server.

  19. Use this procedure to set the environment variables for the Oracle Database because by default environment variables for the oracle user are not set.

    • Switch to the oracle user using this command:

      sudo su – oracle

    • Edit the bash_profile using this command:

      vi .bash_profile

    • Add the following lines in the .bash_profile:

      export ORACLE_HOME=path

      export ORACLE_SID=ORCL

      PATH=path

      export PATH

      Note: You cannot use an environment variable when defining ORACLE_HOME, such as $ORACLE_HOME. You must use the absolute value.

      For example, a properly completed .bash_profile might look like this:

      export ORACLE_HOME=/u01/app/oracle/product/12.1.0/dbhome_1

      export ORACLE_SID=orcl

      PATH=$ORACLE_HOME/bin:$PATH:$HOME/.local/bin:$HOME/bin

      export PATH

    • Save and close the .bash_profile file.
    • Execute the .bash_profile file for the variables to take effect.