Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Mailing Lists -> Oracle-L -> Partition Change Tracking (PCT) API?

Partition Change Tracking (PCT) API?

From: Tim Hopkins <oracle-l_at_timothyhopkins.net>
Date: Mon, 4 Sep 2006 10:00:56 -0000 (GMT)
Message-ID: <18062.192.165.213.18.1157364056.squirrel@192.165.213.18>


Hi All,

    I have a requirement to create an aggregation based on a 600 million row date-partitioned table. Given the size of the table, a complete refresh isn't really viable and as analytic functions are involved, normal fast-refresh is also out of the question.

    That would normally leave PCT as the remaining refresh mechanism. Whilst PCT can work with analytic functions, by including PMARKER in the PARTITION BY clause, I need to use the value of the analytic function as a predicate. To do this, I need to put the analytic function in an inline view and use an outer WHERE clause to filter the values. This use of an inline view then rules out PCT, despite the fact that there are no inter-partition dependencies and PCT should theoretically be possible.

    The plan now is to use a form of manual PCT refresh. The first DML to a non-partitioned base table following a snapshot refresh records its SCN in the TAB$.SPARE3 column (credit to Steve Adams) and the equivalent for partitioned tables appears to be TABPART$.SPARE1 (based on a trace of a PCT refresh). An existing snapshot replication process will ensure that these columns are populated in my database.

    This is all good and appears to achieve what I need. The only problem is that's a bit of a hack and thus unsupported.

    Finally the question for the list is, does anybody know if there is a documented API for determining if a partition has been modified since the last refresh of an MV?

Cheers,
Tim

--
http://www.freelists.org/webpage/oracle-l
Received on Mon Sep 04 2006 - 05:00:56 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US