Etiqueta: falla

Como empezar con Oracle ASM

balancear datos no es tan fácil como suena
balancear datos no es tan fácil como suena

Cuando tienes o decides instalar ASM en tu instancia de base de datos y estas acostumbrado a manejarlo con Datafiles, a muchos nos parece un gran cambio y otros tantos no lo aceptan tan facil ya que implica cambiar el paradigma con el que estamos acostumbrados a trabajar, los primeros pasos para como empezar con Oracle ASM, son los siguientes:

Oracle ASM
Oracle toma el control completo de los discos duros, a los cuales no podras accesar de forma natural como siempre, para poder accederlos ocupas entrar por medio del comando ‘ asmcmd ‘ dentro de este comando puedes utilizar lo basico como ‘ ls, lsdg, cp, cd, pwd, etc ‘ y veras los discos duros conectados como si se trataran de carpetas de Linux.
ahora, a un disco duro fisico se le conoce como DISK, y tu creas los datafiles sobre estos discos duros, alli iran creciendo y dividiendose de forma automatica, cuando el disco duro se llena, te marcara que los tablespaces ya no pueden crecer (como pasa con los tablespace mismos), siguiendo la misma logica que los tablespaces, cuando los discos duros se llenan puedes adjuntar otro disco duro para que continue creciendo como si fuera un mismo espacio, al conjunto de estos discos se le conoce como ‘ DISKGROUP ‘
Siguiendo la lógica de los datafiles, puedes agregarle unidades a los diskgroups, moverlos, eliminarlos, etc.
Ahora lo importante, la parte mas «tricky», cuando tienes una base de datos con ASM, a tus tablespaces los creas como siempre, pero a la hora de ponerle la ruta donde se va a grabar, pones ‘+ASM1/usuarios’ y eso creara un tablespace de usuarios en el nodo1 del ASM (esto aplica en BD de RAC)
cuando trabajas con ASM y quieres modificar las propiedades del ASM (como agregar/eliminar discos, acceder al asmcmd, ejecutar el ambiente gráfico de asmca y todo eso) no puedes acceder de la forma tradicional, tendrás que re-exportar las variables de ORACLE_HOME y ORACLE_SID, solamente cuando quieras moverle al ASM
para saber cual es el ORACLE_HOME del asm, tienes que escribir:
cat /etc/oratab | grep ASM 
eso te despliega:
+ASM1:/oracle/grid1:N          # line added by Agent
Con eso sabemos que tu ORACLE_HOME de tu instancia de ASM es /oracle/grid1
luego vuelves a definir las variables que anteriormente mencione:
[oracle@testserver]$ export ORACLE_HOME=/oracle/grid1f
[oracle@testserver]$ export ORACLE_SID=+ASM1
listo, con esto puedes ejecutar:
asmcmd
y dentro de alli puedes ver «dentro» de tus unidades de ASM, como si fueran carpetas de Linux y ademas puedes ejecutar » sqlplus / as sysasm «
Si no defines las variables y tratas de entrar como syasm te aparecerá el error » ORA-01031: insufficient privileges » al intentar ingresar.
Fácil… ¿no?

El Oracle Enterprise Manager no inicia al terminar la instalación en Oracle Linux 6.5

El Oracle Enterprise Manager no inicia al terminar la instalación
El Oracle Enterprise Manager no inicia al terminar la instalación

Hace poco al instalar Oracle 11g en Oracle Linux 6.5 me tope con que al finalizar la instalación, no inicia el Enterprise Manager por errores del catalogo del enterprise manager dentro de la BD, a base de muchas pruebas y errores, ya di con el orden correcto para borrar el catalogo y volverlo a crear.

 

El Oracle Enterprise Manager no inicia al terminar la instalación

explicación: el Enterprise Manager es una consola web que te permite administrar completamente la instancia de base de datos e incluso administrar el ambiente RAC, el Enterprise Manager se inicia mediante su propio servidor web, el servicio se llama «emagent» y para prender y apagar el servicio se utiliza «emctl».

 

Para que el «emagent» pueda inicializar, necesita conectarse a la base de datos que se va a vigilar, para hacer esto ocupa su propio usuario (SYSMAN por default) y una serie de esquemas y tablas, a estas se les llama «repositorios», al instalar el Oracle 11g en Oracle Linux 6.5 el Enterprise Manager no inicia, esto viene en la nota de metalink 470246.1 y el bug 6111734.

 

