Solved

PL/SQL: could not find program unit being called, in LBACSYS.LBAC_EVENTS

Posted on 2001-08-27
2
2,562 Views
Last Modified: 2010-05-18
I have an Oracle 9i database
installed on an SuSE 7.2 Linux system.
It's mostly brand new.
I've copied most of the schema I'm working with from another database/site of ours, because we want to put a new face on an existing model.

While I was porting the schema (side note, does anybody know of a single tool that actually does this correctly????????), I ran into a missing requirement: in one of my procedures, I use DBMS_SQL to dynamically evaluate an SQL statement. When compiling this procedure, I got "package not found" errors.  (Yes, I've since learned about "EXECUTE IMMEDIATE" in trying to find a solution to my problem...)

So, I went over to the database machine, su'd to oracle, and located the dbmssql.sql script. I executed the following commands:
sqlplus /nolog
connect sys/*******@database as sysdba
@dbmssql

From that moment, I've been unable to update any complex items on my database. I keep seeing this error block:

ORA-04045: errors during recompilation/revalidation of STATS.TRG_LOG_SITEINFO
ORA-06508: PL/SQL: could not find program unit being called
ORA-06512: at "LBACSYS.LBAC_EVENTS", line 440
ORA-06512: at line 2
ORA-06508: PL/SQL: could not find program unit being called
ORA-06512: at "LBACSYS.LBAC_EVENTS", line 440
ORA-06512: at line 2 (DBD ERROR: OCIStmtExecute)


IN attempting to make this error go away, I've even gone so far as to locate the definition of LBACSYS.LBAC_EVENTS in the original installation media, and manually recompile:
connect / as sysdba
@prvtlbac.plb

But it seems to be self-referential, and when one part of the file is evaluated, it nukes the state of the rest of it... <sigh>

HELP!!!
0
Comment
Question by:lordvorp
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
2 Comments
 
LVL 3

Accepted Solution

by:
ramkb earned 300 total points
ID: 6430100

Hi,

Don't try to recompile SYS objects manually (it will drive you crazy).  To compile all invalid objects, use utlrp.sql
This file is located under $ORACLE_HOME/rdbms/admin

Login as sqlplus internal and run
SQL> @?/rdbms/admin/utlrp.sql

SQL> SELECT COUNT(*) FROM ALL_OBJECTS WHERE STATUS = 'INVALID';

If still there are any invalid objects
SQL> SELECT OWNER, OBJECT_NAME, OBJECT_TYPE
FROM ALL_OBJECTS WHERE STATUS = 'INVALID'

Pls. let us know if the invalidation gets resolved.

Cheers,
Ramesh
0
 
LVL 1

Author Comment

by:lordvorp
ID: 6430241
De nada.  Same error block.

I even tried to rebuild prvtsql.plb:
@prvtsql.plb
That made my problems even worse.  Now, instead of the original error block on @utlrp, it complains about the missing package body. <sigh>

Tellya what, you can have the points.  I'm not getting this database back.  It's a good thing I hadn't actually put any data into it.
0

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Creation date for a PDB 5 87
having some issue on pl sql procedure 1 43
Updating a temp table inside a PL/SQL block 3 65
Oracle cluster . 1 25
Background In several of the companies I have worked for, I noticed that corporate reporting is off loaded from the production database and done mainly on a clone database which needs to be kept up to date daily by various means, be it a logical…
How to Unravel a Tricky Query Introduction If you browse through the Oracle zones or any of the other database-related zones you'll come across some complicated solutions and sometimes you'll just have to wonder how anyone came up with them.  â€¦
This video shows, step by step, how to configure Oracle Heterogeneous Services via the Generic Gateway Agent in order to make a connection from an Oracle session and access a remote SQL Server database table.
Via a live example, show how to restore a database from backup after a simulated disk failure using RMAN.

710 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question