Best hidden features in Oracle

I seem to get into a lot of conversations around Oracle Database Options lately. Of course the Database Options are great, no doubt about it. But people sometimes seem to forget what the word “option” means. There is a reason why Oracle doesn’t put everything into one big product but gives you editions and options and the reason is simple: Not everybody will probably need the full feature set of the Oracle RDBMS. There are over 380 features within the Oracle Database which make it to the best relational database out there and I haven’t seen a single occurrence yet where all of those 380+ features are exploited within one installation. Most of the time people aren’t even aware of the feature richness of the Oracle Database.
Well, as you can imagine not all of those features ended up in Database Options but a lot of them are part of the core product and available in Standard Edition One, Standard Edition and Enterprise Edition. You got them as soon as you purchased a license for any of those three editions. A lot of you will probably still not need all the features that come as part of the editions but here is a list of what I consider the “Best hidden features in Oracle”:

  1. XML DB (this is probably the best hidden gem ever! Since 11g XML DB became really powerful and is a lot more than just a XMLTYPE BLOB data type)
  2. Text (full text search functionality)
  3. SQL Developer (check out early adopter version 4)
  4. SQL Pattern Matching (new in 12c)
  5. Temporal Database (new in 12c, no more start and end timestamps in every table)
  6. Recovery Manager (aka RMAN, no more full export, shutdown and data files copy every night)
  7. Application Express (also known as APEX, build sophisticated web-based applications directly on top of the database. Another feature that got really powerful lately!)
  8. Locator (ever come across geospatial requirements like which of my customers live closest to which branch of my store?)
  9. Enterprise Manager Express (although Enterprise Manager Cloud Control is free itself, Oracle Database 12c comes with a bundled Express version for its own instance management. This is great when you have just a single installation sitting somewhere which you either can’t deploy to your EM Cloud Control installation or you don’t have an EM Cloud Control installation)
  10. Fail Safe (High availability for Windows)

Oracle 12c R1 enqueue waits

Just as with the new Oracle 12c R1 lock types it’s time to take a quick look at the new enqueue waits in 12c. Oracle 11.2.0.3 had a total of 304 enqueue waits. 12.1 has a total of 418. A lot of work seems also to have happened on ASM in this release. The amount of new enqueues per group looks as follows:

Group Amount
ASM Enqueue 16
Enqueue-Cross SCN 12
Backup/Restore 11
Queue Ptning global enq 8
Being Written Redo Log 8
SGA Log-Bkt Flush 6
AM Container 5
Media Recovery 5
OLS groups 4
Instance Recovery 3
AVM RTA Access 3
AM Contained File Identification 3
Privilege Capture API 2
Queue table enqueue 2
Label Security Profile 2
RFS Logminer FLC 2
Data Guard Broker 2
IOServer File 2
Queue Partitioning local enqueue 2
Column Key 1
Flush Stat 1
Pluggable Database 1
SGA Log Operation 1
AM Group Rebuild/Validate 1
Real-Time ADDM Flood Control 1
AM Contained File Resize 1
PDB DDL Operations 1
non durable sub bmap alloc 1
CBAC Master Lock 1
IOServer Client 1
PDB Instance State 1
Oracle File System Operation 1
KJCI Serialization Enqueue 1
Spillover Audit files 1
Application Continuity 1
File Set / Dictionary Check 1

Continue reading “Oracle 12c R1 enqueue waits”

Oracle 12c R1 lock types

As stated in my previous post, it’s time for me to revisit some of my posts and check the relevance for 12c. Let’s start with the one on locks. As posted in late 2010 there are 202 different lock types in Oracle 11g. It’s actually 205 in 11.2.0.3 which was not out back then. Anyway, in 12.1 we have now 240 but still only 4 which are caused by user interaction, aka. SQL statements.

Continue reading “Oracle 12c R1 lock types”