My Oracle Support Banner

Sys Objects Get Invalidated When Running The Procedure Through Db Link (Doc ID 1397849.1)

Last updated on FEBRUARY 19, 2019

Applies to:

Oracle Database - Enterprise Edition - Version to [Release 10.2 to 11.2]
Oracle Database Cloud Schema Service - Version N/A and later
Oracle Database Exadata Cloud Machine - Version N/A and later
Oracle Cloud Infrastructure - Database Service - Version N/A and later
Oracle Database Backup Service - Version N/A and later
Information in this document applies to any platform.


Executing a remote procedure over a dblink invalidates local application objects (not Oracle objects) which are located under SYS.

If 10046 / level 12 trace is enabled in the local session , this shows that immediately prior to objects being invalidated , the sql statement is run .

select o.obj#, o.stime from obj$ o, dependency$ d where owner#=:1 and type# in (7, 8, 9, 11, 12, 14) and o.obj# = d.d_obj# and d.p_obj# in (select obj# from obj$ where owner#=:2)

It is these objects returned which are being invalidated.

Note : the owner (:2) is the user id of the current local connected user , determined from dba_user.user_id :

select user_id, username from dba_users where username = '<current connected username>';


To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!

In this Document

My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.