IBM Software Technical Document
Document Title : Deleting the Database Host Server's IBM® SQL/400® Package
Occasionally it is necessary to delete the IBM® SQL/400® package, QZDAPKG, which is used by the database host server. It can become unusable because of corruption, size limitations, or an incompatibility between releases. This document describes how to delete this object so the database host server can create a new one.
Because all of the database server jobs share a lock on this SQL package, it is necessary to end those jobs before the package can be deleted. This usually prompts the question, "Who will this impact?" The database host server is used by IBM® iSeries™ Access for Windows, Linux®, and third party products for ODBC, data or file transfer, OLEDB providers, and .Net managed data providers. To determine whether anyone on the system at the time will be impacted by ending the database server, run the command ENDHOSTSVR *DATABASE. This prevents any new connections from being made to the database host server. Note that the ENDHOSTSVR command run like this will not end any active connections. Next, run the command WRKACTJOB JOB(QZDASOINIT). If there are no active jobs displayed, then the server is not currently being used and no connections will need to be ended to perform the delete. Note that if you are using secure sockets connections (SSL), you should also run the command WRKACTJOB JOB(QZDASSINIT).
If there are active jobs listed, use Option 5 to work with them, then use Option 1 to see who the current user is or use Option 10 to display the joblog. The message CPIAD02 will show you the user and their TCP/IP address. You can contact these users if you want to allow them to disconnect gracefully.
When you are ready to shut down the database server, run the following commands to correct the problem and restart everything:
ENDPJ QUSRWRK QZDASOINIT *IMMED
ENDPJ QUSRWRK QZDASSINIT *IMMED
ENDPJ QSERVER QZDAINIT *IMMED
STRPJ QSERVER QZDAINIT
This sequence of commands assumes that you are using the prestart jobs in the QUSRWRK subsystem and have not customized the database host server to use additional or different subsystems. If the host server has been customized, you will need to end the additional prestart or batch immediate jobs prior to deleting the SQL package. If any of these jobs remain active, an error will result when the DLTSQLPKG command is run because the active job will still have a lock on the SQL package. After deleting the SQL package you will also need to start the prestart jobs in any custom subsystems using the STRPJ command.