jueves, 5 de diciembre de 2013

Storage Latency for Oracle DBAs

Latencia en el Almacenamiento para el análisis desde el punto de vista  DBAs de Oracle.


Dejo aquí un enlace de la presentación que realizo  Luca Canali en las conferencias  UKOUG 2013.

Descarga la presentación.

domingo, 13 de octubre de 2013

"How to" de como modificar la IP Publica y la VIP en Oracle Clusterware 11g R2 en AIX

Os dejo una pequeña chuleta de como realizar los cambios de las IP's Pública y sus correspondientes VIP en un sistema con Oracle Clusterware 11g R2 (11.2.0.2) bajo servidores AIX (LPAR's).

Datos de entorno de la Base de datos Oracle 11g R2 en 2 nodos en AIX
Nombre Nodo1: bdrac0
Nombre Nodo2: bdrac1
Interface Red Publica:  en0
10.200.1.20 bdrac0 bdrac0.lacafetera.com
10.200.1.30 bdrac1 bdrac1.lacafetera.com
Interface Red VIP: en0  (Se montará como alias en el interface en0)
10.200.1.21 bdrac0-vip bdrac0-vip.lacafetera.com
10.200.1.31 bdrac1-vip bdrac1-vip.lacafetera.com
Información Cluster
Nombre SCAN– bdrac-cl.scan.lacafetera.com
Nombre database : BDRAC
Instancia 1 – bdrac1
Instancia 2 – bdrac2
Nodo1 – bdrac0
Nodo2 – bdrac1
Redireccionamiento a nuevas IP's (Atención afecta el cambio de la subnet Id):
10.200.1.20/255.255.252.0 bdrac0 –> 10.200.30.40/255.255.252.0
10.200.1.30/255.255.252.0 bdrac1 –> 10.200.20.50/255.255.252.0
10.200.1.21/255.255.252.0 bdrac0-vip –> 10.200.30.41/255.255.252.0
10.200.1.31/255.255.252.0 bdrac1-vip –> 10.200.20.51/255.255.252.0
Cambio de Gateway
Gateway 10.200.1.5 -> 10.200.20.5



Pasa a detallar los pasos a seguir.



0) Realizar un backup  (Más vale prevenir que llorar)
Realizar un mksysb de cada una de las LPARS's
Realizar un backup full de la base de datos Oracle
1) Desactivación del HAS y CRS en el rebote de los servidores AIX
Desactivamos el arranque automatico de CRS y HAS en BDRAC0 y BDRAC1
su - root
cd /u01/app/11.2.0/grid/bin
./crsctl disable has
./crsctl disable crs
2) Paramos los servicios asociados a la base de datos a excepción de los servicios asociados a la pila del CRS
The database and nodeapps (on all nodes) are stopped.
su - oracle
srvctl stop database -d BDRAC
srvctl stop nodeapps -n bdrac0
srvctl stop nodeapps -n bdrac1
3) Cambiamos la IP publica en el OCR (La Subnet Id asociada a la IP Publica)
Previamente realizamos un backup del ocr
su - root
cd /u01/app/11.2.0/grid/bin
El backup lo realizamos en los 2 servidores AIX por precaución.
./ocrconfig -showbackup
./ocrconfig -export /u01/backup/data/backup_20131013.ocr
Obtenemos información de la configuracion
su - root
cd /u01/app/11.2.0/grid/bin
oifcfg getif
./srvctl config network
./srvctl config nodeapps -a
Procedemos a realizar el cambio (Primero eliminamos  la antigua y luego la añadimos la nueva)
oifcfg delif -global en0/10.200.0.0
oifcfg setif -global en0/10.200.20.0:public
Para cambiar la SubnetId 
su - root
srvctl modify network -S 10.200.20.0/255.255.252.0/en0
Modificar el listener del ASM de bdrac0 (Conexión del ASM)
vi /u01/app/11.2.0/grid/network/admin/endpoints_listener.ora Por 10.200.20.40
Modificar el listener del ASM de bdrac1 (Conexión del ASM)
vi /u01/app/11.2.0/grid/network/admin/endpoints_listener.ora Por 10.200.20.50
4) Modify the VIP address BDRAC0
srvctl stop instance -d BDRAC -n bdrac0
srvctl stop vip -n bdrac0 -f
su - root
cd /u01/app/11.2.0/grid/bin
srvctl modify nodeapps -n bdrac0 -A bdrac0-vip/255.255.252.0/en0
./crsctl stat res ora.bdrac0.vip -p
./srvctl config nodeapps -n bdrac0
srvctl start vip -n bdrac0
srvctl start instance -d BDRAC -n bdrac0
5) Modify the VIP address BDRAC1
srvctl stop instance -d BDRAC -n bdrac1
srvctl stop vip -n bdrac1 -f
su - root
cd /u01/app/11.2.0/grid/bin
srvctl modify nodeapps -n bdrac1 -A bdrac1-vip/255.255.252.0/en0
./crsctl stat res ora.bdrac1.vip -p
./srvctl config nodeapps -n bdrac1
srvctl start vip -n bdrac1
srvctl start instance -d BDRAC -n bdrac1
6) Modificamos el parametro local_listener a nivel de spfile
Modificar el Local Listener a nivel de Oracle
su - oracle
sqlplus "/ as sysdba"
alter system set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.200.20.41)(PORT=1521))))' sid='BDRAC1' scope=BOTH;
alter system set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.200.20.51)(PORT=1521))))' sid='BDRAC2' scope=BOTH;
alter system register;
7) Actualización en el DNS de los registros asociados a la IP'S del cambio
Actualizar en el DNS los registros asociados a las IP's Publicas de ambos nodos - Las IP's VIP de ambos nodos - Las IP's de SCAN
8) Modicamos las IP's de SCAN a nivel de Oracle
su - root
cd /u01/app/11.2.0/grid/bin
Verificar con que 3 ip's resuelve el registro de DNS del SCAN
nslookup bdrac-cl-scan.lacafetera.com
./srvctl config scan
Paramos el SCAN Listener y el SCAN
./srvctl stop scan_listener 
./srvctl stop scan
./srvctl status scan
./srvctl status scan_listener
Actualizamos el  SCAN
./srvctl modify scan -n bdrac-cl-scan.lacafetera.com
./srvctl config scan
./srvctl start scan 
./srvctl start scan_listener
./srvctl modify scan_listener -u
9) Paramos el CRS en BDRAC0
su - root
cd /u01/app/11.2.0/grid/bin
./crsctl stop crs
10) Paramos el CRS en BDRAC1
su - root
cd /u01/app/11.2.0/grid/bin
./crsctl stop crs
11) Realizamos el cambio de forma estatica de las IP's en las LPAR's
Actualizar el fichero en el /etc/hosts la IP Publica  bdrac0  (En ambos servidores aix )
Actualizar el fichero en el  /etc/hosts la IP VIP  bdrac0-vip (En ambos servidores aix)
Actualizar el fichero en el /etc/hosts la IP Publica  bdrac1  (En ambos servidores aix )
Actualizar el fichero en el  /etc/hosts la IP VIP  bdrac1-vip (En ambos servidores aix)
Hacer el cambio de IP Publica a nivel de Sistema Operativo en el nodo bdrac0 smitty mktcpip   (Con el asistente)
Hacer el cambio de IP Publica a nivel de Sistema Operativo en el nodo bdrac1 smitty mktcpip  (Con el asistente)
Si lo queremos realizar con linea de comando la LPAR
mktcpip -h'bdrac0' -a'10.200.20.40' -m'255.255.252.0' -i'en0'  -g'10.200.20.5' 
mktcpip -h'bdrac1' -a'10.200.20.50' -m'255.255.252.0' -i'en0'  -g'10.200.20.5' 
12) Restart de las 2 LPAR's BDRAC0 y BDRAC1
Activamos el arranque automatico de CRS y HAS en BDRAC0 y BDRAC1
su - root
cd /u01/app/11.2.0/grid/bin
./crsctl enable has
./crsctl enable crs
Rebotamos bdrac0 y bdrac1 Shutdown -Fr now




Información Útil:

Página calculo subnetid: http://www.subnet-calculator.com/subnet.php?net_class=A
Nota metalink:  283684.1  How to Modify Private Network Information in Oracle Clusterware
Nota metalink:  276434.1   How to Modify Public Network Information including VIP in Oracle Clusterware
Nota metalink: 952903.1 How to update the IP address of the SCAN VIP resources (ora.scan<n>.vip) 

martes, 24 de septiembre de 2013

Error ORA-15183 ASMLIB no arranca una Instancia en el Cluster RAC

Descripción del problema:

 
Error generado al arrancar una instancia de Oracle dentro de un Cluster RAC Oracle 11g R2.

                ORA-15183: ASMLIB initialization error [driver/agent not installed]
                WARNING: FAILED to load library: /opt/oracle/extapi/64/asm/orcl/1/libasm.so 

