treinamento oracle rac 11gr2 - nerv informática ltda

153
1 Oracle RAC 11gR2 1 Ricardo Portilho Proni [email protected] Esta obra está licenciada sob a licença Creative Commons Atribuição-SemDerivados 3.0 Brasil. Para ver uma cópia desta licença, visite http://creativecommons.org/licenses/by-nd/3.0/br/.

Upload: ricardo-portilho-proni

Post on 13-May-2015

3.583 views

Category:

Technology


12 download

DESCRIPTION

Neste Treinamento cada participante irá executar todo o processo para instalar um RAC com 2 Nós, utilizando 2 máquinas cada um, instalando Linux, Configurar um Storage com NFS e ASM, instalar o Oracle 11gR2 Grid Infrastructure e o Oracle Database 11gR2. Não é um Treinamento com RAC simulado com VMware, e sim um RAC com dois servidores e mais um Storage, como um ambiente real de Produção. Saberá como configurar e preparar o Sistema Operacional corretamente para a instalação do Oracle RAC. Iremos configurar o Storage, passando pelas opções existentes de Discos Compartilhados para Dados, Oracle Cluster Registry e Voting Disk, verificar as opções possíveis para instalação do Clusterware e do Software RDBMS Oracle, as opções de uso do ASM (Automatic Storage Management), e finalmente subir e utilizar um Banco de Dados em RAC. Iremos abordar as tarefas de administração de um RAC já existente, e como elas diferem de uma implementação Single Instance do Oracle: Backup e Restore, Archives, manutenções no Storage, Backups e Restore do OCR e Voting Disk, Adicionar e Remover Nós, e executar Rolling Upgrades (aplicações de patch sem indisponibilidade).

TRANSCRIPT

Page 1: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

1

Oracle RAC 11gR2

1

Ricardo Portilho [email protected]

Esta obra está licenciada sob a licençaCreative Commons Atribuição-SemDerivados 3.0 Brasil.

Para ver uma cópia desta licença, visite http://creativecommons.org/licenses/by-nd/3.0/br/.

Page 2: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

2

Oracle RAC: Conceitos

2

Page 3: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

3

● Disponibilidade● Escalabilidade● Custo Total de Propriedade (TCO)

3

Por que usar o RAC?

Page 4: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

4

● Custo de Equipamentos● Custo de Licenças● Custo de Conhecimento● Complexidade● Escalabilidade

4

Por que não usar o RAC?

Page 5: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

5

● 1 Database x N Instances• + Background Processes• + daemons• OCR• Voting Disk

5

Oracle RAC x Single Instance

Page 6: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

6

Oracle 6.0.35: VAX / VMSOracle 7: PCMOracle 8i: Cache Fusion IOracle 9i: Cache Fusion II, Oracle Cluster Management ServicesOracle 10gR1:• Oracle Cluster Management Services => Cluster Ready Services (CRS)• VIP - Virtual IP• ASM - Automatic Storage management• FAN - Fast Application Notification• Database Services• AWR, ADDM, ASH, Scheduler, Enterprise ManagerOracle 10gR2: CRS => Oracle Clusterware. New Features incluem: cluvfy, asmcmd.Oracle 11gR1: Apenas 7 New Features.Oracle 11gR2: CRS => Grid Infrastrucutre. 32 New Features.

6

Evolução Oracle RAC

Page 7: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

7

● Enhanced Oracle RAC Monitoring and Diagnostics in Enterprise Manager● Enhanced Oracle Real Application Clusters Configuration Assistants● OCI Runtime Connection Load Balancing● Parallel Execution for Oracle Real Application Clusters● Support for Distributed Transactions in an Oracle RAC Environment● Enhanced Oracle RAC Switchover Support for Logical Standby Databases● Enhanced Oracle RAC Monitoring and Diagnostics in Enterprise Manager

7

RAC 11gR1 New Features

Page 8: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

8

● Configuration Assistants Support New Oracle RAC Features● Enhanced Cluster Verification Utility● Integration of Cluster Verification Utility and Oracle Universal Installer● Cluster Time Service● Oracle Cluster Registry (OCR) Enhancements● Grid Plug and Play (GPnP)● Oracle Restart● Policy-Based Cluster and Capacity Management● Improved Clusterware Resource Modeling● Role-Separated Management● Agent Development Framework● Zero Downtime Patching for Oracle Clusterware and Oracle RAC● Enterprise Manager-Based Clusterware Resource Management● Enterprise Manager Provisioning for Oracle Clusterware and Oracle Real Application Clusters● Enterprise Manager Support for Grid Plug and Play● Enterprise Manager Support for Oracle Restart● Configuration Assistant Support for Removing Oracle RAC Installations

8

RAC 11gR2 New Features

Page 9: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

9

● Oracle Universal Installer Support for Removing Oracle RAC Installations● Improved Deinstallation Support With Oracle Universal Installer● Downgrading Database Configured With DBControl● Oracle Restart Integration with Oracle Universal Installer● Out-of-Place Oracle Clusterware Upgrade● OUI Support for Out-of-Place Oracle Clusterware Upgrade● Server Control (SRVCTL) Enhancements● Server Control (SRVCTL) Enhancements to Support Grid Plug and Play● SRVCTL Support for Single-Instance Database in a Cluster● Universal Connection Pool (UCP) Integration with Oracle Data Guard● UCP Integration With Oracle Real Application Clusters● Universal Connection Pool (UCP) for JDBC● Java API for Oracle RAC FAN High Availability Events● EMCA Supports New Oracle RAC Configuration for Enterprise Manager● Global Oracle RAC ASH Report + ADDM Backwards Compatibility

9

RAC 11gR2 New Features

Page 10: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

10

Hardware

10

Page 11: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

1111

Hardware

Page 12: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

12

Sistema Operacional

12

Page 13: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

13

Windows (32-Bit ou 64-Bit)• Windows Server 2003• Windows Server 2003 R2• Windows XP Professional• Windows Vista - Business, Enterprise, and Ultimate editions• Windows Server 2008 and Windows Server 2008 R2 - Standard, Enterprise, Datacenter, Web, and Foundation editions. The Server Core option is not supported.• Windows 7 - Professional, Enterprise, and Ultimate editions

Unix• AIX 5L V5.3 TL 09 SP1 / AIX 6.1 TL 02 SP1 / AIX 7.1 TL 0 SP1 • HP-UX PA-RISC 11i V3 / HP-UX Itanium 11i V3• Oracle Solaris 10 U6 x86-64 (64-Bit) / Oracle Solaris 10 U6 SPARC (64-Bit)• Oracle Solaris 11 11/11 x86-64 (64-Bit) / Oracle Solaris 11 11/11 SPARC (64-Bit)

