New Oracle constraint type
I have to admit that it just caught me off guard in the production system. I recently added an additional record to multiple tables for use with Oracle Change Data Capture. Routine checking during an unrelated build of the code showed that this appears to have created disabled constraints in the "S" type database. I can't seem to find a link to this in the Oracle docs and the single "S" makes it difficult for Google to do anything meaningful.
My questions:
- Can anyone, for the reason that the additional log results are in an implicit constraint?
- Why is it created with a disabled state?
- Does anyone have experience with the implications of including them? We have a standard cleanup process that starts after deployment to fully resolve restrictions that Novalidate can have disabled or enabled for data migration purposes.
a source to share
The constraint type is documented: http://download.oracle.com/docs/cd/E11882_01/server.112/e10820/statviews_1045.htm#REFRN20047
S stands for "Additional Journal" which is further explained here: http://download.oracle.com/docs/cd/E11882_01/server.112/e10704/strms_glossary.htm#CHDIHHGA and here: http://download.oracle. com / docs / cd / E11882_01 / server.112 / e10705 / prep_rep.htm # STREP107
I have no experience with this. This is the search result at tahiti.oracle.com.
Regards, Rob.
a source to share
Additional logging is required to support certain types of asynchronous data captures: AQ streams, for example, and CDC streams (both for Oracle and third-party implementations). These mechanisms work by reading redo logs and applying those changes to some other Oracle database. The point of additional logs is to increase the amount of data included in the redo logs.
There are two ways to enable additional logging. In more recent versions of the database, we can set minimum logging at the database level
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
In addition, we can add specific tables and columns to additional log groups. The point is to include values for unchanged columns in the change table, as this makes it easier to apply the changes to the target database. Find out more .
Obviously, the S constraint identifies columns in an additional log group. I think the reason they are disabled is because they do not enforce the data integrity rule (unlike primary keys or control constraints). If so, I think it would be unwise to allow them, and therefore you should overwrite the automatic cleanup for type S filter constraints.
a source to share