Document 1468698.1
Document 1468698.1
APPLIES TO:
GOAL
- How to ensure Partitioning is removed from the system so that it does not require a license
SOLUTION
NOTE: In the images and/or the document content below, the user information and data used represents fictitious data from the Oracle sample schema(s)
or Public Documentation delivered with an Oracle database product. Any similarity to actual persons, living or dead, is purely coincidental and not intended
in any manner.
For the most frequently asked questions about Partitioning (is it installed/in use?, how to install/uninstall, please refer to the following article:
Note:1312416.1 Common Questions On The Partitioning Option Installed In the Oracle Database
Once a database has been created (using dbca or otherwise), it is possible to add / remove options to a certain extent. Note that it easier to add an option than
to remove it (because care must be taken to remove an option only when it is not used).
Partitioning is different from most other options because it is split into a user and system component. The system component is present if partitioning has been
part of the database at any time in the past. Fully removing it is not possible afterwards.
However, the system partitioning component is not relevant from the licensing point of view - only the use of the user partitioning component is relevant.
A partitioned object can only be created if the user partitioning component is active / enabled.
Furthermore, if you are using Grid Control (GC) , you may notice that certain objects are partitioned, triggering the user partitioning component.
However, according to this article:
Note:456101.1 Grid Control Repository: Everything you Wanted to Know About Partition Maintenance in the Repository
a license for partitioning (for the GC) instance is not required provided that:
>> this database is not used for storing any other Application data <<
Prior to de-installing / disabling the "user" partitioning option, you should verify that there are no partitioned user objects defined in any user schema.
A way to check if partitioned objects exist is by reviewing the DBA_* type views into the data dictionary:
- DBA_PART_TABLES contains information on all TABLE objects that are partitioned and / or sub-partitioned.
- DBA_PART_INDEXES contains information on INDEX objects that are partitioned and / or subpartitioned:
If you find that you have partitioned tables that you would like to convert to un-partitioned tables, you could use the techniques explained here:
Note:300733.1 How Do You Convert From A Partitioned To A Non-Partitioned Table?
Note:1276049.1 How To Convert A Partitioned Table To A Non-Partitioned Table Using DataPump In 11g
Note:472449.1 How To Partition Existing Table Using DBMS_Redefinition
(using online redefinition - reverse the roles of partitioned table and unpartitioned table in this article - the process is essentially the same)
To change a partitioned index to an unpartitioned index, you could use the same process, or re-create the index object (depending on the size of the objects,
this may always be the most efficient way).
REFERENCES
NOTE:1312416.1 - Common Questions on the Partitioning Option Installed in the Oracle Database (Licensing, Install, Remove)
NOTE:456101.1 - Grid Control Repository: Everything you Wanted to Know About Partition Maintenance of Metric Data in the 10g/11g Repository
NOTE:472449.1 - How To Partition Existing Table Using DBMS_REDEFINITION
Didn't find what you are looking for?