Error when starting a job on the QSA, after a previous script execution:
"Aborted: QSA-20311 Table conflict with script already executing;"
For example, a reorg job runs successful once, but then when rerunning the job, this error occurs.
The QSA (qexecd) is waiting on a PID. QSA does not seem to be able to detect that a job has completed.
1. In the database QSA environment, turn signal handling off by editing the $ORACLE_HOME/NETWORK/ADMIN/SQLNET.ORA file, and adding or editing the line:
BEQUEATH_DETACH=YES
2. Save the file
3.Stop QSA
4. Start QSA
After the above resolution has been performed, the error will be rectified, and subsequent jobs after the first job will be able to start successfully.
BEQUEATH_DETACH info from Oracle:
"Use to turn on or off UNIX signal handling. Since the client application spawns a server process internally through the Bequeath protocol as a child process, the client application becomes responsible for cleaning up the child process when it completes. When the server process completes its connection responsibilities, it becomes a defunct process. Signal handlers are responsible for cleaning up these defunct processes. Setting this parameter configures the client profile to pass this process to the UNIX init process by disabling signal handlers."
Applies to Space Manager with LiveReorg 6.0 on Oracle 10gR2 (Oracle 10.2.0.1)