Database Deploy Configuration¶
This document describes possible configuration while executing database files, e.g. Prepare Database or Deploy Database Objects, from IFS Cloud Installer
When to use this information:¶
Fresh install, upgrading and patching.
Configuration Without Parameters¶
There are several commands that control the behavior of the IFS Installer when deploying database files. The majority of them do not need any further parameters then just the command itself but some them also need to be named (normally with a component name). The simple commands are described in the table below and the more complex ones are described in separate sections.
-- [IFS COMPLETE BLOCK PACKAGE Account_API]
|Start tag||End tag||Description|
|-- [IFS COMPLETE BLOCK <Type> <Name>]||-- [END IFS COMPLETE BLOCK]||Tells that the block between these tags is a complete command and can be executed as is. The tags are added for performance reasons since the installer does not need to parse this code block. The types supported are package, package body, view, procedure, function, declareend, and beginend. All but the last two must come with the name of the object.|
|-- [DB GENERAL]||-- [END DB GENERAL]||Commands between these tags are executed as first commands in all database sessions that are opened during the installation process. Only one DB GENERAL section is allowed in the installation.|
|-- [DB FINAL]||-- [END DB FINAL]||Commands between these tags are executed at the very end of the installation, also in an aborted installation. Only one DB FINAL section is allowed in the installation.|
|-- [NO EXTENDED LOGGING]||-- [END NO EXTENDED LOGGING]||Tells that no extended logging is done between these tags. Could be useful if you are spooling to a command file. Note! Start deploying another file in this section is not allowed|
|-- [NO DEPLOY LOGGING]||-- [END NO DEPLOY LOGGING]||Temporary disables the logging into the _deploy.log and the online windows log. This is used when a lot of details are logged, or when a temporary file for deployment is generated.|
|-- [Thread dependent components]||-- [End thread]||Components in this area are installed in parallel threads, and following the static dependency order defined for the components.|
|-- [Thread independent components]||-- [End thread]||Components in this area are installed in parallel threads in random order. The number of parallel thread is constant during the whole process.|
|-- [Component <component>]||-- [End Component]||Defines the start and end of a component (inside a threading of components area).|
|-- [Thread SQL_COMMANDS]||-- [End thread]||The SQL commands inside this sections are executed in parallel threads.|
|-- [SQL_COMMAND <command>]||-- [End SQL_COMMAND]||Defines the start and end of a SQL command (inside a threading of SQL commands area). Each SQL Command must have an unique name.|
IFS Installer Loop¶
IFS Installer Loop enables the installer to halt the installation process until a certain condition is fulfilled. The condition is checked against a return value from a database function call.
When the installer find a IFS Installer Loop in a database script file, like
install.tem, a database function is called and the result is compared against a conditional value. If the condition is fulfilled, the installation process continues, otherwise the installer halts for a while before it call the method again to get a fresh value for a new comparison. You can also define that a new database call should be initialized by the technician instead of a few seconds wait. The technician can also decide to break the loop and let the installation process continue by pressing the Break button in the popup dialog (the actual text at the Break button is dynamic depending on available options).
The format for IFS Installer Loop is
-- [IFS INSTALLER LOOP ; <parameter>... ; ]. The parameters are separated by a semicolon and there has to be a final semicolon after the last parameter. Do not separate the parameters and the equal signs with space characters!
The available option parameters are described in the table below.
|DBMETHOD||Name of the database function to call. This parameter is mandatory.|
|CONDITION||When the function return this value the installation process continues. Several values are possible, list them separated by a comma sign (e.g. 1,2,3). This parameter is mandatory.|
|PROMPT||Information text to be displayed in the popup dialog. This text is always appended with Expected value(s) and Current value. Additional output may also occur in the logging window. This parameter is mandatory.|
|ABORT||TRUE or FALSE (default). An abort button is enabled in the popup dialog that makes it possible to abort the entire installation process.|
|ACCEPTERROR||NONE (default), ALL or NOTEXIST. If the database call returns any errors, should they be accepted or written in the error log? NONE accept no errors and write them in error log while ALL accept all errors without raising any error flag. The NOTEXIST do not accept any errors except when the specified dbmethod cannot be found in the database. If the database call returns an error, the installation process continues directly.|
Before an installation starts it could be wise to verify that no database scheduled tasks are running since they might interfere the installation process. How you set up a loop that automatically waits until all running tasks are completed is shown below, but also how the popup dialog will locks like.
-- [IFS INSTALLER LOOP ; DBMETHOD=Install_Tem_SYS.Show_Scheduler_Processes ; CONDITION=0, ; PROMPT=Waiting for running job(s) to complete ; ]
Define.tem is a file for defining variables during deployment. It should be included in every script you execute when you deploy IFS Cloud. This is automatically done when database files are generated for the deployment and nothing you need to add extra unless it is a manually processed file. A template of define.tem file is located together with the other database script templates, i.e. in folder fndbas/template/fndbas or just template/fndbas if you look in your build_home. When your database files are generated, the define.tem is copied into the <build_home>/database folder. The file contains some variables with default values but they are able 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. Altering this will in the future be deprecated, so use defaults||IFSAPP||Prepare DB and Deploy DB objects|
|TABLESPACE_PREFIX||Prefix for the tablespace names, _DATA, _INDEX etc. will be added||IFSAPP||Prepare DB and Deploy DB objects|
|<TABLESPACE NAME>||The actual name of the tablespaces, a concatanation of the TABLESPACE_PREFIX and some
standard suffixes. These values should normally not be changed
|<TABLESPACE PATH>||Individual path to each tablespace. If DEFAULT value is used, they will be placed where the SYSTEM tablespace is found||Prepare DB|
|TEMP_TABLESPACE||The temporary tablespace given to the application owner||TEMP||Prepare DB and Deploy DB objects|
|IAL_OWNER||The name of the information access layer (IAL) owner. Altering this will in the future be deprecated, so use defaults||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||30||Prepare DB|
|REMOVE_DEBUG_INFO||Should debugging information be removed from database objects, Y or N||Y||Deploy DB objects|
|COMPILE_OTHER_SCHEMA||Should other schemas than application owner be compiled after an installation, Y or N||Y||Deploy DB objects|
|SHOW_NEW_INVALIDS||Should new invalid objects be listed in the error log after an installation, Y or N||Y||Deploy DB objects|
|ENABLE_ROWKEY||Should Rowkeys be enabled, Yes or No||Yes||Deploy DB objects|
|ENABLE_ROWKEY_HOURS||For how many hours should rowkeys be enabled, UNLIMITED, 0, 1, 2, 3, 4, 6, 8, 12||UNLIMITED||Deploy DB objects|
|CONVERT_LOB||Should LOB columns be converted to secure files by default, Yes or No||Yes||Deploy DB objects|
|JOB_QUEUE_PROCESSES||Numbers of job queue processes during deployment (5 or higher)||16||Deploy DB objects|
|APPLICATION_OWNER_PASSWORD||Default passwords for appllication owner. Only used if not set when starting the installer||CREATE_RANDOM_PASSWORD||Prepare DB|
|IFSIAMSYS_PASSWORD||Default passwords for IFSIAMSYS user. Only used if not set when starting the installer||CREATE_RANDOM_PASSWORD||Prepare DB|
|IFSSYS_PASSWORD||Default passwords for IFSSYS user. Only used if not set when starting the installer||CREATE_RANDOM_PASSWORD||Prepare DB|
|IFSMONITORING_PASSWORD||Default passwords for IFSMONITORING user. Only used if not set when starting the installer||CREATE_RANDOM_PASSWORD||Prepare DB|
|IFSPRINT_PASSWORD||Passwords for IFSPRINT. If the default value CREATE_RANDOM_PASSWORD is set, a random password will be generated||CREATE_RANDOM_PASSWORD||Prepare DB|
|IFSDBREADONLY_PASSWORD||Passwords for IFSDBREADONLY. If the default value CREATE_RANDOM_PASSWORD is set, a random password will be generated||CREATE_RANDOM_PASSWORD||Prepare DB|
|IAL_OWNER_PASSWORD||Passwords for IAL owner. If the default value CREATE_RANDOM_PASSWORD is set, a random password will be generated||CREATE_RANDOM_PASSWORD||Prepare DB|
|IFSCRTSYS_PASSWORD||Passwords for IFSCRTSYS. If the default value CREATE_RANDOM_PASSWORD is set, a random password will be generated||CREATE_RANDOM_PASSWORD||Prepare DB|