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

    To ensure that all tablespaces exist, 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, where you also can setup individual paths for each tablespace. The default path is where the SYSTEM tablespace is found if no individual path is set. If you are using the provided Oracle DBCA template for non multitenant database to create your database, the default tablespaces for IFS Applications are set up already when the database is created.

  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 when the account is to be created and it may not start with the $ character since it will lead deployment error when running the IFS Application Installer in future deployments. 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 when the account is to be created and it may not start with the $ character since it will lead deployment error when running the IFS Application Installer in future deployments. 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 when the account is to be created. The Oracle profile is set/updated.

  8. Create/Update other internal user accounts

    Depending on these users exist since before or not, they are created or updated. The password is requested and mandatory to enter when the account is to be created. The Oracle profile is set/updated.

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

  10. 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
    CBSSERVER Cbs
    DEMANDSERVER Demand
    DOCVUETICKETUSER Docvue
    SALESANDMARKETING Samwin

    *=Or the name defined in define.tem

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

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

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