lunes, 17 de diciembre de 2018

Como Redimensionar un Volumen ADVM File System ACFS

Cuando necesitamos agrandar un File System ACFS, tenemos que fijarnos si tenemos espacio en el volumen. Cuando tenemos un volumen creado con ADVM (ASM Dinamyc Volume Manager) podemos cambiarle el tamaño (resize) por linea de comandos o con herramientas gráficas.
A continuación voy a mostrar como realizar esta tarea por linea de comandos. Estos ejemplos estan realizados en el siguiente ambiente :
Servidor ODA
Version :Oracle Clusterware 12.1.0.2

Si en el Volumen de ADVM esta montado un File System ACFS no se necesita desmontar para redimensionarlo. Sin embargo, no se puede usar el comando volresize del ASMCMD porque da error, hay que ejecutar el comando acfsutil size que redimensiona ONLINE el Volumen y el File System.

Ejemplos:

1 -Antes de ejecutar el redimensionamiento tenemos que tener informacion del volumen. Para ello nos logueamos con usuario grid (dueño de la instalacion del producto Grid Infrastructure) y ejecutamos asmcmd en una terminal que llamaremos Terminal 1
$asmcmd
ASMCMD> volinfo -G DATA -a

Diskgroup Name: DATA
         Volume Name: DATOSPROD
         Volume Device: /dev/asm/datosprod-121
         State: ENABLED
         Size (MB): 102400
         Resize Unit (MB): 64
         Redundancy: MIRROR
         Stripe Columns: 8
         Stripe Width (K): 1024
         Usage: ACFS
         Mountpath: /u01/ACFS

2 - Abrimos otra terminal, Terminal 2. Consultamos desde Sistema Operativo el tamaño del File System, conectados también con usuario grid
[grid@host01 ~]$ df -h /u01/ACFS
Filesystem            Size  Used Avail Use% Mounted on
/dev/asm/datosprod-121

                      100G  1.8G   99G   2% /u01/ACFS

3- Volvemos a Terminal 1, da Error al tratar de redimensionar un Volumen ADVM con ACFS con el comando volresize
ASMCMD> volresize -G DATA -s 409600M DATOSPROD
ORA-15032: not all alterations performed


ORA-15476: ACFS volumes must be resized with the 'acfsutil size' operating system command. (DBD ERROR: OCIStmtExecute)

Los parámetros especificados en el ejemplo son:
-G DATA  : diskgroup
-s 409600M  : tamaño especificando M (Megas, pero puede ser K,M,G,P)
DATOSPROD : Nombre del Volumen

Si el Volumen esta montado en un File System No-ACFS no daria error este comando pero hay que desmontarlo antes de redimensionarlo. 

4 - Ejemplo exitoso de como redimensionar un Volumen ADVM con ACFS, en Terminal 2:
$ acfsutil size +300G -d /dev/asm/datosprod-121 /u01/ACFS
acfsutil size: new file system size: 429496729600 (409600MB)

Los parámetros especificados en el ejemplo son
+300G : cantidad de Gigas a agregar  (puede ser +/- y en K,M,G,P)
-d /dev/asm/datosprod-121   : Device del Volumen
/u01/ACFS  : Punto de montura

5 - Verificamos tamaño actual del volumen en Terminal 1

ASMCMD>volinfo -G DATA -a

Diskgroup Name: DATA
         Volume Name: DATOSPROD
         Volume Device: /dev/asm/datosprod-121
         State: ENABLED
         Size (MB): 409600
         Resize Unit (MB): 64
         Redundancy: MIRROR
         Stripe Columns: 8
         Stripe Width (K): 1024
         Usage: ACFS
         Mountpath: /u01/ACFS

6 - Verificamos tamaño actual del File System en Terminal 2
[grid@host01 ~]$ df -h /u01/ACFS
Filesystem            Size  Used Avail Use% Mounted on
/dev/asm/datosprod-121



                      400G  1.8G   99G   2% /u01/ACFS

Conclusión  : Para cambiar el tamaño de un volumen ADVM  hay que ejecutar el comando acfsutil. El acfsutil aumenta el tamaño del volumen y del filesystem ACFS automaticamente

jueves, 11 de octubre de 2018

ODC Appreciation Day 2018 - SQL Tuning Advisor

ODC es Oracle Developer Community (ex OTN) es la comunidad donde compartimos conocimientos. Hoy es un  dia especial porque  impulsados por Tim Hall generamos un post de algún producto de Oracle que usamos y de esta forma continuamos compartiendo nuestro conocimiento, asi que van a encontrar muchos post con este hashtag  #ThanksODC

Elegi SQL Tuning Advisor porque lo considero la primera herramienta básica que puede ayudar a mejorar la performance de un SQL y sin necesidad de un DBA experto en tuning.

Requiere licencia de Oracle Enterprise Edition y los paquetes de Diagnostic Pack y Tuning Pack. 

Se ingresan una o más sentencias SQL y genera recomendaciones con la justificación y beneficio esperado.

Se puede ejecutar manualmente desde interfaces gráficas : Enterprise Manager Database Console, Enterprise Manager Grid Control, Enterprise Manager Cloud Control, Enterprise Manager Database Express o SQL Developer.
También se puede ejecutar desde plsql con el package  DBMS_SQLTUNE.
Si tenemos una base de datos creada con dbca desde la version 11g se ejecuta mediante una tarea autómatica en ventana noctura diariamente por default. 
Posibles entradas para SQL Tuning Advisor son :
ADDM – SQL’s identificados con mala performance
AWR – SQL’s almacenados en el repositorio
Cursor Cache – Ultimos SQL ejecutados
STS – SQL’s agrupados con su contexto de ejecución

La salida de una tarea de SQL Tuning Advisor es un Reporte con Recomendaciones, que pueden ser Recolectar Estadisticas, Crear Indices, Implementar SQL Profile, Re-estructurar el SQL, Implementar SQL Plan Baseline

Se puede ejecutar por ejemplo seleccionando el SQL con gran uso de recursos desde la solapa de Performance con el boton TUNE SQL


Para interiorizarse más del uso del SQL Tuning Advisor los invito a ver mi webinar gratuito en https://www.orapub.com/webinars 

GRATIS Cómo usar SQL Tuning Advisor