Página Inicial > Ferramentas Oracle, Oracle > Oracle 11 ASM: Grid Infrastructure Standalone Server

Oracle 11 ASM: Grid Infrastructure Standalone Server

Para os desavisados de plantão, apartir do Oracle 11gR2, a utilização do ASM no banco de dados Oracle, é necessário instalar o Grid Infrastructure, não sendo mais possível com os binários do Oracle 11g.

Automatic Storage Management (ASM) é um recurso fornecido pela Oracle no banco de dados Oracle 10g release 1 em diante. ASM tem como objetivo simplificar o gerenciamento de arquivos de banco de dados. Para isso, fornece ferramentas para gerenciar file systems e volumes diretamente do banco de dados, permitindo que os DBAs, possam controlar volumes e discos com instruções de SQL. Assim, os DBAs não precisam de ter habilidades extras em file systems específico ou gerenciadores de volume (que normalmente operam no nível do sistema operacional).

 

Alguns itens que se ganha com a útilização do ASM:

  • Gerência dos discos pelo próprio Oracle, não “precisando” do sysadmin.
  • Vantagem na distribuição de dados e espelhamento de software
  • Poder de automatizar a redistribuição on-line de dados, juntamente com a adição e remoção de discos o sistema mantém cópias redundantes e fornece o podem do RAID.
  • Melhor gerenciamento do discos, causando menos I/O (leitura e escrita nos discos)
  • Funcionalidade RAID Oracle oferece suporte de terceiros multipathing.
  • E muito mais.

Arquitetura:

 

ACFS (Oracle Automatic Storage Management Cluster File System)

É um multi-plataforma, sistema de arquivos escalável, e tecnologia de gerenciamento de armazenamento que se estende ASM, funcionalidade para apoiar
arquivos de consumidores mantidos fora do banco de dados Oracle. O Oracle suporta vários ACFS banco de dados e aplicativo de arquivos, incluindo executáveis, database trace files, alert log, application reports, BFILEs e arquivos de configuração (pfile, spfile). Outros arquivos suportados são de vídeo, texto, áudio, imagens, desenhos de engenharia, e outros de uso geral arquivo de dados de aplicativos.

ADVM (Oracle ASM Dynamic Volume Manager)

Fornece serviços de gerenciamento de volume e um padrão de interface de driver de dispositivo de disco para os clientes. Sistemas de arquivos e outras aplicações baseadas em disco enviar pedidos de I/O para o Oracle ADVM dispositivos de volume como fariam para outros dispositivos de armazenamento em um sistema operacional de fornecedores.

Cenário

Estou partindo do principio que você já tem instalado o Oracle 11g e com um banco de dados em funcionamento, caso você não tenha este ambiente, você pode seguir este procedimento em que eu mostro a instalação do Oracle 11g, com a criação do banco de dados.

Antes da instalação, segue alguns pré-requisitos da instalação
UPDATE: Facilititando a instalação do banco de dados

Com a instalação do Grid, ele requer três novos grupos, vamos criar ele e adicionar estes grupos ao usuário Oracle.

groupadd osdba
groupadd osoper
groupadd osasm
usermod -G osdba,osoper,osasm,dba,oinstall -g dba oracle

 

Como tenho várias instâncias e versões de oracle diferentes no mesmo servidor, deixo de colocar os dados no .bash_profile e crio scripts no home do oracle. Segue o meu script do asm. Logo em seguida, executo o comando source, para ler as variaveis.

[[email protected] ~]$ cat oracle_asm.sh
### Variaveis do ASM
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/grid
export ORACLE_SID=+ASM
export PATH=$PATH:$ORACLE_HOME/bin
export TNS_ADMIN=$ORACLE_HOME/network/admin

[[email protected] ~]$ source oracle_asm

Disponibilizei quatro discos de 2GB para ser usado para o ASM, abaixo mostro a formatação dos discos, para quem não entende muito, localizei os discos com o comando fdisk -l e encontrei esses discos /dev/sdb, /dev/sdc, /dev/sdd e /dev/sde. Para formatar os discos executei o comando fdisk /dev/sd[b-e] e criei as partições como primarias.

 

Como estamos usando o Oracle Linux, não precisamos instalar o asmlib, pois ele já vem compilado no kernel, mais precisamos instalar o suporte ao Oracle ASM, para que ele possa ser reconhecido no Oracle Grid, são dois pacotes que já estão no cd do Oracle Linux.

Montando o cd e acessando a pasta /media/Server:

