lunes, 17 de marzo de 2008

Error ORA-942 while gathering statistics

Este error puede suceder cuando un usuario no DBA quiere setear AUTOTRACE en su sesión.

SQL> set autotrace traceonly statistics;
Error ORA-942 while gathering statistics
SP2-0611: Error enabling STATISTICS report


Si es un usuario con acceso limitado, entonces es de esperar que no tenga grants sobre las vistas que se necesitan para leer las estadísticas generadas por AUTOTRACE. Se requieren permisos explícitos de lectura sobre las vistas v$_session, v_$sesstat y v_$statname.

Para facilitar la asignación de estos grants, el administrador cuenta con un script para crear un rol especial y así poder extenderlo a los usuarios.

Script:
$ORACLE_HOME/sqlplus/admin/PLUSTRCE.SQL


Cómo hacer para que un usuario pueda usar AUTOTRACE

1. En el sistema operativo, posicionarse sobre el directorio con el script.
    lfer@linux>  cd $ORACLE_HOME/sqlplus/admin
2. Loguearse a SQL*plus con usuario 'AS SYSDBA'

3. Ejecutar en SQL*plus:
    SQL> @PLUSTRCE.SQL
4. Otorgar el rol PLUSTRACE a todos los usuarios que deseen usar AUTOTRACE:
    grant PLUSTRACE to USUARIO;
Ver también:
SQLPlus Users Guide and Reference 10g sobre AUTOTRACE

2 comentarios:

Anónimo dijo...

Entrada clara y concisa. Muchas gracias, Dominuscanis.

Leandro dijo...

Perfecto!!!