Prepare Database Instance for IFS Applications

Installation Step introduction

Before database objects can be deployed into the database instance it must be configured appropriately for deployment of IFS Applications. Even if you have an earlier version of IFS Applications running in your database, you have to run the preparation step to include possible new necessary settings that you need add before upgrading from, e.g. new privileges in DBA grant. Before you continue you need to have:

Prepare Database

The configuration of the database instance is done from the IFS Applications Installer using the step called Prepare Database. This is a fairly automated process that requires a minimum of input since default values are set in a setting file, the define.tem. However, if you want to override standard values for internal users, passwords, tablespaces and more, see the define.tem section at the bottom of this page for further information.

During the prepare process the following tasks are performed:

  1. Verify and create tablespaces

    The default tablespaces for IFS Applications are set up in the database if you are using the provided Oracle DBCA template to create your database. To ensure that all tablespaces exists, you might have created your database in another way, the IFS Installer checks for the tablespaces in the database and add the ones which are missing. A prefix value for the tablespace names is defined in the define.tem file. Any new data files are put where existing data files are placed since before.

  2. Set up an Oracle profile for internal users

    All internal IFS Applications users are connected to an own Oracle profile. The name of this profile is found in define.tem.

  3. Create/update application owner account

    Depending on you are running a fresh install or an upgrade, the application owner account is created or updated. The name of the account is fetched from define.tem. The password is requested and mandatory to enter if the account is to be created, i.e. the question has no meaning in an upgrade scenario since the account then already exists. Quotas to tablespaces are given to the account. The Oracle profile is set/updated.

  4. Grant DBA privileges to application owner

    All necessary DBA privileges the application owner needs are granted.

  5. Create/Update IAL owner account

    Depending on the IAL owner account exists since before or not, it is created or updated. The name of the account is fetched from define.tem. The password is requested and mandatory to enter if the account is to be created, i.e. if the account exists since before the question has no meaning. Quotas to tablespaces are given to the IAL owner account. The Oracle profile is set/updated.

  6. Grant DBA privileges to IAL owner

    All necessary DBA privileges the IAL owner needs are granted.

  7. Create/Update IFSSYS account

    Depending on the IFSSYS account exists since before or not, it is created or updated. The password is requested and mandatory to enter if the account is to be created, i.e. if the account exists since before the question has no meaning. The Oracle profile is set/updated.

  8. Deploy packages for installation support

    Packages for supporting the installation process are deployed in the application owner schema but also in the SYS and the IAL owner schemas.

  9. Update Oracle profile for internal users

    Existing internal users will be assigned to the IFS designed profile for internal users, but only of their existing profile is DEFAULT, i.e. the Oracle default profile (this step is only valid when upgrading).

     

    User Component
    IFSAPP* Fndbas
    IFSINFO* Fndbas
    IFSSYS Fndbas
    IFSADMIN Fndbas
    IFSCONNECT Fndbas
    IFSPLSQLAP Fndbas
    IFSPRINT Fndbas
    IFSWEBCONFIG Fndbas
    CBSSERVER Cbs
    DEMANDSERVER Demand
    DOCVUETICKETUSER Docvue
    SALESANDMARKETING Samwin

    *=Or the name defined in define.tem

  10. Revoke grants from PUBLIC

    By a variable in define.tem you decide if you should revoke the more powerful packages from database server user group PUBLIC (which all users are member of). It is recommended to revoke some grants from PUBLIC for hardening the database against security attacks, which helps protect customer data, network and servers. The revoked packages are UTL_SMTP, UTL_TCP, UTL_HTTP, UTL_FILE, which are the packages most likely to be misused in attempts to access network or operating system files in a malicious manner (e.g. attack network servers, spread viruses, etc)

    Important: If you are using another application on the same instance as IFS Applications, you must ensure that this application not is dependent on the grants to PUBLIC, or make the necessary grants explicitly to the application's schema. A new script, that can be used to undo the changes (grant the revoked packages back to PUBLIC) if a problem with other applications is experienced, is automatically created during the process. The script will be called GrantToPublic.sql and placed at same place as the logs files for the prepare database process. Note: You must run the script GrantToPublic.sql logged on as SYS but before you can use it you have to edit it manually.

  11. Recompile of invalid objects

    Any invalid objects (in any schema) in the database are recompiled.

Preparation of the database could also be performed with any Oracle tool that can run SQL and SQL scripts, like SQL*Plus. Execute the <build_home>\database\_utils\prepare.sql script but make sure you are running it as user SYS and that you are doing it from the correct location, which is where the script is stored.

Define.tem

Define.tem is a file for defining variables during deployment. It is called from every script you execute from the IFS Applications Installer. This is always included in scripts produced by the IFS Configuration Builder and nothing you need to do extra. A template of define.tem file is located together with the other database script templates, i.e. where you have IFS Configuration Builder. When your build_home is created, the define.tem is copied into the database folder. The file contains some variables with default values set but they are available to change to suite your installation.

Note: If you override the default values, make sure that all (alphabetic) values are given in uppercase format.

Variable Comment Default value Where used
APPLICATION_OWNER The name of the application owner IFSAPP Prepare DB and Deploy DB objects
ALTER_USER_PRIVILEGE Should the application owner be granted alter user privilege, Y(es), N(o) or leave U(nchanged) U Prepare DB
TABLESPACE_PREFIX Prefix for the tablespace names, _DATA, _INDEX etc. will be added IFSAPP Prepare DB
DEFAULT_TABLESPACE The default tablespace given to the application owner IFSAPP_DATA Prepare DB and Deploy DB objects
TEMP_TABLESPACE The temporary tablespace given to the application owner TEMP Prepare DB
IAL_OWNER The name of the information access layer (IAL) owner IFSINFO Prepare DB and Deploy DB objects
DO_PUBLIC_REVOKE Should UTL privileges be revoked from the public role, Y or N Y Prepare DB
INTERNAL_USER_PROFILE Default Oracle profile for internal IFS users IFS_INTERNAL Prepare DB and Deploy DB objects
DAYS_TO_KEEP_INSTALL_LOG Number of days for keeping install_tem_sys logs 7 Prepare DB

Verify

You can verify the installation by checking if there are any errors in the log files.

Log on to the database (with any Oracle tool) as application owner to verify the creation of this account.

NA