Skip to Main Content

Database Software

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

ORA-20203 on dbms_wm.beginddl - status=DV

stuartuAug 11 2014 — edited Aug 12 2014

Hi,

One of our developers wants changes to a version enabled table, which hasn't been structurally changed for some months.

Unfortunately, I get an error when setting the table into maintenance mode, nor is the table in maintenance mode already.

NUTRIWEB: MPI > exec dbms_wm.beginddl('product');

BEGIN dbms_wm.beginddl('product'); END;

*

ERROR at line 1:

ORA-20203: enable/disable versioning or begin/commitDDL is being executed on MPI.PRODUCT

ORA-06512: at "WMSYS.LT", line 12166

ORA-06512: at line 1

NUTRIWEB: MPI > exec dbms_wm.commitddl('product');

BEGIN dbms_wm.commitddl('product'); END;

*

ERROR at line 1:

ORA-20204: beginDDL not called on MPI.PRODUCT

ORA-06512: at "WMSYS.LT", line 12253

ORA-06512: at line 1

Looking at the ALL_WM_VT_ERRORS, I can see the state of the table = DV, and from the documentation indicates 'the table is being version disabled'.

As this table should NOT be version disabled, I'm presuming someone mistakenly ran the wrong dbms_wm command over it then did a Control-C to abort.

NUTRIWEB: MPI > select owner, table_name, state, status, error_msg, sql_str from all_wm_vt_errors;

OWNER                   TABLE_NAME      STATE  STATUS                 ERROR_MSG

------------------------------ --------------- ------ ------------------------------ -------------------------------------------------------

SQL_STR

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

MPI                   PRODUCT           DV     DV STEP EXECUTED WITH ERRORS   ORA-01013: user requested cancel of current operation

delete from MPI.PRODUCT_LT

     where nextver = ',0,' or

           nextver in

        (select next_vers

         from wmsys.wm$nextver_table

         where version in (select version from wmsys.wm$version_hierarchy_table where workspace='LIVE')) or

           delstatus < 0

1 row selected.

Ideas on how to get this back into a version-enabled state?     I see 389k records in the PRODUCT_HIST table, so we still have history, but as to the state of the rest of the related WM objects...

Thanks in advance

Stuart.

This post has been answered by Ben Speckhard-Oracle on Aug 12 2014
Jump to Answer
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Sep 9 2014
Added on Aug 11 2014
2 comments
3,712 views