Professional Documents
Culture Documents
de datos.
Qu es auditoria?
Examen organizado de una situacin relativa a un producto, proceso u organizacin, en
materia de calidad, realizado en cooperacin con los interesados para verificar la
concordancia de la realidad con lo preestablecido y la adecuacin al objetivo buscado.
Evaluando
Importancia de la Auditoria de BD
Aspectos claves
No se debe comprometer el desempeo de las bases de datos
Soportar diferentes esquemas de auditora
Se debe tomar en cuenta el tamao de las bases de datos a auditar
Segregacin de funciones
El sistema de auditora de base de datos no puede ser administrado por los DBA del rea
de TI
Proveer valor a la operacin del negocio
Informacin para auditora y seguridad
Informacin para apoyar la toma de decisiones de la organizacin
Informacin para mejorar el desempeo de la organizacin
Auditora completa y extensiva
Cubrir gran cantidad de manejadores de bases de datos
Estandarizar los reportes y reglas de auditora
Metodologas para la auditoria de bd
Metodologa Tradicional
En este tipo de metodologa el auditor revisa el entorno con la ayuda de una lista de control
(checklist), que consta de una serie de puntos a verificar. Por ejemplo:
S/ N/NA
1. Existe una metodologa de Diseo de Base de Datos?
2. Existen logs que permitan tener pistas sobre las acciones realizadas sobre los objetos de
las bases de datos?
3. Se han configurados los logs para almacenar la informacin relevante? . . . .
Este tipo de metodologa, conocida tambin por Risk Oriented Approach(*) (Enfoque
Orientada a Riesgo) es la que propone la ISACA y fija los objetivos de control que
minimizan los riesgos potenciales a los que est sometido el entorno.
Considerando los riesgos de:
Dependencia por la concentracin de Datos
Accesos no restringidos en la figura del DBA
Incompatibilidades entre el sistema de seguridad de accesos del SGBD y el general de
instalacin
Impactos de los errores en Datos y programas
Rupturas de enlaces o cadenas por fallos del software
Impactos por accesos no autorizados
Dependencias de las personas con alto conocimiento tcnico
Metodologa
Tradicional
ChekList
S (si) - N (no) - NA (no aplicable)
Ejemplo: Existe una metodologa de diseo de BD?
Evaluacin de riesgos (ROA)
Confidencialidad de la BD
Tipos de usuarios, perfiles, privilegios
Tcnicas que utiliza: preventivas, detectivas o correctivas.
Prueba de cumplimiento: privilegios y perfiles del SGBD
Prueba sustantiva: comprobar los datos. La IR, VC, MBIF, entre otros en la BD.
El MCV en una BD
Estudio previo y plan de trabajo
Diseo y carga
Explotacin y mantenimiento
Revisin post-implantacin
Otros procesos
Identificacin de opciones
Anlisis de costo/beneficio
Desarrollar o comprar?
Analizar los informes de viabilidad por la direccin de la empresa para evitar fracasos de
implementacin
Carga de datos
Inicial
Migracin
Contemplar datos con errores
Lote de prueba
Tareas de mantenimiento de BD
ndices, compactacin, tuning, entre otros.
Se evala:
Resultados esperados
Capacitacin/formacin a usuarios
Informticos
No informticos
Plan de formacin integral
Aseguramiento de la calidad
Ej. Teora de la normalizacin
Auditoria y CI de un entorno de BD
SGBD: kernel, catlogos, etc
Software de auditoria: GAS (extraccin de datos, Lotes de prueba)
Sistema de monitorizacin y ajuste: SE de optimizacin
SO: Relacin independiente o dependiente con el SGBD)
Monitor de transacciones
Protocolos y sistemas distribuidos: rol de las redes de comunicacin
Paquete de seguridad: Privilegios, controles de usuarios externos
Diccionario de datos: Integracin de componentes y seguridad de datos
Herramientas CASE: Se usan en conjunto con los DD. Grficos, tablas.
L4G/4GL o SQL
Facilidades de usuario: QBE Conexin con paquetes ofimticos
Herramientas de MD: DWH y DM
Aplicaciones: las aplicaciones no deben afectar la integridad de los datos de la base.
Matrices de control
Transacciones de datos
Preventiva: verificacin
Detectiva: informe de reconciliacin
Correctiva: no tiene
Registros de BD
Preventiva: cifrado
Detectiva: informe de excepcin
Correctiva: backup
Anlisis de caminos de acceso.
Documenta el flujo, almacenamiento y procesamiento de los datos desde su entrada hasta
la escritura en el disco.-
Auditoria para Oracle
AUDIT TRAIL
Auditoria para SQL Server
Implica el seguimiento y registro de los eventos que se producen en Motor de la BD.
Especificaciones de auditora de servidor para los eventos de servidor
Especificaciones de auditora de base de datos para los eventos de base de datos (limitada
a las ediciones Enterprise, Developer y Evaluation)
SQL Server Audit proporciona las herramientas y los procesos necesarios para habilitar,
almacenar y ver auditoras en varios objetos de servidor y de base de
Proceso general de creacin y uso de una auditora
Habilitar la auditora
Leer los eventos de auditora mediante el Visor de eventos o el Visor de archivos de
registro de Windows, o la funcin fn_get_audit_file
Para poder ver las vistas de catlogo se debe cumplir una de las condiciones siguientes:
Pertenecer al rol sysadmin
El permiso CONTROL SERVER
El permiso VIEW SERVER STATE
El permiso ALTER ANY AUDIT
El permiso VIEW AUDIT STATE (solo da el acceso principal a la vista de catlogo
sys.server_audits)
Conclusiones
La gran difusin de los Sistemas de Gestin de Bases de datos (SGBD) junto con la
relacin de los datos como uno de los recursos fundamentales de las empresas, ha hecho
que los temas relacionados a su control interno y auditoria cobren cada da mayor inters
Demostrar la integridad de la informacin, mitigar los riesgos asociados, asegurar la
confidencial de la informacin, garantizar la seguridad de los datos y conocer quin o qu
les hizo exactamente qu, cundo y cmo a los datos, conforman la idea principal de la
Auditoria.
Estudiar el SGBD y su entorno es primordial al implementar un ambiente de auditoria de
BD
Oracle Audit Vault y SQL Server Audit son algunos de los productos que nos ofrecen el
mercado para los auditores de BD
Administracin de base de datos y su rendimiento
DBA es tambin una abreviatura en ingls para hacer negocios como (doing business as),
un trmino usado a veces en la escritura de negocios y legal. dBA es una abreviatura de
decibelios con ponderacin.
Un administrador de base de datos (DBA) dirige o lleva a cabo todas las actividades
relacionadas con el mantenimiento de un entorno de base de datos exitoso. Las
responsabilidades incluyen el diseo, implementacin y mantenimiento del sistema de base
de datos; el establecimiento de polticas y procedimientos relativos a la gestin, la
seguridad, el mantenimiento y el uso del sistema de gestin de base de datos; y la
capacitacin de los empleados en la gestin y el uso de las bases de datos. Se espera que un
DBA se mantenga al tanto de las nuevas tecnologas y los nuevos enfoques de
diseo. Tpicamente, un DBA tiene ya sea un ttulo en Ciencias de la Computacin y algn
tipo de entrenamiento en el puesto de trabajo con un producto particular de base de datos o
una experiencia ms amplia con una gama de productos de base de datos. Por lo general, se
espera que un DBA tenga experiencia con uno o ms de los principales productos de
gestin de base de datos, tales como Structured Query Language, SAP y software de
gestin de bases de datos basado en Oracle.
Configure y ajuste la base de datos Oracle para garantizar un rendimiento ptimo. Puede
optimizar la base de datos en temas como el uso de la memoria, la asignacin de
almacenamiento y las conexiones.
Recomendacin
Ejecute la base de datos Oracle en modo de "servidor dedicado" en la que necesita una
conexin de base de datos (que es proceso de Oracle) para cada conexin de aplicacin
(proceso de usuario). En las bases de datos Oracle, el nmero mximo de conexiones
permitidas por base de datos se establece utilizando el parmetro PROCESSES en el
archivo initsid.ora donde sid es el ID de sistema de la base de datos.
Ejemplo
Si slo tiene una instancia de InfoSphere MDM Collaboration Server conectada a la base de
datos y la instancia necesita un mximo de 133, asegrese de que el
parmetro PROCESSES est establecido, como mnimo, en 143, que es 10 ms del
mximo necesario. Necesita 10 conexiones adicionales para tener en cuenta los procesos en
segundo plano de Oracle y algunas conexiones de SQL PLUS. Adems, si aade otra
instancia de InfoSphere MDM Collaboration Server, que tambin necesita 133 conexiones
a la misma base de datos, debe establecer el parmetro PROCESSES en 276 como
mnimo, de los que 143 sirven para tener en cuenta la primera instancia y las 133
conexiones adicionales sirven para la otra instancia de InfoSphere MDM Collaboration
Server.
Los datos que se entran en InfoSphere MDM Collaboration Server se almacenan en la base
de datos subyacente y se organizan en diversos espacios de tabla de la base de datos. Dado
que se produce un gran volumen de transacciones de datos, es preciso asegurarse de que la
base de datos est ajustada de forma ptima.
Puede mejorar an ms el rendimiento y disponibilidad de la base de datos supervisando el
espacio libre disponible en los espacios de tabla y utilizando tablas temporales.
Consulte la documentacin de Oracle para obtener ms informacin sobre cmo gestionar
los espacios de tabla en la base de datos Oracle:
Para garantizar que el rendimiento de su base de datos sea ptimo, puede configurar los
parmetros de configuracin de la base de datos.
Oracle utiliza parmetros de configuracin para ubicar archivos y especificar los
parmetros de tiempo de ejecucin que son comunes a todos los productos de Oracle.
Todos los parmetros de Oracle se almacenan en el archivo init.ora del registro.
Comprobacin del estado de la base de datos Oracle
Oracle Alerts
Para mantener las bases de datos Oracle, puede utilizar una serie de scripts y mandatos para
generar estadsticas y reorganizar las bases de datos.
b. Suprima las estadsticas que pudieran existir con el mandato siguiente de SQLPLUS.
Sustituya WPCUSER por el usuario especificado en la variable db_user del archivo
$TOP/etc/default/common.properties.
EXEC DBMS_STATS.DELETE_SCHEMA_STATS('WPCUSER');
c. Cambie el valor predeterminado de "ESTIMATE_PERCENT" por 100% para
DBMS_STATS. Utilice el procedimiento siguiente de SQLPLUS para cambiar el valor
predeterminado. Ejecute esto con el ID de usuario SYSDBA de Oracle.
EXEC DBMS_STATS.SET_PARAM('ESTIMATE_PERCENT','100');
d. Ejecute el trabajo GATHER_STATS_JOB con el mandato siguiente de SQLPLUS.
Ejecute este mandato con el ID de usuario SYSDBA de Oracle.
EXEC DBMS_SCHEDULER.RUN_JOB('GATHER_STATS_JOB',TRUE);
e. Concluya e inicie la base de datos Oracle.
Nota
b. Suprima las estadsticas que pudieran existir con el mandato siguiente de SQLPLUS.
Sustituya WPCUSER por el usuario especificado en la variable db_user del archivo
$TOP/etc/default/common.properties.
EXEC DBMS_STATS.DELETE_SCHEMA_STATS('WPCUSER');
c. Cambie el valor predeterminado de "ESTIMATE_PERCENT" por 100% para
DBMS_STATS. Utilice el procedimiento siguiente de SQLPLUS para cambiar el valor
predeterminado. Ejecute esto con el ID de usuario SYSDBA de Oracle:
EXEC DBMS_STATS.SET_PARAM('ESTIMATE_PERCENT','100');
d. Ejecute GATHER_DATABASE_STATS con el mandato siguiente de SQLPLUS.
Ejecute este mandato con el ID de usuario SYSDBA de Oracle.
EXEC DBMS_STATS.GATHER_DATABASE_STATS(ESTIMATE_PERCENT =>
DBMS_STATS.AUTO_SAMPLE_SIZE, METHOD_OPT => 'FOR ALL COLUMNS
SIZE AUTO', DEGREE => 2, CASCADE => TRUE);
e. Concluya e inicie la base de datos Oracle.
Nota
Este paso anula los planes de SQL dinmico que siguen utilizando las rutas de acceso
antiguas que no utilizaban las estadsticas actualizadas actuales.
8.
EXECUTE DBMS_SCHEDULER.SET_ATTRIBUTE(name => 'WEEKEND_WINDOW',
attribute => 'duration', value => interval '120' minute);
analyze_schema.sh
Procedimiento
1. Si utiliza Oracle 10g:
a. Asegrese de que el trabajo GATHER_STATS_JOB est planificado mediante el SQL
siguiente:
select state from dba_scheduler_jobs where job_name = 'GATHER_STATS_JOB';
La salida debera ser 'SCHEDULED'.
b. Suprima las estadsticas que pudieran existir con el mandato siguiente de SQLPLUS.
Sustituya WPCUSER por el usuario especificado en la variable db_user del archivo
$TOP/etc/default/common.properties.
EXEC DBMS_STATS.DELETE_SCHEMA_STATS('WPCUSER');
c. Cambie el valor predeterminado de "ESTIMATE_PERCENT" por 100% para
DBMS_STATS. Utilice el procedimiento siguiente de SQLPLUS para cambiar el valor
predeterminado. Ejecute esto con el ID de usuario SYSDBA de Oracle.
EXEC DBMS_STATS.SET_PARAM('ESTIMATE_PERCENT','100');
d. Ejecute el trabajo GATHER_STATS_JOB con el mandato siguiente de SQLPLUS.
Ejecute este mandato con el ID de usuario SYSDBA de Oracle.
EXEC DBMS_SCHEDULER.RUN_JOB('GATHER_STATS_JOB',TRUE);
e. Concluya e inicie la base de datos Oracle.
2. Si utiliza Oracle 11g: El trabajo de recopilacin automtica de estadsticas de Oracle 11g es
un procedimiento interno llamado GATHER_DATABASE_STATS_JOB_PROC.
a. Asegrese de que el trabajo de recopilacin automtica de estadsticas est planificado
con el SQL siguiente.
SELECT ENABLED FROM DBA_SCHEDULER_PROGRAMS WHERE
PROGRAM_NAME = 'GATHER_STATS_PROG';
La salida debera ser 'TRUE'.
Nota
b. Suprima las estadsticas que pudieran existir con el mandato siguiente de SQLPLUS.
Sustituya WPCUSER por el usuario especificado en la variable db_user del archivo
$TOP/etc/default/common.properties.
EXEC DBMS_STATS.DELETE_SCHEMA_STATS('WPCUSER');
c. Cambie el valor predeterminado de "ESTIMATE_PERCENT" por 100% para
DBMS_STATS. Utilice el procedimiento siguiente de SQLPLUS para cambiar el valor
predeterminado. Ejecute esto con el ID de usuario SYSDBA de Oracle:
EXEC DBMS_STATS.SET_PARAM('ESTIMATE_PERCENT','100');
d. Ejecute GATHER_DATABASE_STATS con el mandato siguiente de SQLPLUS.
Ejecute este mandato con el ID de usuario SYSDBA de Oracle.
EXEC DBMS_STATS.GATHER_DATABASE_STATS(ESTIMATE_PERCENT =>
DBMS_STATS.AUTO_SAMPLE_SIZE, METHOD_OPT => 'FOR ALL COLUMNS
SIZE AUTO', DEGREE => 2, CASCADE => TRUE);
e. Concluya e inicie la base de datos Oracle.
Nota
Este paso anula los planes de SQL dinmico que siguen utilizando las rutas de acceso
antiguas que no utilizaban las estadsticas actualizadas actuales.
Procedimiento
Ejecute el script drop_temp_agg_tables.pl que se encuentra en el
directorio $TOP/src/db/schema:
$TOP/src/db/schema/drop_temp_agg_tables.pl
Qu hacer a continuacin
Ejecute este script una vez a la semana o siempre que tenga un mantenimiento o
tiempo de inactividad planeado.
Implementa Backups de base de datos
Tipos de Backup.
Backup Lgico.
Backup Fsico
Se realiza en caliente
Se utiliza rman
Se realiza un Backup de los redos que permite recuperar hasta un punto en el tiempo
A continuacin se explica cmo se han implementado los backup. El cdigo de los ficheros
mostrados son ejemplos para entender cmo se hacen las copias pero pueden no ser iguales
que los ficheros que realmente se estn ejecutando (para ver los ficheros reales, conectarse
a los servidores correspondientes)
Cmo se planifican?
00 03,07,11,15,19,23 * * 1-6
/export/home/oracle/scripts/nb_instancia_backup_redo >>
/oracle/scripts/nb_instancia_backup_redo.log
run{
backup full database format '/backup/rman/backup%d_set%s_%t' plus archivelog not
backed up format '/backup/rman/backup%d_redo_set%s_%t';
}
run{
backup archivelog all not backed up format '/backup/rman/backup%d_redo_set%s_%t';
}
COMO SE RECUPERAN LOS BACKUPS
Lgico
Utilizar la utilidad expdp (dado que los datos se han exportado con impdp).
Fsico
1. Objetivos
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
$ sqlplus /nolog
Conectado.
Crear un tablespace
Tablespace creado.
2.2. Crear el propietario del catlogo de recuperacin.
2 identified by rman
2 identified by uservirtual
Nota: Si la versin del cliente rman es anterior a Oracle Database 11g se debe
ejecutar la siguiente sentencia:
$ sqlplus user_virtual/user_virtual@rman
$ export ORACLE_SID=dba11g$
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
-----
Deleted 17 objects
7.8 Ms tipos de backup con RMAN
Backup de un tablespace
Backup de un usuario
$ export ORACLE_SID=dba11g