viernes, 15 de agosto de 2008

UBUNTU: Contraseña de root

Cuando instalé el ubuntu 8.04, durante la instalación me solicitó un usuario y clave para generarme una cuenta de ingreso, en ningún momento me solicitó una clave para el root.

Como de costumbre, investigando en la web, encontré que hay que asignársela luego de ingresar con la cuenta antes creada, de la siguiente manera:

Abrí una terminal e ingresé el comando "sudo passwd root", esto me permitió asignarle la clave al root.

Ahora vuelvo a ser feliz!

martes, 12 de agosto de 2008

VIRTUALBOX: XP SP2 como invitado

Acabo de instalar el Windows XP SP2 en mi VM, la única forma en que logré hacerlo, teniendo en cuenta la configuración de mi pc, fué quitándole de la configuración de la VM la opción ACPI, luego de haber hecho esto, pude instalarlo sin problemas.

Antes reventaba el mismo instalador, no dejándome siquiera particionar el disco. Un secretito para tenerlo en cuenta.

viernes, 8 de agosto de 2008

ORACLE: Auditoría de la Base de Datos

Habiliar la auditoría para la base de datos

Parámetros de inicio requeridos:

-- DB_EXTENDED registra también la sentencia SQL que afecta al objeto de base de datos
ALTER SYSTEM SET AUDIT_TRAIL = DB_EXTENDED SCOPE = SPFILE;
-- Opcional: si se quieren las sentencias ejecutadas por SYS
ALTER SYSTEM SET AUDIT_SYS_OPERATIONS = FALSE SCOPE = SPFILE;
-- Opcional: el directorio por defecto es $ORACLE_HOME/rdbms/audit
ALTER SYSTEM SET AUDIT_FILE_DEST = '/tmp' DEFERRED SCOPE = SPFILE;

Luego de realizar estos cambios con el usuario system o algún otros con privilegios de administración, deberá reiniciar la instancia para que surtan efecto los cambios.

En mi caso, necesitaba auditar las sentencias ejecutadas por un usuario específico, esto se lo indico con la sentencia AUDIT:

AUDIT ALL BY SCOTT BY SESSION;

Esto sólo audita sentencias preconfiguradas (las mismas se indican en los manuales de Oracle). Yo a su vez, agregué la auditoría de las sentencias clásicas SELECT, UPDATE, DELETE e INSERT.

AUDIT SELECT TABLE, UPDATE TABLE, DELETE TABLE, INSERT TABLE, TABLE, INDEX, SYNONYM, EXECUTE PROCEDURE BY SCOTT BY SESSION;

Básicamente, el resultado de esta auditoría queda registrada en la tabla SYS.AUD$

Con la sentencia NOAUDIT se deshabilita la auditoría.

NOAUDIT ALL BY SCOTT;

Un dato adicional:
Para ver los valores de los parámetros actuales de la instancia, puede consultar la vista V$PARAMETER ó los parámetros almacenados en el SPFILE a través de la vista V$SPPARAMETER.

Agrego una consulta para determinar con el usuario SYS, qué usuarios están auditando y sobre qué sentencias:

SELECT usr.name, map.name FROM audit$
JOIN stmt_audit_option_map map USING(option#)
JOIN user$ usr USING(user#)

Sino, prueben con esta:

SELECT * FROM DBA_STMT_AUDIT_OPTS;

jueves, 7 de agosto de 2008

ORACLE: Tablas Particionadas I

Muchas veces nos encontramos trabajando desde terminales qué cuentan sólo con el sistema operativo y el bien ponderado SQL/Plus, ni una herramienta visual que nos simplifique ver la información de tablas particionadas. He aquí una consulta que me resultó muy útil en este caso:

SELECT atc.owner,
atc.table_name,
atp.partition_name,
apt.partitioning_type,
apkc.column_name,
atp.high_value,
atp.tablespace_name
FROM all_tab_columns atc,
all_part_tables apt,
all_part_key_columns apkc,
all_tab_partitions atp
WHERE atc.table_name = apt.table_name
AND atc.table_name = apkc.NAME
AND atc.table_name = atp.table_name
AND atc.owner = apt.owner
AND atc.owner = apkc.owner
AND atc.owner = atp.table_owner
AND atc.column_name = apkc.column_name
AND atc.owner = 'SCOTT'
ORDER BY 1, 2, apkc.column_position;


Espero también les sea de utilidad.