Cleaning up datablades
Posted in 2023
Thomas Beebe (14.10.FC10) wanted an official way to remove datablade management leftovers after dropping all blades. Paul Watson knew none other than plain drops. After sysbldprepare create and drop, sysblderrorlog and sysbldregistered remained; Andreas Legner thought both safe to drop if sysbldregistered is empty. Thomas added drops to his script. Art Kagel noted myschema --no-blade-procs.
Auto-generated by Claude from the posts below — may be imperfect; read the full thread.
Topics: General Discussion
Is there any official way to remove all of the datablade tables/functions/etc after removing all blades from a database? I have a list of how to remove them all by hand. But I am just curious if there are any functions or methods to 'officially' remove them from a DB if there are no registered datablades. Thanks! ------------------------------ Thomas Beebe Vice President xDB Systems, Inc Woodbridge VA 5713399029 ------------------------------
The Blade Mangler should remove the blade completely but I am not aware of any method to remove the blade management tables other than just a plain drop -- Paul Watson Oninit www.oninit.com Tel: +1 913 364 0360 Cell: +1 913 387 7529 Oninit?? is a registered trademark of Oninit LLC If you want to improve, be content to be thought foolish and stupid Failure is not as frightening as regret
Adding in here, this is on 14.10fc10 (so there is no blademgr , just the function sysbldprepare() ) ------------------------------ Thomas Beebe Vice President xDB Systems, Inc Woodbridge VA 5713399029 ------------------------------
Hi Tom, can you explain what you think is left and needs cleanup after blades got removed from a database? In my view, a blade can only be removed (de-registered from a database) when none of its functionality (types, functions, etc.) are in use any more by any other database object, and removing the blade should leave nothing behind of the respective blade objects. So is it about those general sysbld* blade management tables that get created in a database when registering the first blade in the database? BR, Andreas ------------------------------ Andreas Legner ------------------------------
So the goal is to migrate a databases schema without blades (and then register them after the copy).
If you create an empty database then run:
execute function sysbldprepare('excompat.*', 'create');
execute function sysbldprepare('excompat.*', 'drop');We are still left with:
sysblderrorlog
sysbldregistered
Are those safe to drop?
------------------------------
Thomas Beebe
Vice President
xDB Systems, Inc
Woodbridge VA
5713399029
------------------------------
Hi Tom, I'd assume they both are safe to drop IF sysbldregistered is empty. I'd also assume they shouldn't be in the way of copying the database or of registering blades in the copied database - any indication to the contrary? Cheers, Andreas ------------------------------ Andreas Legner ------------------------------
They were causing a small headache, but not a big deal. I just wanted to see if there was some official step I was missing to fully remove all parts from the system, the fewer work arounds the better. The bigger issue I had previously was a failed deregistering left a bunch of bld* tables in the system, but testing on cleaner systems that doesn't seem to be a problem so I am just treating that as a one-off. Regardless, thank you. Just going to add the drop into the script. ------------------------------ Thomas Beebe Vice President xDB Systems, Inc Woodbridge VA 5713399029 ------------------------------
Tom: Note that the --no-blade-procs option to myschema will ignore the bld* tables. Art Art S. Kagel, President and Principal Consultant ASK Database Management www.askdbmgt.com Blog: http://informix-myview.blogspot.com/ Disclaimer: Please keep in mind that my own opinions are my own opinions and do not reflect on the IIUG, nor any other organization with which I am associated either explicitly, implicitly, or by inference. Neither do those opinions reflect those of other individuals affiliated with any entity with which I am affiliated nor those of the entities themselves.