Linux● Asianux Server 3 SP2● Red Hat Enterprise Linux / Oracle Enterprise Linux 4 Update 7● Red Hat Enterprise Linux / Oracle Enterprise Linux 5 Update 2● Red Hat Enterprise Linux / Oracle Enterprise Linux 6● SUSE Linux Enterprise Server 10 SP2● SUSE Linux Enterprise Server 11

13

Sistemas Operacionais suportados

Page 14: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

14

RAM• x86: 64 GB• x86-64: 512 GB (1 TB teórico)• Itanium 64: 1024 GB (1024 TB teóricos)

Kernel 2.4.x• Limite de 256 Hard Disks• Limite de Partições de 2TB• Limite de 16 GB para x86• Boa escalabilidade com até 4 CPUs.

Kernel 2.6.x• Melhor desempenho de I/O• Novas configurações de I/O• Suporte nativo a Asyncronous I/O e Direct I/O• Melhorias da Memória Virtual• Boa escalabilidade com mais de 32 CPUs

14

Linux: Limites

Page 15: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

15

User sets up the

Hardware,

network & storage

Sets up OCFS

( OPT )

Installs

Oracle Clusterware

Installs

RAC

Configures

RAC DB

-post hwos

-post cfs

-post crsinst

-pre crsinst

-pre dbinst

-pre dbcfg

-pre cfs

Cluster Verification Utility

15

Page 16: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

16

Lab 1 – Instalação OEL 6

Hands On !

16

Page 17: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

1717

Lab 1.1: Instalação OEL 6

Nas máquinas nerv01 e nerv02, instale o OEL.

- 1a tela: Install or upgrade an existing system - 2a tela: Skip - 3a tela: Next - 4a tela: English (English), Next - 5a tela: Brazilian ABNT2, Next - 6a tela: Basic Storage Devices, Next - 7a tela: Fresh Installation, Next - 8a tela: nerv01.localdomain, Next - 9a tela: America/Sao Paulo, Next - 10a tela: Nerv2014, Nerv2014, Next - 11a tela: Create Custom Layout, Next

Page 18: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

1818

Lab 1.2: Instalação OEL 6

18

- 12a tela: Crie as partições como abaixo, e em seguida, Next:sda1 1024 MB /bootsda2 100000 MB /sda3 20000 MB /homesda5 16384 MB swapsda6 10000 MB /varsda7 10000 MB /tmpsda8 Espaço restante /u01

- 13a tela: Format- 14a tela: Write changes to disk- 15a tela: Next- 16a tela: Desktop- 17a tela: Reboot- Retire o DVD.

Page 19: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

19

Lab 2 – Configuração OEL 6

Hands On !

19

Page 20: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

20

Nas máquinas nerv01 e nerv02, configure as placas de rede púplica e privada.

20

Lab 2.1 – Configuração OEL 6

Page 21: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

21

Nas máquinas nerv01 e nerv02, atualize o sistema operacional e execute a instalação dos pré-requisitos.# service network restart# yum -y update# yum -y install oracle-rdbms-server-11gR2-preinstall# yum -y install oracleasm-support# yum -y install unzip iscsi-initiator-utils java-1.7.0-openjdk parted# yum -y install unixODBC unixODBC.i686 unixODBC-devel unixODBC-devel.i686

21

Lab 2.2 – Configuração OEL 6

Page 22: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

22

Nas máquinas nerv01 e nerv02, ACRESCENTAR AO FINAL do arquivo /etc/hosts:# Public192.168.0.101 nerv01.localdomain nerv01192.168.0.102 nerv02.localdomain nerv02# Private192.168.1.101 nerv01-priv.localdomain nerv01-priv192.168.1.102 nerv02-priv.localdomain nerv02-priv# Virtual192.168.0.111 nerv01-vip.localdomain nerv01-vip192.168.0.112 nerv02-vip.localdomain nerv02-vip# Storage192.168.0.201 nerv09.localdomain nerv09

22

Lab 2.3 – Configuração OEL 6

Page 23: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

23

Nas máquinas nerv01 e nerv02, executar os comandos abaixo.# groupadd oper# groupadd asmadmin# groupadd asmdba# groupadd asmoper# usermod -g oinstall -G dba,oper,asmadmin,asmdba,asmoper oracle

# mkdir -p /u01/app/11.2.0.4/grid# mkdir -p /u01/app/oracle/product/11.2.0.4/db_1# mkdir -p /u01/shared_config01# mkdir -p /u01/shared_config02# mkdir -p /u01/shared_config03

# chown -R oracle:oinstall /u01# chmod -R 775 /u01

# passwd oracle (Coloque como senha do usuário oracle: Nerv2014)

23

Lab 2.4 – Configuração OEL 6

Page 24: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

24

Nas máquinas nerv01 e nerv02, altere o SELinux de “enforcing” para “permissive”.# vi /etc/selinux/config

Nas máquinas nerv01 e nerv02, desabilite o firewall.# chkconfig iptables off# chkconfig ip6tables off

Nas máquinas nerv01 e nerv02, desabilite o NTP.# mv /etc/ntp.conf /etc/ntp.conf.org# reboot

24

Lab 2.5 – Configuração OEL 6

Page 25: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

25

