Upgrade database schemas
From the downloaded zip file, extract the /database/oracle/upgrade folder. This folder includes a number of folders containing migration.sql and patch release SQL files, which upgrade the FlexDeploy schemas.
This documentation is for upgrade to FlexDeploy to 5.2 but this statement may still apply if your upgrading from version prior to FlexDeploy 5.1.
FlexDeploy 5.1 migration included updates to Unique Constraint for FF.DB_PROPERTIES_DATA. If you have duplicates then it needs to be fixed up prior to starting migration. Run following SQL to check if there are any duplicates. If there are duplicates, work with Flexagon support team to resolve prior to migration.
SELECT * FROM (SELECT DB_PROPERTIES_ID, SEQUENCE_NUMBER, COUNT(1) NUMROWS FROM FF.DB_PROPERTIES_DATA GROUP BY DB_PROPERTIES_ID, SEQUENCE_NUMBER) WHERE NUMROWS>1;
FlexDeploy 5.2 introduced credentials. Run following SQL prior to running upgrade scripts and make sure no rows are returned. If there are any row returned, it is possible that migration may not work correctly, in which case contact us via support portal.
SELECT kd.property_key_name, k.* FROM fd.property_key k, fd.property_key_definition kd, fd.property_value pv WHERE k.property_definition_id = kd.property_definition_id AND pv.sequence_number = 0 AND k.property_key_id = pv.property_key_id AND kd.is_encrypted = 'Y' AND k.is_encrypted = 'N' AND pv.property_value not in ('<NOT CONFIGURED>', '<OPTIONAL>');
You will need to execute one or more SQL script(s) from the version of FlexDeploy you currently have, up to the latest version. And they must be executed in that order.
Follow this guideline when deriving SQL files to be executed.
Current version is 4.6.0.0 or higher
- Look at Build Version in About window.
Current version is before 4.6.0.0
- You can find which files that you may have already executed by doing "select version, created_on, created_by from fd.fd_flexdeploy_version order by created_on desc" database query.
- Or you can view list of patches by using Administration - FlexDeploy Patches in FlexDeploy.
See some examples below to help you understand database upgrade process.
v5.1.0.0-to-5.1.0.3/migration.sql v5.1.0.3-to-v5.2.0.0/migration.sql
v5.0.0.0-to-v5.1.0.0/migration.sql v5.1.0.0-to-5.1.0.3/migration.sql v5.1.0.3-to-v5.2.0.0/migration.sql
The 4.0.2-to-4.0.3/migration.sql file includes all of the 403PatchRelease*.sql files in it. Patch Release SQL files are only necessary if you are on a 4.0.3 or 4.5.x Release.
If you are upgrading from a 4.0.3 Patch Release, follow the date based SQL files in sequence by Date. If you have already a applied specific Patch Release patch then skip it. You can make determination of which Patch Release files to run by looking at Build Time on the About window of your FlexDeploy installation that you saved from a previous step. After completing the last 403PatchRelease, run the migration4.0.3_to_4.5.0.sql file and v4.5.0-to-v4.6.0.0/migration.sql. Contact Flexagon support for details if you are not sure. See example below.
Executing migration files
These scripts should be executed as system, sys, or another user which has privileges to create objects in other schemas, performs grants, etc. You can load and execute these scripts using other tools such as Toad or SQL Developer, but the instructions here are for using the sqlplus client. Following is example of script execution for Oracle, for PostgreSQL & MySQL use appropriate tools to execute migration scripts.
sqlplus
Oracle sqlus is part of the Oracle Client, and may be executed on any host which has it installed. If the Oracle Client is not installed on the same host as where you are installing FlexDeploy, you can copy the scripts to another host which has it installed.
Make sure to spool output to a file, so it can be analyzed later if necessary.
To launch sqlplus:
export ORACLE_HOME=<your Oracle Home directory> export ORACLE_SID=<the SID of your database> spool migration5.2.0.out #(change for each script execution so logs are preserved) $ORACLE_HOME/bin/sqlplus #(login as sys or system when prompted) SQL> <<execute scripts as shown above>>
If running on another host other than the database server, you must update your tnsnames file and and launch sqlplus as follows:
export ORACLE_HOME=<your Oracle Home directory> export ORACLE_SID=<the SID of your database> spool migration5.2.0.out #(change for each script execution so logs are preserved) $ORACLE_HOME/bin/sqlplus system@<tnsname> SQL> <<execute scripts as shown above>>
For example,
- style