Skip to main content
ExLibris
  • Subscribe by RSS
  • Ex Libris Knowledge Center

    OPAC not working: "Can not perform DDL/DML over objects in Recycle Bin"

    • Article Type: General
    • Product: Aleph
    • Product Version: 18.01

    Description:
    The www_server stopped working last night. OPAC searches yield the following messages in the www_server log:

    Oracle error: io_z63_write
    ORA-38301: can not perform DDL/DML over objects in Recycle Bin
    ...
    Oracle error: io_z63_update
    ORA-38301: can not perform DDL/DML over objects in Recycle Bin

    The clear_vir01 from last night has the following messages:

    Elapsed: 00:00:00.03
    04:00:40 aleph_admin@ALEPH0>
    Table dropped.

    Elapsed: 00:00:00.31
    CREATE TABLE VIR01.Z63 (
    *
    ERROR at line 1:
    ORA-00955: name is already used by an existing object

    Elapsed: 00:00:00.00
    04:00:40 aleph_admin@ALEPH0> CREATE UNIQUE INDEX VIR01.Z63_ID ON VIR01.Z63 (Z63_
    REC_KEY ASC)
    *
    ERROR at line 1:
    ORA-01408: such column list already indexed
    <etc.>

    An attempt to do util a/17/1 for the z63, individually, gives similar messages.

    Resolution:
    The Oracle recycle bin can be used to recover accidentally deleted files. As delivered, the Aleph Oracle is set to have this feature turned off, but there was a build in 2006 which was distributed with recyclebin = on.

    Do the following, as the oracle user,

    sqlplus '/ as sysdba'

    SQL> purge recyclebin;

    Note: Each Oracle user (each Aleph library) has its own recyclebin.
    You would need to connect to each library to do the purge.
    The main concern is the VIR01 recyclebin, which gets 100 times the use of any other.

    This should stop any immediate problem.

    Then, to see how recyclebin is set:

    SQL> sho parameter recyclebin

    If it's OFF, there's nothing more to do. If it is ON, then you need to:

    1. purge the recyclebin (see above)

    and

    2. turn recyclebin OFF:

    SQL> ALTER SYSTEM SET recyclebin = OFF scope=BOTH;

    Note: Once recyclebin is set to OFF (and the purge has been done), Oracle won't try to write to them any more.
    The "ALTER SYSTEM SET recyclebin = OFF scope=BOTH;" will set *all* of the recyclebins to OFF.


    • Article last edited: 10/8/2013
    • Was this article helpful?