I am migrating our database from Oracle 7.3.4 to 8.1.6 on another Windows NT server using the Export/Import method. It seems to work ok, the data is accessble using SQL and the GUI for the database. However, none of the PL/SQL packages will work. I get the following errors when I call a package.
ORA 4068-Existing state of packages has been discarded
ORA 4063 Package body (schemaname).(pkgname) has errors
ORA 6508 PL/SQL could not find program being called
ORA 6512 at line 1
This occurs on all of my packages, and it is the same error. I have tried running the utlrp.sql script to recompile the SQL, but it doesnt seem to be help. Can anyone make any suggestions on what might be going on? This is my first migration, and this is my only real problem.
I currently have the compatible parameter to the default of 8.1.0. I tried changing it to 8.1.6, and it had no affect. Should I set the compatibility to 7.3.4? I don't really want to lose the benefits of an 8i database. I'm a little unsure of what the compatible parameter does to the database.
COMPATIBLE lets you use a new release, while at the same time guaranteeing backward compatibility with an earlier release. This ability is helpful in case it becomes necessary to revert to the earlier release.
This parameter specifies the release with which the Oracle server must maintain compatibility. It allows you to take advantage of the maintenance improvements of a new release immediately in your production systems without testing the new functionality in your environment. Some features of the current release may be restricted.
When using the standby database feature, this parameter must have the same value on the primary and standby databases, and the value must be 184.108.40.206.0 or higher. The default value is the earliest release with which compatibility can be guaranteed.
The value of COMPATIBLE must be set to 8.1 or higher in order to use stored columns of UROWID type. You can use ROWID pseudocolumns for index-organized tables regardless of the parameter setting.