Nas máquinas nerv01 e nerv02 , com o usuário oracle, ACRESCENTAR NO FINAL do arquivo /home/oracle/.bash_profile as linhas abaixo.export TMP=/tmpexport TMPDIR=$TMPexport ORACLE_HOSTNAME=nerv01.localdomainexport ORACLE_UNQNAME=ORCLexport ORACLE_BASE=/u01/app/oracleexport ORACLE_HOME=$ORACLE_BASE/product/11.2.0.4/db_1export GRID_HOME=/u01/app/11.2.0.4/gridexport CRS_HOME=$GRID_HOMEexport ORACLE_SID=ORCL1export ORACLE_TERM=xtermexport PATH=/usr/sbin:$PATHexport PATH=$ORACLE_HOME/bin:$PATHexport LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/libexport CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlibif [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fifi

25

Lab 2.6 – Configuração OEL 6

Page 26: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

26

Shared Storage

26

Page 27: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

27

RAW Devices (Descontinuado para dados no 11gR1, e para tudo no 11gR2)• Plataformas: Todas• Arquivos não suportados: Software, Dump, Recovery

NFS• Plataformas: Linux, Solaris SPARC• Arquivos não suportados: Nenhum

LVM• Plataformas: HP-UX, HP Tru64 UNIX, Solaris SPARC Arquivos não suportados: Nenhum

Certified Vendor CFS• Plataformas: AIX, HP Tru64 UNIX, Solaris SPARC• Arquivos não suportados: Nenhum

OCFS2• Plataformas: Windows, Linux• Arquivos não suportados: Nenhum

ASM• Plataformas: Todas• Arquivos não suportados: OCR (11gR2 suporta), Voting Disk (11gR2 suporta), Software, Dump Areas

27

Opções de Shared Storage

Page 28: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

28

Lab 3 – Storage

Hands On !

28

Page 29: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

29

Na máquina nerv09, crie 3 diretórios.# mkdir /shared_config01# mkdir /shared_config02# mkdir /shared_config03

Na máquina nerv09, adicionar no arquivo /etc/exports:/shared_config01 *(rw,sync,no_wdelay,insecure_locks,no_root_squash)/shared_config02 *(rw,sync,no_wdelay,insecure_locks,no_root_squash)/shared_config03 *(rw,sync,no_wdelay,insecure_locks,no_root_squash)

Na máquina nerv09, iniciar o NFS Server:# service nfs start# chkconfig nfs on

29

Lab 3.1 – Storage (NFS)

Page 30: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

30

Nas máquinas nerv01 e nerv02, adicionar no arquivo /etc/fstab as TRÊS linhas abaixo.nerv09:/shared_config01 /u01/shared_config01 nfs rw,bg,hard,nointr,tcp,vers=3,timeo=600,rsize=32768,wsize=32768,actimeo=0,noac 0 0nerv09:/shared_config02 /u01/shared_config02 nfs rw,bg,hard,nointr,tcp,vers=3,timeo=600,rsize=32768,wsize=32768,actimeo=0,noac 0 0nerv09:/shared_config03 /u01/shared_config03 nfs rw,bg,hard,nointr,tcp,vers=3,timeo=600,rsize=32768,wsize=32768,actimeo=0,noac 0 0

30

Lab 3.2 – Storage (NFS)

Page 31: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

31

Nas máquinas nerv01 e nerv02, executar:# mount /u01/shared_config01# mount /u01/shared_config02# mount /u01/shared_config03

Na máquina nerv01, executar:# mkdir /u01/shared_config01/rac01# mkdir /u01/shared_config02/rac01# mkdir /u01/shared_config03/rac01# chown -R oracle:oinstall /u01/shared_config01/rac01# chown -R oracle:oinstall /u01/shared_config02/rac01# chown -R oracle:oinstall /u01/shared_config03/rac01

31

Lab 3.3 – Storage (NFS)

Page 32: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

3232

Lab 3.4 – Storage (ASM)

Na máquinas nerv09, crie 4 partições de 10GB, sem formatar.

Na máquina nerv09, configure o iSCSI server.# cat /etc/tgt/targets.conf<target iqn.2010-10.com.nervinformatica:storage.asm01-01> backing-store /dev/sda5 initiator-address 192.168.0.101 initiator-address 192.168.0.102</target><target iqn.2010-10.com.nervinformatica:storage.asm01-02> backing-store /dev/sda6 initiator-address 192.168.0.101 initiator-address 192.168.0.102</target>...

# service tgtd start# chkconfig tgtd on

Page 33: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

3333

Lab 3.5 – Storage (ASM)

Nas máquinas nerv01 e nerv02, ative o pacote iSCSI Initiator.# service iscsid start# chkconfig iscsid on

Nas máquinas nerv01 e nerv02, verifique os Discos exportados no Storage.# iscsiadm -m discovery -t sendtargets -p 192.168.0.201# iscsiadm -m node -T iqn.2010-10.com.nervinformatica:storage.asm01-01 -p 192.168.0.201 -l# iscsiadm -m node -T iqn.2010-10.com.nervinformatica:storage.asm01-02 -p 192.168.0.201 -l# iscsiadm -m node -T iqn.2010-10.com.nervinformatica:storage.asm01-03 -p 192.168.0.201 -l# iscsiadm -m node -T iqn.2010-10.com.nervinformatica:storage.asm01-04 -p 192.168.0.201 -l

Nas máquinas nerv01 e nerv02, deixe APENAS os novos discos no arquivo /etc/iscsi/initiatorname.iscsi.InitiatorName=iqn.2010-10.com.nervinformatica:storage.asm01-01InitiatorName=iqn.2010-10.com.nervinformatica:storage.asm01-02InitiatorName=iqn.2010-10.com.nervinformatica:storage.asm01-03InitiatorName=iqn.2010-10.com.nervinformatica:storage.asm01-04

Page 34: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

3434

Lab 3.6 – Storage (ASM)

Nas máquinas nerv01 e nerv02 verifique se os discos foram configurados localmente.# fdisk -l

Na máquina nerv01, particione os novos discos.# fdisk /dev/sdbn <enter>p <enter>1 <enter><enter><enter>w <enter>

# fdisk /dev/sdcn <enter>p <enter>1 <enter><enter><enter>w <enter>

Page 35: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

3535

Lab 3.7 – Storage (ASM)Na máquinas nerv01, particione os novos discos.# fdisk /dev/sddn <enter>p <enter>1 <enter><enter><enter>w <enter>

# fdisk /dev/sden <enter>p <enter>1 <enter><enter><enter>w <enter>

Nas máquinas nerv02, execute a detecção dos novos discos.# partprobe /dev/sdb# partprobe /dev/sdc# partprobe /dev/sdd# partprobe /dev/sde

Page 36: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

36

Nas máquinas nerv01 e nerv02, configure a ASMLib.# /etc/init.d/oracleasm configureoracle <enter>oinstall <enter>y <enter>y <enter># /etc/init.d/oracleasm status

Na máquina nerv01, crie os discos do ASM.# /etc/init.d/oracleasm createdisk DISK00 /dev/sdb1# /etc/init.d/oracleasm createdisk DISK01 /dev/sdc1# /etc/init.d/oracleasm createdisk DISK02 /dev/sdd1# /etc/init.d/oracleasm createdisk DISK03 /dev/sde1

Na máquina nerv02, execute a detecção dos discos criados.# /etc/init.d/oracleasm scandisks

36

Lab 3.8 – Storage (ASM)

Page 37: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

37

Nas máquinas nerv01 e nerv02, verifique se os discos estão corretos.# /etc/init.d/oracleasm listdisks# /etc/init.d/oracleasm querydisk -v -p DISK00# /etc/init.d/oracleasm querydisk -v -p DISK01# /etc/init.d/oracleasm querydisk -v -p DISK02# /etc/init.d/oracleasm querydisk -v -p DISK03

Nas máquinas nerv01 e nerv02, verifique se os discos estão corretos.# ls -lh /dev/oracleasm/disks/brw-rw----. 1 oracle oinstall 8, 17 Mar 3 08:40 DISK00brw-rw----. 1 oracle oinstall 8, 33 Mar 3 08:40 DISK01brw-rw----. 1 oracle oinstall 8, 49 Mar 3 08:40 DISK02brw-rw----. 1 oracle oinstall 8, 65 Mar 3 08:40 DISK03

37

Lab 3.9 – Storage (ASM)

Page 38: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

38

Oracle Grid Infrastructure

38

Page 39: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

39

- Oracle Cluster Registry- Voting Disk (Quorum Disk)- VIPs e SCAN- Daemons: evmd, ocssd, crs- Utilitários: crsctl, crs_stat, srvctl

39

Componentes

Page 40: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

40

Lab 4 - Grid Infraestructure

Hands On !

40

Page 41: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

41

Na máquina nerv01, com o usuário oracle, descompacte e execute o instalador do Grid Infrastructure.$ cd /home/oracle$ unzip -q p13390677_112040_Linux-x86-64_3of7.zip$ cd grig$ ./runInstaller

41

Lab 4.1 – Grid Infrastructure

Page 42: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

4242

Lab 4.2 – Grid Infrastructure

Page 43: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

4343

Lab 4.3 – Grid Infrastructure

Page 44: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

4444

Lab 4.4 – Grid Infrastructure

Page 45: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

4545

Lab 4.5 – Grid Infrastructure

Page 46: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

4646

Lab 4.6 – Grid Infrastructure

Page 47: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

4747

Lab 4.7 – Grid Infrastructure

Page 48: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

4848

Lab 4.8 – Grid Infrastructure

Page 49: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

4949

Lab 4.9 – Grid Infrastructure

Page 50: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

5050

Lab 4.10 – Grid Infrastructure

Page 51: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

5151

Lab 4.11 – Grid Infrastructure

Page 52: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

5252

Lab 4.12 – Grid Infrastructure

Page 53: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

5353

Lab 4.13 – Grid Infrastructure

Page 54: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

5454

Lab 4.14 – Grid Infrastructure

Page 55: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

5555

Lab 4.15 – Grid Infrastructure

Page 56: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

5656

Lab 4.16 – Grid Infrastructure

Page 57: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

5757

Lab 4.17 – Grid Infrastructure

Page 58: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

5858

Lab 4.18 – Grid Infrastructure

Page 59: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

5959

Lab 4.19 – Grid Infrastructure

Page 60: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

6060

Lab 4.20 – Grid Infrastructure

Page 61: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

6161

Lab 4.21 – Grid Infrastructure

Page 62: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

6262

Lab 4.22 – Grid Infrastructure

Page 63: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

63

Lab 5 – Oracle Database Software

Hands On !

63

Page 64: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

64

Na máquina nerv01, com o usuário oracle, adeque o Response File, descompacte e execute o instalador do Oracle Database Software.$ cd /home/oracle$ unzip -q p13390677_112040_Linux-x86-64_1of7.zip$ unzip -q p13390677_112040_Linux-x86-64_2of7.zip$ cd database$ ./runInstaller

64

Lab 5.1 – Oracle Database Software

Page 65: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

6565

Lab 5.2 – Oracle Database Software

Page 66: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

6666

Lab 5.3 – Oracle Database Software

Page 67: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

6767

Lab 5.4 – Oracle Database Software

Page 68: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

6868

Lab 5.5 – Oracle Database Software

Page 69: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

6969

Lab 5.6 – Oracle Database Software

Page 70: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

7070

Lab 5.7 – Oracle Database Software

Page 71: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

7171

Lab 5.8 – Oracle Database Software

Page 72: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

7272

Lab 5.9 – Oracle Database Software

Page 73: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

7373

Lab 5.10 – Oracle Database Software

Page 74: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

7474

Lab 5.11 – Oracle Database Software

Page 75: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

7575

Lab 5.12 – Oracle Database Software

Page 76: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

7676

Lab 5.13 – Oracle Database Software

Page 77: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

7777

Lab 5.14 – Oracle Database Software

Page 78: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

7878

Lab 5.15 – Oracle Database Software

Page 79: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

79

LAB 6 – ASM

Hands On !

79

Page 80: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

80

Na máquina nerv01, crie a Instância ASM, com o DISKGROUP DATA.$ $GRID_HOME/bin/crsctl status res -t

$ $GRID_HOME/bin/asmca -silent -configureASM -sysAsmPassword Nerv2014 \ -asmsnmpPassword Nerv2014 -diskGroupName DATA -diskList \ '/dev/oracleasm/disks/DISK00,/dev/oracleasm/disks/DISK01' -redundancy NORMAL \-au_size 1 -compatible.asm '11.2.0.0.0' -compatible.rdbms '11.2.0.0.0' \-diskString '/dev/oracleasm/disks/*'

$ $GRID_HOME/bin/crsctl status res -t

80

Lab 6.1 – ASM

Page 81: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

81

Na máquina nerv01, crie o DISKGROUP FRA, e o habilite no outro Nó.$ export ORACLE_HOME=$GRID_HOME$ export ORACLE_SID=+ASM1$ sqlplus / AS SYSASMSQL> CREATE DISKGROUP FRA NORMAL REDUNDANCY DISK '/dev/oracleasm/disks/DISK02' NAME DATA_0002, '/dev/oracleasm/disks/DISK03' NAME DATA_0003;SQL> EXIT;$ srvctl start diskgroup -g FRA -n nerv02$ srvctl enable diskgroup -g FRA -n nerv02$ $GRID_HOME/bin/crsctl status res -t

81

Lab 6.2 – ASM

Page 82: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

82

Oracle Database

82

Page 83: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

83

✔ Novos Background Process• ACMS: Atomic Controlfile to Memory Service• GTX0-j: Global Transaction Process• LMON: Global Enqueue Service Monitor• LMD: Global Enqueue Service Daemon• LMS: Global Cache Service Process• LCK0: Instance Enqueue Process• RMSn: Oracle RAC Management Processes (RMSn)• RSMN: Remote Slave Monitor

✔ PFILE / SPFILE (1x)✔ Control Files (1x)✔ Online Redo Log Threads (x Nodes)✔ UNDO Tablespaces / Datafiles (x Nodes)✔ Datafiles (1x)

83

RAC Database

Page 84: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

84

Na máquina nerv01, crie o Banco de Dados.$ export ORACLE_HOME=$ORACLE_BASE/product/11.2.0.4/db_1$ export ORACLE_SID=ORCL1$ $ORACLE_HOME/bin/dbca -silent -createDatabase -templateName General_Purpose.dbc \ -gdbName ORCL -sid ORCL \ -sysPassword Nerv2014 -systemPassword Nerv2014 \ -storageType ASM -asmsnmpPassword Nerv2014 \ -diskGroupName DATA -recoveryAreaDestination FRA \ -nodelist nerv01,nerv02 \ -characterSet WE8IS08859P15 -listeners LISTENER \ -memoryPercentage 40 \ -sampleSchema true \ -emConfiguration NONE \ -continueOnNonFatalErrors false

84

Lab 7.1 – Oracle Database

Page 85: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

8585

Lab 7.2 – Oracle Database

Para efetuar logon na Instance ASM1, use o SQLPlus.$ export ORACLE_SID=+ASM1$ sqlplus / as SYSDBAPor que não funcionou?

Verifique os discos existentes, e espaço disponível.V$ASM_DISKV$ASM_DISKGROUP

Crie uma TABLESPACE no ASM.SQL> CREATE TABLESPACE nerv DATAFILE '+DATA';Deve ser feito na Instance ASM ou na Instance Database?

Execute o asmcmd, e navegue pelos diretórios do Disk Group.$ asmcmd -pASMCMD [+] > help

Pelo asmcmd, copie um DATAFILE do ASM para o /home/oracle de um Node.

Page 86: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

8686

Lab 7.3 – Oracle Database

Execute um Backup do Banco de Dados.$ rman target /RMAN> BACKUP DATABASE PLUS ARCHIVELOG DELETE INPUT;Por que não funcionou?

Page 87: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

87

Administração

87

Page 88: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

8888

Comandos depreciados no 11gR2

● crs_stat● crs_register● crs_unregister● crs_start● crs_stop● crs_getperm● crs_profile● crs_relocate● crs_setperm● crsctl check crsd● crsctl check cssd● crsctl check evmd● crsctl debug log● crsctl set css votedisk● crsctl start resources● crsctl stop resources

Page 89: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

8989

Dificuldades

● $GRID_HOME x $ORACLE_HOME● oracle X root

Page 90: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

90

Daemons

90

Page 91: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

9191

● Cluster Ready Services (CRS)● Cluster Synchronization Services (CSS)● Oracle ASM● Cluster Time Synchronization Service (CTSS)● Event Management (EVM)● Oracle Notification Service (ONS)● Oracle Agent (oraagent)● Oracle Root Agent (orarootagent)● Cluster Logger Service (ologgerd)● System Monitor Service (osysmond)● Grid Plug and Play (GPNPD)● Grid Interprocess Communication (GIPC)● Multicast Domain Name Service (mDNS)● Oracle Grid Naming Service (GNS)

Daemons

Page 92: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

9292

Cluster Startup

Page 93: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

9393

Alert Log$GRID_HOME/log/<node>/alert<node>.log

CRS – Cluster Ready Services (crsd)$GRID_HOME/log/<node>/crsd

CSS – Cluster Syncronization Services (cssd)$GRID_HOME/log/<node>/cssd

EVM – Event Manager (evmd)$GRID_HOME/log/<node>/evmd

Outros LogsVIP e ONS$GRID_HOME/log/<node>/racg

OCR Applications$GRID_HOME/log/<node>/client

SCAN$GRID_HOME/log/diag/tnslsnr/<node>/listener_scan1

Daemons - Logs

Page 94: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

94

LAB 8 – Daemons

Hands On !

94

Page 95: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

95

Acompanhe a execução dos daemons via top.

Desligue a máquina nerv01.Veja o que acontece no Alert Log do nerv02 enquanto o nerv01 é desligado.$ tail -f $GRID_HOME/log/nerv02/alertnerv02.log

Ligue a máquina nerv01.Veja o que acontece no Alert Log do nerv02 enquanto o nerv01 é ligado.$ tail -f $GRID_HOME/log/nerv02/alertnerv02.log

Familiarize-se com os diretórios de logs.

Veja o que foi atualizado nos Logs.

(Para ver o que está funcionando, utilize “crsctl status resource –t”.

95

Lab 8.1 – Daemons

Page 96: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

96

Acompanhe os Alert Logs dos dois nós.

Desconecte o cabo da rede do Interconnect, apenas de um nó.O que aconteceu?

Desconecte o cabo da rede do Storage, apenas de um nó.O que aconteceu?

Verifique e altere parâmetros de timeout para o mínimo possível.crsctl get css reboottimecrsctl get css misscountcrsctl get css disktimeoutcrsctl set css reboottime 1crsctl set css misscount 2crsctl set css disktimeout 3

96

Lab 8.2 – Daemons

Page 97: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

97

Crie uma tabela de testes, e duplique-a 8 vezes.SQL> CREATE TABLE TESTE AS SELECT * FROM ALL_OBJECTS;SQL> INSERT INTO TESTE SELECT * FROM TESTE;SQL> INSERT INTO TESTE SELECT * FROM TESTE;SQL> INSERT INTO TESTE SELECT * FROM TESTE;SQL> INSERT INTO TESTE SELECT * FROM TESTE;SQL> INSERT INTO TESTE SELECT * FROM TESTE;SQL> INSERT INTO TESTE SELECT * FROM TESTE;SQL> INSERT INTO TESTE SELECT * FROM TESTE;SQL> INSERT INTO TESTE SELECT * FROM TESTE;O que aconteceu?

97

Lab 8.3 – Daemons

Page 98: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

98

srvctl

98

Page 99: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

99

● A partir de qualquer Node, controla todos.● Deve ser utilizado com o usuário oracle.● Deve ser utilizado o srvctl do GRID_HOME.● Comando preferencial para iniciar e parar recursos do RAC.● Administra Database, Instances, ASM, Listeners e Services.● Um recurso pode ser iniciado, parado, habilitado, ou desabilitado.

99

srvctl

Page 100: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

100

LAB 9 – srvctl

Hands On !

100

Page 101: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

101

● Execute srvctl -h e entenda as opções.● Pare o Listener de apenas um Node.● Pare a Instance de apenas um Node.● Inicie novamente o Listener que está parado.● Inicie novamente a Instance que está parada.● Pare o Database, e o inicie novamente.● Pare uma Intance com a opção ABORT.● Inicie uma Instance com a opção MOUNT.● Mate uma Instance (kill no pmon) de um dos nós, e veja o que acontece.

(Para ver o que está funcionando, utilize “crsctl status resource –t”)

101

Lab 9.1 – srvctl

Page 102: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

102

Coloque o banco em modo ARCHIVELOG e execute um backup.

$ srvctl stop database -d ORCL$ srvctl start instance -d ORCL -i ORCL1 -o mountSQL> ALTER DATABASE ARCHIVELOG;SQL> ALTER SYSTEM SET db_recovery_file_dest='+FRA';SQL> ALTER SYSTEM SET db_recovery_file_dest_size=10G;SQL> ALTER DATABASE OPEN;$ srvctl start instance -d ORCL -i ORCL2

RMAN> BACKUP DATABASE;

102

Lab 9.2 – srvctl

Page 103: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

103

crsctl

103

Page 104: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

104

● A partir de qualquer Node, controla todos.● Deve ser utilizado com o usuário oracle ou com o owner do GRID_HOME.● Deve ser utilizado do GRID_HOME.● Principal comando de administração do Grid.● Um recurso pode ser iniciado, parado, habilitado, ou desabilitado.● Necessário para verificação e alteração de parâmetros.● Necessário para Troubleshooting e Debug.

104

crsctl

Page 105: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

105

LAB 10 – crsctl

Hands On !

105

Page 106: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

106

Verifique as opções do crsctl, digitando “crsctl”, sem opções.

Verifique o status dos Daemons:crsctl check crscrsctl check cssdcrsctl check crsdcrsctl check evmdSe estes comandos estão deprecated, qual é seu substituto?

crsctl check ctssQue informação é importante neste comando?

Verifique a versão instalada e ativa.crsctl query crs activeversioncrsctl query crs softwareversion

106

Lab 10.1 – crsctl

Page 107: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

107

Liste os módulos do Cluster.crsctl lsmodules crscrsctl lsmodules csscrsctl lsmodules evmTente executar os comando acima com o usuário oracle.

Coloque um dos módulos informados pelo comando anterior (lsmodules), e coloque ele em modo Debug.crsctl debug log crs “CRSCOMM:2”crsctl debug log res “ora.scan1.vip:5”Se estes comandos estão deprecated, qual é seu substituto?

Pare todo o Node.crsctl stop cluster

Pare o outro Node.crsctl stop cluster -n nerv02

Inicie todo o Cluster.crsctl start cluster -all

107

Lab 10.2 – crsctl

Page 108: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

108

Liste todos os parâmetros de um recurso.crsctl status res ora.orcl.db -f

Altere um dos parâmetros.crsctl modify resource ora.orcl.db -attr RESTART_ATTEMPTS=5

108

Lab 10.3 – crsctl

Page 109: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

109

OCR

109

Page 110: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

110

● É o centro das informações do RAC.● Deve estar em Storage compartilhado por todos Nodes.● Pode ter até 4 mirrors.● Ferramentas do OCR: ocrconfig, ocrcheck, ocrdump.● Ferramentas do OCR devem ser utilizadas como root.● Pode ser alterado de qualquer Node.● Backups do OCR são executados automaticamente.● Backups armazenados: 1 semanal, 1 diário, e 1 a cada 4 horas.● Podem ser executados backups físicos e lógicos.

110

OCR – Oracle Cluster Registry

Page 111: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

111

LAB 11 – OCR

Hands On !

111

Page 112: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

112

Execute o ocrdump, e analise o conteúdo do dump (OCRDUMPFILE).

Execute o ocrcheck, e verifique o resultado.

Ao executar o ocrcheck, um log é gerado no diretório de Logs.$GRID_HOME/log/<hostname>/client/ocrcheck_<pid>.log

Verifique o OCR pelo Cluster Verification Utility.cluvfy comp ocr -n nerv01,nerv02Por que não funciona?

Adicione um mirror.

112

Lab 11.1 – OCR

Page 113: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

113

Verifique os backups físicos existentes do OCR.ocrconfig -showbackup

Faça um backup físico manual.Em que Node o Backup foi armazenado?

Faça um backup lógico.ocrconfig -export /home/oracle/OCR.bkp

Apague o OCR, e todos os Mirrors.

Restaure um Backup FÍSICO./u01/app/11.2.0/grid/bin/ocrconfig -restore ...O que aconteceu?

Inicie novamente o crs, em todos Nodes, e verifique o OCR.crsctl start cluster -all

113

Lab 11.2 – OCR

Page 114: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

114

Voting Disks

114

Page 115: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

115

● É o centro do “ping” dos Nodes.● Pode ter N mirrors.● Pode ser alterado de qualquer Node.● Backups do Voting Disk são manuais.● Todas operações do Voting Disk devem ser executadas como root.● Deve ser feito backup após Adição ou Remoção de Nodes (<11gR2).● Com base nas informações nele, o Clusterware decide que Node faz parte do Cluster (Election / Eviction / Split Brain).

115

Voting Disk

Page 116: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

116

LAB 12 – Voting Disk

Hands On !

116

Page 117: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

117

Verifique o status do Voting Disk.crsctl query css votedisk

Adicione três Mirrors.crsctl stop cluster -allcrsctl add css votedisk /u01/shared_config/rac01/votingdisk-mirrorPor que não funcionou?

Verifique o status do Voting Disk e Mirrors.crsctl query css votedisk

Remova um dos novos Voting Disks.crsctl delete css votedisk /u01/shared_config/rac01/votingdisk-mirror

117

Lab 12.1 – Voting Disk

Page 118: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

118

Remova o Voting Disk e todos os mirrors.

Desabilite o início automático do CRS nos dois Nodes./u01/app/11.2.0/grid/bin/crsctl disable crs

Reinicie os dois Nodes.

Reinicie um dos Nodes em modo exclusivo./u01/app/11.2.0.4/grid/bin/crsctl start crs -excl

Adicione um Voting Disk./u01/app/11.2.0.4/grid/bin/crsctl add css votedisk /u01/shared_config/rac01/vdsk

Habilite o início automático do CRS nos dois Nodes./u01/app/11.2.0.4/grid/bin/crsctl enable crs

Reinicie os dois Nodes.

118

Lab 12.2 – Voting Disk

Page 119: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

119

oifcfg

119

Page 120: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

120

● A partir de qualquer Node, controla todos.● Deve ser utilizado com o usuário root.● Ferramenta para administração dos IPs Público, Interconnect, e VIPs.● Necessário para alteração de rede dos Nodes.● Hostnames não podem ser alterados (só os VIPs).

120

oifcfg

Page 121: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

121

LAB 13 – oifcfg

Hands On !

121

Page 122: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

122

Execute um backup físico do OCR.

Verifique as Interfaces atuais, nos dois Nodes. Guarde o resultado.oifcfg getifsrvctl config nodeapps -n nerv01 -asrvctl config nodeapps -n nerv02 -a

Em apenas um Node, adicione a nova Interface ao Interconnect.oifcfg setif -global eth1/192.168.3.0:cluster_interconnect

Pare o Cluster nos dois Nodes.crsctl stop cluster -all

Logar no ambiente gráfico do nerv01 como root, e alterar o IP do Interconnect.Logar no ambiente gráfico do nerv02 como root, e alterar o IP do Interconnect.

No nerv01, alterar /etc/hosts para os novos IPs.No nerv02, alterar /etc/hosts para os novos IPs.

Reinicie os dois Nodes.

122

Lab 13.1 – oifcfg

Page 123: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

123

Em apenas um Node, remova a antiga Interface, após o CRS iniciar.oifcfg delif -global eth1/192.168.1.0

Execute um backup físico do OCR.

123

Lab 13.2 – oifcfg

Page 124: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

124

Rolling Upgrades

124

Page 125: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

125

● Permite aplicação de Patches sem indisponibilidade.● Para-se uma Instance, aplica-se o Patch, inicia a Instance, e parte para a Instance seguinte.● O Patch precisa suportar o Rolling Upgrade.● Só é possível utilizando-se um ORACLE_HOME para cada Node.

125

Rolling Upgrades

Page 126: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

126

LAB 14 – Rolling Upgrades

Hands On !

126

Page 127: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

127

Pare a Instance ORCL1 da máquina nerv01 usando srvctl.

Aplique o Patch na máquina nerv01.$ unzip -q p18139690_112040_Linux-x86-64.zip$ cd /home/oracle/18139690$ORACLE_HOME/OPatch/opatch napply

Após a aplicação, inicie a Intance ORCL1 do nerv01.

Pare a Instance ORCL2 da máquina nerv02.

Aplique o CPU Patch April 2014 na máquina nerv02.

Após a aplicação, inicie a Intance ORCL2 da máquina nerv02.

Aplique o SQL do Patch, em apenas um Node, conforme README.cd $ORACLE_HOME/rdbms/adminsqlplus / AS SYSDBASQL> @catbundle.sql cpu napplySQL> QUIT

127

Lab 14 – Rolling Upgrades

Page 128: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

128

Single Instance x RAC

128

Page 129: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

129129

● Full Table Scans● Optimizer Statistics, Histograms, System Statistics● Bind Variables / Cursor Sharing● Sequences / Sequences Artificiais● Locally Managed Tablespaces / ASSM● Reverse Key Indexes● Job x Scheduler● DBMS_ALERT● DBMS_PIPE● V$SESSION● UTL_FILE● Directories / External Tables / Data Pump● BFILEs● Partitioning

Single Instance x RAC

Page 130: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

130

LAB 15 – Sequences

Hands On !

130

Page 131: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

131

Crie uma entrada no tnsnames.ora para o RAC vizinho ao seu.

Conecte no RAC vizinho como SCOTT/TIGER. Analise e execute o script create_sequence.sql.

Analise e execute o script insert_sequence_lenta.sql

Analise e execute o script insert_sequence_rapida.sql

Repita os scripts de insert algumas vezes e veja se o resultado continua similar.

É possível melhorar este tempo?

131

Lab 15.1 – Sequences

Page 132: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

132

Load Balance (Client)

132

Page 133: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

133

Client tnsnames.ora

ORCL = (DESCRIPTION= (LOAD_BALANCE=ON) →→→ Escolha Aleatória (FAILOVER=ON) →→→ Tenta acessar o 1o, depois o 2o (ADDRESS=(PROTOCOL=TCP)(HOST=nerv01-vip)(PORT=1521)) →→→ VIP (ADDRESS=(PROTOCOL=TCP)(HOST=nerv02-vip)(PORT=1521)) →→→ VIP (CONNECT_DATA= (SERVICE_NAME=ORCL) (FAILOVER_MODE= (TYPE=SELECT) →→→ SESSION ou SELECT (METHOD=BASIC) →→→ BASIC ou PRECONNECT (RETRIES=10) →→→ 10 tentativas de conexão (DELAY=1) →→→ 1 segundo para cada tentativa ) ) )

133

Load Balance (Client)

Page 134: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

134

Load Balance (Server)

134

Page 135: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

135135

Load Balance (Server)

Page 136: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

136

Client tnsnames.ora:ORCL =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = rac01-scan)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = ORCL)))

