Re: Convert Partitioned Index to Regular Index

  • From: Martin Berger <martin.a.berger@xxxxxxxxx>
  • To: contact@xxxxxxxx
  • Date: Tue, 27 Dec 2016 16:20:41 +0100

If you want to simulate the 12.1 feature with different index on the same
set of columns, I suggest to create a intermediate index with the same
columns followed by a "1" (or any other small constant).
This index should be as useful as the others, then the original index can
be dropped and created according to your needs.
When everything runs smooth the intermediate index can be removed.
the space usage should be similar to dbms_redefinition.

hth
 Martin

2016-12-26 16:03 GMT+01:00 Stefan Koehler <contact@xxxxxxxx>:

Hey David,
i am a little bit confused by the table and index definition.

1) "CONSTRAINT "ARFCSSTATE0" PRIMARY KEY ("ARFCIPID", "ARFCPID",
"ARFCTIME", "ARFCTIDCNT", "ARFCDEST", "ARFCLUWCNT")" - SAP does not work
with PK
constraints. SAP works with "NOT NULL" constraints plus unique indexes.

2) I can see no HASH clause for your index. Are you sure that you have
posted the right DDLs?

What is your SAP release? SAPnote #742243 describes the necessary SAP
basis packages to create partitioned indexes independently of the table -
maybe
this is your issue during upgrade?


Is dbms_redefinition the way to go with this? Or is there
another/different/better approach?

Yes, as you are still running on 11.2. Create a DDL file with help of
BR*Tools, modify it accordingly and then use it as template for brspace. If
you
would be already on 12.1, you could create the non-partitioned index in
parallel existence of the global hash-partitioned one and just switch by
setting the visibility - but this is not possible with your current Oracle
release.

Best Regards
Stefan Koehler

Freelance Oracle performance consultant and researcher
Homepage: http://www.soocs.de
Twitter: @OracleSK

David Barbour <david.barbour1@xxxxxxxxx> hat am 26. Dezember 2016 um
14:50 geschrieben:

 Good Morning.  Also Merry Christmas and Happy New Year for those to
whom it may apply.

 Running Oracle EE 11.2.0.3 on RHEL 6.8

 We are upgrading our SAP system and there are several tables that are
not partitioned but do have one or more global hash-partitioned indexes.

 The upgrade process does some work during an 'uptime' phase, but it's
stopping when it reaches these indexes.  In order to proceed with the
upgrade, we need to convert them back to regular indexes.  Because of
the activity on these indexes, we need to keep the table/indexes available.

 Is dbms_redefinition the way to go with this? Or is there
another/different/better approach?

 Here are the current DDL statements for one of the tables involved with
the associated primary key separately described.  The index has 6
partitions.


Other related posts: