Oracle RAC 12c com ASM sobre Oracle Storage ZFS – Parte II
Olá amigos, hoje vamos dar continuidade ao processo de instalação do ambiente para o RAC 12c e Database 12c.
Bem no último artigo fizemos a criação das máquinas virtuais, agora vamos configurar o Oracle ZFS e realizar as instalações.
Instalação do Oracle ZFS Storage.
Bem depois de descompactar o arquivo que foi feito download com o appliance do ZFS, devemos importar o mesmo através do Import Applicance no menu do VirtualBox.
Selecione o caminho onde você descompactou a OVF do Oracle ZFS apos isso clique em “Continue”.
Apos a importação devemos iniciar a configuração básica do Oracle ZFS, clique no botão “START” para iniciar a maquina virtual do ZFS.
Nesta tela iremos realizar a configuração do Oracle ZFS, preencher com a informações que estiverem na nossa tela para simularmos o ambiente.
Senha utilizada foi oracle.
Apos finalizado a configuração vamos acessar a console via browser http://192.168.56.101:215
O Usuário que utilizamos é “root” e a senha “oracle”.
Configuração do Oracle ZFS – Startup Storage.
Bem vamos iniciar agora a configuração inicial do ZFS e preparar o mesmo com os discos.
Nesta tela é apresentada alguns informações sobre o ZFS, clique em “START”.
Nesta tela temos a configuração de network do ZFS, não é necessário realizar nenhuma alteração, clique no botão “COMMIT” para gravar estas configurações e ir para o próximo step.
Nesta tela temos a configuração de DNS do ZFS, não é necessário realizar nenhuma alteração, clique no botão “COMMIT” para gravar estas configurações e ir para o próximo step.
Nesta tela temos a configuração de NTP do ZFS, não é necessário realizar nenhuma alteração, clique no botão “COMMIT” para gravar estas configurações e ir para o próximo step.
Nesta tela temos a configuração de NAMES do ZFS, não é necessário realizar nenhuma alteração, clique no botão “COMMIT” para gravar estas configurações e ir para o próximo step.
Nesta tela temos a configuração de STORAGE do ZFS, não é necessário realizar nenhuma alteração, clique no botão “COMMIT” para gravar estas configurações e ir para o próximo step, no último passo clique em “LATER” e depois confirme.
Essas configurações básicas são para liberar o acesso as configurações do ZFS. Pronto estamos com o ZFS pronto para criação das LUNS e apresentação ao sistema Operacional.
Configuração do Oracle ZFS – LUNS e ISCSI
Antes de iniciarmos devemos instalar o iscsi-initiator que se encontra no repositório do Oracle Linux.
Faça estes passos para os dois servers. Execute o comando em vermelho.
RAC1
[root@RAC1~] yum install iscsi-initiator-utils
Loaded plugins: refresh-packagekit
Setting up Install Process
Resolving Dependencies
--> Running transaction check
--> Package iscsi-initiator-utils.x86_64 0:6.2.0.872-21.0.1.el6 will be --> installed
--> Finished Dependency Resolution
Dependencies Resolved
=======================================================================
Package Arch Version Repository Size
=======================================================================
Installing:
iscsi-initiator-utils x86_64 6.2.0.872-21.0.1.el6 ol6_u1_base 578 k
Transaction Summary
=======================================================================
Install 1 Package(s)
Total download size: 578 k
Installed size: 2.0 M
Is this ok [y/N]: y
Downloading Packages:
iscsi-initiator-utils-6.2.0.872-21.0.1.el6.x86_64.rpm | 578 kB 00:03
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : iscsi-initiator-utils-6.2.0.872-21.0.1.el6.x86_64 1/1
Installed:
iscsi-initiator-utils.x86_64 0:6.2.0.872-21.0.1.el6
Complete!
[root@RAC1~]
RAC2
[root@RAC2~] yum install iscsi-initiator-utils
Loaded plugins: refresh-packagekit
Setting up Install Process
Resolving Dependencies
--> Running transaction check
--> Package iscsi-initiator-utils.x86_64 0:6.2.0.872-21.0.1.el6 will be --> installed
--> Finished Dependency Resolution
Dependencies Resolved
=======================================================================
Package Arch Version Repository Size
=======================================================================
Installing:
iscsi-initiator-utils x86_64 6.2.0.872-21.0.1.el6 ol6_u1_base 578 k
Transaction Summary
=======================================================================
Install 1 Package(s)
Total download size: 578 k
Installed size: 2.0 M
Is this ok [y/N]: y
Downloading Packages:
iscsi-initiator-utils-6.2.0.872-21.0.1.el6.x86_64.rpm | 578 kB 00:03
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : iscsi-initiator-utils-6.2.0.872-21.0.1.el6.x86_64 1/1
Installed:
iscsi-initiator-utils.x86_64 0:6.2.0.872-21.0.1.el6
Complete!
[root@RAC2~]
Após ser feito este item devemos fazer a configuração para que o daemon do iscsi-initiator, inicie automaticamente com o sistema operacional.
Execute os comandos em vermelho.
RAC1
[root@RAC1 ~] chkconfig iscsi on
[root@RAC1 ~] chkconfig iscsid on
[root@RAC1 ~] chkconfig --list iscsi
iscsi 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@RAC1 ~] chkconfig --list iscsid
iscsid 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@RAC1 ~] service iscsi start
[root@RAC1 ~] service iscsid start
RAC2
[root@RAC2 ~] chkconfig iscsi on
[root@RAC2 ~] chkconfig iscsid on
[root@RAC2 ~] chkconfig --list iscsi
iscsi 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@RAC2 ~] chkconfig --list iscsid
iscsid 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@RAC2 ~] service iscsi start
[root@RAC2 ~] service iscsid start
Agora vamos identificar o HOST IQN, para que possamos informar ao Oracle ZFS quais máquinas vão identificar as LUNS do ambiente.
Executar o comandos em vermelho nos dois servers.
[root@RAC1 ~] cat /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.1988-12.com.oracle:45a4c2cad2ec
[root@RAC2 ~] cat /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.1988-12.com.oracle:febee75ed980
Como informação na instalação que vocês irão realizar o InitiatorName vai ser diferente do que esta documentação, pois ele gera este identificador durante a instalação do iscsi-initiator.
Anotem estes identificadores, pois serão necessários para nossa utilização.
Configuração ISCSI
Estas configurações devem ser feita nos dois servers.
Para configurar a autenticação CHAP, edite o arquivo /etc/iscsi/ iscsid.conf para fazer as seguintes alterações:
Para ativar a autenticação CHAP, remova o caractere # no início da linha seguinte:
node.session.auth.authmethod = CHAP
Para definir o nome de usuário e senha CHAP, conclua as seguintes etapas:
Edite as linhas que definem o nome de usuário e senha CHAP para remover o caractere # desde o início dessas linhas:
node.session.auth.username = username
node.session.auth.password = password
Alterar nome de usuário para o IQN que localizamos. Para este exemplo, o nome de usuário é:
iqn.1988-12.com.oracle:45a4c2cad2ec – RAC1
iqn.1988-12.com.oracle:febee75ed980– RAC2
A configuração deve ficar desta forma no RAC1 .
node.session.auth.username= iqn.1988-12.com.oracle:45a4c2cad2ec
node.session.auth.password = CHAPsecret14
A configuração deve ficar desta forma no RAC2 .
node.session.auth.username=iqn.1988-12.com.oracle:febee75ed980
node.session.auth.password = CHAPsecret14
Após isso devemos alterar o usuário e senha para que possamos iniciar a transação com o Oracle ZFS.
Removendo o caracter # na frente das seguintes linhas:
node.session.auth.username_in = username
node.session.auth.password_in = password
Defina o usuário e senha que será utilizado.
node.session.auth.username_in = chapuser
node.session.auth.password_in = CHAPsecret22
Após feito estas alterações nos dois servers salve os arquivos.
Configurando Target no Oracle ZFS
Um “Target Group” é criado no Oracle ZFS Storage Appliance para definir as portas eo protocolo pelo qual o LUN vão ser apresentados para o servidor Oracle Linux.
Vamos lá, acesse a console de administração do Oracle ZFS
https://192.168.56.101:215
Coloque o usuário root e a senha oracle e clique no “LOGIN”
Após ter realizado o login clique em “CONFIGURATION”, depois clique em “SAN”, selecione a opção “ISCSI” e por fim clique em “TARGET”.
Após ter realizado isso clique no sinal de “+” do lado da palavra target para adicionar as configurações abaixo.
No campo ALIAS defina uma alias para este TARGET, conforme imagem acima, eu defini como “OL”.
Depois defina o método de autenticação, que é o tipo CHAP.
No item Target CHAP name e CHAP secret, as informações devem ser as mesmas que foram configuradas no ISCSID.CONF
Target CHAP NAME = chapuser
Target CHAP SECRET = CHAPsecret22
Após ter realizado a configuração clique em OK.
Bem vamos mover o target criado para o Grupo de Targets, coloque o cursor sobre a entrada que foi criada para o iSCSI Targets.
O ícone do movimento aparece à esquerda da entrada, conforme imagem abaixo.
Mova para o Target Group, o Target criado conforme imagem abaixo
Após realizar a movimentação clique no botão de um lápis para editar o nome do Target para alteramos a identificação.
Agora edite o nome do ISCSI initiator para ZFS e clique em OK.
Pronto agora já temos nosso Target, configurado para que o servidores tenham acesso ao Oracle ZFS storage.
Para gravar está configuração clique no “APPLY”.
Configurando Initiators no Oracle ZFS
Um “iSCSI initiator” é definido para restringir quais servidores têm acesso a um determinado volume. Se mais de um host pode gravar em um determinado volume simultaneamente, inconsistência no cache do sistema de arquivos entre os hosts podem causar a corrupção na imagem em disco.
Para identificar o servidor Oracle Linux para Oracle ZFS Storage Appliance, o iSCSI initiator deve ser registrado, como iremos realizar agora.
Clique em “CONFIGURATION”, depois clique em “SAN”, selecione a opção “ISCSI” e por fim clique em “INITIATORS”.
Após ter realizado isso clique no sinal de “+” do lado da palavra Initiators para adicionar as configurações abaixo.
A configuração deve ficar desta forma no RAC1 .
Initiatior CHAP name = iqn.1988-12.com.oracle:45a4c2cad2ec
Initiatior CHAP secret = CHAPsecret14
Após ter realizado a configuração clique em OK.
Após ter realizado isso clique novamente no sinal de “+” do lado da palavra Initiators para adicionar o segundo node com as configurações abaixo.
A configuração deve ficar desta forma no RAC2 .
Initiatior CHAP name = iqn.1988-12.com.oracle:febee75ed980 Initiator CHAP secret = CHAPsecret14
Após ter realizado a configuração clique em OK.
Pronto já temos os initiators dos servers que vão fazer parte do Oracle RAC e vão acessar os volumes do storage.
Bem vamos mover os initiators criado para o Grupo de Initiators, coloque o cursor sobre a entrada que foi criada para o Initiators.
O ícone do movimento aparece à esquerda da entrada, conforme imagem abaixo.
Mova para o Initiators RAC1 e depois o RAC2 para o Group o Initiators conforme imagem abaixo
Pronto deve ficar parecido como o da imagem abaixo, agora vamos editar o grupo e dar um nome a ele.
Após realizar a movimentação clique no botão de um lápis para editar o nome do Target para alteramos a identificação.
Agora edite o nome do initiator group para ISCI_RACS, selecione os 2 initiators e depois clique em OK.
Pronto agora já temos nossos Initiators configurados, para que o servidores tenha acesso ao mesmo volume de discos.
Para gravar está configuração clique no “APPLY”.
Configurando as Luns no ZFS
Um projeto pode ser definido em Oracle ZFS Storage Appliance para volumes de grupos relacionados. Um projeto permite que exista herança de propriedades para sistemas de arquivos e LUNs apresentados a partir do projeto e também permite que cotas e reservas a sejam aplicadas.
Clique em “SHARES”, depois clique em “PROJECTS”, selecione a opção “+” ao lado da palavra Projects.
Agora edite o nome do projeto para RAC e depois clique em APPLY.
Pronto agora que estamos com o projeto pronto clique na palavra “LUNs” e depois no “+” ao lado da palavra Luns, para que possamos criar os volumes de discos.
Agora vamos iniciar a criação do primeiro volume o ASM_DATA1, primeiramente selecione o nome do projeto “RAC”.
Depois de selecionado o projeto, coloque o nome do volume neste caso colocaremos como “ASM_DATA1”, vamos definir o volume size para “10 GB”, o tamanho do block size para “8k” e vamos selecionar o grupo “ISCI_RACS”, após feito isso clique em “APPLY”.
Vamos agora repetir os passos para criar o segundo volume, clique na palavra “LUNs” e depois no “+” ao lado da palavra Luns.
Depois de selecionado o projeto, coloque o nome do volume neste caso colocaremos como “ASM_DATA2”, vamos definir o volume size para “10 GB”, o tamanho do block size para “8k” e vamos selecionar o grupo “ISCI_RACS”, após feito isso clique em “APPLY”.
Vamos agora repetir os passos para criar o terceito volume, clique na palavra “LUNs” e depois no “+” ao lado da palavra Luns.
Depois de selecionado o projeto, coloque o nome do volume neste caso colocaremos como “ASM_INDEX1”, vamos definir o volume size para “10 GB”, o tamanho do block size para “8k” e vamos selecionar o grupo “ISCI_RACS”, após feito isso clique em “APPLY”.
Vamos agora repetir os passos para criar o quarto volume, clique na palavra “LUNs” e depois no “+” ao lado da palavra Luns.
Depois de selecionado o projeto, coloque o nome do volume neste caso colocaremos como “ASM_FRA1”, vamos definir o volume size para “10 GB”, o tamanho do block size para “8k” e vamos selecionar o grupo “ISCI_RACS”, após feito isso clique em “APPLY”.
Vamos agora repetir os passos para criar o quinto volume, clique na palavra “LUNs” e depois no “+” ao lado da palavra Luns.
Depois de selecionado o projeto, coloque o nome do volume neste caso colocaremos como “OCR_VOT1”, vamos definir o volume size para “2 GB”, o tamanho do block size para “8k” e vamos selecionar o grupo “ISCI_RACS”, após feito isso clique em “APPLY”.
Vamos agora repetir os passos para criar o sexto volume, clique na palavra “LUNs” e depois no “+” ao lado da palavra Luns.
Depois de selecionado o projeto, coloque o nome do volume neste caso colocaremos como “OCR_VOT2”, vamos definir o volume size para “2 GB”, o tamanho do block size para “8k” e vamos selecionar o grupo “ISCI_RACS”, após feito isso clique em “APPLY”.
Vamos agora repetir os passos para criar sétimo volume, clique na palavra “LUNs” e depois no “+” ao lado da palavra Luns.
Depois de selecionado o projeto, coloque o nome do volume neste caso colocaremos como “OCR_VOT3”, vamos definir o volume size para “2 GB”, o tamanho do block size para “8k” e vamos selecionar o grupo “ISCI_RACS”, após feito isso clique em “APPLY”.
Pronto agora já temos todos os volumes criados para que possamos utilizar no Oracle RAC.
Agora que as LUNs estão preparadas e disponível para para o iSCSI, a LUN deve ser configurado para uso pelo servidor Oracle Linux, executando os seguintes passos:
Devemos executar estes passos nos dois servers do Oracle RAC.
Primeiramente devemos criar uma entrada no /etc/hosts para não precisar de DNS.
Edite o arquivo /etc/hosts e inclua a seguinte entrada nos dois servers.
192.168.56.101 zfs.localdomain zfs
Após realizada a inclusão no arquivo hosts dos dois servers salve os arquivos e execute os comandos abaixo em vermelho.
RAC1
[root@RAC1 ~] groupadd dba
[root@RAC1 ~] groupadd oinstall
[root@RAC1 ~] useradd –g dba –G oinstall oracle
[root@RAC2 ~] passwd oracle
--- alterar a senha para oracle
[root@RAC2 ~] mkdir /u01
[root@RAC2 ~] chmod –R 755 /u01
[root@RAC2 ~] chown –R oracle:dba /u01
[root@RAC1 ~] service iscsi start
[root@RAC1 ~] iscsiadm -m discovery -t sendtargets -p zfs
192.168.1.12:3260,2 iqn.1988-12.com.oracle:45a4c2cad2ec
[fe80::214:4fff:fe0f:92b4]:3260,2 iqn.1988-12.com.oracle:45a4c2cad2ec
[root@RAC1 ~] iscsiadm –m node –p zfssa –login
[root@RAC1 ~] ls –l /dev/sd?
brw-rw----. 1 root disk 8, 0 Jul 13 13:06 /dev/sda
brw-rw----. 1 root disk 8, 16 Jul 13 14:35 /dev/sdb
brw-rw----. 1 root disk 8, 16 Jul 13 14:35 /dev/sdc
brw-rw----. 1 root disk 8, 16 Jul 13 14:35 /dev/sdd
brw-rw----. 1 root disk 8, 16 Jul 13 14:35 /dev/sde
brw-rw----. 1 root disk 8, 16 Jul 13 14:35 /dev/sdf
brw-rw----. 1 root disk 8, 16 Jul 13 14:35 /dev/sdg
[root@RAC1 ~] fdisk /dev/sda
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0xda0cb962.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u').
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-10354, default 1): 1
Last cylinder, +cylinders or +size{K,M,G} (1-10354, default 10354): 10354
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
[root@RAC1 ~] fdisk /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0xda0cb962.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u').
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-10354, default 1): 1
Last cylinder, +cylinders or +size{K,M,G} (1-10354, default 10354): 10354
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
[root@RAC1 ~] fdisk /dev/sdc
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0xda0cb962.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u').
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-10354, default 1): 1
Last cylinder, +cylinders or +size{K,M,G} (1-10354, default 10354): 10354
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
[root@RAC1 ~] fdisk /dev/sdd
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0xda0cb962.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u').
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-10354, default 1): 1
Last cylinder, +cylinders or +size{K,M,G} (1-10354, default 10354): 10354
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
[root@RAC1 ~] fdisk /dev/sde
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0xda0cb962.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u').
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-2054, default 1): 1
Last cylinder, +cylinders or +size{K,M,G} (1-2054, default 2054): 2054
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
[root@RAC1 ~] fdisk /dev/sdf
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0xda0cb962.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u').
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-2054, default 1): 1
Last cylinder, +cylinders or +size{K,M,G} (1-2054, default 2054): 2054
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
[root@RAC1 ~] fdisk /dev/sdg
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0xda0cb962.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u').
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-2054, default 1): 1
Last cylinder, +cylinders or +size{K,M,G} (1-2054, default 2054): 2054
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
[root@RAC1 ~] partprobe
[root@RAC1 ~] yum install oracleasm-support oracleasmlib oracleasm
Resolving Dependencies
--> Running transaction check
---> Package oracleasm-2.6.18-194.el5.x86_64 0:2.0.5-1.el5 set to be updated
---> Package oracleasm-support.x86_64 0:2.1.4-1.el5 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
oracleasm-2.6.18-194.el5 x86_64 2.0.5-1.el5 el5_u5_base 25 k
oracleasm-support x86_64 2.1.4-1.el5 ol5_u6_base 87 k
Transaction Summary
================================================================================
Install 2 Package(s)
Upgrade 0 Package(s)
Total download size: 113 k
Is this ok [y/N]: y
Downloading Packages:
(1/2): oracleasm-2.6.18-194.el5-2.0.5-1.el5.x86_64.rpm | 25 kB 00:00
(2/2): oracleasm-support-2.1.4-1.el5.x86_64.rpm | 87 kB 00:00
--------------------------------------------------------------------------------
Total 133 kB/s | 113 kB 00:00
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : oracleasm-support 1/2
Installing : oracleasm-2.6.18-194.el5 2/2
Installed:
oracleasm-2.6.18-194.el5.x86_64 0:2.0.5-1.el5
oracleasm-support.x86_64 0:2.1.4-1.el5
Complete!
[root@RAC1 ~] oracleasm configure –i
Configuring the Oracle ASM library driver.
This will configure the on-boot properties of the Oracle ASM library
driver. The following questions will determine whether the driver is
loaded on boot and what permissions it will have. The current values
will be shown in brackets ('[]'). Hitting <ENTER> without typing an
answer will keep that current value. Ctrl-C will abort.
Default user to own the driver interface []: oracle
Default group to own the driver interface []: dba
Start Oracle ASM library driver on boot (y/n) [n]: y
Scan for Oracle ASM disks on boot (y/n) [y]: y
Writing Oracle ASM library driver configuration: done
[root@RAC1~] /usr/sbin/oracleasm init
Creating /dev/oracleasm mount point: /dev/oracleasm
Loading module "oracleasm": oracleasm
Mounting ASMlib driver filesystem: /dev/oracleasm
[root@RAC1~] /usr/sbin/oracleasm createdisk ASM_DATA1 /dev/sda1
Writing disk header: done
Instantiating disk: done
[root@RAC1~] /usr/sbin/oracleasm createdisk ASM_DATA2 /dev/sdb1
Writing disk header: done
Instantiating disk: done
[root@RAC1~] /usr/sbin/oracleasm createdisk ASM_INDEX1 /dev/sdc1
Writing disk header: done
Instantiating disk: done
[root@RAC1~] /usr/sbin/oracleasm createdisk ASM_FRA1 /dev/sdd1
Writing disk header: done
Instantiating disk: done
[root@RAC1~] /usr/sbin/oracleasm createdisk OCR_VOT1 /dev/sde1
Writing disk header: done
Instantiating disk: done
[root@RAC1~] /usr/sbin/oracleasm createdisk OCR_VOT2 /dev/sdf1
Writing disk header: done
Instantiating disk: done
[root@RAC1~] /usr/sbin/oracleasm createdisk OCR_VOT3 /dev/sdg1
Writing disk header: done
Instantiating disk: done
[root@RAC1~] /usr/sbin/oracleasm scandisks
[root@RAC1~] /usr/sbin/oracleasm listdisks
ASM_DATA1
ASM_DATA2
ASM_INDEX1
ASM_FRA1
OCR_VOT1
OCR_VOT2
OCR_VOT3
RAC2
[root@RAC2 ~] groupadd dba
[root@RAC2 ~] groupadd oinstall
[root@RAC2 ~] useradd –g dba –G oinstall oracle
[root@RAC2 ~] passwd oracle
--- alterar a senha para oracle
[root@RAC2 ~] mkdir /u01
[root@RAC2 ~] chmod –R 755 /u01
[root@RAC2 ~] chown –R oracle:dba /u01
[root@RAC2 ~] service iscsi start
[root@RAC2 ~] iscsiadm -m discovery -t sendtargets -p zfs
192.168.1.12:3260,2 iqn.1988-12.com.oracle:febee75ed980
[fe80::214:4fff:fe0f:92b4]:3260,2 iqn.1988-12.com.oracle:febee75ed980
[root@RAC2 ~] iscsiadm –m node –p zfssa –login
[root@RAC2 ~] ls –l /dev/sd?
brw-rw----. 1 root disk 8, 0 Jul 13 13:06 /dev/sda
brw-rw----. 1 root disk 8, 16 Jul 13 14:35 /dev/sdb
brw-rw----. 1 root disk 8, 16 Jul 13 14:35 /dev/sdc
brw-rw----. 1 root disk 8, 16 Jul 13 14:35 /dev/sdd
brw-rw----. 1 root disk 8, 16 Jul 13 14:35 /dev/sde
brw-rw----. 1 root disk 8, 16 Jul 13 14:35 /dev/sdf
brw-rw----. 1 root disk 8, 16 Jul 13 14:35 /dev/sdg
[root@RAC2 ~] partprobe
[root@RAC2 ~] yum install oracleasm-support oracleasmlib oracleasm
Resolving Dependencies
--> Running transaction check
---> Package oracleasm-2.6.18-194.el5.x86_64 0:2.0.5-1.el5 set to be updated
---> Package oracleasm-support.x86_64 0:2.1.4-1.el5 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
oracleasm-2.6.18-194.el5 x86_64 2.0.5-1.el5 el5_u5_base 25 k
oracleasm-support x86_64 2.1.4-1.el5 ol5_u6_base 87 k
Transaction Summary
================================================================================
Install 2 Package(s)
Upgrade 0 Package(s)
Total download size: 113 k
Is this ok [y/N]: y
Downloading Packages:
(1/2): oracleasm-2.6.18-194.el5-2.0.5-1.el5.x86_64.rpm | 25 kB 00:00
(2/2): oracleasm-support-2.1.4-1.el5.x86_64.rpm | 87 kB 00:00
--------------------------------------------------------------------------------
Total 133 kB/s | 113 kB 00:00
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : oracleasm-support 1/2
Installing : oracleasm-2.6.18-194.el5 2/2
Installed:
oracleasm-2.6.18-194.el5.x86_64 0:2.0.5-1.el5
oracleasm-support.x86_64 0:2.1.4-1.el5
Complete!
[root@RAC2 ~] oracleasm configure –i
Configuring the Oracle ASM library driver.
This will configure the on-boot properties of the Oracle ASM library
driver. The following questions will determine whether the driver is
loaded on boot and what permissions it will have. The current values
will be shown in brackets ('[]'). Hitting <ENTER> without typing an
answer will keep that current value. Ctrl-C will abort.
Default user to own the driver interface []: oracle
Default group to own the driver interface []: dba
Start Oracle ASM library driver on boot (y/n) [n]: y
Scan for Oracle ASM disks on boot (y/n) [y]: y
Writing Oracle ASM library driver configuration: done
[root@RAC2~] /usr/sbin/oracleasm scandisks
[root@RAC2~] /usr/sbin/oracleasm listdisks
ASM_DATA1
ASM_DATA2
ASM_INDEX1
ASM_FRA1
OCR_VOT1
OCR_VOT2
OCR_VOT3
Instalando Oracle RAC 12C
Verifique se as máquinas do “RAC1” e “RAC2” estão iniciadas, em seguida, faça o login no “rac1” como usuário oracle (melhor evitar o uso de “su -” comando, eu tive problemas) e inicie o instalador Oracle Rac 12c.
$ cd /media/grid
$ ./runInstaller
Selecione “Skip software updates”, e clique em “NEXT”
Selecione a opção “Install and Configure Oracle Grid Infrastructure for a Cluster” e pressione o botão “Next”.
Selecione a opção “Configue a Standard cluster”, e pressione o botão “Next”.
Selecione a opção “Advanced Installation”, e pressione o botão “Next”.
Selecione o idioma e ir para a próxima tela. No “Grid Plug and Play” tela, mude o Cluster Name para “rac-cluster” e o Scan Name “rac-scan.localdomain”, desmarque a caixa “Configure GNS”, pressione o botão “Next”.
Na tela “Cluster Node Configuration”, clique no botão “Add”.
Digite os detalhes do segundo nó do cluster, em seguida, clique no botão “OK”.
Clique no botão “SSH Connectivity” e digite a senha para o usuário “oracle”. Clique no botão “Setup” para configurar a conectividade SSH, e no botão “Test” para testá-lo, em seguida, pressione “Next”.
Na tela “Network Inteface Usage” verifique se as redes pública e privadas estão especificadas corretamente, lembre que já configuramos isso no arquivo de host que fica localizado em /etc/hosts. Pressione o botão “Next”.
Na tela de seleção “Grid Infrastructure Repository Management” selecione a opção “Não” e pressione o botão “Next”.
Na tela “Storage Option” selecione a opção “Use Standard ASM Storage” e pressione “Next”.
Na tela “Create ASM Disk Group ” clique no botão “Change Discovery Path”.
Como utilizamos o ASMLib para fazer a comunicação com o Oracle ZFS e altere o caminho para “/dev/oracleasm/disks”.
Mantenha o “Disk Group Name” inalterado. Selecione a opção de redundância “externo”. Marque a opção “/dev/oracleasm/disks/DISK1” no item “Add Disks”. Quando terminar, clique em “Next”.
Na tela “ASM Password”, selecione “Use same password for these accounts” opção e digite “oráculo” senha e pressione “Next”. Ignorar avisos sobre senha fraca caso vocês digitem uma senha não seguindo os padrões recomendados.
Mantenha o padrão em “Failure Isolation” e pressione “Next”
Mantenha os padrões em “Operating Systems Groups” e pressione “Next”. Ignorar aviso na tela seguinte.
Sugerido que se mantenha o “Oracle Base“ e o “Software Location”, com o padrão. Mas caso seja necessário altere, após isso pressione “Next”.
Sugerido que se mantenha o caminho inalterado do “Inventory Directory”, caso seja necessário altere o mesmo e após isso pressione “Next”.
Na opção “Root script execution”, selecione “Automatically run Configuration Scripts” e marque a opção “Use Root user credential”, em seguida, digite a senha do root. Pressione o botão “Next”.
No item Prerequisite Checks, na minha instalação passou sem grandes problemas, caso apresente algo a vocês verifiquem os alertas, solucione os problemas antes da instalação.
Após tudo OK clique em Install.
Aguarde enquanto a instalação realiza o procedimento nos 2 nodes. Quando lhe pediram para confirmar execução dos scripts do root, responda Sim e aguarde a execução.
Após terminado click em NEXT e depois em CLOSE.
Pronto instalamos o Oracle RAC 12C, para validar vamos executar um comando para checar o ambiente.
Logue com o usuário ROOT. Digite os comandos em vermelho.
# . oraenv
ORACLE_SID = [oracle] ? +ASM1
The Oracle base has been set to /u01/app/oracle
# crsctl status resource -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DATA.dg
ONLINE ONLINE rac1 STABLE
ONLINE ONLINE rac2 STABLE
ora.LISTENER.lsnr
ONLINE ONLINE rac1 STABLE
ONLINE ONLINE rac2 STABLE
ora.asm
ONLINE ONLINE rac1 Started,STABLE
ONLINE ONLINE rac2 Started,STABLE
ora.net1.network
ONLINE ONLINE rac1 STABLE
ONLINE ONLINE rac2 STABLE
ora.ons
ONLINE ONLINE rac1 STABLE
ONLINE ONLINE rac2 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE rac2 STABLE
ora.LISTENER_SCAN2.lsnr
1 ONLINE ONLINE rac1 STABLE
ora.LISTENER_SCAN3.lsnr
1 ONLINE ONLINE rac1 STABLE
ora.cvu
1 ONLINE ONLINE rac1 STABLE
ora.oc4j
1 OFFLINE OFFLINE STABLE
ora.rac1.vip
1 ONLINE ONLINE rac1 STABLE
ora.rac2.vip
1 ONLINE ONLINE rac2 STABLE
ora.scan1.vip
1 ONLINE ONLINE rac2 STABLE
ora.scan2.vip
1 ONLINE ONLINE rac1 STABLE
ora.scan3.vip
1 ONLINE ONLINE rac1 STABLE
--------------------------------------------------------------------------------
#
Instalando Oracle Database 12C.
Verifique se as máquinas do “RAC1” e “RAC2” estão iniciadas, em seguida, faça o login no “rac1” como usuário oracle para iniciarmos a instalação do binário do Oracle Database 12c.
$ cd /media/database
$ ./runInstaller
Desmarque a opção “I wish to receive security update via My Oracle Support” e pressione o botão “Next”.
Selecione “Skip software updates”, e clique em “NEXT”.
Selecione a opção “Install database software Only”, e clique em “NEXT”.
Selecione a opção “Oracle Real Apllication Clusters database installation” e clique em “NEXT”.
Verifique se os 2 nodes estão selecionados, clique no botão ” SSH Connectivity” e digite a senha para o usuário “oracle”. Clique no botão “Setup” para configurar a conectividade SSH, e no botão “Test” para testá-lo, em seguida, pressione “Next”.
Na tela de Languages, clique em Next.
Na tela de “Database Edition”, selecione a opção Enterprise Edition e clique em “NEXT”.
Na tela de “Installation Location”, recomendamos seguir a sugestão padrão, caso seja necessário altere o caminho, e após isso clique em “NEXT”.
Mantenha os padrões em “Operating Systems Groups” e pressione “Next”. Ignorar aviso na tela seguinte.
No item Prerequisite Checks, na minha instalação passou sem grandes problemas, caso apresente algo a vocês verifiquem os alertas, solucione os problemas antes da instalação.
Após tudo OK clique em Install.
Após o termino da instalação irá apresentar uma tela para execução de um script que deve ser executado em todos os nodes do rac, porém precisa ser um de cada vez não pode ser simultâneo.
.
Após o termino da execução dos scripts, clique em OK.
Após isso clique em “CLOSE” para finalizar a instalação do binários do Oracle 12C Database.
Criando Database no Oracle 12c.
Vamos iniciar a criação do Database, chamando o DBCA.
$ cd /u01/app/oracle/product/12.1.0/dbhome_1/bin
$ ./dbca
Marque a opção “Create Database”, clique em “NEXT”.
Digite o “Global Database Name” pode ser o nome que você quiser, selecione o conjunto de caracteres AL32UTF8 ou a sua escolha.
Indique onde vai ficar seus “DataFiles” e a “Fast Recovery Area”.
Também forneça uma senha para SYS.
Por enquanto não vamos criar o “Container Database” isso vai ser um tópico para um próximo artigo.
Após isso clique em “NEXT”.
No item Prerequisite Checks, na minha instalação passou sem grandes problemas, caso apresente algo a vocês verifiquem os alertas, solucione os problemas antes da instalação.
Após tudo OK clique em “Finish”.
Após tudo OK, depois da instalação do banco nos 2 nodes clique em “Exit”, para finalizarmos a instalação.
Para validar a instalação execute o seguintes comandos abaixo em vermelho:
$ . oraenv
ORACLE_SID = [oracle] ? racdb
The Oracle base has been set to /u01/app/oracle
$ srvctl config database -d racdb
Database unique name: racdb
Database name: racdb
Oracle home: /u01/app/oracle/product/12.1.0/dbhome_1
Oracle user: oracle
Spfile: +DATA/racdb/spfileracdb.ora
Password file: +DATA/racdb/orapwracdb
Domain: localdomain
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools: racdb
Database instances: racdb1,racdb2
Disk Groups: DATA
Mount point paths:
Services:
Type: RAC
Start concurrency:
Stop concurrency:
Database is administrator managed
$ srvctl status database -d racdb
Instance racdb1 is running on node rac1
Instance racdb2 is running on node rac2
Pronto está tudo OK e funcionando.
Conclusões
Bem agora finalizamos com sucesso a criação de um Oracle Rac 12c com Oracle Database 12c sobre um Oracle ZFS storage.
Espero ter ajudado e passado um pouco do meu conhecimento a vocês.
Até a próxima!