Parâmetro LOCAL_LISTENER dos Nodes:(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=nerv01-vip)(PORT=1521))))

Parâmetro REMOTE_LISTENER dos Nodes:rac01-scan:1521

136

Load Balance (Server)

Page 137: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

137

Services GoalGOAL_NONEGOAL_SERVICE_TIME →→→ Bom para OLTPGOAL_THROUGHPUT →→→ Bom para Batch / OLAP / DBA

Services Connection Load Balance GoalCLB_GOAL_SHORT →→→ Bom para OLTPCLB_GOAL_LONG →→→ Bom para Batch / OLAP / DBA ou OLTP Persistente

Services Distributed Transaction ProcessingTRUEFALSE

137

Load Balance (Server)

Page 138: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

138

srvctl add servicesrvctl remove servicesrvctl modify servicesrvctl relocate servicesrvctl status servicesrvctl start servicesrvctl stop servicesrvctl enable servicesrvctl disable service

138

Load Balance (Server)

Page 139: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

139

LAB 16 – Load Balance (Server)

Hands On !

139

Page 140: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

140

Veja os Services configurados.$ srvctl config database -d ORCL

Crie Services para OLTP, BATCH, e DBA.Utilize opções específicas para cada tipo de Service (GOAL, CLB, etc.).

Exemplo:srvctl add service -d ORCL -s OLTP_SERVICE -r ORCL1 -a ORCL2 -w 1 -z 10 -P PRECONNECT -e SESSION -m BASIC -j SHORT -B SERVICE_TIME

