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.
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.
Partial Indexes, introduced with Oracle 12c, are available for local and global indexes. In part 2 of this blog post trilogy, let’s focus on global partial indexes on a partitioned table.
Sometimes it would be useful to create indexes for only some of the partitions of a partitioned table. Oracle 12c supports this possibility with Partial Indexes. This blog post shows how local partial indexes can be created – even on an Oracle 11g database.
Partition Change Tracking (PCT) is a powerful feature in Oracle for fast refresh of materialized views when one of the base tables is partitioned. But under certain conditions, PCT does not work as expected and returns an unpleasant surprise.
In my last blog post, I noticed that surrogate keys on a time dimension cannot be combined with partitioned fact tables in a star schema. Actually, there is a way to do that: With reference partitioning it is possible to implement monthly partitioned fact tables based on a surrogate time key. But is this a good idea?
In the physical design of a star schema, it is recommended to use surrogate keys for the primary keys of dimension tables. Except for the time dimension. In Oracle data warehouses it is common to use a DATE column as the primary key. The reason for this decision and several alternative solutions are described in this post.