IBM Support

Deleting SQL Package of the Database Host Server

Troubleshooting


Problem

This document describes how to safely delete the QZDAPKG SQL package used by the database host server.

Resolving The Problem

Note: Starting with 7.2, the database host server no longer uses the QZDAPKG SQL package. If you delete it on 7.2 or later, it is not re-created, nor does it need to be since it is not used.

Occasionally it is necessary to delete the SQL 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 statement usually prompts the question, "Who does 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 is impacted by ending the database server, you can run the command WRKACTJOB JOB(QZDA*). If you see any active jobs other than the QZDASRVSD job, there are active users that would have their connections severed by ending the prestart jobs. If there are active jobs listed, select Option 5 to work with them, and then select Option 1 to see who the current user is or select Option 10 to display the job log. The message CPIAD02 shows you the user and their TCP/IP address. If you want the users to disconnect gracefully, contact them.

You can prevent any new connections from being made to the database host server by running the command ENDHOSTSVR *DATABASE. Run this way, the command does not end any active connections. If you run the command with the additional parameter to disconnect active connections, that not only prevent new connections, but severs the existing ones; the format for that command is as follows:

ENDHOSTSVR *DATABASE ENDACTCNN(*DATABASE)

When you are ready to shut down the database server, run the following commands to correct the problem and restart everything:

ENDHOSTSVR *DATABASE
ENDPJ QUSRWRK QZDASOINIT *IMMED
ENDPJ QUSRWRK QZDASSINIT *IMMED
ENDPJ QSERVER QZDAINIT *IMMED
DLTSQLPKG QGPL/QZDAPKG
STRHOSTSVR *DATABASE
STRPJ QSERVER QZDAINIT

This sequence of commands assumes that you are using the prestart jobs in the QUSRWRK subsystem and not customized the database host server to use extra or different subsystems. If the host server is customized, you must end the additional prestart or batch immediate jobs before you delete the SQL package. If any of these jobs remain active, an error results when the DLTSQLPKG command is run because the active job still has a lock on the SQL package. After you delete the SQL package, you must also start the prestart jobs in any custom subsystems by using the STRPJ command.

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SWG60","label":"IBM i"},"Component":"Host Servers","Platform":[{"code":"PF012","label":"IBM i"}],"Version":"7.1.0;7.1;6.1.0;6.1;5.4.0;5.3.0;5.2.0;5.1.0","Edition":"","Line of Business":{"code":"LOB57","label":"Power"}}]

Historical Number

377117296

Document Information

Modified date:
01 July 2021

UID

nas8N1015556