Tom Kyte’s Top 12 Features of the 12c
- even better PLSQL — start a sql statement with a bit of PLSQL (compile PLSQL into SQL)
- Improved defaults – populate a column by sequence (new data type -> identity which automatically populates sequence); Default value on NULL
- Increased size limits (varchar2 can store up to 32k! just like PLSQL block)
- easy top-n and pagination queries; new row limiting clause – run this query and give rows 5–10 etc..
- row pattern matching; V-patters and W-patters; inside of SQL pattern matching clause (similar to reg-ex)
- partitioning: maintenance on multiple partitions at the same time; referenced and interval partitioning together; move partition data online (no need to use redefinition); async global index maintenance!
- adaptive execution plans; change SQL plan half way through execution; evaluates how many rows processed and adapts during runtime by changing the plan
- enhanced statistics: new histogram – deals much better with sets of data that has more than 235 distinct values in a column; automatically compute statistics during data loads
- temporary UNDO: global TEMPs generate REDO because of UNDO they generated; now 12c can store UNDO for TEMP tables in the TEMP tablespaces so that during DG sync database doesn’t have to sent UNDO for the TEMP
- data optimization: ILM cap: heat map is generated for each block of data – associates a temperature with block usage: you can use DDL language to describe to the DATABASE what and how to compress HOT, COLD and WARM blocks
- transaction guard: ensures TRX only happens once (hitting ENTER key twice example) – implemented via API – custom coding required
application continuity (extension of TAF) before only READ-ONLY could be failed over; 12c allows READ-WRITE TAF and can replay it and rejoin on another node/DB - Pluggable databases: solve multiple problems of database consolidation such as schema name collisions, PUBLIC SYNONYM collisions; run one ORACLE container instance and plug up to 252 databases into it. ONE SGA – significantly smaller footprint; ONE container database with multiple pluggable DBs running underneath it simplifies maintenance.
Multitenant Container Database
Pluggable databases
High level of consolidation – managing many databases as one
Installation
Unplugged database is built by the vendor ahead of time and is later delivered to a customer where it gets plugged in onsite
Automatic Database Optimization (ADO)
Automation of movement and compression of data
heat map – when data is accessed (insert update delete is tracked separate from selects)
tracked at table level partition level and block level
define policies based on heat map and the database will move data accordingly (to a different tier storage)
SAVE SPACE and IMPROVE performance and do it automatically
Maximum Availability Architecture
Foundation: RAC, DATAGUARD, GOLDEN GATE (logical replication), RMAN, FLASHBACK DB (human error correction)
Global data services – run DB service anywhere in datacenter, any location (implemented using ACTIVE DG and GOLDEN GATE)
Application continuity (API can be used to query the state of the transaction)
Security and Compliance
Data reduction: On the fly reduction – data is kept the way it is and is reducted at runtime
Privilege analysis – tells you what privileges were used during an operation
Conditional Auditing: I only want to audit specific user, specific time in a specific role
Real Application Security implemented using Oracle Audit vault and database firewall
Closing Notes:What does the C stand for: Consolidata, Compress, Control, Cloud, Customers
If you found this article helpful and would like to receive more like it as soon as I release them make sure to sign up to my newsletter below:
SUBSCRIBEVitaliy Mogilevskiy July 10, 2013
Posted In: Operations