Skip to content

Deploy Database Objects and Import Data

When running the IFS Cloud Installer with action=install (default setting), and if there exist a middle tier already, the middle tier will be stopped (replicas=0) prior to the db deployment.

Depending on the content of the delivery following will be performed:
1. If <delivery>/database/_utils/prepare.sql exist, and password for SYS user given, the prepare.sql will be executed.
2. If <delivery>/database/install.tem exist (as in all automatically created deliveries), the file will be executed.
3. If <delivery>/server folder contains data to be imported, the import of data will be executed

If prepare step should be excluded, although prepare.sql exists in <delivery> (e.g. prepare step has already been performed separatly) the sysPassword should not be defined.

CMD> cd c:\exampletmp\deliveries\build_home\ifsinstaller   
CMD> ./installer.cmd `  
   --set dbInstaller.jdbcUrl="jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=" `  
   --set dbInstaller.ifsappPassword=example `  
   --set dbInstaller.sysPassword=example `  
   --set logFileLocation=..\..\..\logs\ifscloudinstaller `  
   --set action=dbinstaller `  
   --set `  
   --set `  

Note: All or some of the parameters passed to the installer above can be stored in a values yaml file.
e.g. .\installer.cmd --values values.yaml --set dbInstaller.sysPassword= <password>

Parameters for db_deploy

Parameter Purpose Examples/Defaults
dbInstaller.deliveryPath Path to delivery or build_home defaults to the delivery or build home from where the installer was started. or
Full jdbc connection string. If the string can't be used (e.g. an Oracle RAC url or DB has different IPs from installer and k8s cluster) the dbInstaller.jdbcUrl can be specified to overide the string. jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST= <HOST/IP> )(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME= <sid> ))) The IFS Cloud application owner Username defaults to IFSAPP
dbInstaller.ifsappPassword The IFS Cloud application owner password.
Used when creating the application owner in prepares.sql

dbInstaller.sysPassword The oracle sys password. If prepare.sql is included in delivery and the sys password is given, the prepare.sql will be executed, otherwise not.  
dbInstaller.extLogging Will generate verbose logging of DB deployment. defaults to "N"
--set dbInstaller.extLogging=Y
logFileLocation Top location for output logs during the execution. default to the OS temp folder, e.g. windows  %TEMP%/ifsinstaller_<namespace>
action If only the db_deploy should be run from the installer, action can be set to "dbinstaller", if a single file is to be executed, then action should be set to "fileexec" --set action=dbinstaller

If action should be fileexe, read File Executor Password when creating the user ifsiamsys in prepare.sql Random value set as fallback in define.tem Password when creating the user ifssys in prepare.sql Random value set as fallback in define.tem Password when creating the user ifsmonitoring in prepare.sql Random value set as fallback in define.tem

Generated deploy files

A list of files are generated at the same time as the install.tem is generated. These files, whose purposes are described below, are started from install.tem in every installation, but in many cases they could be empty if no new information is added.

File Name Purpose
ActivateComponents.sql A translation of the solutionset.yaml file into a DB deployable format. It lists the active and inactive components and store this information in the database.
CompRegAndDep.sql Pre registration of all components, as well of all dependencies between them.
DeliveryRegistration.sql If the delivery should be stored in the database, the build process must be fed with information about the delivery ID in a file named deliveryid.txt. Such file is generated by the LE build process.
ObsoleteComponents.sql Components, which have a drop script in the PRIFS components are considered as obsolete. These components are listed in this file and updated in the database.