Re: Ora-8103 error

From: Jonathan Lewis <jlewisoracle_at_gmail.com>
Date: Mon, 28 Jun 2021 12:35:47 +0100
Message-ID: <CAGtsp8k9iByAxPXOi9BCWYfu7eVOpvULw47hjQzQFJ0=q8b3bg_at_mail.gmail.com>



The parameter enable_ddl_logging comes under the extra cost "Lifecycle Management" option.
Don't do it unless you've paid for the licence.

You may want to set up your own logging mechanism (writing to a table, or to a file) using a database trigger , if the problem is relevant only to a specific table you could do something like the following as the first lines of thw trigger:

create or replace trigger before_ddl
before ddl
on test_user.schema
begin

        if (
                (sys.dbms_standard.DICTIONARY_OBJ_OWNER = 'TEST_USER')
            and (sys.dbms_standard.dictionary_obj_type  = 'TABLE')
            and (sys.dbms_standard.DICTIONARY_OBJ_NAME  = 'TRANSACTIONS')
        )
        then  ...

Regards
Jonathan Lewis

On Mon, 28 Jun 2021 at 11:51, Pap <oracle.developer35_at_gmail.com> wrote:

> This question came from a friend in a forum for version 19.9.0.0.0 of
> oracle , stating, one of the SELECT query is failing with ora-08103 object
> no longer exists error intermittently and rerun makes that query finish
> without any error. And the query does have some partition tables used but
> they aren't able to find any partition maintenance activities during this
> period. But there must be some DDL happening and thus the SELECT query is
> failing. And it might be that the DDL is too quick that it's not logged in
> ASH/AWR views. So is there any method to get hold of the DDL statement and
> its source ? I saw enabling DDL_LOGGING at the system level is one
> approach, but thinking if it's having any negative sides if it's set at
> system level for a long duration and if any other possible approach
> exists?
>
> Regards
> Pap
>

--
http://www.freelists.org/webpage/oracle-l
Received on Mon Jun 28 2021 - 13:35:47 CEST

Original text of this message