SQL/MX 2.x Installation and Management Guide (G06.24+, H06.03+)

Reorganizing SQL/MX Tables and Maintaining Data
HP NonStop SQL/MX Installation and Management Guide523723-004
10-7
Performing Recovery on Failed Utility Operations
substring (l.process_id from 1 for 25) as
process_id
from objects o, ddl_locks 1
where l.object_uid = o.object_uid and o.schema_uid =
(select schema_uid
from nonstop_sqlmx_system.system_schema.schemata
where schema_name = ‘SALES’ and cat_uid =
(select cat_uid
from nonstop_sqlmx_system.system_schema.catsys
where cat_name = ‘SAMDCAT’
)
)
for read uncommmitted access
order by l.object_uid;
LOCK_NAME UTIL STATUS PROCESS_ID
----------------------- ----- -------- ---------------------
CUSTOMER_77179541_2217 PI 4 \FIGARO.$:3:321:2235264
You can use the TACL command STATUS process-name to determine whether the
process ID returned by the query is running or is nor present. If the named process is
running, the returned lock information is for an active DDL lock. If the named process is
not present, the returned lock information is for an inactive DDL lock.
This and other information returned by the query can be used to determine whether
you need to perform a RECOVER or a FUP RELOAD operation on a MODIFY request.
For more information, see Using RECOVER or FUP RELOAD to Recover a Failed
MODIFY Operation and Reset the Flag on page 10-13.
While a DDL lock is active, the utility operation that holds the lock is assumed to be
running.
You can also use SHOWDDL to display information about DDL locks. An example
SHOWDDL output would include:
-- WARNING: A DDL lock exists on the following object, SHOWDDL
may be inaccurate
--
CREATE TABLE CAT.SCH.CUSTOMER
For more information, see
Performing Recovery on Failed Utility Operations
If the utility request fails to complete successfully, the request must be recovered to a
known good state (resumed or cancelled), which removes the DDL lock and resets all
flags. Most utilities respond to a request failure by invoking their own internal recovery
procedure. If the utility’s internal recovery procedure does not succeed, you must
manually recover the utility request. For all utilities but MODIFY, you perform a
RECOVER operation on the affected SQL/MX object. For MODIFY, you perform a
RECOVER operation on the affected table or index if an inactive DDL lock is present