Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1458
  • Last Modified:

Creating package for DBMS_STANDARD

During an import I recently ran, I received this error in the log file:-
ORA-06554: package DBMS_STANDARD must be created before using PL/SQL

The export was taken from 7.3.4 and the import is being carried out on 8.1.6.
Could anyone shed anylight on how to do this, and do I need to do the import again, as I think some procedures may have failed within the import because of this. I have seen the syntax for the 'create package' and 'create package body' statements, but i dont fully understand.
1 Solution
2 posibilites
The export was created with the SYS or 'internal' user. That is not correct, if you do that you export data dictionary objects that should not be exported. If this is what been done you should export again using 'system' and not sys
catproc.sql has not been run in the target database that you try to import into.
Log on to that database with svrmgrl, connect internal (or sys) and run

(on windows substitute the $ORACLE_HOME with the oracle home directory)

you can run catproc as many times as you like, so even if it has already been run before it doesn't harm to run it again. so you can always give it a try.

You want to log in as SYS and run \oracle_home\rdbms\admin\catalog first. This will call
standard to create package standard,etc. Then run catproc
afterwards. After completion you want to check for invalid objects. Do SELECT * FROM DBA_OBJECTS WHERE STATUS = 'INVALID'. You will want to compile all your legitimate invalid objects
hartleysAuthor Commented:
I have tried the suggestions supplied, but the DBMS_STANDARD still does not get created.

Any ideas?
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

What messages are you getting? If it is not getting
created there must be error messages.
Check your log for errors (I ALWAYS spool to a log file). Find out why catproc failed to create the package. Correct the problem, and rerun catproc.sql.

Upon completion of your final script for creating the data dictionary, run the utlrp.sql script. It will recompile any invalid objects (if possible).

An undocumented Oracle issue that you may be running into ...
set the following params within the init.ora (8.1.X version of the file);

These parameters need to be set while running the catalog, catproc, catrep, etc scripts in 8i. Afterwards you may unset them. However, the first parameter will prevent you from starting the database when using the ODMA (Oracle Database Migration Assistant), which means you will have to do a manual migration (which is basically what you are already doing, to some extent).
hartleysAuthor Commented:
Thank you. This had helped greatly

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now