Verificación y Resolución: 

1)Verificar que el binario "oracle" tenga los permisos y grupo de sistema operativo correcto:

[oramobm@server1 ~]$ cd  $ORACLE_HOME/bin/

[oramobm@server1 bin]$ ls -ltr oracle

-rwsr-s--x 1 oramobm asmadmin 219791250 sep 20 14:22 oracle

Nota: El comando para poner estos permisos a nivel de sistema operativo son: chmod 6751 oracle 

Si vemos que no corresponde los permisos y el grupo deberemos de utilizar el shell script: setasmgidwrap (Se encuentra en el home del Grid)


[grid@server1 bin]$ cd $ORACLE_HOME/bin
[grid@server1 bin]$ ./setasmgidwrap o=/u01/app/oracle/product/11.2.0.2/bin/oracle


Este shell script  lo que hace es poner los permisos y asignar el grupo correcto al binario de oracle.

2)  Verificar el grupo correcto para el acceso a los discos en ASM (Nivel /etc/group y a nivel de /etc/sysconfig/oracleasm)


Para ello verficamos la configuración a nivel de la seguridad a nivel de Sistema Operativo y después de la configuración de ASM

[root@server1 sysconfig]# cat /etc/group |grep asm

asmadmin:x:506:grid
asmdba:x:508:grid,oramobm
asmoper:x:509:grid

[root@server1 sysconfig]# pwd
/etc/sysconfig

[root@server1]# ls -ltr oracleasm
-rw-r--r-- 1 root root 780 Apr 23  2012 oracleasm

[root@server1 sysconfig]# cat oracleasm
#
# This is a configuration file for automatic loading of the Oracle
# Automatic Storage Management library kernel driver.  It is generated
# By running /etc/init.d/oracleasm configure.  Please use that method
# to modify this file
#

# ORACLEASM_ENABELED: 'true' means to load the driver on boot.
ORACLEASM_ENABLED=false

# ORACLEASM_UID: Default UID owning the /dev/oracleasm mount point.
ORACLEASM_UID=grid

# ORACLEASM_GID: Default GID owning the /dev/oracleasm mount point.
ORACLEASM_GID=oinstall

# ORACLEASM_SCANBOOT: 'true' means fix disk perms on boot
ORACLEASM_SCANBOOT=true

# ORACLEASM_SCANORDER: Matching patterns to order disk scanning
ORACLEASM_SCANORDER="emcpower"

# ORACLEASM_SCANEXCLUDE: Matching patterns to exclude disks from scan
ORACLEASM_SCANEXCLUDE="sd"

[root@server1 sysconfig]# 

------------------------------------------------------------------------------------------------------------


3) Verficamos que este correcto los permisos siguientes:

[root@server1 ~]# cd /dev/oracleasm
[root@server1 oracleasm]# ll
total 0
drwxr-xr-x 1 root root     0 Jul 20 21:26 disks
drwxrwx--- 1 grid oinstall 0 Jul 20 21:26 iid

