Escolar Documentos
Profissional Documentos
Cultura Documentos
Caractersticas
SQL Server 2012 brindar a los usuarios grandes
avances en tres campos principales:
Confianza de misin crtica con mayor tiempo activo,
rendimiento ultra rpido y caractersticas mejoradas de
seguridad para cargas de trabajo de misin crtica.
Avances innovadores con exploracin de datos de
auto-servicio administrado y capacidades asombrosas e
interactivas de visualizacin de datos.
La nube en sus propios trminos al habilitar la
creacin y extensin de soluciones a lo largo de la nube
en las instalaciones y en la nube pblica.
1,4 GHz
Procesador:
superior
Microsoft
Access
Escrito en C y en C++
Probado con un amplio rango de
compiladores diferentes
Proporciona
sistemas
de
almacenamiento
transaccionales
y
no
transaccionales
Versiones soportadas de Si
Windows 98 / Windows NT Worksta
Protocolos soportados:
Cdigo Abierto
Mantenimiento prcticamente nulo
Instalacin:
clientes. ste cargar los program
completar la instalacin.
Oracle
Hardware (Mnimo):
RAM., Disco Duro de 500Mb o simi
Hardware (recomendado):
Disco Duro de 4.0Gb, tarjeta de red
arranque.
operativo.
Capacidades de administracin y de
solucin de problemas.
Sistema operativo:
Windows XP SP2, Windows 200
Windows 2003 Enterprise Server SP
Memoria mnima:
Memoria recomendada:
Espacio en disco mnimo:
DBase
cdigo
SQL libre
Genera
errores.
Sistema operativo:
Vista Enterprise, Vista Ultimate,
Ultimate, 8 Standard, 8 Professiona
de
la
ejecucin
del
La Cach de Datos
Memoria Virtual
Figura 1. Estructura de
la memoria en Oracle
rea Global del Sistema (System Global Area, SGA)
El rea Global del Sistema (SGA) es un grupo de estructuras de la memoria
compartida que contiene datos e informacin de control de una instancia de una
BD. Si varios usuarios se conectan de forma concurrente a la misma instancia,
entonces los datos se comparten en el SGA, por lo que tambin se
llama shared global area.
Una instancia en Oracle se compone de un SGA y de procesos. Cuando se
crea una instancia, Oracle asigna memoria a un SGA automticamente y esta
se devuelve al sistema operativo cuando la instancia se cierra. Por tanto, cada
Buffer).
Cach de Biblioteca.
Estructuras de Control.
Informacin diversa
Figura 2. Estructura de
una instancia de Oracle
La Instancia y la Base de Datos
Cuando se inicia una instancia Oracle monta la base de datos, es decir,
asocia dicha instancia a su base de datos correspondiente. En un mismo
ordenador pueden ejecutarse varias instancias simultneamente, accediendo
cada una a su propia base de datos fsica.
nicamente el administrador de la base de datos puede iniciar una instancia
y abrir una base de datos. Si una base de datos est abierta, entonces el
administrador puede cerrarla y, cuando esto ocurre, los usuarios no pueden
acceder a la informacin que contiene.
Estructura de Datos del SGA
Cach de los Buffers (Database Buffer Cache)
La cach de los buffers de la base de datos es una parte de la SGA que
contiene copias de los bloques de datos de lectura de las pginas. Todos los
procesos de los usuarios conectados concurrentemente a la instancia
comparten el acceso a ella. Esta cach junto con la cach compartida de SQL
estn lgicamente segmentadas en varios conjuntos, lo que reduce la
contencin en sistemas multiprocesador.
Organizacin de la Cach de los Buffers
Los buffers en la cach estn organizados en dos listas: la lista en espera y
la lista LRU. La lista en espera contiene los buffers en espera (dirty buffers), los
cuales contienen datos que han sido modificados pero que an no se han
escrito en disco. La lista LRU contiene los buffers libres, buffers que estn
Los parmetros que configuran los buffer pools KEEP y RECYCLE son
DB_KEEP_CACHE_SIZE y DB_RECYCLE_CACHE_SIZE.
Buffer del Registro del Rehacer (Redo Log Buffer)
El redo log buffer es un buffer circular en el SGA que contiene informacin
sobre cambios hechos a la base de datos, la cual se almacena en las entradas
redo. Estas entradas contienen la informacin necesaria para reconstruir, o
rehacer cambios hechos en la base de datos mediante las operaciones
INSERT, UPDATE, DELETE, CREATE, ALTER o DROP y se usan para la
recuperacin de la base de datos, si fuera necesario.
Las entradas se copian por los procesos desde el espacio de memoria del
usuario al redo log buffer en el SGA, ocupando continuamente espacio
secuencial. El proceso en segundo plano LGWR escribe el redo log buffer en el
fichero redo log activo (o grupo de ficheros) en disco.
El parmetro LOG_BUFFER determina el tamao (en bytes) del redo log
buffer.
El Pool Compartido
Es la parte del SGA que contiene la cache de biblioteca, la cache de
diccionario, los buffers para los mensajes de ejecucin paralela y las
estructuras de control.
El tamao total del Pool Compartido se determina por el parmetro
SHARED_POOL_SIZE. El valor por defecto es de 8MB en plataformas de 32bit, y de 64MB para plataformas de 64-bit. Incrementando su valor se
incrementa la cantidad de memoria reservada para el pool compartido.
Procesamiento de E/S
El large pool satisface mejor las peticiones de gran cantidad de memoria que
el pool compartido. Sin embargo, no posee una lista LRU.
Java Pool
La memoria java pool se usa en la memoria del servidor para almacenar todo
el cdigo y datos del JVM en las sesiones. Se usa de diferentes formas,
dependiendo del modo en que se ejecute el servidor Oracle.
El asesor de estadsticas de java pool proporciona informacin sobre la
memoria de la cache de biblioteca usada para java y predice como pueden
afectar cambios en el tamao del java pool en la tasa de anlisis. El asesor de
java pool se activa internamente cuando el statistics_level est configurado en
TYPICAL o mayor. Estas estadsticas se reinician cuando el asesor es
desactivado.
Streams Pool
En una nica base de datos, se puede especificar que los flujos de memoria
se asignen desde un pool en el SGA llamado Streams pool. Para configurarlo
se especifica el tamao del pool en bytes usando el parmetro
STREAMS_POOL_SIZE. Si un streams pool no est definido, entonces se crea
automticamente cuando los flujos se usan por primera vez.
Si SGA_TARGET est activo, entonces la memoria del SGA para los
Streams pool viene del pool global del SGA. Si no est activo, entonces se
transfiere desde la cache del buffer, aunque solo tiene lugar despus del primer
uso de los flujos. La cantidad transferida es del 10% del tamao del pool
compartido.
Parmetro
Descripcin
DB_CACHE_SIZE
LOG_BUFFER
SHARED_POOL_SIZ
E
LARGE_POOL_SIZE
JAVA_POOL_SIZE
El log buffer
El pool compartido
El Java pool
especificados)
El tamao de los bloques no estndar de las cachs de
los buffer (si son especificados)
El Streams pool
Este incluye toda la memoria del SGA, en diferencia con las versiones
anteriores en las que la memoria para la SGA interna y fija se configuraba a
travs de otros parmetros. En consecuencia, el SGA_TARGET da un control
preciso sobre el tamao de la regin de memoria compartida asignada por la
base de datos. Si est configurado con un valor mayor que SGA_MAX_SIZE al
inicio, entonces este ltimo se usa como respaldo para el SGA_TARGET.
el
SGA_TARGET.
Debera
ser
dedicado, las reas privadas SQL esta localizadas en el servidor del proceso
del PGA. De cualquier forma, si una sesin se conecta a travs de un servidor
compartido, parte del rea privada SQL se mantiene en el SGA.
Cursores y reas SQL
La aplicacin de desarrollo de un programa precompilador Oracle o un
programa OCI puede explcitamente abrir cursores, o manejar algn rea
privada SQL especfica, y usarla como un recurso nombrado a travs de la
ejecucin de un programa. Los cursores recursivos de Oracle que emiten
implcitamente algunas sentencias SQL tambin usan reas SQL.
La administracin de las reas SQL privadas son responsabilidad de los
procesos del usuario. La asignacin y liberacin de las reas SQL privadas
dependen de en qu herramienta de la aplicacin se usan, aunque el nmero
de reas SQL privadas que un proceso de usuario puede asignar est siempre
limitado el parmetro OPEN_CURSORS. El valor por defecto de este
parmetro es 50.
Un rea SQL privada continua existiendo hasta que el correspondiente
cursor es cerrado o la sentencia es liberada. Aunque Oracle libera el rea de
ejecucin despus de que la sentencia se complete, el rea persistente se
mantiene en espera. Las aplicaciones de desarrollo cierran todos los cursores
abiertos que no van a ser usados otra vez para liberar el rea persistente y
minimizar la cantidad de memoria requerida por el usuario de la aplicacin.
Componentes del rea SQL Privada
El rea SQL privada de un cursor se divide en 2 reas cuya duracin son
diferentes:
El rea persistente (Persistent Area), que contiene, por ejemplo,
informacin envuelta. Es liberada solamente cuando el cursor es
cerrado.
Hash-join
Bitmap merge
Bitmap create
el
tiempo
de
respuesta
de
un
operador
suele ser el disco duro. Para el traspaso de informacin se utilizan dos tcnicas
principales: el Paging o paginacin y el Swapping.
Paginacin
La paginacin consiste en dividir los programas en pequeos bloques o
pginas, de manera que sea ms fcil moverlos de memoria a disco y
viceversa. De la misma forma, la memoria se divide en marcos de pgina. De
esta forma, la cantidad de memoria desperdiciada por un proceso es el final de
su ltima pgina, minimizando as la fragmentacin interna y evitando la
externa.
En un momento cualquiera, la memoria se encuentra ocupada con pginas
de diferentes procesos, mientras que algunos marcos estn disponibles para su
uso. El sistema operativo mantiene una lista de estos ltimos marcos, y una
tabla por cada proceso, donde consta en qu marco se encuentra cada pgina
del proceso. De esta forma, las pginas de un proceso pueden no estar
contiguamente ubicadas en memoria, y pueden intercalarse con las pginas de
otros procesos.
En la tabla de pginas de un proceso, se encuentra la ubicacin del marco
que contiene a cada una de sus pginas. Las direcciones lgicas ahora se
forman como un nmero de pgina y de un desplazamiento dentro de esa
pgina (conocido comnmente como offset). El nmero de pgina es usado
como un ndice dentro de la tabla de pginas, y una vez obtenida la direccin
del marco de memoria, se utiliza el desplazamiento para componer la direccin
real o direccin fsica. Este proceso se realiza en una parte del ordenador
especficamente diseada para esta tarea, es decir, es un proceso hardware y
no software.
De esta forma, cuando un proceso es cargado en memoria, se cargan todas
sus pginas en marcos libres y se completa su tabla de pginas.
Swapping
El Swapping es el procedimiento de mover los bloques de memoria en los
que estn algunos procesos que no se estn utilizando, desde la memoria
principal a un espacio Swap dejando as hueco libre para poder cargar en
memoria otros procesos que s se van a utilizar.
El espacio Swap o espacio de intercambio es una zona de disco (un fichero o
una particin) que se usa para guardar las imgenes de los procesos que no
han de mantenerse en memoria fsica.
Este procedimiento es muy similar a la paginacin, con la diferencia principal
de que el directorio Swap funciona exactamente igual que la memoria RAM, por
lo que puede almacenar datos privados, contraseas y todo lo que almacena
sta. Sin embargo, en la paginacin, nicamente se sacan de memoria pginas
pertenecientes a procesos que no se estn utilizando, adems de que se
pueden sacar solo algunas pginas de los procesos y no stos enteros como se
hace en el Swapping.
Con respecto al tamao que debe tener el directorio Swap, hay muchas
discusiones sobre ello como por ejemplo la antigua creencia de El Swap debe
tener el doble de tamao que la RAM. cosa que no es vlida hoy da debido a
la gran capacidad de la memoria RAM de la mayora de ordenadores.
Como conclusin, hay que destacar que el uso de la memoria virtual por
parte de Oracle, va a influir bastante en el rendimiento, disminuyndolo
drsticamente en comparacin con el uso nicamente de la memoria RAM.
rea de Cdigo de Software (Sca)
El rea de cdigo de software son zonas de memoria destinadas a
almacenar el cdigo de Oracle en ejecucin o que puede ejecutarse. Este
cdigo de Oracle se almacena en una zona distinta, y ms protegida, que las
zonas dedicadas a almacenar los cdigos de programas de usuarios.
La SCA suele ser de tamao esttico, cambiando nicamente cuando el
software se reinstala o actualiza. El tamao requerido para este rea puede
variar en funcin del SO. Son reas de slo lectura y pueden ser instalas de
forma compartida o no compartida. Cuando es posible, el cdigo de Oracle se
comparte, por lo que todos los usuarios pueden acceder a l sin tener mltiples
copias en memoria. El resultado es un ahorro considerable de memoria y una
mejora del rendimiento general.
Por otra parte, los programas de usuario tambin pueden ser compartidos o
no. Algunas utilidades y herramientas de Oracle (como ocurre con Oracle
Forms y SQL*Plus) pueden ser instalados de forma compartida, pero otras no.
Mltiples instancias de Oracle pueden usar la misma SCA con diferentes bases
de datos si estn corriendo en la misma mquina.
CKPT.
System Monitor Process (SMON)
El proceso SMON lleva a cabo la recuperacin, si es necesaria, de la
instancia en el inicio de la misma, es decir rehacer cualquier transaccin
comprometida en el redo log file que no haya sido escrita a disco. SMON
tambin es responsable de limpiar los segmentos temporales que no estn en
uso por algn tiempo y de desfragmentar si cree oportuno alguna zona de los
discos.
Process Monitor (PMON)
PMON lleva a cabo procesos de recuperacin cuando un proceso de usuario
falla. Es responsable de la limpieza del buffer cach, tambin de deshacer los
cambios que se hayan hecho desde el ultimo commit y de la liberacin de
recursos que el proceso estaba usando. Por ejemplo este restaura el status de
la tabla de transacciones activas, libera los locks y remueve el ID del proceso
de la lista de procesos activos, asociados a un proceso usuario que pudo haber
perdido la conexin de red.
Recoverer (RECO)
Este proceso solo se observa cuando la base de datos ejecuta la opcin
distribuida de Oracle. La transaccin distribuida es una en la que dos o ms
emplazamientos de datos deben mantenerse sincronizados, Por ejemplo
cuando se tiene una copia de los datos en diferentes ciudades y por fallas en
una lnea telefnica se pierde una transaccin en la mitad de su actualizacin.
El proceso recuperador entonces resuelve las transacciones que hayan
quedado inconsistentes en las dos ciudades.
Archiver Processes (ARCn)
El ARCn copia los archivos de redo log llenos a un espacio de
almacenamiento distinto para no perderlos al ser sobreescritos. El ARCn slo
est habilitado cuando la base de datos est en el modo ARCHIVELOG. En
Oracle 10g para colocar la base de datos en modo archive basta con colocarla
en modo ARCHIVELOG y especificar los destinos de "archive". En Oracle 9i se
distingua entre el "archive" manual y automtico. Con "archive" manual el DBA
deba ordenar hacer la copia de los redo log a los "archives", en el modo
automtico se copiaban automticamente antes de ser sobrescritos. En Oracle
hardware y software para instalar oracle 11g Express y MySQL estndar versin
5.1. En Windows Seven y Ubuntu 10.
Requerimiento
Oracle
MySQL
RAM
512
MB
512
MB
Memoria virtual
1024
MB
1024
MB
1.5
GB
Sistema Operativo:
Seven, Linux, Unix
Windows
Server,
4 GB
Windows
1 GB
Sin
limite
Y depende que base de datos uses para efectuar las operaciones pero, es la
misma teora para cualquier BD.
Instalacin de MySQl en Windows 7
1. Comprobar que no existe una versin anterior, si existe desinstalarla.
2. Descargar el archivo de instalacin, en nuestro caso MySQL
Enterprise.
3. Ejecute el archivo:
Cada vez que veo la pantalla de la GNU GPL me lleno de felicidad. No slo
por las condiciones y el precio: es adems, para m, una garanta de
profesionalidad.
Este tipo de tabla solo puede ser usada por el usuario que la crea.
Si creamos una tabla que tiene el mismo nombre que una existente en la
base de datos, la que existe quedar oculta y trabajaremos sobre la temporal.
Tablas Memory (Head)
Se almacenan en memoria
Una tabla head no puede tener ms de 1600 campos
Las tablas MEMORY usan una longitud de registro fija.
MEMORY no soporta columnas BLOB o TEXT.
MEMORY
en
MySQL
5.0
incluye
soporte
para
columnas
AUTO_INCREMENT e ndices en columnas que contengan valores NULL.
Las tablas MEMORY se comparten entre todos los clientes (como cualquier
otra tabla no-TEMPORARY).
CREATE TEMPORARY TABLE temporal (
ife INTEGER (13) PRIMARY KEY,
nombre CHAR (30) NOT NULL UNIQUE
) ENGINE = MEMORY;
Modificacin
Esta operacin se puede realizar con el comando ALTER TABLE. Para usar
ALTER TABLE, necesita permisos ALTER, INSERT y CREATE para la tabla. La
sintaxis para MySQL es
ALTER [IGNORE] TABLE tbl_name
alter_specification [, alter_specification] ...;
alter_specification:
ADD [COLUMN] column_definition [FIRST | AFTER col_name]
| ORDER BY col_name
| CONVERT
collation_name]
TO
CHARACTER
SET
charset_name
[COLLATE
de
datos
de
forma
escritura.
de valores.
2015, 2016,
2017, 2018, 2019)
);
Por Hash: MySQL se encarga de distribuir las tuplas
automticamente usando una operacin de mdulo. Slo hay que pasarle una
columna o expresin que resulte en un entero (el hash) y el nmero de
particiones que queramos crear.
ALTER TABLE contratos
PARTITION BY HASH (YEAR (fechaInicio))
PARTITIONS 7;
Por Clave: similar a la particin por hash, pero en este caso no
necesitamos pasarle un entero; MySQL utilizar su propia funcin de hash para
generarlo. Si no se indica ninguna columna a partir de la que generar el hash,
se utiliza la clave primaria por defecto.
ALTER TABLE contratos
PARTITION BY KEY ()
PARTITIONS 7;
Compuesta: podemos combinar los distintos mtodos de
particionado y crear particiones de particiones
Borrar Particiones
Lo bueno de trabajar con particiones es que podemos borrar rpidamente
registros sin tener que recorrer toda la tabla e inmediatamente recuperar el
espacio en disco utilizado por la tabla.
Por ejemplo si queremos borrar la particin ms antigua simplemente
ejecutamos:
ALTER TABLE reports DROP PARTITION p201111;
Aadir particiones
En el ejemplo anterior las 2 ltimas particiones creadas han sido:
PARTITION p201205 VALUES LESS THAN (TO_DAYS ("2012-06-01")),
PARTITION pDefault VALUES LESS THAN MAXVALUE
El problema es que todos los INSERT que se hagan despus de mayo de
2012 se insertarn en pDefault. La solucin sera aadir particiones nuevas
para cubrir los prximos meses:
ALTER TABLE reports REORGANIZE PARTITION pDefault INTO (
PARTITION p201206 VALUES LESS THAN (TO_DAYS ("2012-07-01")),
PARTITION pDefault VALUES LESS THAN MAXVALUE);
En el caso que no tuviramos una particin del tipo pDefault simplemente
ejecutamos:
ALTER TABLE reports ADD PARTITION (PARTITION p201206 VALUES
LESS THAN (TO_DAYS ("2012-07-01")));
Consultar Particiones
Para consultar informacin de particiones creadas en una tabla as como
tambin los registros que contiene cada una ejecutamos:
SELECT
PARTITION_NAME,
TABLE_ROWS
information_schema.PARTITIONS WHERE TABLE_NAME='reports';
FROM
Mejorar el rendimiento
V$INSTANCE (Instancia).
V$SGA (SGA).
V$SGAINFO (Gestin dinmica de la SGA).
V$SGASTAT (SGA detallada).
V$BUFFER_POOL (Buffers en la cach de datos)
V$SQLAREA (Sentencias SQL).
V$PROCESS (Procesos).
V$BGPROCESS (Procesos background).
V$DATAFILE (Ficheros de datos de la BD).
V$CONTROLFILE (Ficheros de control de la BD).
V$LOGFILE (Ficheros redo log de la BD).
DBA_TABLESPACES (Tablespaces de la BD).
DBA_SEGMENTS (Segmentos que hay en los tablespaces).
DBA_EXTENTS (Extensiones que componen los segmentos).
DBA_USERS (Usuarios de la BD).
Oracle RAC(Real Application CLuster).
En un Rac de Oracle, mltiples instancias permiten el acceso a una nica
Base de datos. En un RAC las instancias corren en mltiples Nodos
(servidores), y acceden a un conjunto comn de datafiles que comprender a
una 'nica' Base de datos."
En contraste, en un ambiente de una nica instancia, una base de datos
Oracle es usada por slo UNA Instancia corriendo en el servidor. Por lo Tanto,
los usuarios accediendo a la base de datos pueden conectarse a sta, slo a
travs de ese 'nico' servidor.
En un Oracle RAC, una base de datos puede ser montada por ms de una
instancia, y en cualquier punto, una instancia ser parte de slo una Base de
datos. El almacn no voltil para archivos de datos que comprende la Base de
datos es igualmente disponible a todos los nodos, para el acceso de lectura y
escritura. De lo anterior se desprende que un RAC de Oracle necesita coordinar
y regular el acceso simultaneo a los datos desde mltiples servidores (nodos),
por ende, debe existir una red privada que sea eficiente, confiable y de alta
rapidez, entre los nodos del clster para enviar y recibir datos
Crear Instancias MySQL
Tener dos instancias o ms tiene entre otras las siguientes justificaciones.
Una se dedicar a desarrollo, para hacer las modificaciones y pruebas
necesarias y otra al de produccin.
Proceso
Copiar la carpeta data que se encuentra en nuestro caso en c:\MySQL, como
data2
Ahora con cuidado editamos my2.ini, procure no tocar my,ini a menos que
este seguro de lo que hace.
Iniciamos configurando el puerto por donde escuchara MySQL la segunda
instancia y la ruta de datos el archivo de datos.
Nombre de la Transaccin
Valor antiguo
Valor Nuevo
cinta.
Copias de seguridad lgicas contienen datos lgicos, como tablas y
procedimientos almacenados. Puede utilizar Oracle Data Pump para exportar
los datos a archivos lgicos binarios, que posteriormente puede importar a la
base de datos. Clientes de lnea de comandos La bomba datos expdp y impdp
utilizan el DBMS_DATAPUMP y DBMS_METADATA PL / SQL paquetes.
Copias de seguridad fsicas son la base de cualquier estrategia de
recuperacin de copia de seguridad slida y. Copias de seguridad lgicas son
un complemento til de las copias de seguridad fsicas en muchas
circunstancias, pero no son suficiente proteccin contra la prdida de datos y
sin
respaldos
fsicos.
A menos que se especifique lo contrario, la copia de seguridad trmino tal como
se utiliza en la copia de seguridad y la documentacin de recuperacin se
refiere a una copia de seguridad fsica. Copia de seguridad de una base de
datos es el acto de hacer una copia de seguridad fsica. El enfoque en la copia
de seguridad y recuperacin de documentacin est casi exclusivamente en
copias de seguridad fsicas.
Mientras que varios problemas pueden detener el funcionamiento normal de
una base de datos Oracle o afectar a las operaciones de base de datos de E /
S, solamente la siguiente normalmente requiere la intervencin del DBA y de
recuperacin de datos: un error de medios, errores de usuario, y los errores de
aplicacin. Otros fallos pueden requerir intervencin DBA sin causar la prdida
de datos o que requieren la recuperacin de copia de seguridad. Por ejemplo,
es posible que tenga que reiniciar la base de datos tras un fallo de instancia o
asignar ms espacio de disco despus de un fallo debido a la declaracin de un
archivo de datos completo.
Las Fallas de Medios
La falta de medios es un problema fsico con un disco que provoca un fallo
de una leer o escribir en un archivo de disco que se requiere para ejecutar la
base de datos. Cualquier archivo de base de datos puede ser vulnerable a un
fallo de comunicacin. La tcnica de recuperacin adecuada despus de un
fallo de los medios de comunicacin depende de los archivos afectados y el tipo
de
copia
de
seguridad
disponible.
Un aspecto particularmente importante de la copia de seguridad y recuperacin
se est desarrollando una estrategia de recuperacin ante desastres para
proteger contra la prdida de datos catastrfica, por ejemplo, la prdida de toda
una serie de bases de datos.
Transferencia de Datos
En algunas situaciones, es posible que tenga que tomar una copia de
seguridad de una base de datos o base de datos de componentes y moverlo a
otra ubicacin. Por ejemplo, puede utilizar el Administrador de recuperacin
(RMAN) para crear una copia de base de datos, cree una copia de tabla que se
puede importar en otra base de datos, o mover una base de datos completa de
una plataforma a otra. Estas tareas no son, estrictamente hablando, parte de
una estrategia de backup y recuperacin, pero requieren el uso de copias de
seguridad de bases de datos, por lo que pueden incluirse en las tareas de un
administrador de copia de seguridad.
Oracle Backup y Recuperacin de Soluciones
Al implementar una estrategia de backup y recuperacin, dispone de las
siguientes soluciones disponibles:
Compresin Binaria
comando resetlogs, que crea registros nuevos. Para esta fase se pueden usar
dos comandos:
startup open;
alter database open;
Si es necesario utilizar resetlogs:
startup open resetlogs;
alter database open resetlogs;
startup restrict (slo permite la conexin de usuarios con el privilegio
restricted sesion).
startup force (hace shutdown abort y arranca la BD).
Comando SHUTDOWN
El comando SHUTDOWN lo utilizamos parar una base de datos la cual
consiste en varias clusulas.
Shutdown Normal: Este es el valor por defecto, durante el proceso de
parada no admite nuevas conexiones y espera que las conexiones actuales
finalicen. En el prximo arranque la base datos no requiere procedimientos de
recuperacin.
Shutdown Immediate: Se produce una parada inmediata de la base de
datos, durante el proceso de parada no permite nuevas conexiones y las
actuales la desconecta, las transacciones que no estn commit se hara
roolback de ellas. En el prximo arranque la base datos no requiere
procedimientos de recuperacin.
Shutdown Transactional: Se produce una parada hasta que hayan
terminado las transacciones activas, no admite nuevas conexiones y tampoco
nuevas transacciones, una vez que las transacciones activas van terminando
va desconectando a los usuarios. En el prximo arranque la base datos no
requiere procedimientos de recuperacin.
Shutdown Abort: Aborta todos los procesos de una base de datos, durante
el proceso de parada no permite nuevas conexiones y las actuales la
desconecta, las transacciones que no estn commit se har roolback de ellas.
Facilidad de Uso
Visibilidad
Estos ndices son el tipo de ndice estndar. Son excelentes para la clave
principal y los ndices altamente selectivos. Utilizado como ndices
concatenados, B-tree ndice pueden recuperar los datos ordenados por las
columnas de ndice. ndices B-tree tienen los siguientes subtipos:
ndices Descendentes
Este tipo de ndice se utiliza para indexar una clave de clster tabla. En lugar
de apuntar a una fila, los puntos clave para el bloque que contiene filas
relacionadas con la clave de clster.
Este tipo de ndice incluye columnas que, o bien se transforman por una
funcin, tales como la funcin UPPER, o incluidos en una expresin. ndices Btree o mapa de bits puede ser basado en las funciones.
Este tipo de ndice se crea por un usuario para los datos en un dominio
especfico de la aplicacin. El ndice fsico no tiene que utilizar una estructura
de ndice tradicional y se puede almacenar ya sea en la base de datos Oracle
como tablas o externamente como un archivo. Consulte "Indicadores de
dominio de aplicacin".
ndices B-Tree
NULL,
NULL) AS a JOIN sys.indexes AS b ON a.object_id = b.object_id AND
a.index_id = b.index_id,
sys.TABLES
WHERE
sys.TABLES.object_id = b.object_id
ORDER BY
avg_fragmentation_in_percent DESC
La grilla de resultados emitida por la anterior sentencia incluye las siguientes
columnas:
Columna
Id ndice
Tabla
ndice
Descripcin
El nmero de ndice dentro de la tabla.
Nombre de la tabla a la que corresponde el
ndice.
Nombre del ndice.
% Fragmentacin
El porcentaje de fragmentacin
(pginas del ndice fuera de orden).
lgica
Cantidad de fragmentos
Una vez que se toma conciencia del nivel de fragmentacin, se debe utilizar
la tabla a continuacin para determinar el mejor mtodo para su correccin.
% Fragmentacin
Sentencia correctiva
> 30%
Unidad 5: Seguridad
5.1 Respaldo y Recuperacin
El respaldo es uno de los pasos ms importantes que puedes dar para
proteger tu informacin. Cuando algo sale mal, como fallas en disco duro,
borrado accidental de archivos o infecciones por malware, son tu ltimo
recurso. En esta edicin, te explicamos cmo respaldar tu informacin y
preparar una estrategia adecuada para ti.
Qu Respaldar y Cundo
Existen dos aspectos fundamentales para decidir qu respaldar: la
informacin que hayas generado o que sea importante para ti, como
documentos, fotografas o videos; o toda, incluyendo tu sistema operativo y
cualquier programa que hayas instalado. El primer aspecto limita el proceso
de respaldo, mientras que el segundo hace que sea ms fcil recuperar el
sistema en caso de un fallo completo. Si no ests seguro de qu respaldar,
respalda todo. A continuacin, tendrs que decidir qu tan seguido respaldar
tu informacin. Lo ms comn es hacerlo cada hora, diariamente,
semanalmente, etc. Para usuarios caseros, los programas de respaldo
personal como Time Machine de Apple o Copias de seguridad y restauracin
Copia de Seguridad
Mejorar la Escalabilidad
Alta Disponibilidad
motivos:
Rendimiento: Normalmente y dependiendo del caso, hay ms
lectura que escritura en una base de datos, por lo que tener varios
nodos solo procesando la lectura puede traer un gran beneficio de
rendimiento en una base de datos muy consultada.
Prueba de Fallas: Un esclavo estando casi sincrnicamente
actualizado puede ser til en caso de que el nodo maestro caiga, este
puede reemplazarlo y as no detener el servicio.
Fiabilidad: Muchas veces se puede tener una replicacin para
tener la seguridad de que los datos estn siendo copiados a otro nodo,
en caso de sufrir un desperfecto en el maestro.
Generacin de Bloqueos: aunque sta es ms precisa, tambin
se puede usar para procesos que necesiten leer datos, generando
bloqueos, al hacerlo sobre un esclavo esto no interviene en el
funcionamiento de todo el sistema, es muy usado para por ejemplo,
hacer copias de seguridad, o extraer grandes cantidades de datos para
generar estadsticas.
5.1.3 Mtodos de Respaldo de un DBMS
En mySQL existen varios mtodos para la realizacin de un backup y esto
se debe principalmente a que mySQL guarda las tablas como archivos y al
tipo de tablas que se est manejando (InnoDB, MyISAM, ISAM). As por
ejemplo para la presente prctica se utiliz el tipo de tabla InnoDB y el
mtodo de backup utilizado es el que funciona con este tipo de tablas.
InnoDB es una de las tecnologas de almacenamiento que utiliza mySQL,
es de codigo abierto. Entre sus caractersticas principales estan que soporta
transacciones con caractersticas ACID (Atomicidad, Consistencia,
Aislamiento y Durabilidad), tiene bloque de registros e integridad referencial
(cosa que no maneja ISAM, ni myISAM). Esta ltima es una de sus
caractersticas ms importantes pues una base de datos sin integridad
referencial, es nada ms un conjunto de datos que no denotan informacin.
Este tipo de almacenamiento tambin ofrece una alta fiabilidad y
consistencia. El mismo gestiona el control de los datos y no se lo deja al
sistema operativo, una de sus desventajas es que no tiene una buena
Base de datos
Configuraciones de servicios
Clasificacin de Respaldos
"Tape Drives" de alta capacidad. Los archivos que son respaldados pueden
variar desde archivos del sistema operativo, bases de datos, hasta archivos
de un usuario comn. Existen varios tipos de Software que automatizan la
ejecucin de estos respaldos, pero el funcionamiento bsico de estos
paquetes depende del denominado archive bit.
Este archive bit indica un punto de respaldo y puede existir por archivo o
al nivel de "Bloque de Informacin" (tpicamente 4096 bytes), esto depender
tanto del software que sea utilizado para los respaldos as como el archivo
que sea respaldado. Este mismo archive bit es activado en los archivos (o
bloques) cada vez que estos sean modificados y es mediante este bit que se
llevan a cabo los tres tipos de respaldos comnmente utilizados:
GRANT
REPLICATION
SLAVE
'<replication_user>'@'<slave_address>'
ON
*.*
TO
password
base de datos.
[Maestro]: <MYSQL_HOME>/bin/mysqldump
<contrasea> --opt bd_autentia > backup.sql
--u
root
password
--user=root
password
-u
root
password
-u
root
password
defaults
--defaults-
actualizado en una
ubicacin diferente.
BFIM (Before Image): Imagen antes de la actualizacin.
AFIM (After Image): Imagen despus de la actualizacin.
Registro Antes de la Escritura, Robar/No-Robar y Forzar no Forzar
En este caso, el mecanismo de recuperacin debe garantizar la grabacin
de la BFIM de los datos en la entrada apropiada del registro del sistema y
que esa entrada se vuelque en el disco antes que la BFIM sea sobrescrita
con la AFIM de la base de datos del disco.
Puntos de Control en el Registro del Sistema y Puntos de Control
Difusos
Otro tipo de entrada en el registro es el denominado punto de control
(checkpoint). En este punto el sistema escribe en la base de datos, en disco,
todos los bferes del DBMS que se han modificado.
No tienen que rehacer sus operaciones, es decir, ESCRIBIR en caso de
una cada del sistema.
El gestor de recuperaciones de un DBMS debe decidir en qu intervalos
tomar un punto de control.
La toma de un punto de control consiste en las siguientes acciones:
1. Suspender temporalmente la ejecucin de las transacciones.
2. Forzar la escritura de disco de todos los bferes de memoria
que se hayan modificado.
3. Escribir un registro (checkpoint) en el registro del sistema y
forzar la escritura del registro en el disco.
4. Reanudar la ejecucin de las transacciones.
Diarios para Recuperacin
Se almacena en disco.
[start, T]
[write, T, X, valor_viejo, valor_nuevo] (Opcional)
[read, T, X]
[commit, T]
[abort, T]
undo, redo
de recuperacin:
undo (Ti): Restaura los datos que Ti actualiza a los valores que tenan
antes.
redo (Ti): Asigna los nuevos valores a todos los datos que actualiza Ti.
Despus de ocurrir un fallo, el procedimiento de
recuperacin consulta el diario para determinar qu transacciones deben
repetirse y cules deshacerse:
1. Ti debe deshacerse si el diario contiene el registro starts pero
no el commit.
2. Ti debe repetirse si el diario contiene el registro starts y el
commit.
Las operaciones undo y redo deben ser idempotencias
para garantizar la consistencia de la BD aun cuando se produzcan fallos
durante el proceso de recuperacin.
Recuperacin Hasta un Punto de Validacin
1. Examina el diario hacia atrs hasta localizar un registro
<checkpoint>.
2. Considera slo los registros existentes entre este punto y el final del
diario.
3. Ejecuta undo (Tj) para las transacciones que no tengan registro <Tj
commits>, partiendo del final del fichero.
4. Ejecuta redo (Ti) para las transacciones que tengan su registro <Ti
commits>, partiendo desde el punto de verificacin hasta el final del
diario.
Procedimientos de Recuperacin
Recuperacin Normal
Tiene lugar despus de una parada normal de la
mquina, en la que se escribe un punto de verificacin como ltimo registro
del diario.
Este procedimiento se ejecuta cuando el ltimo registro
del diario es un punto de verificacin o recuperacin del sistema.
Este tipo de recuperacin tambin tiene lugar cuando
aborta una transaccin, debido a la razn que sea.
Recuperacin en Caliente
daada.
coherente.
Se utiliza:
peridicamente:
de anlisis.
informacin.
Facilidad
de
manejo
de
grandes
volumen
de
Desventajas
muy elevados.
costoso.
futuro.
Copia Simple
Puede ser aplicado en situaciones en las que no requiera de varias
instancias o datos duplicados, como una Red de Oficina.
Copia Doble
Cuando requiera de un soporte estable y prctico a la hora de fallos en el
sistema.
Ejemplo:
Supngase que se deterior fsicamente parte del disco, afectando la
aplicacin. Por lo cual es necesario recuperarla. Se toma el primer juego de
geomtricos
Soporte
para
la
conversin
de
tipos de
datos
datos objetivo
Desactiva
durante el proceso de copia
Instala
automticamente
automticamente
triggers
la
secuencia
secuencias
asociada
rowid
keys
base de datos.
Mediante la recopilacin de informacin de espacio libre en el tiempo y
almacenarlo en una tabla del servidor SQL permanente que ser capaz de
producir un cuadro de tendencias que muestra el espacio en disco extra de
consumo. Al comparar la cantidad de espacio libre entre dos puntos sobre el
grfico que ser capaz de determinar el espacio de disco consumido entre
esos intervalos.
El monitoreo del espacio disponible en disco y las tasas de crecimiento
son un par de cosas que un DBA debe realizar. Sin vigilancia se corre el
riesgo de quedarse sin espacio y causando graves problemas para su
aplicacin.
5.3.1.3 Monitoreo de Logs
Log
Registro oficial de eventos durante un periodo de tiempo en particular.
Para los profesionales en seguridad informtica un log es usado para
registrar datos o informacin sobre quin, que, cuando, donde y por qu de
un evento que ocurre para un dispositivo en particular o aplicacin.
La mayora de los logs son almacenados o desplegados en el formato
estndar ASCII. De esta forma logs generados por un dispositivo en
particular puede ser ledo y desplegado en otro diferente.
Propsito de los Logs
Todos los sistemas pueden verse comprometidos por un intruso, de
manera local o remota.
La seguridad no slo radica en la prevencin, sino tambin en la
identificacin. Entre menos tiempo haya pasado desde la identificacin de
intrusin, el dao ser menor; para lograr esto es importante hacer un
constante monitoreo del sistema.
De cualquier forma que se realice una proteccin de Unix debe incluir el
monitoreo y revisin de LOGS de una forma comprensiva, precisa y
cuidadosa.
de forensia.
Monitoreo en Bitcoras
Generalmente no deseamos permitir a los usuarios ver los archivos de
bitcoras de un servidor, y especialmente no queremos que sean capaces de
modificarlos o borrarlos. Normalmente la mayora de los archivos de
bitcoras sern posedos por el usuario y grupo root, y no tendrn permisos
asignados para otros, as que en la mayora de los casos el nico usuario
capaz de modificar los archivos de bitcoras ser el usuario root.
Debido a la cantidad de informacin que se genera en la bitcoras,
siempre es bueno adoptar algn sistema automtico de monitoreo, que
levante las alarmas necesarias para cuando algn evento extrao suceda.
El sistema operativo Debian utiliza LogCheck para realizar el anlisis y
monitoreo de bitcoras, RedHat emplea LogWatch, etc.
5.3.1.4 Monitoreo de Memoria Compartida
Pga de Oracle (rea Global de Programa)
Un PGA es una regin de memoria que contiene datos e informacin de
control para un proceso de servidor. Es la memoria no compartida creada por
la base de datos Oracle cuando un proceso de servidor se ha iniciado. El
acceso a la PGA es exclusivo para el proceso del servidor. Hay un PGA para
cada proceso de servidor. Procesos en segundo plano tambin se asignan
sus propios PGA. La memoria total utilizada por todos los PGAs individuales
se conoce como el ejemplo total de memoria PGA, y la recogida de PGAs
individuales se refiere como el ejemplo total de la PGA, o simplemente
instancia de la PGA. Puede utilizar los parmetros de inicializacin de base
de datos para definir el tamao de la instancia de la PGA, no PGA
individuales.
El PGA puede ser crtico para el rendimiento, especialmente si la
aplicacin est haciendo un gran nmero de clases. Operaciones de
ordenacin se produce si utiliza ORDER BY y GROUP BY comandos en las
sentencias SQL.
SGA de Oracle (Sistema de rea Global)
Es un conjunto de reas de memoria compartida que se dedican a un
Orculo "instancia" (un ejemplo es los programas de bases de datos y la
memoria RAM).
Sirve para facilitar la transferencia de informacin entre usuarios y
tambin almacena la informacin estructural de la BD ms frecuentemente
requerida.
En los sistemas de bases de datos desarrollados por la Corporacin
Oracle , el rea global del sistema (SGA) forma parte de la memoria RAM
compartida por todos los procesos que pertenecen a una sola base de datos
Oracle ejemplo. El SGA contiene toda la informacin necesaria para la
operacin de la instancia.
La SGA se divide en varias partes:
1. Buffers de Base de Datos, Database Buffer Cache
Es el cach que almacena los bloques de datos ledos de los segmentos
de datos de la BD, tales como tablas, ndices y clsteres. Los bloques
modificados se llamas bloques sucios. El tamao de buffer cach se fija por
el parmetro DB_BLOCK_BUFFERS del fichero init.ora.
Texto de la sentencia.
Comprobar
referenciados.
si
el
usuario
tiene
acceso
los
objetos
Como el tamao del buffer suele ser pequeo para almacenar todos los
bloques de datos leidos, su gestin se hace mediante el algoritmo LRU.
2. Buffer Redo Log
Los registros Redo describen los cambios realizados en la BD y son
escritos en los ficheros redo log para que puedan ser utilizados en las
operaciones de recuperacin hacia adelante, roll-forward, durante las
recuperaciones de la BD. Pero antes de ser escritos en los ficheros redo log
son escritos en un cach de la SGA llamado redo log buffer. El servidor
escribe peridicamente los registros redo log en los ficheros redo log.
El tamao del buffer redo log se fija por el parmetro LOG_BUFFER.
3. rea de SQL Compartido, Shared SQL Pool
En esta zona se encuentran las sentencias SQL que han sido analizadas.
El anlisis sintctico de las sentencias SQL lleva su tiempo y Oracle
mantiene las estructuras asociadas a cada sentencia SQL analizada durante
el tiempo que pueda para ver si puede reutilizarlas. Antes de analizar una
sentencia SQL, Oracle mira a ver si encuentra otra sentencia exactamente
igual en la zona de SQL compartido. Si es as, no la analiza y pasa
directamente a ejecutar la que mantiene en memoria. De esta manera se
premia la uniformidad en la programacin de las aplicaciones. La igualdad se
entiende que es lexicogrfica, espacios en blanco y variables incluidas. El
contenido de la zona de SQL compartido es:
Los pasos de procesamiento de cada peticin de anlisis de una
sentencia SQL son:
Si no, la sentencia es nueva, se analiza y los datos de anlisis se
almacenan en la zona de SQL compartida.
Tambin se almacena en la zona de SQL compartido el cach del
diccionario. La informacin sobre los objetos de la BD se encuentra
almacenada en las tablas del diccionario. Cuando esta informacin se
necesita, se leen las tablas del diccionario y su informacin se guarda en el
datos
Aspectos Claves
No se debe Comprometer el Desempeo de las Bases de
Datos
o Soportar diferentes esquemas de auditora.
o Se debe tomar en cuenta el tamao de las bases de datos
a auditar y los posibles SLA establecidos.
Segregacin de Funciones
o El sistema de auditora de base de datos no puede ser
administrado por los DBA del rea de IT.
para
mejorar
el
desempeo
de
la