General information.
It is possible to create a user defined key for a table that already has a unique or primary key. The Administrator Guide delves on this. The user defined key (surrogate key) will override the key definition of the table (the key used in table creation DDL). Think of it as using hints in Oracle to specify a key that is different from the one defined for the table, based on user’s directive that results in the optimizer using most efficient plan due to the hint. However, if the hint is incorrect, it can result in sub-optimal performance.
Please refer to Administrator Guide section titled “Define a unique key” that delves on User defined key (also termed as surrogate key). The section has been pasted in the Additional Information section below. Though the Administrator Guide seem to suggest that the user defined key should be be created if there is no unique or primary key, it also clarifies that the key can be created despite the presence of a unique or primary key. The onus is on users to ascertain if overriding the unique or primary key with a user defined key will serve the purpose.