Quantcast
Channel: Hemant's Oracle DBA Blog
Browsing all 468 articles
Browse latest View live

Partitioning -- 13d : TRUNCATE and DROP Partitions and Global Indexes

A TRUNCATE or DROP Partition makes Global Indexes on a Partitioned Table UNUSABLE.You may be lucky if the target partition was empty, resulting in Oracle maintaining Global Indexes as valid.  However,...

View Article


Partitioning -- 14 : Converting a non-Partitioned Table to a Partitioned Table

Pre-12cRelease2, there were only three methods to convert a non-Partitioned Table to a Partitioned Table(a) Create a new, empty, Partitioned Table and copy (using INSERT .... AS SELECT ... ) all the...

View Article


Everyone should read this

An excellent article that anyone promising, developing, maintaining or using any system that is non-trivial should read...

View Article

Partitioning -- 15 : Online Modification of Partitioning Type (Strategy)

Oracle 18c introduces the ability to convert a Partitioned Table from one Type to another -- e.g. from Hash Partitioning to Range Partitioning.  This is effectively a change of the Partitioning...

View Article

Partitioning -- 16 : Hybrid Partitioning

Oracle 19c introduces Hybrid Partitioning whereby you can have external and internal Partitions co-existing.  External Partitions are on storage (filesystem) outside the database.Let's say we have a...

View Article


Recent Blog Series on Partitioning

A recent series of posts on Partitioning1.  1.  Introduction   (Aug-18)2.  2.  Simple Range Partitioning  (Aug-18)3.  3a.  Indexes on a Partitioned Table  (Aug-18)4.  3b.  More Indexes on a Partitioned...

View Article

Image may be NSFW.
Clik here to view.

2million PageViews

This blog has now achieved 2million PageViews :(The "drop" at the end is the count for only the first week of August 2019).Although this blog began in December 2006, the PageViews counts start with...

View Article

Image may be NSFW.
Clik here to view.

Basic Replication -- 1 : Introduction

Basic Replication, starting with Read Only Snapshots has been available in Oracle since  V7.   This was doable with the "CREATE SNAPSHOT" command.In 8i, the term was changed from "Snapshot" to...

View Article


Basic Replication -- 2a : Elements for creating a Materialized View

The CREATE MATERIALIZED VIEW statement is documented here.  It can look quite complex so I am presenting only the important elements here.  In this post, I begin with only the basic elements.(EDIT:...

View Article


Blog Series on 12cR1 RAC

A series of posts in 2017 on 12cR1 RAC :1.  1. Grid  Infrastructure Install  (Dec-16)2.  2. Convert AdminManaged Database to PolicyManaged   (Dec-16)3.  3. Convert PolicyManaged Database back to...

View Article

Basic Replication -- 2b : Elements for creating a Materialized View

Continuing the previous post, what happens when there is an UPDATE to the source table ?SQL> select * from source_table; ID DATA_ELEMENT_1 DATA_ELEMENT_2 DATE_COL---------- ---------------...

View Article

Basic Replication -- 3 : Multiple Materialized Views

You can define multiple Materialized Views against the same Source Table with differences in :a) the SELECT clause column listb) Predicates in the WHERE clausec) Joins to one or more other Source...

View Article

Basic Replication -- 4 : Data Dictionary Queries

Now that we have two Materialized Views against a Source table, how can we identify the relationship via the data dictionary ?This is the query to the data dictionary in the database where the Source...

View Article


Basic Replication -- 5 : REFRESH_METHOD : FAST or FORCE ?

In the previous blog post, I had a remark "We'll explore the implications of "REFRESH FAST" and just "REFRESH" alone in a subsequent blog post."This is in the context of whether it is a FORCE or FAST...

View Article

Basic Replication -- 6 : COMPLETE and ATOMIC_REFRESH

Till 9i, if you did a COMPLETE Refresh of a Single Materialized View, Oracle would do a TRUNCATE followed by an INSERT.If you did a COMPLETE Refresh of a *group* of Materialized Views, Oracle would...

View Article


Basic Replication -- 7 : Refresh Groups

So far, all my blog posts in this series cover "single" Materialized Views (even if I have created two MVs, they are independent of each other and can be refreshed at different schedules).A Refresh...

View Article

Basic Replication -- 8 : REFRESH_MODE ON COMMIT

So far, in previous posts in this series, I have demonstrated Materialized Views that set to REFRESH ON DEMAND.You can also define a Materialized View that is set to REFRESH ON COMMIT -- i.e. every...

View Article


Basic Replication -- 9 : BUILD DEFERRED

A Materialized View can be created with all the target rows pre-inserted (and subsequently refreshed for changes).  This is the default behaviour.However, it is possible to define a Materialized View...

View Article

Basic Replication -- 10 : ON PREBUILT TABLE

In my previous blog post, I've shown a Materialized View that is built as an empty MV and subsequently populated by a Refresh call.You can also define a Materialized View over an *existing*...

View Article

Basic Replication -- 11 : Indexes on a Materialized View

A Materialized View is actually also a physical Table (by the same name) that is created and maintained to store the rows that the MV query is supposed to present.Since it is also a Table, you can...

View Article
Browsing all 468 articles
Browse latest View live


Latest Images