Como ver detalhes de um Service já configurado?

Altere o tnsnames.ora para utilizar os novos Services.

Teste o Failover.

140

Lab 16.1 – Load Balance (Server)

Page 141: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

141

Crie uma Job Class no Scheduler para o Service DBA:BEGIN DBMS_SCHEDULER.create_job_class ( job_class_name => 'DBA_JOB_CLASS', service => 'DBA_SERVICE');END;/

Crie um Job no Scheduler para utilizar o Service DBA:BEGIN

DBMS_SCHEDULER.create_job ( job_name => 'SYS.DBA_JOB_TEST', job_type => 'PLSQL_BLOCK', job_action => 'BEGIN EXEC DBMS_STATS.GATHER_DATABASE_STATS; END;', start_date => SYSTIMESTAMP, repeat_interval => 'FREQ=DAILY;', job_class => 'SYS.DBA_JOB_CLASS', end_date => NULL, enabled => TRUE, comments => 'Job linked to the DBA_JOB_CLASS.');

END;/

141

Lab 16.2 – Load Balance (Server)

Page 142: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

142

Benchmark

142

Page 143: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

143

Tipos● TCP-C: OLTP (Rede Varejista)● TPC-E: OLTP (Telefonia)● TCP-H: Data Warehouse

Ferramentas● Hammerora● Swingbench

