Thursday 9 April 2009

Full package deploy recovery

Ever tried to build a package in 812... Get to the end. Everything looks good (probably because you did not check the reports well enough, or the logs)

deployed...

Logged into the web...

All GOOD! but then, find out that the package build actually failed because you ran out of space in the central objects owner! 

Doh!!

Does this only happen to me?  Anyway…  You then remember that you have about 12 full packages sitting in the list and that you might want to drop a few of them to get some space back for oracle.

(This is going to be oracle syntax, but you can engineer anything you need with the basic idea)

So, the situation is…  You’ve got a MSDE / SSE spec database – cool.  All of your BSFNs are compiled on client and server.

The ONLY thing missing are the rows in the full package tables.

So, put the rows in there.

select 'insert into py812.' || table_name || ' select * from py812.' || substr(table_name,1,6) || ';' from all_tables where owner = 'PY812' and table_name like '%FF' ;

This will generate the SQL to populate the full package tables (PY812FF) with the current version of the central objects.

Note that if there have been any project promotions during the time between the full build and the copy – then your objects might be a little out of synch (or a lot!).

You would have had to have generated with webDevelopment=TRUE for the gen to work, cause that uses the local MSDE / SSE DB, rather than the central objects copy.

No comments: