Data definition language (DDL) statements of SQL that operate on database objects, such as ALTER FRAGMENT or TRUNCATE, fail with an error if a data manipulation language (DML) statement in another concurrent session holds a lock on an object that is referenced in the DDL statement.
To force execution of DDL statements, a new FORCE_DDL_EXEC session environment option to the SET ENVIRONMENT statement can abort all DML statements in other sessions that hold locks on database objects that DDL statements reference in the current session:
>>-SET ENVIRONMENT FORCE_DDL_EXEC--+-ON--------+--------------->< +-OFF-------+ +-DEFAULT---+ +-MUTABLE---+ '-IMMUTABLE-'
The keywords that can follow the FORCE_DDL_EXEC keyword have the following effect:
When ON is the value of this environment setting, the DDL operation aborts all sessions that holds locks on objects that the DDL references. The DDL operation waits for these sessions to rollback their transactions before beginning DDL execution.
The DBA can include the following statement in the sysdbopen( ) procedure:
SET ENVIRONMENT FORCE_DDL_EXEC IMMUTABLE
After the mutability attribute of FORCE_DDL_EXEC is set to IMMUTABLE, only the DBA can change the mutability attribute of FORCE_DDL_EXEC.
The onstat utility can display information about the FORCE_DDL_EXEC setting:
For more information about command-line options of the onstat utility, see Appendix A. Syntax Summaries of Selected Utilities.
Enterprise Edition Home | Express Edition Home | [ Top of Page | Previous Page | Next Page | Contents | Index ]