mount /dev/cdrom /media; cd /media/Server

Instalando os pacotes:

rpm -Uvh oracleasm-2.6.18-194.el5-2.0.5-1.el5.i686.rpm
rpm -Uvh oracleasm-support-2.1.3-1.el5.i386.rpm

Configurando o oracleasm para reconhecer os discos do asm:

/etc/init.d/oracleasm configure -i
1ª Variavel = oracle
2ª Variavel=oinstall
3ª e 4ª = [y]

Criar os volumes ASM:

/etc/init.d/oracleasm createdisk VOL1 /dev/sdb1
/etc/init.d/oracleasm createdisk VOL2 /dev/sdc1
/etc/init.d/oracleasm createdisk VOL3 /dev/sdd1
/etc/init.d/oracleasm createdisk VOL4 /dev/sde1

 

Abaixo um print do que foi feito acima:


Após executar o ./runinstaller, aparece a tela de “boas vindas”, você deve indicar o que você quer instalar, vamos escolher “Install and Configure Grid Infrastructure for a Standalone Server”.

Idioma da instalação, escolhi somente English.

 

Pela minha surpresa, o Oracle não fez o discover dos discos, eu tive que clicar em change discovery path para mostrar os volumes:

Apontei o diretorio criado com o comando oracleasm, o diretorio que ele criou os volumes foi /dev/oracleasm/disks/.

 

Agora apareceu os volumes 1, 2, 3 e 4.

 

Nesta tela devemos escolher o tipo e o nome do grupo de discos, este tipo de discos determina os níveis de redundância. Nos temos os três níveis:
External utiliza a redundância externa, se você o disco que você selecionou já esta em RAID, não a necessidade de
Normal precisa de dois discos, equivale ao raid 1.
High precisa de três discos, precisa de 3 discos, equivale ao raid 5.

O tipo de grupo de disco determina os níveis de espelhamento com a qual a Oracle cria arquivos em um grupo de discos. O nível de redundância controla a quantidade de falhas de disco são toleradas sem desmontar o grupo de disco ou perda de dados.

Espelhamento ASM é mais flexível que o espelhamento RAID tradicional porque você pode especificar o nível de redundância para cada arquivo. Dois arquivos podem compartilhar o mesmo grupo de discos com um arquivo que está sendo espelhado, enquanto o outro não é.

Eu utilizo o normal, este normal faz o espelhamento dos disco, o /dev/sdb é igual ao /dev/sdc, tudo que é gravado no disco 1 é gravado no outro. SE por ventura, der algum problema no disco 1, você pode muito bem fazer a manutenção dele e continuar trabalhando, porque os dados não foram perdidos.

 

Momento de definir a senha do ASM, percebe que eu com preguiça, digitei uma senha fraca e única:

 


Como criamos os grupos osdba, osoper e osasm. Vamos definir eles.

 


Definição do diretorio base e do home. Como rodamos o script oracle_asm.sh ele já pegou o que definimos.

Aqui esta uma coisa que eu gostei! Conforme mostrado na figura abaixo, uma vez que a Oracle tem 11gR2 automaticamente verificado que todos os pré-requisitos foram cumpridos, identifica se algum dos problemas detectados podem ser ignorados (em minha conta e risco, é claro!) Ou até mesmo reparados automaticamente, gerando um script runfixup.sh.

Sumário da instalação:

 

A instalação em progress:

Executar o script final:

 

Veja a saída dele:

 E finalizamos:

Após a instalação do Grid, veja os processos que apareceram, você conhece ????

[[email protected] ~]$ ps aux |grep asm
oracle    6191  0.1  0.6 420152 14196 ?        Ss   23:37   0:00 asm_pmon_+ASM
oracle    6193  0.1  0.5 419528 11716 ?        Ss   23:37   0:00 asm_vktm_+ASM
oracle    6197  0.1  0.6 419600 12968 ?        Ss   23:37   0:00 asm_gen0_+ASM
oracle    6199  0.0  0.5 419528 11696 ?        Ss   23:37   0:00 asm_diag_+ASM
oracle    6201  0.1  0.5 419528 11800 ?        Ss   23:37   0:00 asm_psp0_+ASM
oracle    6203  0.1  0.6 420040 14168 ?        Rs   23:37   0:00 asm_dia0_+ASM
oracle    6205  0.0  0.5 419528 11844 ?        Ss   23:37   0:00 asm_mman_+ASM
oracle    6207  0.1  0.7 421664 15620 ?        Ss   23:37   0:00 asm_dbw0_+ASM
oracle    6209  0.1  0.7 420704 15140 ?        Ss   23:37   0:00 asm_lgwr_+ASM
oracle    6211  0.0  0.6 419592 12820 ?        Ss   23:37   0:00 asm_ckpt_+ASM
oracle    6213  0.0  0.5 419528 11784 ?        Ss   23:37   0:00 asm_smon_+ASM
oracle    6215  0.1  0.8 420856 16740 ?        Ss   23:37   0:00 asm_rbal_+ASM
oracle    6217  0.1  0.7 421732 15984 ?        Ss   23:37   0:00 asm_gmon_+ASM
oracle    6219  0.0  0.6 419592 12544 ?        Ss   23:37   0:00 asm_mmon_+ASM
oracle    6221  0.0  0.6 419528 13252 ?        Ss   23:37   0:00 asm_mmnl_+ASM