143

Benchmark

Page 144: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

144

LAB 17 – Benchmark

Hands On !

144

Page 145: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

145

Copie o swingbench para a máquina nerv01, como usuário oracle.

Descompacte o swingbench.zip.

Crie uma Tablespace chamada SOE.

Crie o Schema do Benchmark:$ cd swingbench/bin$ ./oewizard

Execute o Benchmark:$ ./charbench -cs //rac01-scan/ORCL -uc 10

Execute o Benchmark no Service ORCL, e em um Service que só utilize um Node.

145

Lab 17.1 – Benchmark

Page 146: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

146

Implemente Jumbo Frames e refaça o Benchmark no ORCL:ifconfig eth0 mtu 9000

Teste o ping de 8192 bytes em todos os Nodes.ping -s 8192 -M do nerv01-priv -c 5

146

Lab 17.2 – Benchmark

Page 147: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

147

Adicionar e Remover Nodes

147

Page 148: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

148

Sequência para adicionar Node:● Instalar Hardware;● Instalar Sistema Operacional;● Configurar Storage;● Instalar Grid Infraestruture a partir de um Node existente:● Instalar Oracle a partir de um Node existente;● Configurar o Listener;● Adicionar Instances.

Sequência para remover Node:● Remover Instance (Database e ASM);● Remover Listener;● Remover Oracle;● Alterar Inventories dos outros Nodes;● Remover configurações de rede do OCR (oifconfig);● Remover o Node do OCR;● Remover Clusterware;● Alterar Inventories dos outros Nodes.

