Fast compilation of a large number of invalid objects in the database

    The database is in restricted (startup restrict is executed or alter sytem enable restricted session + all user sessions are killed).
    listener is stopped.

    Sequencing.
    • exec dbms_scheduler.set_scheduler_attribute ('scheduler_disabled', 'true'); alter system disable restricted session;
    • @? / rdbms / admin / utlrp
    • in another session: alter system enable restricted session; exec dbms_scheduler.set_scheduler_attribute ('scheduler_disabled', 'false');



    Recompilation of a large number of objects may be required after upgrades to oracle software or the software application in the database.
    The usual instructions in this case contain recommendations to run utlrp in the normal database mode, but in reality there are problems when the database and user sessions start running in the database, and the objects have not yet been compiled.
    If you run utlrp in restricted, then it will not work in parallel. If you remove the listener, prohibit the jobs and exit restricted before running utlrp, then parallel again will fail, due to disabled workstations.
    The above sequence, however, works because utlrp does not start in restricted mode and creates its own jOBs with allow_rusn_in_restricted_mode attributes - they will start after entering the appropriate commands in another session.

    Actual for a database with a large number of objects and tasks in dba_jobs, dba_scheduler_jobs.

    Also popular now: