DBSURE
Transcripción
DBSURE
DBSURE Introducción Una base de datos Oracle en Standby es una copia exacta de una base de datos operativa en un servidor remoto, usada como backup, como copia para consulta, recuperación de desastres, etc. Una base de datos en modo Standby es algo más que un backup normal ya que se puede poner en producción en caso de desastre en un tiempo menor que si tuviéramos que restaurar una copia (ya sea desde rman o un export). Restaurar una copia desde fichero tarda tiempo, y durante este periodo el sistema no está disponible. Con una base de datos adicional en modo standby no hay nada (o casi nada que restaurar) en caso de desastre. En cuestión de minutos se hace el cambio permitiendo continuidad en el servicio. No nos ofrece las ventajas de rendimiento de un cluster o la seguridad del espejo pero la relación de costes de tiempo y licencia versus ventajas. Punto de vista global • Disponemos de una copia de la base de datos de forma remota, que podemos contabilizar como segundo juego de copias. • A diferencia de un simple backup, la copia se mantiene viva y los datos son actualizados con mayor frecuencia. • En caso de desastre la podemos usar en cuestión de minutos sin esperar a restaurar un backup entero, ya sea lógico(export) o físico(rman). • Sirve como entorno de pruebas más real para la prueba de parches y estimación de tiempos. El volumen de datos es idéntico. Punto de vista técnico • Los cambios en la base de datos principal se captura en los archivos de redo log. • Los archivos de redo no son permanentes, son sobre escritos de forma rotativa (en este estado aún no se copia al segundo servidor). • Se hace una copia del redo log. La copia permanente se llama archive log. • Los archive logs(copias de redo log) se transfieren al servidor en standby. En sistemas linux por ejemplo podemos hacerlo mediante rsync. • Se aplican los archive logs transferidos a la base de datos en standby quedando actualizada. Como trabaja DBSure DBSure consta de 2 partes, la primera que es el Cliente que trabaja con el Servidor de Producción, y la Segunda que trabaja con el Servidor Standby. La principal tarea que tiene es enviar archivelogs del servidor de Producción hacia el Servidor Standby, echo esto DBSure Server pega automáticamente los archives en el Servidor Standby y verifica que los Archives se hayan pegado correctamente Servidor Standby Servidor Producción Conexión a Servidor Standby Conexión a Servidor de Producción Envio de Archivelogs DBSure Client DBSure Server Características principales de DBSure • Esta Creado con Java • Trabaja sobre Sistemas Operativos Windows, Linux/Unix. • Su manejo es puro comandos en esta versión. • Trabaja con Bases de Datos RAC e Instancias Simples de BD • Cuando se trabaja con Bases de Datos RAC solo en necesario configurar el cliente en un Nodo. • Trabaja con Bases de Datos sobre ASM o Bases de Datos que tienen sus Archives sobre File System. • Trabaja con FRA (Fast Recovery Area) • Verifica y Transmite Automáticamente los Archives hacia el Servidor Standby. • Envía correo diario de alertas sobre la transmisión de Archives del día anterior hasta el momento de envió. • No necesita un espacio muy grande para almacenar los archives que serán enviados al Servidor Standby, así como también en el Servidor Standby. • No es necesario un cliente aparte de SSH o carpetas compartidas. Tipos de Bases de Datos Soportados puede ser usado con: • Oracle Database Express Edition. • Oracle Database Standard Edition One. • Oracle Database Standard Edition. • Oracle Database Enterprise Edition. Versiones de Bases de Datos Soportados hasta el momento se han echo pruebas con bases de datos: • 10g • 11g Requerimientos de Hardware, Software, y Sistema Operativo Hardware RAM: 50MB Espacio: se debe estimar el tamaño de los archives por la cantidad de los mismos que se desea mantener en la carpeta de DBSure como máximo. Software Trabaja con Java, la versión mínima que necesita es el jdk1.4 que viene con la versión de Oracle 10g y en las versiones 11g trabaja con el JDK 1.5 que también esta incluido en la Base de Datos. Sistema Operativos Trabaja sobre Windows y Linux, no se necesita que tenga instalado un jdk aparte, se puede usar el JDK que viene con el Gestor de Base de Datos. Es necesario tener 2 puertos libres para que DBSure se pueda comunicarse y enviar los archivelogs. Configuración de DBSure Cliente para la configuración del archivo configClient.properties, En el servidor donde se encuentra la Base de Datos de Producción se debe de considerar lo siguiente: #app.type nos sirve para indicar a DBSure si se esta ejecutando en el Servidor de Producción o en el Servidor Standby, en este caso como es cliente debe de estar en el servidor de producción y el valor que debe de tomar es NODE app.type=NODE #app.operating.system: indicamos si vamos a ejecutar sobre WINDOWS o LINUX app.operating.system=WINDOWS #app.standby.port: podemos indicar que puerto va a usar para la comunicación de DBSure cliente con DBSure Server. app.standby.port=8093 #app.standby.portft: indicamos que puerto va a usar para el envió de Archivos de DBSure cliente hacia DBSure Server. app.standby.portft=8094 #app.node.archives.number.process: es el numero de archivelogs que se procesaran en una ejecución. app.node.archives.number.process=10 #Hora que no se tomara en cuenta por tiempo que toma backup formato hh24mi según el ejemplo le indicamos a DBSure que nos envié Archivelogs desde las 05:00 am hasta las 06:00 am #0500 => 05:00:00 #0600 => 06:00:00 #app.node.time.out.begin: puede ser usado si requerimos que exista un lapso de tiempo en el que no queremos que se ejecute DBSure en este caso es la hora de inicio expresado en HH24MI app.node.time.out.begin=0500 #app.node.time.out.begin: es usado con el parametro app.node.time.out.begin en este caso es la hora de fin expresado en HH24MI app.node.time.out.end=0600 #app.node.archives.max.store : numero máximo de archivelogs que se almacenaran en el nodo para no llenar el disco, lo cual significa que si ya se tienen 10 archivelogs DBSure no seguira copiando Archives hasta que disminuya la cantidad de 10 Archives almacenados. app.node.archives.max.store=10 #oracle.node.version : podemos indicar con que versión de Oracle se va a trabajar 10g, 11g, 12c, oracle.node.version=11g #oracle.node.sid : SID de la instancia de Base de Datos de Producción oracle.node.sid=SID PRINCIPAL #oracle.node.ip : Ip del servidor de producción oracle.node.ip=IP PRINCIPAL #oracle.node.port: puerto del listener de la BD de producción. oracle.node.port=1521 #oracle.node.user: usuario de consulta al diccionario, si se usa el tipo de copiado de archivelogs por rman este usuario deberá tener permisos para la ejecución de backups rman.. oracle.node.user=USER PRINCIPAL #oracle.node.password: password del usuario principal deberá estar encryptado. oracle.node.password=password #oracle.node.path.base: ruta de ORACLE_BASE. Si esta en Windows el carácter separador de carpetas deberá ser / ejem: c:/oracle/product/11.1.0 oracle.node.path.base=path base #oracle.node.path.home: ruta de ORACLE_HOME.Si esta en Windows el carácter separador de carpetas deberá ser / ejem: c:/oracle/product/11.1.0 oracle.node.path.home=path home #oracle.node.type.copy.archive: Podemos configurar que tipo de copiado de archivelogs se puede usar; RMAN si el copiado de archives va a ser por medio de rman(casos que se puede usar son en File System y también para ASM), ASMCMD solo en 11g a mas y si el copiado de archives va a ser de ASM, COPY si los archives están sobre FileSystem : (RMAN,ASMCMD,COPY) oracle.node.type.copy.archive=COPY #Usar los siguientes parámetros solo cuando se use el tipo de copiado ASMCMD, para lo cual tenemos que incluir la ruta de grid o donde esta asmcmd, así como el SID de ASM. Si esta en Windows el carácter separador de carpetas deberá ser / ejem: c:/oracle/product/11.1.0 #oracle.node.asm.path.home=/u01/app/oracle/product/11.2.0/grid #oracle.node.asm.sid=+ASM #oracle.standby.ip : IP donde va a estar el servidor Standby oracle.standby.ip=IP SERVER STANDBY #Configuraciones que se tiene que ingresar para que nos envié correos de reportes, el password deberá estar encryptado email.server=127.0.0.1 email.port=25 email.user=eviza email.password=password email.fromuser=eviza@localhost email.touser=eviza@localhost #parametro en el que vamos a indicar a que hora todos los dias necesitamos que nos envie un reporte app.node.schedulers.execute.time=0600 Configuración de DBSure Server para la configuración del archivo configServer.properties, En el servidor donde se encuentra la Base de Datos Standby se debe de considerar lo siguiente: #app.type nos sirve para indicar a DBSure si se esta ejecutando en el Servidor de Producción o en el Servidor Standby, en este caso como es Server debe de estar en el servidor standby y el valor que debe de tomar es SERVER app.type=SERVER #app.operating.system: indicamos si vamos a ejecutar sobre WINDOWS o LINUX app.operating.system=WINDOWS #app.standby.port: podemos indicar que puerto va a usar para la comunicación de DBSure cliente con DBSure Server. app.standby.port=8093 #app.standby.portft: indicamos que puerto va a usar para el envió de Archivos de DBSure cliente hacia DBSure Server. app.standby.portft=8094 #el numero de archives que procesara DBSure en el servidor standby app.standby.archives.number.process=10 # numero total de nodos que se tiene en producción, sino esta en RAC ingresar el numero 1 app.standby.total.number.nodes=1 #oracle.standby.version: podemos indicar con que versión de Oracle se va a trabajar 10g, 11g, 12c, oracle.standby.version=11g #oracle.standby.sid : SID de la instancia de Base de Datos Standby oracle.standby.sid=SID STANDBY #oracle.standby.ip : Ip del servidor Standby oracle.standby.ip=IP STANDBY #oracle.standby.port: puerto del listener de la BD Standby. oracle.standby.port=1521 #oracle.standby.user: mismo usuario que se usa en Produccion en DBSure cliente. oracle.standby.user=USER DBA #oracle.standby.password: password del usuario principal deberá estar encryptado. oracle.standby.password=PASSWORD USER DBA #oracle.standby.path.base: ruta de ORACLE_BASE. Si esta en windows el caracter separador de carpetas debera ser / ejem: c:/oracle/product/11.1.0 oracle.standby.path.base=path base #oracle.standby.path.home: ruta de ORACLE_HOME. Si esta en windows el caracter separador de carpetas debera ser / ejem: c:/oracle/product/11.1.0 oracle.standby.path.home=path oracle home #nombre del SID de producción oracle.node.sid=SID INSTANCIA DE PRODUCCION #Configuraciones que se tiene que ingresar para que nos envié correos, el password deberá estar encryptado email.server=127.0.0.1 email.port=25 email.user=eviza email.password=password email.fromuser=eviza@localhost email.touser=eviza@localhost