148

Adicionar e Remover Nodes

Page 149: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

149

LAB 18 – Adicionar Nodes

Hands On !

149

Page 150: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

150

Manter apenas 1 RAC ativo na sala, para criar um RAC de 8 Nós.

No restante das máquinas, refazer os Labs 1, 2, e 3.

Para todas as máquinas, configurar SSH sem senha para o usuário oracle.

Instalar Grid Infraestruture nas outras máquinas, a partir de um Node existente:$ cd $GRID_HOME/oui/bin$ ./addNode.sh -silent “CLUSTER_NEW_NODES={<new node>}” “CLUSTER_NEW_VIRTUAL_HOSTNAMES={<new node VIP>}”

Nas outras máquinas, com o usuário root, execute os seguintes scripts.# /u01/app/oraInventory/orainstRoot.sh# /u01/app/11.2.0.4/grid/root.sh

Instalar Oracle Database nas outras máquinas, a partir de um Node existente:$ cd $ORACLE_HOME/oui/bin$ ./addNode.sh -silent "CLUSTER_NEW_NODES={<new node>}"

Nas outras máquinas, com o usuário root, execute o script abaixo.# /u01/app/oracle/product/11.2.0.4/db_1/root.sh

150

Lab 18.1 – Adicionar Nodes

Page 151: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