Para solucionarlo, primero se elimina manualmente el usuario del repositorio y otras tablas, en este orden (con un usuario con permisos de sysdba):

Read more

Diferencia entre una corrupción lógica contra una corrupción física en Oracle

corrupción lógica contra una corrupción física en Oracle

Cuando hablamos de corrupción lógica, existen muchas fallas que se pueden definir como los siguientes tipos:

Modificación accidental o incorrecta de los datos de la aplicación, causada por un usuario o la misma aplicación.

En este escenario, por la falla o el error de un usuario o un aplicativo puede resultar en un bug, esto normalmente ocurre por cambios de información dentro del a base de datos como valores erróneos, un ejemplo podría ser cuando un DBA realiza un update pero se olvida de formular correctamente el query y en ves de solo modificar un solo row, accidentalmente modifica (y le da commit) a cientos de campos.

 

La corrupción de bloques vienen en dos tipos diferentes:

Corrupción física (media corrupt blocks): son bloques que obviamente tienen un daño en el disco duro físico. Cuando Oracle detecta una inconsistencia entre el CSN (Commit Secuence Number) en el encabezado (header) del bloque y el pie del bloque (footer) o en la estructura del bloque no esta presente o esta dañado, si esto ocurre Oracle muestra un error «ORA-01578: ORACLE data block corrupted» el intento de lectura fallara y lo escribe en el alert_log y en el trace_file, las corrupciones físicas son el resultado de problemas de infraestructura y esto puede presentarse por una gran variedad de razones. Las mas comunes son corrupciones del cache de los arreglos del storage, firmware del arreglo, bugs del filesystem, fallas de batería de la controladora de discos, fallas eléctricas, entre cientos de motivos mas, las corrupciones pueden ser reparadas usando el Oracle Recovery Manager, con un comando llamado blockrecover.

 

Las corrupciones de bloque lógicas: son bloques que tanto el header como el footer del CSN se encuentran en buen estado, pero tienen otra tipo de inconsistencia interna, por ejemplo cuando la estructura del header se encuentra asociado con un campo en el bloque, pero es diferente al numero del bloque, otro ejemplo es si el tamaño del bloque difiere de lo que dice en el header, al ocurrir esto puede lanzar el error ORA-00600, que es el error mas temido de los DBA’s esta excepción se escribirá en el alert y en el trace file. al igual que la corrupción física esto puede deberse a una enorme cantidad de causas diferentes, solo que tiende a ser una falla en el software de Oracle como un bug o corrupción de cache.

Previniendo ataques XSS (cross-site scripting) facilmente en un servidor apache

El dia de ayer se hizo una junta con las personas que estan auditando el lugar donde estoy trabajando y nos entregaron una larga lista de agujeros de seguridad dentro de nuestros sistemas, ya cubrí prácticamente todos los puntos referente mente a las bases de datos y me ofrecí a ayudar a reparar los puntos de uno de los servidores web que estaban marcados como críticos.

Previniendo ataques XSS

Al leer el reporte estos servidores son muy propensos a recibir un ataque que se llama «cross-site scripting» o «XSS» que debido a un mal desarrollo dentro de las paginas PHP son propensos a que puedan hacer referencia a un script externo (en el servidor del atacante) y ejecutarlo como si se encontrara dentro del servidor con todos los permisos de ejecución.

En la lista que me dieron, aparece mas de 400 puntos vulnerables dentro del código y corregirlo todo representa todo un desarrollo completo, asi que me puse a resolverlo desde un nivel de abstracción mas arriba y encontré que es posible parchar el servidor web apache para evitar que pueda recibir estos ataques.

Para hacer esto se instala un modulo extra en la configuración del servidor Apache, un modulo son bloques de código que se le puede agregar al servicio para agregarle características, este modulo se llama mod_security y se puede descargar de http://modsecurity.org

Previniendo ataques XSS
Previniendo ataques XSS

Para facilitar las cosas pondré el log que entregue en el control de cambios

Ver el resto de esta pagina …

Read more

Configurar replicacion en MySQL

Instalacion de la replicacion de MySQL en ambiente maestro-esclavo para alta disponibilidad

Crear instancia de DataGuard

Nota: la instalacion de Oracle RDBMS se instala en la BD primaria y Standby, en este caso en la standby solo tiene la instalacion. …

Desarrollo de aplicación de reconocimiento de rostros y emociones

Este es uno de los desarrollos hechos por nuestro equipo, tiene como funcionalidad ser un demo de la capacidad de nuestra …