Etiqueta: Oracle

pasos para realizar un respaldo del aplicativo del EBusiness Suite R12 con un tar

En este caso esto se aplico en este ambiente de EBusiness Suite R12
Ruta: /u01/oracle
Sentencia:
 nohup tar czvf mdc62csi_apps_inst_07jun15.tar.gz apps inst &
Tiempo aproximado: 1 hora
1
2
3
4
El aplicativo es mucho mas sencillo de respaldar que la base de datos, ya que consta de archivos estaticos que son solo de lectura

Como matar un proceso de un usuario en una base de datos Oracle

Para hacer esto es con el siguiente query
como matar el proceso de un usuario en una base de datos oracle
como matar el proceso de un usuario en una base de datos oracle

Scripts de depuracion y monitoreo de archivelogs

Aqui esta un script que sirve para limpiar los archivelogs de RMAN para evitar que se llene:

 

#!/bin/ksh
################################################################################ #############################
#
# rman_backup.sh
#se conecta a la base de datos a travez de rman y borra archivelogs expirados y obsoletos, ademas de las copias, se puede modificar para adaptarse a las necesidades
# se deben de cambiar las variables para que coinsida con los parametros de oracle
############################################################################### #############################

ORACLE_SID=Instanciadeoracle
DATEIS=`date +»%Y»»%m»»%d»_»%H»»%M»»%S»`
ORACLE_HOME=/u01/app/oracle/product/11.2.0/db
#LD_LIBRARY_PATH=/u01/app/oracle/product/11.2.0/lib:/u01/app/oracle/product/11.2 .0/ctx/lib
PATH=$PATH:${ORACLE_HOME}:${ORACLE_HOME}/bin
LD_LIBRARY_PATH=/u01/app/oracle/product/11.2.0/db/lib
export ORACLE_SID
export ORACLE_HOME
export LD_LIBRARY_PATH
export PATH

rman target / <<EOF
spool log to /home/oracle/scripts/julio/logs/limpialogs${DATEIS}.log
run {
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;
allocate channel for maintenance type disk;
DELETE NOPROMPT OBSOLETE DEVICE TYPE DISK;
DELETE NOPROMPT COPY DEVICE TYPE DISK;
DELETE NOPROMPT EXPIRED ARCHIVELOG ALL;
allocate channel for maintenance device type ‘sbt_tape’;
CROSSCHECK ARCHIVELOG ALL;
CROSSCHECK BACKUP;
CROSSCHECK COPY;
delete NOPROMPT FORCE obsolete;
DELETE FORCE NOPROMPT BACKUPSET;
DELETE NOPROMPT FORCE COPY;;

}
exit
EOF
mailx -s «Se limpiaron los logs del artus» maildeladmin@dba.mx < /home/oracl e/scripts/julio/logs/limpialogs${DATEIS}.log

 

 

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

asignar símbolos y puntuación en los passwords de Oracle

passwords de Oracle
passwords de Oracle

Nunca puedes hacer un password lo suficientemente fuerte, pero por lo menos lo puedes intentar, teniendo por lo menos una letra mayúscula, una minúscula, un numero un símbolo o un punto, que sea mayor de ocho caracteres, con eso probablemente sea suficientemente seguro.

existe una diferencia básica al momento de definir la contraseña con orapwd y entre sqlplus

si estas cambiando la contraseña desde el sqlplus, necesitas usar la comillas doble al rededor del password

para poder cambiar los passwords de Oracle puedes hacerlo de la siguiente manera

para orapwd:

$ORACLE_HOME/dbs $ orapwd file=orapwtest password=”My1s!pass” entries=40 force=y
-bash: !pass”: event not found

$ORACLE_HOME/dbs $ orapwd file=orapwtest password=’My1s!pass’ entries=40 force=y

Changed successfully.

para sqlplus:

SQL> alter user sys identified by ‘My1s!pass’;
alter user sys identified by ‘My1s!pass
*
ERROR at line 1:
ORA-00988: missing or invalid password(s)

