Neither your source, nor your target table has a primary key, and you have not designated
KEYCOLS. How will the Replicat proceed to identify matching target rows to update or
delete?
A.
The first unique key alpha-numerically, excluding virtual columns and nullable columns,
will be treated as the primary key.
B.
This configuration is not supported by GoldenGate; Replicat will abend on updates or
deletes.
C.
The first column, excluding virtual columns and nullable columns, will be treated as the
pr key.
D.
The combination of all fields up to the first thirty-two will be treated as a compound
primary key
Explanation:
Reference:
http://download.oracle.com/docs/cd/E15881_01/doc.104/gg_syb_inst_v104.pdf
D is the correct one.
■ Primary key
■ In the absence of a primary key, all of the unique keys of the table, including those that are disabled, unusable or invisible. Unique keys that contain ADT member columns are also logged. Only unique keys on virtual columns (function-based indexes) are not logged.
■ If none of the preceding exists, all scalar columns of the table are logged. (System-generated row-OIDs are always logged.)
The unique keys have higher priority than all columns so I think A looks correcter.
Ans: A
Explanation: ADD TRANDATA by default enables table-level supplemental logging. The supplemental log group includes one of the following sets of columns, in the listed order of priority:
1. Primary key
2. First unique key alphanumerically with no virtual columns, no UDTs, no functionbased columns, and no nullable columns
3. First unique key alphanumerically with no virtual columns, no UDTs, or no functionbased columns, but can include nullable columns
4. If none of the preceding key types exist (even though there might be other types of keys defined on the table) GoldenGate constructs a pseudo key of all columns that the database allows to be used in a unique key, excluding virtual columns, UDTs, function based columns, and any columns that are explicitly excluded from the GoldenGate configuration.