ORA-12838: cannot read/modify an object after modifying it in parallel

SCOTT@PROD> insert /*+ append */ into b select * from a;

4 rows created.

SCOTT@PROD> select file#,block#,status from v$bh where objd=(select data_object_id from user_objects where object_name='B');

     FILE#     BLOCK# STATUS
---------- ---------- ----------
     4      665 xcur
     4      666 xcur
     4      664 xcur

SCOTT@PROD> select dbms_rowid.rowid_relative_fno(rowid),dbms_rowid.rowid_block_number(rowid) from b;
select dbms_rowid.rowid_relative_fno(rowid),dbms_rowid.rowid_block_number(rowid) from b
                                                                                      *
ERROR at line 1:
ORA-12838: cannot read/modify an object after modifying it in parallel


SCOTT@PROD> alter table t noparallel;

Table altered.

SCOTT@PROD> select dbms_rowid.rowid_relative_fno(rowid),dbms_rowid.rowid_block_number(rowid) from b;

DBMS_ROWID.ROWID_RELATIVE_FNO(ROWID) DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID)
------------------------------------ ------------------------------------
                   4                      667
                   4                      667
                   4                      667
                   4                      667

原文地址:https://www.cnblogs.com/gw666/p/11002892.html