SQL> alter user sys identified by “My1s!pass”;

User altered.

Listo

Como corregir las tablas fragmentadas de Oracle

Como corregir las tablas fragmentadas de Oracle

¿Cómo encontrar la fragmentación de las tablas en la base de datos?

 

¿Qué es la fragmentación de datos?
Si a una tabla únicamente se somete a inserts, no habrá ninguna fragmentación. La fragmentación viene solo cuando hacemos deletes/updates a la tabla.
El espacio que se libera durante las operaciones «no-inserts» no son usadas inmediatamente (algunas veces jamás se usaran). Esto deja huecos en la tabla que resultan en fragmentación.

Como corregir las tablas fragmentadas de Oracle

Para tener esto más claro, necesitaremos saber cómo Oracle maneja los espacios para las tablas.
Los campos de las tablas no se almacenan de forma contigua, o si los campos están divididos en más de un bloque, el performance disminuye debido a que esos campos requieres bloques de acceso adicionales.

 

Nota: la fragmentación de las tablas son diferentes a la fragmentación de archivos, cuando se realizan muchas operaciones DML (Data manipulation language) en una tabla, la tabla se fragmenta, debido a que las DML no liberan el espacio de la tabla debajo de la HWM (High Water Mark)

 

HWM= High water mark, es la última parte de una tabla que le indica al cursor que hasta allí llego la tabla y contiene la cantidad de registros

 

Cada vez que la información crece, elimina el bloque donde está el HWM y recreando otro HWM cuando termina de incrementar el espacio, estos bloques donde estaban los HWM’s no ocupan casi nada de espacio, pero después de muchísimo uso y mucho tiempo ya pueden ser significativos en el tiempo de lectura

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.

Tener un Disaster Recovery Plan de Oracle cloud services

oracle cloud services
oracle cloud services

Buscando una manera de tener un sistema de DRP (Disaster Recovery Plan) he evaluado diferentes métodos diferentes como tener una infraestructura igual a la productiva en otra ubicación física y estar sincronizando cada cierto tiempo en caso que se lleguen a perder datos de la base de datos.

amazon oracle cloud services

Solo que al evaluar el RPO (Recovery Point Objective) y el RTO (Recovery Time Objective) no es tan buena opción, sin tomar en cuenta el gasto de la infraestructura

 

Dato interesante: según la revista Gardner el 90% de las empresas que pierden bases de datos sin un DRP se van a la bancarrota.

Read more

activar el Automatic Memory Management (AMM) – automatic memory manager oracle

automatic memory manager oracle
automatic memory manager oracle

Activar el Automatic Memory Management (AMM)

En algunos casos, cuando no estas seguro de cuanta memoria asignar a tu base de datos Oracle lo mas recomendable es activar los parámetros de » automatic memory manager oracle »

¿Por que activar esta opción? ¿no es mejor asignarle toda la memoria que pueda?

La respuesta sencilla y rapida es ¡NO! no siempre mas es mejor, debido a cuestiones internas de Oracle la memoria asignada tiene que estar bien afinada (tunning) ya que si tiene mas de la que ocupa, puede disminuir el performance de la aplicación.

Hacer esto es tan sencillo como cambiar el parámetro de base de datos SGA_TARGET = 0

haciendo esto le estamos diciendo al engine de Oracle que administre la memoria total a lo mas óptimo

SQL> show parameter target

NAME                                               TYPE        VALUE
———————————— ———–       ——-
archive_lag_target                                     integer     0
db_flashback_retention_target                  integer     1440
fast_start_io_target                                   integer     0
fast_start_mttr_target                                integer     0
memory_max_target                                 big integer 26048M
memory_target                                         big integer 0
parallel_servers_target                              integer     2048
pga_aggregate_target                               big integer 6502M
sga_target                                                big integer 19520M

SQL> ALTER SYSTEM SET MEMORY_MAX_TARGET = 16384M scope=spfile ;

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 …