Se encuentra usted aquí

Administrative SQL APIs

A continuación se describen las API SQL para la administración de un instancia de Informix a través de SQL , tambien veremos algunso ejemplos de shell scripts de shell y programas en Java.

En particular veremos lo siguiente

  • Admin API functions y la tabla command_histoy
  • Ejemplos

SQL administración (API)

Las APIS de administración SQL son dos funciones (admin y task) que forman parte de la base de datos sysadmin

Ambas funciones realizan la mismo, con la diferencia que la función task retorna un text del resultado de la operación y la función task retorna
un entero correspondiente al registro generado en la tabla command_history.

  • task(): Cuando se ejecuta la función task un mensaje de status es retornado al usuario.

    execute funciton task("create dbspaces", "tmp3", "/tmp/tmp3", "500MB");

    (expresion) Space 'tmp3' added.

  • admin(): Cuando la funcion admin() es llamada esta retorna un integer que se corresponde con la columna cmd_number de la tabla command_history

    execute funciton admin("create dbspaces", "tmp3", "/tmp/tmp3", "500MB");
    (expresion)
    401

    > select * form command_history where cmd_number = 401

    cmd_number 401
    cmd_exec_time 2012-01-25 16:34:10
    cmd_user informix
    cmd_hostname dbsrv2
    cmd_executed create dbspace
    cmd_ret_status 0
    cmd_ret_msg Space 'tmp3' added.

Los argumentos de ambas funciones son variables y pueden ser hasta 28. Cada comando requiere de los parámetros correspondientes, sino la función retornará un error. Para ver los commandos soportados y sus parametros Ver Commandos

Las funciones solo pueden ser usadas por El usuario informix, el usuario root si tiene los privilegios de connect sobre la base de datos sysadmin o los miembros del grupo DBSA

La tabla command_history

Cada vez que task() o admin() son ejecutadas, una fila es insertada en esta tabla. Cada row permanece en esta tabla el periodo de tiempo del valor de la columna COLUMN_HISTORY_RETENTION en la tabla ph_threshold. El valor por defecto son 30 días. Por cada task ejecutado se guarda la siguiente información

  • cmd_number: Identificador único del comando
  • cmd_exec_time: Fecha / hora de ejecución del comando
  • cmd_user: Usuario que llamo a la funcion admin o task.
  • cmd_hostname: Servidor de la sessión del usuario.
  • cmd_executed: Commando ejecutado.
  • cmd_ret_status: Código del resultado del commando (0 OK).
  • cmd_ret_msg: Message del resultado del comando.

Potencial onmode peligros.

Hay que tener cuidado con ciertos parametros del commando onmode utilizandolas desde las API SQL. Por ejemplo una parada del servidor a traves del commando
onmode no tiene reversa desde las SQL APIs, ya que si el comando se ejecuta satisfactoriamente el motor estará parado. Por ejmplo de commandos que NO SE DEBEN EJECUTAR


execute function task("onmode", "k");
(expresion) IBM Informix Dynamic Server will be shut down in 0 seconds.

Parando el planificador (Scheduler)

Si no tiene plan de utilizar el planificador en su sistema y quiere reducir el uso de recursos puede hacer un parada de este servicio usando el comando SCHEDULER SHUTDOWN, llamandolo
desde las funciones task() o admin().

También se puede desactivar el planificador cuando IDS esta iniciando. Para esto cree un fichero vacio con el nombre stop en el directorio $INFORMIXDIR/etc/admin
Creando este fichero verá el siguiente resultado cuando informix se reinicia.

17:07:22 On-Line Mode
17:07:29 SCHAPI: "INFORMIX/etc/sysadmin/stop" file is present.
Bypassing dbScheduler and dbWorker threads startup.

Ejemplos

  • Añadir BUFFERPOOL: Crear nuevos buffer pool con un especificado pagesize

    execute funciton admin("ADD BUFFERPOOL ", 2048, 1000000, 60, 50);

    Se añade BUFFERPOOL de 2k 1000000 de buffers con lru_max 60 y lru_min de 50.

  • Añadir LOG: Crear un nuevo log file

    execute funciton admin("ADD LOG", "d_llogs", 20000);

    Se añade un log file en el dbspaces d_llogs de tamaño 2000.

  • Force Checkpoints: Forzar a un checkpoints

    execute funciton admin("CHECKPOINT ");

    Forzar un checkpoints, equivalente a onmode -c

  • DROP CHUNK: Eliminar un chunks

    execute funciton admin("DROP CHUNK", "dbspaces", "path", offset);

    Eliminar el chunk path del dbspaces dbspaces con offset offset

  • DROP LOG: Eliminar un log

    execute funciton admin("DROP LOG ", log_num);

    Elininar el file file log_num

  • SET SQL TRACING: Activar el tracing

    execute funciton admin("SET SQL TRACING");

    Activar el global SQL tracing de sentencias sql.

  • PRINT ERROR: Print msg error

    execute funciton admin("PRINT ERROR", msg_id);

    Muestra el mensaje de error asociado con el msg_id.

  • RENAME SPACE: Renombrar un dbspaces

    execute funciton admin("RENAME SPACE ", "dbspace", "new_dbspace");

    Cambiar el nombre a un dbspaces.

Comentarios

Imagen de jaispuro

Me gusta !!!!!