151

Na máquina nerv01, execute a adição da instância.$ $GRID_HOME/bin/srvctl add instance -d ORCL -i ORCL3 -n nerv03

Na máquina nerv01, conclua a adição do nó.SQL> ALTER SYSTEM SET INSTANCE_NUMBER=3 SID='ORCL3' SCOPE=SPFILE;SQL> ALTER DATABASE ADD LOGFILE THREAD 3;SQL> ALTER DATABASE ADD LOGFILE THREAD 3;SQL> ALTER DATABASE ENABLE PUBLIC THREAD 3;SQL> ALTER SYSTEM SET THREAD=3 SID='ORCL3' SCOPE=SPFILE;SQL> CREATE UNDO TABLESPACE UNDOTBS3;SQL> ALTER SYSTEM SET UNDO_TABLESPACE=UNDOTBS3 SID='ORCL3' SCOPE=SPFILE;

$ $GRID_HOME/bin/srvctl start instance -d ORCL -i ORCL3

151

Lab 18.2 – Adicionar Nodes

Page 152: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

152

Melhores Práticas

152

Page 153: Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

153

- RAC de dois nós não é Cluster, é Disaster Recovery de luxo. - Utilize Hardware Certificado para sua implementação. - Tenha redundância em tudo, incluindo NICs e Switch. - O Switch do Interconnect deve ser exclusivo. - Use ASM para DATAFILEs. - Use OCFS2 ou NFS para OCR e Voting Disk. - No ASM, utilize dois DGs: DATA e FRA. - Use HOMEs locais, para GRID_HOME e ORACLE_HOME. - Logs (todos) devem ser centralizados. De nada vale um log que não existe. - Utilize cinco Voting Disks. - Utilize Jumbo Frames. - Utilize Large Pages. - Utilize /etc/hosts, e não apenas DNS. Não utilize DHCP. - O Cluster Verification Utility é sua principal ferramenta de Troubleshooting. - Aumente seus Redo Logs e utilize o MTTR. - Observe também os Logs do Sistema Operacional. - Saiba que uma operação atômica será mais lenta em Oracle RAC do que em Single Instance. - Esqueça SIDs. Aprenda Services. - Particione sua aplicação em Services. Sem Services, o RAC não é nada.

153

Melhores Práticas