How to partitioning oracle table when the table still working

oracleoracle-11g

How can I partitioning oracle table when the table still working?

Explain:
– I need to partitioning table of Oracle but the table didn't partitioned before.
– I have many scheduler I can't close it all.

How can I partitioning table without closing all scheduled tasks?

I try it

BEGIN
dbms_redefinition.start_redef_table(
uname => 'kiku',
orig_table => 'pletest3_pn_kiku_api_db',
int_table => 'pletest4_pn_kiku_api_db');
END;

ERROR::

Error report:
ORA-12008: error in materialized view refresh path
ORA-14400: inserted partition key does not map to any partition
ORA-06512: at "SYS.DBMS_REDEFINITION", line 50
ORA-06512: at "SYS.DBMS_REDEFINITION", line 1343
ORA-06512: at line 2
12008. 00000 -  "error in materialized view refresh path"
*Cause:    Table SNAP$_<mview_name> reads rows from the view
           MVIEW$_<mview_name>, which is a view on the master table
           (the master may be at a remote site).  Any
           error in this path will cause this error at refresh time.
           For fast refreshes, the table <master_owner>.MLOG$_<master>
           is also referenced.
*Action:   Examine the other messages on the stack to find the problem.
           See if the objects SNAP$_<mview_name>, MVIEW$_<mview_name>,
           <mowner>.<master>@<dblink>, <mowner>.MLOG$_<master>@<dblink>
           still exist.

Best Answer

Just copy your table with a new name and apply the partioning, drop the original table and rename the copied file to the original table.

Related Question