La utilidad db2 command line tiene una serie de opciones por defecto. En este artículo mostraremos como eliminar el autocommit de las sentencias DML que por defecto está activado. En el caso de querer hacer alguna prueba, por ejemplo, simulando bloqueos o uso de logs puede ser útil eliminar esta característica, que está por defecto, para evitar que una sesión sin commit haga que usemos un número de logs activos superior al necesario.
Las opciones activas del DB2 command line se pueden obtener con las siguientes instrucciones:
db2 => ? options db2 [option ...] [db2-command | sql-statement | [? [phrase | message | sqlstate | class-code]]] option: -a, -c, -d, -e{c|s}, -finfile, -i, -lhistfile, -m, -n, -o, -p, -q, -rreport, -s, -t, -td;, -v, -w, -x, -zoutputfile. Option Description Default Setting ------ ---------------------------------------- --------------- -a Display SQLCA OFF -c Auto-commit ON -d Retrieve and display XML declarations OFF -e Display SQLCODE/SQLSTATE OFF -f Read from input file OFF ...... -x Suppress printing of column headings OFF -z Save all output to output file OFF |
db2 => LIST COMMAND OPTIONS Command Line Processor Option Settings Backend process wait time (seconds) (DB2BQTIME) = 1 No. of retries to connect to backend (DB2BQTRY) = 60 Request queue wait time (seconds) (DB2RQTIME) = 5 Input queue wait time (seconds) (DB2IQTIME) = 5 Command options (DB2OPTIONS) = Option Description Current Setting ------ ---------------------------------------- --------------- -a Display SQLCA OFF -c Auto-Commit ON -d Retrieve and display XML declarations OFF -e Display SQLCODE/SQLSTATE OFF -f Read from input file OFF ........ -x Suppress printing of column headings OFF -z Save all output to output file OFF |
Mientras que la primera sólo muestra la información de la sintaxis y opciones existentes con sus valores por defecto (atención! no valores actuales), la segunda muestra los valores actuales en vigor.
Las opciones por defecto se pueden determinar con la variable de entorno DB2OPTIONS, indicando con un ‘+’ o con un ‘-‘ la activación o no de esta opción.
Los métodos para cambiar una opción existente son:
1. Desde la llamada al DB2 command line utilizando las opciones como argumento:
> db2 +c |
2. Con el comando UPDATE COMMAND en cualquier momento. Por ejemplo, para eliminar la característica de AUTOCOMMIT seria:
db2 => UPDATE COMMAND OPTIONS USING c OFF DB20000I The UPDATE COMMAND OPTIONS command completed successfully. |