07 July, 2013

Concepts / Features overturned in 12c

Here are some of our knowledge of concepts / features of Oracle till 11g that seem to be overturned in 12c :

1.       Redo Log files are part of the database.   Now, in 12c, they are not part of the Pluggable Database.

2.      A database can have multiple Instances (RAC) but an Instance can access only one Database.  Now we have multiple PDBs in an Instance.

3.      Datafiles cannot be moved without taking them (or their Tablespace) offline.  Now, 12c allows an online Move.

4.      Oracle does not have Auto-Increment attached to a table but you need to use a Sequence.  Now you can have Auto-Increment in a table.

5.      DDL on a Partition with UPDATE GLOBAL INDEXES required a Rebuild of the Global Indexes.  Now, updates to the Global Indexes are deferred.

6.      The same Column or set of Columns cannot have more than 1 Index. Now you can have additional Indexes but only one is visible.

7.      You have to use SYSDBA to run RMAN Backups.  12c now allows a SYSBACKUP privilege.

8.     RMAN is a physical backup. It is not aware of the logical concept of a table.  It cannot restore and recover a table.  Now it can (but it uses an auxiliary instance  an actual database to extract the table from).

9.     Once Oracle starts executing an SQL it cannot change the execution plan midway (only the next execution can use updated statistics or cardinality feedback).  Now, Oracle can change the plan and restart resume execution midway.

Send in your suggestions for the next 3 to make a dozen.

Three additional ones from Jonathan Lewis :

10.    Dynamic Sampling statistics are for the execution of that SQL only.  Now, the optimizer can "save" dynamically sampled statistics.

11.    GTT Statistics are the same for all sessions.  Now, global temporary tables can have session-based statistics (see dbms_stats.set_table_prefs).

12.    Tables cannot be moved online.  Now you can move tables online, provided it's partitioned and you do one partition at a time.



Anonymous said...

Thanks Hemant for the New Features of 12c,this is really useful.
Some new features which I have read/heard about is:
1.Oracle Database 12c introduces a new redo transportation method which omits the acknowledgement (to primary) of the transaction on the standby. This feature is called "Fast Sync" redo transport

2.Creating a new type of redo destination called "Far Sync Standby". A "Far Sync Standby" is composed only of the standby control files, the standby redo logs and some disk space for archive logs which shall be sent to the Standby database. Failover & Switchover operations are totally transparent as the "Far Sync Standby" cannot be used as the target.

3.DG Broker commands have been extended.The "validate database" command to checks whether the database is ready for role transition or not


Anonymous said...

I believe your description of the change of execution plan is incorrect in one part. At the moment plans can switch between nested loops and hash joins after a sanity check on the quantity of real data retrieved. However the plan is not restarted, simply the join method changes and proceeds with the same data sets.


Hemant K Chitale said...


Those are more "new" features or "extensions" rather than changes in behaviour that overturn established knowledge of Oracle behaviour.


Hemant K Chitale said...


Thanks for the correction. I've changed "restart execution" to "resume execution".


Anonymous said...

Another one that definitely falls in the class of "it's not true any more" is "Oracle doesn't do identity columns".

Tim Hall has a write up here: http://www.oracle-base.com/articles/12c/identity-columns-in-oracle-12cr1.php