[root@server1 oracleasm]# cd disks
[root@server1 disks]# ll
total 0
brw-rw---- 1 grid oinstall  67,  65 Jul 20 21:26 ASM_DATA01
brw-rw---- 1 grid oinstall  67,  81 Jul 20 21:26 ASM_DATA02
brw-rw---- 1 grid oinstall  67,  97 Jul 20 21:26 ASM_DATA03
brw-rw---- 1 grid oinstall  67, 113 Jul 20 21:26 ASM_DATA04
brw-rw---- 1 grid oinstall   8, 161 Jul 20 21:26 ASM_DATA05
brw-rw---- 1 grid oinstall   8, 145 Jul 20 21:26 ASM_DATA06
brw-rw---- 1 grid oinstall   8, 129 Jul 20 21:26 ASM_DATA07
brw-rw---- 1 grid oinstall   8, 113 Jul 20 21:26 ASM_DATA08
brw-rw---- 1 grid oinstall   8,  97 Jul 20 21:26 ASM_DATA09
brw-rw---- 1 grid oinstall   8,  81 Jul 20 21:26 ASM_DATA10
brw-rw---- 1 grid oinstall   8,  65 Jul 20 21:26 ASM_DATA11
brw-rw---- 1 grid oinstall   8,  49 Jul 20 21:26 ASM_DATA12
brw-rw---- 1 grid oinstall 120, 625 Jul 26 14:34 ASM_DATA13
brw-rw---- 1 grid oinstall  67,   1 Jul 20 21:26 FAD_DATA01
brw-rw---- 1 grid oinstall  67,  17 Jul 20 21:26 FAD_DATA02
brw-rw---- 1 grid oinstall  67,  33 Jul 20 21:26 FAD_DATA03
brw-rw---- 1 grid oinstall  67,  49 Jul 20 21:26 FAD_DATA04
brw-rw---- 1 grid oinstall  65,  65 Jul 20 21:26 FAD_DATA05
brw-rw---- 1 grid oinstall  65,  49 Jul 20 21:26 FAD_DATA06
brw-rw---- 1 grid oinstall  65,  33 Jul 20 21:26 FAD_DATA07
brw-rw---- 1 grid oinstall  65,  17 Jul 20 21:26 FAD_DATA08
brw-rw---- 1 grid oinstall  65,   1 Jul 20 21:26 FAD_DATA09
brw-rw---- 1 grid oinstall   8, 241 Jul 20 21:26 FAD_DATA10
brw-rw---- 1 grid oinstall   8, 225 Jul 20 21:26 FAD_DATA11
brw-rw---- 1 grid oinstall   8, 209 Jul 20 21:26 FAD_DATA12
brw-rw---- 1 grid oinstall   8, 193 Jul 20 21:26 FAD_DATA13
brw-rw---- 1 grid oinstall   8, 177 Jul 20 21:26 FAD_DATA14
brw-rw---- 1 grid oinstall  66, 225 Jul 20 21:26 OCR_VOTE01
brw-rw---- 1 grid oinstall  66, 241 Jul 20 21:26 OCR_VOTE02
[root@server1 disks]#

[root@server1 disks]# cd ..

[root@server1oracleasm]# pwd
/dev/oracleasm 

[root@server1 oracleasm]# ls -ltrad .*
-rw-rw----  1 grid asmdba     0 Jul 20 21:26 .query_version
-rw-rw----  1 grid asmdba     0 Jul 20 21:26 .query_disk
-rw-rw----  1 grid asmdba     0 Jul 20 21:26 .get_iid
-rw-rw----  1 grid asmdba     0 Jul 20 21:26 .check_iid
drwxr-xr-x  4 root root       0 Jul 20 21:26 .
drwxr-xr-x 22 root root   15280 Sep  4 09:03 ..

Estaban ERRONEOS y por eso fallaba !!!!

Resolución: Tener en cuenta que debe de realizarse la validación y cambio en todos los nodos del cluster RAC.

[root@server1 oracleasm]# chown grid:asmadmin .query_version .query_disk .get_iid .check_iid

[root@server1 oracleasm]# ls -ltrad .*
-rw-rw----  1 grid asmadmin     0 Jul 20 21:26 .query_version
-rw-rw----  1 grid asmadmin     0 Jul 20 21:26 .query_disk
-rw-rw----  1 grid asmadmin     0 Jul 20 21:26 .get_iid
-rw-rw----  1 grid asmadmin     0 Jul 20 21:26 .check_iid
drwxr-xr-x  4 root root         0 Jul 20 21:26 .
drwxr-xr-x 22 root root     15280 Sep  4 09:03 ..

[root@server1 oracleasm]# pwd
/dev/oracleasm
[root@server1 oracleasm]# 



Espero que os sirva este post, ya que estuve varias horas para solventar la problemática.

sábado, 14 de septiembre de 2013

Engineered for Extreme Performance.


Actualmente las soluciones actuales que ofrece el portafolio de Oracle orientadas como solución hardware y software todo en uno.

Leer E-book (Actualizado 2013/09) : Oracle Engineered System for Extrem Perfomance

viernes, 13 de septiembre de 2013

Referencia rápida de Oracle 12c

Creo que todas las webs del sector ya están facilitando información sobre la nueva versión de oracle.
La versión 12c, ofrece servicios orientados  ya a la nube.


Os paso una serie de enlaces del SGBDR  Oracle 12c con todas sus funcionales, así como unos posters en formato pdf que harán feliz a + de 1.

Acceso directo nuevas funcionaless Oracle 12c.

Acceso directo referencia rápida de Oracle 12c.





miércoles, 28 de agosto de 2013

Welcome to the hell !!!

Blog de Tecnología Oracle


Lo fácil resulta a veces difícil. Y lo difícil a veces es fácil.