Diese Präsentation wurde erfolgreich gemeldet.
Die SlideShare-Präsentation wird heruntergeladen. ×

ADMINISTRACIÓN DE BASE DE DATOS

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Nächste SlideShare
Manual de administración BD
Manual de administración BD
Wird geladen in …3
×

Hier ansehen

1 von 57 Anzeige

Weitere Verwandte Inhalte

Diashows für Sie (17)

Andere mochten auch (20)

Anzeige

Ähnlich wie ADMINISTRACIÓN DE BASE DE DATOS (20)

Aktuellste (20)

Anzeige

ADMINISTRACIÓN DE BASE DE DATOS

  1. 1. ADMINISTRACIÓN DE BASE DE DATOS GRUPO 3 DANNY ROSERO VEGA PAMELA ANDRADE FUERTES MYRIAM MEDINA TAPIA MARCO ZUCUZHANAY LEMA DANIEL QUISHPI CONDO ROBETO CHASIPANTA LLULLUNA ESPE – PAC BD – Julio 2014
  2. 2. Índice  Liberación de una Base de datos Saturada.  Caída y recuperación de una base de datos  Seguridad de la Base de Datos  Identificación de Passwords por Default  Contraseñas Case-Sensitive  Opciones de Auditoría  Como asegurar el Diccionario de Datos Oracle  Directrices para asegurar el acceso del sistema operativo  Seguridad de la BD Oracle  Conclusiones  Bibliografía
  3. 3. Liberación de una Base de Datos Saturada  En el presente documento vamos a realizar los cambios necesarios en la base de datos de tal forma que cuando se genere los procesos o scripts de saturación de la base en forma automática no sature la base de datos.  Se describirá paso a paso los cambios realizados y su demostración.
  4. 4. Como pudieron ver en el ejemplo 1 del slide “Ejemplos de Saturación”, la saturación presentada es en un ambiente controlado que afecta al rendimiento de la base de datos en un 30% a 40% aproximadamente por un corto tiempo que no afecta al trabajo normal de los clientes conectados a la base de datos. Este ambiente se presentó al ejecutar un script de respaldo en un ambiente de producción, es por este motivo que lo podemos llamar ambiente controlado, sabemos cuándo va a comenzar y aproximadamente de acuerdo al tamaño de la base de datos sabremos cuando va a terminar. Liberación de una Base de Datos Saturada: - Ejemplo 1
  5. 5. El manejo inadecuado de la memoria (SGA y PGA) respectivamente, generará problemas de rendimiento en la base de datos. Los siguientes parámetros permitirán la asignación de memoria en Forma Manual: • En el momento de creación de la instancia, el instalador indica si se va asignar la memoria automáticamente o se asignan los parámetros de memoria manual, esto modifica PGA_AGGREGATE_TARGET y SGA_TARGET al asignarlos; automáticamente deshabilita la opción AUTOMATIC MEMORY MANAGEMENT, lo cual no quiere decir que si se asigna la administración automática de memoria desde el inicio no se pueda deshabilitar después de instalada la instancia. • Ahora, la SGA asigna la memoria de trabajo que es la utilizada al subir la base de datos. Esta área de trabajo asigna los siguientes buffers SHARED POOL, BUFFER CACHE, LARGE POOL Y JAVA POOL. Liberación de una Base de Datos Saturada: - Ejemplo 1
  6. 6. Por ejemplo si disponemos de un sistema con 32 GB en ram se asigna el siguiente parámetro SGA_MAX_SIZE, con el fin de asegurar que no se va a superar ese tome de asignación de SGAALTER SYSTEM SET SGA_MAX_SIZE = 16 G y reiniciamos la instancia luego, se modifica el parámetro SGA_TARGET = 0, de esta forma se le dice al motor que se van a asignar manualmente la memoria para los otros recursos mencionados. ALTER SYSTEM SET SGA_TARGET=0, este parámetro y los que vienen a continuación son dinámicos y por consiguiente no es necesario reiniciar la instancia • ALTER SYSTEMSET DB_CACHE_SIZE = 10G • ALTER SYSTEM SET SHARED_POOL_SIZE= 4G • ALTER SYSTEM SET JAVA_POOL_SIZE = 1G • ALTER SYSTEM SET LARGE_POOL_SIZE = 1G Con los valores anteriormente asignados, se espera obtener un mejor rendimiento o lograr obtener un porcentaje de pérdidas de búsqueda en memoria de los datos cercanos a 0. Liberación de una Base de Datos Saturada: - Ejemplo 1
  7. 7.  Antecedentes. Existen principalmente dos tipos de bloqueo: Bloqueos de tablas (TM) Bloqueos a nivel de fila (TX)  Los bloqueos a nivel de tabla son creados cuando se ejecuta una sentencia DML del tipo: update, insert, delete, select..forupdate sobre la tabla entera. Liberación de una Base de Datos Saturada: - Ejemplo 2
  8. 8. Para la elaboración de la actividad nos basaremos en la siguiente Tabla T_SATURA, la cual contendrá dos campos como se describe a continuación: Liberación de una Base de Datos Saturada: - Ejemplo 2
  9. 9.  Identificando el bloqueo y solución. Trabajando con la tabla T_SATURA. Script de comprobación de bloqueo de tabla Liberación de una Base de Datos Saturada: - Ejemplo 2
  10. 10.  Tras ejecutar la consulta obtenemos el siguiente resultado.  El cual nos indica que no existe ninguna tabla bloqueada ahora bloquearemos la tabla con el siguiente script. Liberación de una Base de Datos Saturada: - Ejemplo 2
  11. 11.  Al ejecutar la sentencia podemos apreciar que hemos lanzado un update sobre todos los datos de la tabla y que hemos colocado intencionalmente un forupdate, para que la tabla espere a la sentencia commit para liberarse.  Frecuentemente este comportamiento que acabamos de hacerlo mediante un Query ocurre cuando se intenta alterar datos sobre una sesión existente, es decir varios usuarios intentan modificar un mismo recurso. Liberación de una Base de Datos Saturada: - Ejemplo 2
  12. 12.  Al volver a ejecutar el primer script, obtendremos el siguiente resultado.  Como podemos apreciar existe una tabla bloqueada, que corresponde al nombre de T_SATURA y la aplicación que lo provocó fue nuestro cliente Oracle que para este ejemplo es el TOAD, adema podemos apreciar el usuario y el proceso.  Si intentamos cualquier evento sobre la tabla, que se encuentra bloqueada no obtendremos resultado, sino hasta que esta se libere como veremos en el siguiente ejemplo. Liberación de una Base de Datos Saturada: - Ejemplo 2
  13. 13.  El log no nos retorna ningún valor puesto que la tabla está bloqueada. Liberación de una Base de Datos Saturada: - Ejemplo 2
  14. 14.  Desbloqueo.  El siguiente Script nos permite determinar el id de sesión que mantiene la tabla bloqueada, el cual nos ayudara a desbloquearla. Liberación de una Base de Datos Saturada: - Ejemplo 2
  15. 15.  Como podemos apreciar sesión id que debemos usar para desbloquear la tabla es el 141,516. Ahora la desbloqueamos con el siguiente script.  Volvemos a ejecutar el script para descubrir el bloqueo y el resultado es que no existe ninguna sesión bloqueando ninguna tabla. Liberación de una Base de Datos Saturada: - Ejemplo 2
  16. 16. El bloqueo o saturación de una base de datos porque no tiene recursos de almacenamiento, como por ejemplo que el espacio de un DataFile de un TableSpace se haya terminado y este cause un bloqueo o saturación de la base de datos, que es el caso puntual de nuestro ejemplo 3 del trabajo colaborativo 1, tenemos 2 formas de solucionarlo de manera manual o de manera automática, esto quiere decir que Oracle administre automáticamente el tamaño de los DataFiles. Liberación de una Base de Datos Saturada: - Ejemplo 3
  17. 17.  Para revisar el espacio libre en un TableSpace podemos utilizar el siguiente script  Si queremos aumentar el espacio de un tablespace que colapso porque no dispone de espacio libre, lo podemos aumentar de la siguiente forma. Liberación de una Base de Datos Saturada: - Ejemplo 3
  18. 18.  Por obvias razones si el tablespace se volviera a llenar tendríamos que volver a repetir el mismo procedimiento, pero esto también se lo puede hacer automáticamente y darle a Oracle la capacidad de controlar el espacio y esto lo podemos realizar de la siguiente manera: Liberación de una Base de Datos Saturada: - Ejemplo 3
  19. 19.  También podemos agregar un proceso en nuestra base de datos que controle nuestro espacio libre y envíe un correo al DBA basándose en un mínimo permitido. Liberación de una Base de Datos Saturada: - Ejemplo 3
  20. 20.  Este procedimiento recibe un parámetro, que será el porcentaje que queramos comprobar. Un valor normal sería 10%, de esta forma comprobará que el espacio libre sea mayor de un 10% por ciento del tamaño total del tablespace.  En caso de que no sea mayor que ese límite puesto, se enviará un mail.  Esta tarea se puede automatizar poniendo un job (tarea) en la base de datos y que compruebe cada X tiempo si los tablespaces se han llenado. Liberación de una Base de Datos Saturada: - Ejemplo 3
  21. 21. Caída y recuperación de una Base de Datos • El funcionamiento optimo de una base de datos depende del tipo estrategia que se planifique ante la eventualidad de fallos que se puedan presentar en una instancia de datos, como puede ser la corrupción de los control files, redo log o datafiles, así como su perdida. • Para ello es necesario planificar un plan de copias de seguridad, backup y de recuperación(recovery). • Los desastres que se pueden presentar en un motor de base de datos y a los cuales un DBA puede actuar y prever son los de funcionamiento de la base, estos son ocasionados por intervención humana, fallos del DBA, configuraciones inapropiadas o mal planteamientos de los procesos de respaldo. • El tipo de recuperación (recovery) de una instancia de oracle esta definido por la configuración que esta tiene, así cuando configura una instancia es importante determinar el tipo de ‘archivelog’ que tendrá.
  22. 22. Un recovery offline es cuando la instancia de base de datos está en modo ‘noarchivelog’, esto hace que para realizar el recovery se realice un shutdown a la base. Un recovery online, es cuando la base de datos arranca en mod ‘archivelog’, ejecutar este proceso no es necesario realizar un shutdown. Caída y recuperación de una Base de Datos Existen dos tipos de ‘recovery’: offline y online:
  23. 23. Ejemplo: plan de copia de seguridad, eliminar un datafile y su recuperación.  La base de datos se encuentra en modo ‘archivelog’  El Tablespace
  24. 24.  La Tabla Ejemplo: plan de copia de seguridad, eliminar un datafile y su recuperación.
  25. 25.  Registros Ejemplo: plan de copia de seguridad, eliminar un datafile y su recuperación.
  26. 26.  Copia de seguridad Ejemplo: plan de copia de seguridad, eliminar un datafile y su recuperación.
  27. 27.  Copia de seguridad Ejemplo: plan de copia de seguridad, eliminar un datafile y su recuperación.
  28. 28.  Calendarización copia de seguridad Ejemplo: plan de copia de seguridad, eliminar un datafile y su recuperación.
  29. 29.  Ejecución copia de seguridad Ejemplo: plan de copia de seguridad, eliminar un datafile y su recuperación.
  30. 30.  Informe de copia de seguridad Ejemplo: plan de copia de seguridad, eliminar un datafile y su recuperación.
  31. 31.  Informe de copia de seguridad Ejemplo: plan de copia de seguridad, eliminar un datafile y su recuperación.
  32. 32.  Repositorio Copias de Seguridad Ejemplo: plan de copia de seguridad, eliminar un datafile y su recuperación.
  33. 33.  Datafile a eliminarse  Eliminando el Datafile Ejemplo: plan de copia de seguridad, eliminar un datafile y su recuperación.
  34. 34.  La base de datos esta activa y se realiza un count a la tabla que se encontraba en el datafile eliminado.  La base de datos informa el error ORA-00376, este mensaje informa que no se puede localizar el datafile ‘ESPEPAC2014.DBF’. Ejemplo: plan de copia de seguridad, eliminar un datafile y su recuperación.
  35. 35.  Este suceso genera una ‘Alerta’ que se lo puede visualizar a través del ‘em’. Ejemplo: plan de copia de seguridad, eliminar un datafile y su recuperación.
  36. 36.  El siguiente paso se realizar la recuperación del datafile eliminado, realizando una recuperación a nivel de objeto Ejemplo: plan de copia de seguridad, eliminar un datafile y su recuperación.
  37. 37.  Al realizar la actividad anterior, como se puede observar en el siguiente grafico seleccionamos el objeto a ser recuperado. Ejemplo: plan de copia de seguridad, eliminar un datafile y su recuperación.
  38. 38.  El asistente nos permite revisar por última vez si el objeto a recuperar es el correcto, antes de ejecutar el proceso. Ejemplo: plan de copia de seguridad, eliminar un datafile y su recuperación.
  39. 39.  SI se selecciona un objeto que si existe el proceso de recuperación indicará que el objeto ‘ya existe’. Ejemplo: plan de copia de seguridad, eliminar un datafile y su recuperación.
  40. 40.  Si la recuperación fue exitosa tendremos Ejemplo: plan de copia de seguridad, eliminar un datafile y su recuperación.
  41. 41. Ejemplo: plan de copia de seguridad, eliminar un datafile y su recuperación.
  42. 42.  Comprobamos que el proceso de recuperación fue exitoso Ejemplo: plan de copia de seguridad, eliminar un datafile y su recuperación.
  43. 43. Seguridad de la Base de Datos Mostraremos parámetros que se deben modificar para mantener la seguridad de nuestra base de datos principalmente cuando se utiliza los comandos sqlplus / as sysdba.
  44. 44. Se tiene una nueva vista del diccionario llamada DBA_USERS_WITH_DEFPWD en la cual se encuentran registrados los usuarios que aún están utilizando sus passwords por default. Seguridad de la Base de Datos - Identificación de Passwords por Default
  45. 45.  La base de datos puede validar las contraseñas respetando si estas fueron ingresadas en mayúsculas /minúsculas, o no, a través del parámetro sec_case_sensitive_logon. Este parámetro puede tener los valores de TRUE / FALSE y es dinámico.  Cuando creamos una base de datos con el utilitario DBCA, se nos preguntará si nos queremos actualizar a los nuevos estándares de seguridad (new securitystandards) , entre los cuales se incluye el password case-sensitive. Si aceptamos el parámetro sec_case_sensitive_logon estará en TRUE con lo que las contraseñas se solicitarán en el mismo CASE en el que fueron ingresadas. Seguridad de la Base de Datos - Contraseñas Case-Sensitive
  46. 46.  El parámetro “AUDIT_TRAIL” viene con el valor de “DB” por default, y no con el valor de “NONE”  Se auditan por default, las siguientes opciones: Seguridad de la Base de Datos - Opciones de Auditoría •ALTER SYSTEM •SYSTEM AUDIT •CREATE SESSION •CREATE USER •ALTER USER •DROP USER •ROLE •CREATE ANY TABLE •ALTER ANY TABLE •DROP ANY TABLE •CREATE PUBLIC DATABASE LINK •GRANT ANY ROLE •ALTER DATABASE •CREATE ANY •ALTER ANY PROCEDURE •DROP ANY PROCEDURE •ALTER PROFILE •DROP PROFILE •GRANT ANY PRIVILEGE •CREATE ANY LIBRARY •EXEMPT ACCESS POLICY •GRANT ANY OBJECT PRIVILEGE •CREATE ANY JOB •CREATE EXTERNAL JOB
  47. 47. El diccionario de datos es un conjunto de tablas de bases de datos que proporcionan información sobre la base de datos, tales como las definiciones de esquema o valores por defecto. En el diccionario de datos se tienen las definiciones de todos los objetos de esquema en la base de datos (tablas, vistas, índices, clusters, sinónimos, secuencias, procedimientos, funciones, paquetes, triggers, etc). Las tablas del diccionario de datos y puntos de vista para una determinada base de datos se almacenan en el Sistema de tablas de la base de datos. El diccionario de datos se estructura en las tablas y vistas, al igual que los datos de otra base de datos. Todas las tablas del diccionario de datos y puntos de vista para una determinada base de datos son propiedad del usuario SYS. Seguridad de la Base de Datos - Como asegurar el Diccionario de Datos Oracle
  48. 48. Usted puede proteger el diccionario de datos, permitiendo la O7_DICTIONARY_ACCESSIBILITY parámetro de inicialización. Este parámetro evita que los usuarios que tienen el CUALQUIER privilegio del sistema del uso de esos privilegios en el diccionario de datos, es decir, en los objetos en el SYS esquema. El privilegio conocido como CUALQUIER privilegio, es generalmente concedido a los propietarios de aplicaciones y administradores individuales de la base de datos. Como asegurar el Diccionario de Datos Oracle - Activación de Protección de Datos Diccionario
  49. 49.  Comienzo Oracle Enterprise Manager Database Control (Control de bases de datos). Inicie una sesión como SYS y conectar con la SYSDBA privilegio. Nombre de usuario: SYS. Contraseña: Introduzca la contraseña del usuario. Conectar como: SYSDBA.  Aparece la página de inicio de la base de datos Oracle Enterprise: Haga clic en servidor para mostrar la subpágina Server. En la sección Configuración de la base de datos, haga clic en Parámetros de inicialización. Como asegurar el Diccionario de Datos Oracle - Para activar la protección de datos diccionario:
  50. 50.  La página de inicialización Parámetros. En la lista, la búsqueda de O7_DICTIONARY_ACCESSIBILITY. En el Nombre, introduzca O7_ (la letra O ) y haga clic en Ir . Puede introducir los primeros caracteres de un nombre de parámetro. En este caso, O7_muestra el parámetro O7_DICTIONARY_ACCESSIBILTY.  En función del parámetro, es posible que tenga que modificar el valor de la subpágina SPFile. Haga clic en la SFFile ficha para mostrar la subpágina SPFile. Establecer el valor de O7_DICTIONARY_ACCESSIBILTY a FALSO . Haga clic en Aplicar. Como asegurar el Diccionario de Datos Oracle - Para activar la protección de datos diccionario:
  51. 51.  Reiniciar la instancia de base de datos Oracle. Haga clic en la instancia de base de datos enlace. Haga clic en Inicio para mostrar la base de datos de control de tu página de inicio. En General, haga clic en Apagar . En la página de inicio / apagado de Credenciales, escriba sus credenciales. Después de la parada completa, haga clic en Inicio. Como asegurar el Diccionario de Datos Oracle - Para activar la protección de datos diccionario:
  52. 52. Limitar el número de usuarios del sistema operativo. Limitar los privilegios de las cuentas del sistema operativo (administrativo, la raíz de privilegiados, o DBA) en el host de la base de datos Oracle (equipo físico). Sólo otorga al usuario el menor número de privilegios necesarios para realizar sus tareas. Restringir la capacidad de modificar el archivo por defecto y permisos de directorio para el hogar Base de Datos Oracle (instalación) de directorio o de su contenido. Restringir los enlaces simbólicos. Asegúrese de que cuando se proporciona una ruta o un archivo a la base de datos, ni los autos ni cualquier parte de la ruta se puede modificar por un usuario de confianza. Seguridad de la Base de Datos - Directrices para asegurar el acceso del sistema operativo
  53. 53. Inicialización de parámetros de configuración por defecto Modificación del valor de un parámetro de inicialización Seguridad de la BD Oracle
  54. 54. Inicialización de parámetros de configuración por defecto:  SEC_RETURN_SERVER_RELEASE_BANNE RFALSO Controla la visualización de la información de versión del producto, tales como el número de versión, en una conexión de cliente. Un intruso podría utilizar el número de versión de base de datos para encontrar información sobre las vulnerabilidades de seguridad que puedan estar presentes en el software de base de datos.  O7_DICTIONARY_ACCESSIBILITYFALSO Controles de restricciones a SISTEMA privilegios.
  55. 55. Modificación del valor de un parámetro de inicialización:  Para modificar el valor de un parámetro de inicialización: 1. Inicia el control de la base de datos. 2. Regístrese como usuario SYS con la SYSDBA privilegio. Nombre de usuario: SYS Contraseña: Introduzca la contraseña. Conectar como: SYSDBA 3. Haga clic en servidor para mostrar la subpágina Server. 4. En la sección Configuración de la base de datos, haga clic en Parámetros de inicialización. La página de inicialización Parámetros. 5. En el Nombre de campo, escriba el nombre del parámetro que desee cambiar y haga clic en Ir.
  56. 56. Conclusiones: Hoy en día se están adoptando con gran dinamismo las nuevas soluciones tecnológicas para aumentar su rendimiento y seguridad con el único fin de proteger sus bienes intangibles. Como resultado, cada vez se plantean más y nuevos soluciones que solventan varios problemas de seguridadcon la ayuda de Oracle y sus últimas versiones y herramientas mejoradas permitir a los administradores de base de datos mantener el rendimiento de las bases de datos en su máximo nivel, adoptar nuevas tecnologías rápidamente y sin riesgos, y aumentar la productividad de DBA. La disponibilidad del sistema al automatizar las tareas administrativas de rutina aumenta y podemos tener información de confianza, convirtiendo al DBA “Administrador de Base de Datos” se vuelva un ente controlador y previsivo, mas no un ente correctivo desperdiciando tiempo de producción.
  57. 57. Bibliografía  http://oracledbacr.blogspot.com/2012/03/antes-de-migrar-su-base-de- datos-11g.html  http://sqlyoracle.webs.com/apps/blog/show/22452534-el-manejo-de-la- memoria-en-oracle-11g  http://docs.oracle.com/cd/B28359_01/server.111/b28310/dfiles003.htm  http://www.dba-oracle.com/  http://www.dba-oracle.com/t_password_security.htm  http://www.dba-oracle.com/t_windows_external_user_authentication.htm  http://www.dbasupport.com/oracle/ora11g/11gSecurityGuide08.sht  http://www.oracle.com  http://www.oracle.com/technology/products/oid/index.html

×