RECOMENDO: http://download.oracle.com/docs/cd/E11882_01/server.112/e16102.pdf

Um abraço!

Tags:
  1. 15, setembro, 2011 em 10:18 | #1

    Fala William!
    Show de bola, rapaz! Muito bom, parabéns!

  2. 16, setembro, 2011 em 13:27 | #2

    Tah ficando bom em mlk….
    Parabens… rs

    __abraço!

  3. 10, fevereiro, 2012 em 17:03 | #3

    Show de bola… Parabéns!

  4. 11, maio, 2012 em 15:57 | #4

    Muito Bom! Show!!!!

  5. Jose
    30, maio, 2012 em 11:40 | #5

    Olá, que alívio ler um artigo onde o autor sabe português. (a nível de… dói para caramba!) Muito útil tb. Virei fã. Tens youtube para eu me inscrever ??

  6. fernando
    27, dezembro, 2012 em 20:31 | #6

    caro DBA

    na verdade existem passos que voce nao publicou, pois uma pessoa tentou instalar aqui na empresa onde trabalho e ficou a ver navios, porque muitas coisas precisam ser explicadas, principalemente permissoes, isso para quem ja conhece tudo bem, mas para quem esta comecando o cara ficara boiando.

    Att

    Fernando
    DBA Oracle Sr

  7. Danilo
    4, abril, 2013 em 08:43 | #8

    Tenho a seguinte duvida, tenho uma maquina com oracle 10 e outra com a versão 11, eu com asm instalado nas duas consigo fazer a leitura desses discos com a versão 10 das duas maquinas. Ou somente com versão 11 consigo fazer a leitura das duas maquinas.

  8. Antonio Guimaraes
    14, junho, 2013 em 08:33 | #9

    Oi
    Estou tentando fzer o yum update no Centos 6.4 Linux e recebo a mensagem abaixo
    erro 14 – PYCURL error 6 Couldnot resolve host – Mirror list.centos.org
    cannot find a Valid BASEURL for REPO BASE..
    Agradeço antecipamente sua atençao.
    Grato

  9. Italo
    28, agosto, 2013 em 19:53 | #10

    Estava procurando um artigo para montar uma VM, e encontrei o seu, atualmente sou DBA Jr mas pretendo chegar a Sr um dia.
    Quando você fez a instalação do banco de dados e criou a instância ASM neste poste como os dados que estavam no file system foram parar nos discos ASM ?
    Se não é um processo automático você poderia me dar alguma direção de como eu posso proceder, por que pretendo usar o seu step by step param montar minha vm para meus estudos de certificação.

    Obrigado !

  10. Fonseca
    14, setembro, 2013 em 09:42 | #11

    Admiro o seu trabalho e o capricho de como vc escreveu esse material.
    Parabéns.

    Fonseca
    Specialist IBM DB2 & Oracle RAC

  11. 26, junho, 2014 em 12:40 | #12

    Só pra informar, se utilizar o Oracle Linux 6 com o grid 11.2.0.1 irá dar um erro CRS-4124, para solucionar o problema utilize a versão 11.2.0.3

  12. Rick
    12, março, 2015 em 14:12 | #13

    Olá William,

    Muito bom o tutorial cara! excelente iniciativa! Aproveitando o espaço queria fazer uma pergunta, utilizando o grid-infrastructure-standalone-server, eu conseguiria ter outro server em standby, enxergando os discos do ASM ? a pergunta é para cobrir o seguinte caso: o server1 cai, e subo o server2, acessando os mesmos dados ?

    Obrigado!!

  1. Nenhum trackback ainda.