Setting Up the Compute Oracle Database Server

This section shows you how to set up the Compute Oracle Database Server.

If you are using DBaaS - DB Systems, you should be using the Learning Path entitled: Deploying JD Edwards EnterpriseOne on Oracle Cloud Infrastructure on Linux with DBaas (DB Systems).

Prerequisite

  • You must have created a Linux VM for the Compute Oracle Database Server.
  • The Linux VM for the Compute Oracle Database Server must be allocated with storage volume space, the amount of which is specified in the Before You Begin section of this Learning Path.

General

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

  1. Ensure you have performed all the tasks described in the module of this Learning Path entitled: Performing Common Setup for All Linux Servers including the steps to create groups and users as well as assigning proper permissions to /u01.
  2. 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.
  3. 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

  4. Ensure that sufficient storage is available on /u01 for the Compute Oracle Database Server. For Production environments, this space should be allocated as a Block Volume. You should have already created and attached the requisite Block Storage if you followed the instructions in the modules of this Learning Path entitled: Create Additional Block Volumes for Linux Instances and Attach the Block Volumes for Linux Instances.

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

    df -h

    where you should have allocated sufficient size when you created the VM instance for the Compute Oracle Database Server in the amount specified in the Before You Begin section of this Learning Path.
  5. 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

  6. Check whether the temporary tablespace with name ‘TEMP’ is available by running following sequence of commands:

    • Use this command to log in to sqlplus as the system user at the PDB Level:

      sqlplus system/<db_adm_pwd>@JDEORCL

    • Run the following query to check temporary for the existence of a tablespace with name ‘TEMP’:

      SELECT TABLESPACE_NAME from DBA_TABLESPACES

      where TABLESPACE_NAME='TEMP'

    • If the tablespace query does not output results that a temporary tablespace exists with name ‘TEMP’, run the following command as a single contiguous line with no returns:

      CREATE TEMPORARY TABLESPACE TEMP TEMPFILE 'jdetemp.dbf' SIZE 500m autoextend on next 10m maxsize unlimited

      If the command executes correctly, it should output results like "Tablespace Created".

Prerequisite Configuration for the Oracle Compute Database Server

The JD Edwards EnterpriseOne One-Click deployment of the Oracle database on OCI Compute supports both Oracle Enterprise Edition and Standard Edition 2 for the current supported release of Oracle Database. Refer to the Oracle Certifications for JD Edwards EnterpriseOne One-Click Provisioning on OCI for current updates on supported software versions and software prerequisites.

Important: If you choose to use your own Oracle Database for the Compute Database Server, 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 must be set before the One-Click Provisioning Server can install a JD Edwards EnterpriseOne Database Server running on the Oracle Cloud Infrastructure as a Compute instance:

  • Customer must have an Oracle database installed in a Compute instance in Oracle Cloud Infrastructure.
    Important: The password for the database users of an Oracle database in an Oracle Cloud Infrastructure Compute instance 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 -- and 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 20 GB (including demo data).
  • Above mentioned storage should be made available for these:
    • 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 and directories 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 Oracle database on Compute 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 running in the Oracle Cloud Infrastructure in Compute 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

  2. Using sudo, change 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, where hostname is the hostname of the Compute 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.

    • Run 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 running 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. Check the value of the filesystemio_option parameter using this command:

    show parameter filesystemio_options;

  11. If the number of DB system process is set to a value 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. 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;

  13. Shut down the database using this command:

    shutdown immediate;

  14. Start the database using this command:

    startup;

  15. Verify the database 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;

  16. 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.

  17. 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.