Oracle 12c Release 2 introduced Analytic Views, a new set of metadata objects that are very useful for Data Warehouses and Business Intelligence applications. In the first blog post about this new feature I will have a detailed look at two of the new object types: Attribute Dimensions and Hierarchies.
Virtual Columns in Oracle are a convenient feature to implement derived measures of a fact table. But in combination with Oracle Database In-Memory, it has an impact on performance – unless you use Oracle 12c Release 2.
There are many new extensions for Partitioning in Oracle 12c Release 2 (12.2). One of them is the CREATE TABLE FOR EXCHANGE statement. Some years ago, I wished to have this feature for a particular problem with hidden columns.
Hash keys can be used instead of sequence numbers to build surrogate keys in a Data Warehouse. This is often done in Data Vault environments, and there are some good reasons to do that. But there are also several issues and restrictions with hash keys. So, use hash keys only if you have good reasons for them. And if you decide to use hash keys in your Oracle Data Warehouse, make sure that you do it the right way.
There are many good reasons to use ANSI join syntax instead of the old Oracle join syntax. With one exception: If you want to use your Materialized Views for Query Rewrite, avoid to write them with ANSI joins.
Delta detection is a common task in every Data Warehouse. It compares new data from a source system with the last versions in the Data Warehouse to find out whether a new version has to be created. There are several ways to implement this in Oracle.
After creating local and global partial indexes, the last part of this blog post trilogy shows how partial indexes are used by the optimizer for SQL queries – especially for queries in Data Warehouse environments.