Validation Criteria for Oracle Models

The Check Model/Validate SQL option allows you to reduce occurrences of syntax errors during forward engineering. For Oracle physical models, the following objects and properties are validated during the Check Model process:

Tables
  • At least 1 column.
  • Only 1 LONG column.
  • LOB segments containing more than 1 column are unnamed.
Clustered tables
  • No cluster columns specified.
  • Number of cluster columns do not match the number of columns in the cluster.
  • Datatype of table cluster column matches datatype of cluster column (only data type is checked, not precision/scale).
Index organized tables
  • No LONG columns.
  • Primary key constraint exists.
  • Overflow is specified if a UROWID column exists.
  • Overflow is specified if there is a LOB with enable storage in row.
  • Pctused is not specified.
  • Partition columns are part of the primary key.
External Tables
  • Column data types are valid.
  • No constraints.
  • No defaults on columns.
  • No LOBs.
Materialized Views
  • Table specified in select statement has a primary key.
  • LOB segments containing more than 1 column are unnamed.
  • Refresh Fast valid only if 1 master table and materialized view log exists on master table.
  • Refresh Fast with Primary Key is not valid if materialized view log is recording only rowed.
  • Refresh Fast with Rowid is valid only if materialized view log is recording rowid.
Clustered materialized views
  • Clustered materialized views have no LOB columns.
Index organized materialized views
  • Only 1 master table.
  • Primary key constraint exists.
Materialized Views on prebuilt tables
  • Table in select statement is has a different name from the view.
  • No LONG columns.
Indexes
  • Compress Prefix length for unique index is greater than or equal to 1 and less than the number of key columns.
  • Compress Prefix length for non-unique index is greater than or equal to 1 and less than or equal to the number of key columns.
  • Function bitmap index not valid on index organized table.
  • Index members have valid datatypes.
  • No duplicate indexes.
Partitions
  • Partition names are unique.
  • Partition columns reference attributes in the table.
  • Partition columns are of valid datatype.
  • Partition values are specified for Composite, Range and List partitions.
  • LOB segments containing more than 1 column are unnamed.
Composite Partitions
  • If a subpartition template is specified, partitions do not specify STORE IN or SUBPARTITIONS clauses.
  • If a subpartition template is specified, all subpartitions must specify a tablespace if any do.
  • Subpartition templates must all contain the same LOB segments.
  • Subpartition templates must have unique LOB segment names.
Range Partitions
  • MAXVALUE is specified for the last partition's values.
List Partitions
  • DEFAULT is specified for the last partition's value
Index Global Partition
  • Partition columns are a prefix of the index members.
  • MAXVALUE is specified for the last partition's values when a range partition.
Index Local Partition
  • Number of partitions matches the number of table partitions.
  • Number of subpartitions matches the number of table subpartitions.
  • Partition type matches the partition type of the table.
  • For a unique index, the table partition and subpartition columns are part of the index.
Views
  • Foreign key constraint specified with RELY requires the primary key of the parent table to have RELY specified.
Materialized View Logs
  • Parent table contains a primary key.
  • Selected columns can not be part of the primary key if primary key is selected.
  • Partition columns must be log filtering columns or part of the primary key of the master table.
Clusters
  • If single table only 1 table is attached to the cluster.
  • If sorted hash cluster no more than 2 tables are attached to the cluster.
  • If single table or hash expression is specified, hash keys is also specified
Relationships
  • Temporary table is not a child table.
  • If parent table is a temporary table, child table must be a view or materialized view.
  • If relationship is from a table to materialized view, only one can be clustered.
Sequences
  • The Min value is less than or equal to Initial value.
  • The Min value is less than the Max value.
  • The Max value is greater than the Initial value.
  • The Increment is less than the range of values.
  • If Cycle specified – Max value must be specified for ascending sequence, Min value must be specified for descending sequence.
  • If Cycle specified – number of possible values is greater than the number of values in cycle.
  • If Max On specified – Max value must be specified.
  • If Min On specified – Min value must be specified.
  • If Cache On specified – Cache value must be specified.
Rollback Segment
  • Referenced tablespace is marked online.
Disk Group
  • Normal redundancy has at least 2 fail groups.
  • High redundancy has as least 3 fail groups.
  • External redundancy has only 1 fail group which is unnamed.
DB Link
  • Shared links specify an authorized user.
  • Non-shared links do not specify an authorized user.
Supplemental Log Group
  • Contains at least 1 log column.

More information:

Model Validation Check

Check Your Model/Validate SQL