Migrate FlexDeploy to new Server and Database

This process is useful in many situations, for example, Initial proof of concept completed and production installation needs to be done on different Server and Database.

These steps are provided as guidelines and extreme care must be taken during such migrations. This process is setup for Tomcat but variation of this process can be applied to WebLogic as well.

Make sure source environment is Stopped before proceeding so that we have accurate copy.

Export Import Database & Copy Artifact Repository

  • Export data from source FlexDeploy database. You will be prompted to enter password for system user.
  • This step will create fd_bkup.dmp file with all details from FD,FF and FD_ADMIN schemas. File should be in data pump directory, for example - C:\oraclexe\app\oracle\admin\XE\dpdump.
    • If your database is only used for FlexDeploy application, you may be able to perform backup and recovery operations using other Database tools.
Export data from source FlexDeploy database
expdp system directory=DATA_PUMP_DIR dumpfile=fd_bkup.dmp schemas=FD,FF,FD_ADMIN
  • Copy fd_bkup.dmp file on to target FlexDeploy database server in to data pump directory, for example - C:\oraclexe\app\oracle\admin\XE\dpdump.
  • Import data in to target FlexDeploy database.
  • You will be prompted to enter password for system user. You must delete FD,FF,FD_ADMIN users from target database environment before starting import process.
  • Make sure there are no errors in import process. If there are errors, make corrections appropriately and restart import process.
Import data in to target FlexDeploy database
impdp system directory=DATA_PUMP_DIR dumpfile=fd_bkup.dmp schemas=FD,FF,FD_ADMIN
  • Import will fail to create Materialized view. You need to follow these steps to fix it.
Fix materialized view
DROP table FD.VAPPLICATIONSTATISTICS;

-- find CREATE MATERIALIZED VIEW FD.VAPPLICATIONSTATISTICS from FDOracleGenerateProcedures.sql and execute it.
-- now grant permissions

grant SELECT on FD.VAPPLICATIONSTATISTICS to FD_ADMIN;

At this point, FlexDeploy database is copied to target database.

Copy Artifact Repository and Application Binaries

Goal is to just copy the installation and artifact repository to target server. If artifacts and install is done under one common folder, then you can just create one tar for entire set of folders.

  • Make backup of artifact repository folder and application install folder using tar/zip commands on Source. FlexDeploy. For example,
cd /flexdeploy/artifacts
tar -czvf /app/backup/flexdeploy_artifacts.tar.gz *
  • Copy tar file to target FlexDeploy server and extract it in same location as source. If location is different, some files may need adjustment. (For example, setenv.sh)
cd /flexdeploy/artifacts
rm -rf *
tar -xzvf /app/backup/flexdeploy_artifacts_prod.tar.gz

Final configuration and start server

Do not start yet as copied installation is still pointing to source database.

  • Update context.xml with target database URL and password for fd_admin user.
  • Now start target FlexDeploy and validate it.
  • Update System Settings as appropriate.
    • Change FD_SERVER_BASE_URL.
    • Change SMTP_FROM_ADDRESS. This will make sure that emails are coming from different address for Test FlexDeploy.