Este artigo trata da definição de conceitos e utilização do ASM – Automatic Storage Management, ferramenta da Oracle para gerenciamento do armazenamento de dados.
Para que serve?
Auxiliar os DBAs nas tarefas do dia-a-dia referentes a alocação e gerenciamento de espaço para o crescimento dos bancos de dados.
Em que situação o tema é útil?
Em ambientes Single Instance ou Real Application Cluster o ASM se mostra muito útil para centralizar o armazenamento e administração de espaços, facilitando bastante as tarefas rotineiras do DBA.
Na primeira parte deste artigo vimos todos os conceitos referentes ao ASM – Automatic Storage Management e já iniciamos uma sessão “Mão na Massa” em que criamos arquivos no sistema operacional para simular raw devices que serão utilizados como discos. Na segunda parte, criamos manualmente uma instância ASM, inclusive verificando se a instância conseguiu “enxergar” os “discos” existentes.
Agora nos falta efetivamente utilizar o ASM. Mostrarei neste artigo como criar e gerenciar disk groups. Vamos lá então!
Gerenciando Disk Groups
Os disk groups são o componente primário do ASM. É o agrupamento de vários discos que passa a ser gerenciado como uma única unidade. O disk group irá armazenar os arquivos do seu banco de dados.
Ao criar um disk group, um tipo deverá ser definido, que é na verdade o nível de redundância aplicado ao disk group. Os tipos de redundância possíveis são: normal, alta ou externa (normal, high ou external). A Tabela 1 mostra as diferenças entre cada tipo.
Tipo de disk group |
Nível de espelhamento suportado |
Nível default |
Normal redundancy |
2-way, 3-way, Unprotected (none) |
2-way |
High redundancy |
3-way |
3-way |
External redundancy |
Unprotected (none) |
Unprotected (none) |
Tabela 1. Tipos de disk group.
No caso de 2-way mirroring, para cada informação armazenada haverá uma cópia (necessários 2 discos), em 3-way mirroring para cada informação armazenada haverá 2 cópias (necessários 3 discos) e para unprotected o ASM não fornecerá nenhum tipo de redundância, pois considera que a redundância é feita externamente (espelhamento pelo hardware ou sistema RAID).
Apenas um detalhe, caso você não defina o tipo de redundância ao criar um disk group, o ASM assumirá automaticamente o tipo “normal”.
Criando Disk Groups
Bem, vamos ao que nos interessa. Primeiramente precisamos verificar quais os discos que estão disponíveis para utilização do ASM. A Listagem 1 apresenta os discos disponíveis, não esqueça de estar conectado na instância ASM.
Listagem 1. Verificando os discos disponíveis.
[oracle@OEL64Node01 ~]$ export ORACLE_SID=+ASM
[oracle@OEL64Node01 ~]$ export ORACLE_HOME=/u01/app/oracle/product/11.1.0/db_1
[oracle@OEL64Node01 ~]$ sqlplus /nolog
SQL*Plus: Release 11.1.0.6.0 - Production on Thu May 13 13:18:47 2010
Copyright (c) 1982, 2007, Oracle. All rights reserved.
SQL> conn / as sysdba
Connected.
SQL> set line 180 pages 9999 timing on
SQL> COL PATH FOR A60
SQL> SELECT GROUP_NUMBER, DISK_NUMBER, MOUNT_STATUS, HEADER_STATUS, STATE, PATH
2 FROM V$ASM_DISK
3 ORDER BY 1, 2;
GROUP_NUMBER DISK_NUMBER MOUNT_S HEADER_STATU STATE PATH
------------ ----------- ------- ------------ -------- ------------------------
0 0 CLOSED CANDIDATE NORMAL /dev/raw/raw8
0 1 CLOSED CANDIDATE NORMAL /dev/raw/raw7
0 2 CLOSED CANDIDATE NORMAL /dev/raw/raw6
0 3 CLOSED CANDIDATE NORMAL /dev/raw/raw5
0 4 CLOSED CANDIDATE NORMAL /dev/raw/raw4
0 5 CLOSED CANDIDATE NORMAL /dev/raw/raw3
0 6 CLOSED CANDIDATE NORMAL /dev/raw/raw2
0 7 CLOSED CANDIDATE NORMAL /dev/raw/raw1
8 rows selected.
Elapsed: 00:00:00.04
...