The Oracle database plugin uses two operations to synchronize the database structures within a schema. In the source or build environment, the user has the option to either use the recreateBuildDB operation to drop and recreate the database objects based on a supplied SQL/DDL file. The second option is to make the changes in the build database using a tool like SQL Developer or SQL plus. The createBaseline operation is used by the build process in FlexDeploy to store this version of the schema in a DDL repository. During the deployment, the sync operation will then compare this baseline to the existing baseline in that environment. The compare generates the creates, drops, or alters that are necessary to make the target database structures look like the source database structures. Additional operations are available to recompile invalid objects, refresh materialized view, or drop unused columns. These operations can optionally be included in the defined workflow.

The plugin respects table locks, so if a table has locks disabled, the operations will not be able to delete them or modify them. This is a precaution against user error. If you wish to drop or change them, please enable locks first.

DDL Repository

The baselines are stored in a DDL repository. You must create the DDL Repository schema, see install and update scripts at ddlrepository.zip. DDL repository needs to be created in FDDB schema, script provided does not create FDDB schema, you may do that per your company standards. If you are upgrading from version prior to 5.1.07, then run upgrade/v4.6.0.3-to-5.1.0.7/migration.sql to upgrade your repository schema. If you are creating DDL repository schema, then just run install/DDLRepositoryCreateScript.sql.

DDL repository can be created on any Oracle database, i.e. it does not need to be in source and/or target database.

Supported Versions

Key Features

User Permission Requirements

The users specified in FDORA_USER and FDORA_DDL_USER require these permissions:

Supported Oracle Object Types

  1. Grants are also carried forward with the objects.
  2. The plugin requires that constraints and indexes share the same name.

Plugin Operations

Appendix