265
Ricardo Portilo Prooi ricardo@oervioformatcaacomabr Esta obra está iiceociada sob a iiceoça Creatve Commoos AtribuiçooSӹemDerivados oa0 Br asiia Para ver uma cópia desta iiceoça, visite ltp://creatvecommoosaorg/iiceoses/bySod/oa0/br/a Oracle RAC 12cR2 Em Red Hat Eoterprise Lioux 7a4 Iociui CDB Arclitecture

Oracle RAC 12cR2nervinformatica.com.br/Downloads/Materiais/ORAC-12cR2... · 2018-03-26 · Oracle Flex Cluster ... executar os comandos abaixo. # groupadd oinstall # groupadd dba

Embed Size (px)

Citation preview

Ricardo Portilo Prooiricardo@oervioformatcaacomabr

Esta obra está iiceociada sob a iiceoçaCreatve Commoos AtribuiçooSӹemDerivados oa0 BrasiiaPara ver uma cópia desta iiceoça, visite ltp://creatvecommoosaorg/iiceoses/bySod/oa0/br/a

Oracle RAC 12cR2Em Red Hat Eoterprise Lioux 7a4

Iociui CDB Arclitecture

2

Comandos no Treinamento

Comando com o usuário root:# ls -lh

Comando com um usuário oracle:$ ls -lh

Adicionar texto a um arquivo:$ vi initORCL.ora...db_cache_size=500M...

Comando no Oracle:SQL> SELECT STATUS FROM V$INSTANCE;

Algo deve ser alterado de acordo com sua máquina:Hostoame: nerv01aiocaidomaio

Quando algo dá errado propositalmente:O que aconteceu?

Coloque todas as senhas (root, oracle, SYS, SYSTEM) como Nerv2018.

3

rlwrap

# wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm# yum -y install epel-release-latest-7.noarch.rpm# yum -y install rlwrap

$ rlwrap sqlplus / AS SYSDBA$ rlwrap rman TARGET /$ rlwrap lsnrctl$ rlwrap dgmgrl SYS/Nerv2018@ORCL

4

● Dispooibiiidade● Escaiabiiidade● Custo Totai de Propriedade (TCO)

4

Por que usar o RAC?

5

● Custo de Equipameotos● Custo de Liceoças● Custo de Coolecimeoto● Compiexidade● Escaiabiiidade

5

Por que não usar o RAC?

66

Arquitetura

7

● 1 Database x N Iostaoces• + Backgrouod Processes• + daemoos• OCR• Votog Disk

7

Oracle RAC x Single Instance

8

Oracle 6.0.35: VAX / VMӹOracle 7: PCMOracle 8i: Cacle Fusioo IOracle 9i: Cacle Fusioo II, Oracie Ciuster Maoagemeot ӹervicesOracle 10gR1:• Oracie Ciuster Maoagemeot ӹervices => Ciuster Ready ӹervices (CRӹ)• AӹM S Automatc ӹtorage maoagemeot• FAN S Fast Appiicatoo Notfcatoo• Iotegraçoo com Database ӹervices• AWR, ADDM, AӹH, ӹcleduier, Eoterprise MaoagerOracle 10gR2: CRӹ => Oracie Ciusterwarea New Features iociuem: ciuvfy, asmcmdaOracle 11gR1: Apeoas 7 New FeaturesaOracle 11gR2: CRӹ => Grid Iofrastrucutrea o2 New FeaturesaOracle 12cR1: oo New FeaturesaOracle 12cR2: o2 New Featuresa

8

Evolução Oracle RAC

9

● Eolaoced Oracie RAC Mooitoriog aod Diagoostcs io Eoterprise Maoager● Eolaoced Oracie Reai Appiicatoo Ciusters Coofguratoo Assistaots● OCI Ruotme Coooectoo Load Baiaociog● Paraiiei Executoo for Oracie Reai Appiicatoo Ciusters● ӹupport for Distributed Traosactoos io ao Oracie RAC Eoviroomeot● Eolaoced Oracie RAC ӹwitclover ӹupport for Logicai ӹtaodby Databases● Eolaoced Oracie RAC Mooitoriog aod Diagoostcs io Eoterprise Maoager

9

RAC 11gR1 New Features

10

● Coofguratoo Assistaots ӹupport New Oracie RAC Features● Enhanced Cluster Verifcaton Utlity● Integraton of Cluster Verifcaton Utlity and Oracle Universal Installer● Cluster Time Service● Oracie Ciuster Registry (OCR) Eolaocemeots● Grid Piug aod Piay (GPoP)● Oracle Restart● Policy-Based Cluster and Capacity Management● Improved Ciusterware Resource Modeiiog● Role-Separated Management● Ageot Deveiopmeot Framework● Zero Downtme Patching for Oracle Clusterware and Oracle RAC● Eoterprise MaoagerSBased Ciusterware Resource Maoagemeot● Eoterprise Maoager Provisiooiog for Oracie Ciusterware aod Oracie Reai Appiicatoo Ciusters● Eoterprise Maoager ӹupport for Grid Piug aod Piay● Eoterprise Maoager ӹupport for Oracie Restart● Coofguratoo Assistaot ӹupport for Removiog Oracie RAC Iostaiiatoos

10

RAC 11gR2 New Features – Parte 1

11

● Oracie Uoiversai Iostaiier ӹupport for Removiog Oracie RAC Iostaiiatoos● Improved Deiostaiiatoo ӹupport Witl Oracie Uoiversai Iostaiier● Dowogradiog Database Coofgured Witl DBCootroi● Oracie Restart Iotegratoo witl Oracie Uoiversai Iostaiier● Out-of-Place Oracle Clusterware Upgrade● OUI ӹupport for OutSofSPiace Oracie Ciusterware Upgrade● ӹerver Cootroi (ӹRVCTL) Eolaocemeots● ӹerver Cootroi (ӹRVCTL) Eolaocemeots to ӹupport Grid Piug aod Piay● ӹRVCTL ӹupport for ӹiogieSIostaoce Database io a Ciuster● Uoiversai Coooectoo Pooi (UCP) Iotegratoo witl Oracie Data Guard● UCP Iotegratoo Witl Oracie Reai Appiicatoo Ciusters● Uoiversai Coooectoo Pooi (UCP) for JDBC● Java API for Oracie RAC FAN Higl Avaiiabiiity Eveots● EMCA ӹupports New Oracie RAC Coofguratoo for Eoterprise Maoager● Giobai Oracie RAC AӹH Report + ADDM Backwards Compatbiiity

11

RAC 11gR2 New Features – Parte 2

1212

RAC 12cR1 New Features – Parte 1● Oracle Flex Cluster● ӹRVCTL ӹupport for Oracie Fiex Ciuster Impiemeotatoos● Policy-Based Cluster Management and Administraton● WlatSIf Commaod Evaiuatoo● Shared Grid Naming Service (GNS)● Ooiioe Resource Atribute Modifcatoo● Grid Infrastructure Script Automaton for Installaton and Upgrade● Muitpurpose Ciuster Iostaiiatoo ӹupport● ӹupport for IPv6 Based IP Addresses for Oracie RAC Ciieot Coooectvity● Message Forwardiog oo Oracie RAC● ӹlarded Queues for Performaoce aod ӹcaiabiiity● Oracie Grid Iofrastructure Roiiiog Migratoo for OoeSOf Patcles

1313

RAC 12cR1 New Features – Parte 2● Oracle Flex ASM● Oracie AӹM ӹlared Password Fiie io a Disk Group● Oracie AӹM Rebaiaoce Eolaocemeots● Oracie AӹM Disk Resyoc Eolaocemeots● Oracie AӹM clowo, clgrp, clmod aod Opeo Fiies ӹupport● Oracie AӹM ӹupport ALTER DIӹKGROUP REPLACE UӹER● Oracie AӹM Fiie Access Cootroi oo Wiodows● Oracle ASM Disk Scrubbing● Oracie Ciuster Registry Backup io AӹM Disk Group ӹupport● Eoterprise Maoager ӹupport for Oracie AӹM Features● Oracie ACFӹ ӹupport for Aii Oracie Database Fiies● Oracie ACFӹ aod Higliy Avaiiabie NFӹ● Oracie ACFӹ ӹoapslots Eolaocemeots● Oracie ACFӹ Repiicatoo Iotegratoo witl Oracie ACFӹ ӹecurity aod Eocryptoo● Oracie ACFӹ ӹecurity aod Eocryptoo Features● Oracie ACFӹ Fiie Tags for Grid Homes● Oracie ACFӹ PiugSio APIs● Oracie ACFӹ Repiicatoo aod Taggiog oo AIX● Oracie ACFӹ Repiicatoo aod Taggiog oo ӹoiaris● Oracie Audit Vauit ӹupport for Oracie ACFӹ ӹecurity aod Eocryptoo● Eoterprise Maoager ӹupport for Oracie ACFӹ New Features

1414

RAC 12cR2 New Features – Parte 1● Oracle Flex ASM Disk Group Quota Management● Prioritzed Rebalancing● Exteodiog Oracie Reai Appiicatoo Ciusters (Oracie RAC) Coofguratoo ӹupport● I/O ӹerver● Ciuster Resource Actvity Log● Ciuster Verifcatoo Utiity S ӹecood Geoeratoo Commaod Lioe Output● ӹwitcl ӹervice Eolaocemeot● VM Maoager Ageot for GI● ӹlared Grid Namiog ӹervice Higl Avaiiabiiity● Oracie Ciusterware Resource Groups● Reasooed WlatSIf Commaod Evaiuatoo (WlySIf)● Server Weight-Based Node Evicton● Load-Aware Resource Placement● Oracie Ciusterware Appiicatoo Ciusters● Oracie Grid Iofrastructure Iostaiiatoo ӹupport for Appiicatoo Ciuster Iostaiiatoo Type

1515

RAC 12cR2 New Features – Parte 2● Oracie Automatc ӹtorage Maoagemeot Ciuster Fiie ӹystem (Oracie ACFӹ) ӹoapslot Eolaocemeots● Oracle ACFS System Defragger● 4K ӹectors aod Metadata Eolaocemeots for Oracie ACFӹ● Oracie ACFӹ Metadata Coiiectoo Eolaocemeots● Oracie ACFӹ PiugSios for Fiie Cooteot● Oracie ACFӹ Loopback Device● Oracie ACFӹ API Access for ӹoapslots, Fiie Tags, PiugSio Metrics● Oracle ACFS Compression Enhancements● Oracie ӹoapslotSBased Repiicatoo Eolaocemeots● Oracie ACFӹ AutoSResize Eolaocemeots● Oracie ACFӹ ӹparse Fiies Eolaocemeots● Oracie ACFӹ Metadata Acceieratoo● Oracie ACFӹ NAӹ Maximum Avaiiabiiity eXteosioos● Rapid Home Provisiooiog● ӹupport for IPv6 Based IP Addresses for tle Oracie Ciuster Iotercoooect● Oracle Real Applicaton Clusters (Oracle RAC) Reader Nodes● Service-Oriented Bufer Cache Access Optmizaton

1616

Flex ASM

1717

Flex Cluster

18

Lab 1.1: Instalação RHEL 7

19

Lab 1.2: Instalação RHEL 7

20

Lab 1.3: Instalação RHEL 7

21

Lab 1.4: Instalação RHEL 7

22

Lab 1.5: Instalação RHEL 7

23

Lab 1.6: Instalação RHEL 7

24

Lab 1.7: Instalação RHEL 7

25

Lab 1.8: Instalação RHEL 7

26

Lab 1.9: Instalação RHEL 7

27

Lab 1.10: Instalação RHEL 7

28

Lab 1.11: Instalação RHEL 7

29

Lab 1.12: Instalação RHEL 7

30

Lab 1.13: Instalação RHEL 7

31

Lab 1.14: Instalação RHEL 7

32

Lab 1.15: Instalação RHEL 7

33

Lab 1.16: Instalação RHEL 7

34

Lab 1.17: Instalação RHEL 7

35

Lab 1.18: Instalação RHEL 7

36

Lab 1.19: Instalação RHEL 7

37

Lab 1.20: Instalação RHEL 7

38

Lab 1.21: Instalação RHEL 7

39

Lab 1.22: Instalação RHEL 7

40

Lab 1.23: Instalação RHEL 7

41

Lab 1.24: Instalação RHEL 7

42

Lab 1.25: Instalação RHEL 7

43

Lab 1.26: Instalação RHEL 7

44

Lab 1.27: Instalação RHEL 7

45

Lab 1.28: Instalação RHEL 7

46

Lab 1.29: Instalação RHEL 7

47

Lab 1.30: Instalação RHEL 7

48

Lab 1.31: Instalação RHEL 7

49

Lab 1.32: Instalação RHEL 7

50

Lab 1.33: Instalação RHEL 7

51

Lab 1.34: Instalação RHEL 7

52

Lab 1.35: Instalação RHEL 7

53

Lab 1.36: Instalação RHEL 7

54

Lab 1.37: Instalação RHEL 7

55

Lab 1.38: Instalação RHEL 7

56

Lab 1.39: Instalação RHEL 7

57

Lab 1.40: Instalação RHEL 7

58

Lab 1.41: Instalação RHEL 7

59

Lab 1.42: Instalação RHEL 7

60

Lab 1.43: Instalação RHEL 7

61

Lab 1.44: Instalação RHEL 7

62

Lab 1.45: Instalação RHEL 7

63

Lab 1.46: Instalação RHEL 7

64

Lab 1.47: Instalação RHEL 7

65

Lab 1.48: Instalação RHEL 7

66

Lab 1.49: Instalação RHEL 7

67

Lab 1.50: Instalação RHEL 7

68

Nas máquinas nerv01 e nerv02, atualize o sistema operacional e execute a instalação dos pré-requisitos.# subscription-manager register --username [email protected] --password MinhaSenha --auto-attach# subscription-manager subscribe --auto# yum -y update# yum -y install bc binutils compat-libcap1 glibc glibc.i686 glibc-devel glibc-devel.i686 ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel libstdc++-devel.i686 libxcb libxcb.i686 libX11 libX11.i686 libXau libXau.i686 libXi libXi.i686 libXtst libXtst.i686 make net-tools nfs-utils smartmontools sysstat gcc gcc-c++# yum -y install unzip wget iscsi-initiator-utils java-1.8.0-openjdk screen# yum -y install tuned# tuned-adm profile throughput-performance

# yum -y install kernel-3.10.0-514.16.1.el7.x86_64

# yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm# yum -y update# yum -y install rlwrap

Nas máquinas nerv01 e nerv02, altere a seguinte linha no arquivo /etc/fstab....tmpfs /dev/shm tmpfs defaults,size=2g 0 0...

68

Lab 2.1: Confguração RHEL 7

69

Nas máquinas nerv01 e nerv02, adicione as linhas abaixo ao final do arquivo /etc/sysctl.conf....# Oracle RAC 12cR2net.ipv4.ip_forward = 0net.ipv4.conf.default.accept_source_route = 0kernel.sysrq = 0kernel.core_uses_pid = 1net.ipv4.tcp_syncookies = 1kernel.msgmnb = 65536kernel.msgmax = 65536fs.file-max = 6815744kernel.sem = 250 32000 100 128kernel.shmmni = 4096kernel.shmall = 4294967296kernel.shmmax = 4398046511104kernel.panic_on_oops = 1net.core.rmem_default = 262144net.core.rmem_max = 4194304net.core.wmem_default = 262144net.core.wmem_max = 1048576net.ipv4.conf.all.rp_filter = 2net.ipv4.conf.default.rp_filter = 2fs.aio-max-nr = 1048576net.ipv4.ip_local_port_range = 9000 65500...

Lab 2.2: Confguração RHEL 7

70

Nas máquinas nerv01 e nerv02, adicione as linhas abaixo ao final do arquivo /etc/security/limits.conf....# Oracle RAC 12cR2oracle soft nofile 1024oracle hard nofile 65536oracle soft nproc 16384oracle hard nproc 16384oracle soft stack 10240oracle hard stack 32768oracle hard memlock 134217728oracle soft memlock 134217728...

70

Lab 2.3: Confguração RHEL 7

71

Nas máquinas nerv01 e nerv02, remova o DNS 8.8.8.8 da placa de rede eth0.# nmtui

71

Lab 2.4: Confguração RHEL 7

7272

Lab 2.5: Confguração RHEL 7

7373

Lab 2.6: Confguração RHEL 7

74

Nas máquinas nerv01 e nerv02, ACRESCENTAR AO FINAL do arquivo /etc/hosts:# Public192.168.15.101 nerv01.localdomain nerv01192.168.15.102 nerv02.localdomain nerv02# Private192.168.1.101 nerv01-priv.localdomain nerv01-priv192.168.1.102 nerv02-priv.localdomain nerv02-priv# Virtual192.168.15.111 nerv01-vip.localdomain nerv01-vip192.168.15.112 nerv02-vip.localdomain nerv02-vip

74

Lab 2.7: Confguração RHEL 7

75

Nas máquinas nerv01 e nerv02, executar os comandos abaixo.# groupadd oinstall# groupadd dba# groupadd oper# groupadd asmadmin# groupadd asmdba# groupadd asmoper# usermod -g oinstall -G dba,oper,asmadmin,asmdba,asmoper oracle# mkdir -p /u01/app/12.2.0.1/grid# chown -R oracle:oinstall /u01# chmod -R 775 /u01

Nas máquinas nerv01 e nerv02, adicione a linha abaixo ao fnal do arquivo /etc/sysconfg/network....NOZEROCONF=YES...

75

Lab 2.8: Confguração RHEL 7

76

Nas máquinas nerv01 e nerv02, desabilite o frewall, o avahi e o chronyd.# systemctl disable firewalld# systemctl disable avahi-daemon# systemctl enable chronyd

Nas máquinas nerv01 e nerv02, altere as seguintes linhas no arquivo /etc/chrony.conf....# server 0.rhel.pool.ntp.org iburst# server 1.rhel.pool.ntp.org iburst# server 2.rhel.pool.ntp.org iburst# server 3.rhel.pool.ntp.org iburstserver 192.168.15.2 iburst...

Nas máquinas nerv01 e nerv02, altere o SELinux para o modo permissive.# vi /etc/selinux/config...SELINUX=permissive...

Reinicie as máquinas nerv01 e nerv02 para validar todas as confgurações.# reboot

76

Lab 2.9: Confguração RHEL 7

77

Nas máquinas nerv01 e nerv02, verifque se o Kernel utlizado é o kernel-3.10.0-514.16.1.el7.x86_64.# uname -a

Nas máquinas nerv01 e nerv02, se o Kernel não estver correto, altere para o kernel-3.10.0-514.16.1.el7.x86_64.# awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg# grub2-set-default 2# grub2-mkconfig -o /boot/grub2/grub.cfg# cat /boot/grub2/grubenv | grep saved# reboot# uname -a

77

Lab 2.10: Confguração RHEL 7

78

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/12.2.0.1/db_1export GRID_HOME=/u01/app/12.2.0.1/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

78

Lab 2.11: Confguração RHEL 7

7979

Opções de Shared Storage

8080

Lab 3.1: Confguração DiscosNas máquinas nerv01 e nerv02, atve o pacote iSCSI Initator.# systemctl enable iscsid# systemctl start iscsid

Nas máquinas nerv01 e nerv02, verifque os Discos exportados no Storage.# iscsiadm -m discovery -t sendtargets -p 192.168.15.201 -l

Nas máquinas nerv01 e nerv02 verifque se os discos foram confgurados localmente.# fdisk -l | grep sd

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

8181

Lab 3.2: Confguração DiscosNa máquina nerv01, confgure o disco com o AFD (ASM Filter Driver).$ cp linuxx64_12201_grid_home.zip /u01/app/12.2.0.1/grid/$ cd /u01/app/12.2.0.1/grid/$ unzip -q linuxx64_12201_grid_home.zip$ rm linuxx64_12201_grid_home.zip$ su# export ORACLE_HOME=$GRID_HOME# $ORACLE_HOME/bin/asmcmd afd_label CONFIG01 /dev/sdb1 --init# $ORACLE_HOME/bin/asmcmd afd_lslbl /dev/sdb1# chown oracle:asmadmin /dev/sdb1

Na máquina nerv02, confgure o disco com o AFD (ASM Filter Driver).# partprobe /dev/sdb# chown oracle:asmadmin /dev/sdb1

82

Na máquina nerv01, com o usuário root, instale o Cluster Verifcaton Utlity.# yum -y install /u01/app/12.2.0.1/grid/cv/rpm/cvuqdisk-1.0.10-1.rpm

Copie o Cluster Verifcaton Utlity para a máquina nerv02, e instale-o com o usuário root.[root@nerv01 ~]# scp /u01/app/12.2.0.1/grid/cv/rpm/cvuqdisk-1.0.10-1.rpm nerv02:/root/[root@nerv02 ~]# yum -y install /root/cvuqdisk-1.0.10-1.rpm

Na máquina nerv01, com o usuário oracle, inicie a instalação do Grid Infrastructure.$ cd /home/oracle$ unzip -q p25078431_122010_Linux-x86-64.zip$ cd /u01/app/12.2.0.1/grid/$ ./gridSetup.sh -applyOneOffs /home/oracle/25078431/

Lab 4.1: Instalação Grid Infrastructure

83

Lab 4.2: Instalação Grid Infrastructure

84

Lab 4.3: Instalação Grid Infrastructure

85

Lab 4.4: Instalação Grid Infrastructure

86

Lab 4.5: Instalação Grid Infrastructure

87

Lab 4.6: Instalação Grid Infrastructure

88

Lab 4.7: Instalação Grid Infrastructure

8989

Lab 4.8: Instalação Grid Infrastructure

9090

Lab 4.9: Instalação Grid Infrastructure

9191

Lab 4.10: Instalação Grid Infrastructure

92

Lab 4.11: Instalação Grid Infrastructure

93

Lab 4.12: Instalação Grid Infrastructure

94

Lab 4.13: Instalação Grid Infrastructure

95

Lab 4.14: Instalação Grid Infrastructure

96

Lab 4.15: Instalação Grid Infrastructure

97

Lab 4.16: Instalação Grid Infrastructure

98

Lab 4.17: Instalação Grid Infrastructure

99

Lab 4.18: Instalação Grid Infrastructure

100

Lab 4.19: Instalação Grid Infrastructure

101

Lab 4.20: Instalação Grid Infrastructure

102

Lab 4.21: Instalação Grid Infrastructure

103

Lab 4.22: Instalação Grid Infrastructure

104

Lab 4.23: Instalação Grid Infrastructure

105

Lab 4.24: Instalação Grid Infrastructure

106

Lab 4.25: Instalação Grid Infrastructure

nerv01:# /u01/app/oraInventory/orainstRoot.sh# /u01/app/12.2.0.1/grid/root.sh...Enter the full pathname of the local bin directory: [/usr/local/bin]: <ENTER>...

$ . oraenvORACLE_SID = [+ASM1] ? +ASM1 <ENTER>$ rlwrap sqlplus / AS SYSASMSQL> ALTER SYSTEM SET "_USE_PLATFORM_HASH_FUNCTION"=FALSE SCOPE=SPFILE SID='*';# /u01/app/12.2.0.1/grid/bin/crsctl stop has# /u01/app/12.2.0.1/grid/bin/crsctl start has

# Espere aparecer uma mensagem como a abaixo...# tail -f /u01/app/oracle/diag/crs/nerv01/crs/trace/alert.log# 2018-03-23 13:12:05.348 [CRSD(14968)]CRS-2772: Server 'nerv01' has been assigned to pool 'Free'

nerv02:# /u01/app/oraInventory/orainstRoot.sh# /u01/app/12.2.0.1/grid/root.sh...Enter the full pathname of the local bin directory: [/usr/local/bin]: <ENTER>...

107

Lab 4.26: Instalação Grid Infrastructure

108

Lab 4.27: Instalação Grid Infrastructurenerv01:$ . oraenv

+ASM1$ srvctl stop cha$ srvctl stop qosmserver$ srvctl disable qosmserver$ srvctl stop mgmtdb$ srvctl disable mgmtdb$ srvctl stop mgmtlsnr$ srvctl disable mgmtlsnr$ srvctl stop cvu$ srvctl disable cvu$ crsctl stop res ora.crf -init$ rlwrap sqlplus / AS SYSASMSQL> ALTER SYSTEM SET "_ASM_ALLOW_SMALL_MEMORY_TARGET"=TRUE SCOPE=SPFILE SID='*';SQL> ALTER SYSTEM SET MEMORY_TARGET=700 SCOPE=SPFILE SID='*';SQL> ALTER SYSTEM SET MEMORY_MAX_TARGET=700M SCOPE=SPFILE SID='*';SQL> ALTER SYSTEM SET "_DISABLE_HIGHRES_TICKS"=TRUE SCOPE=SPFILE SID='*';# /u01/app/12.2.0.1/grid/bin/crsctl delete res ora.crf -init# /u01/app/12.2.0.1/grid/bin/tfactl uninstall# /u01/app/12.2.0.1/grid/bin/crsctl stop has# /u01/app/12.2.0.1/grid/bin/crsctl start has

nerv02:$ . oraenv

+ASM2$ crsctl stop res ora.crf -init# /u01/app/12.2.0.1/grid/bin/crsctl delete res ora.crf -init# /u01/app/12.2.0.1/grid/bin/tfactl uninstall# /u01/app/12.2.0.1/grid/bin/crsctl stop has# /u01/app/12.2.0.1/grid/bin/crsctl start has

109

Na máquina nerv02, com o usuário oracle, crie o diretório para o Oracle Database.$ mkdir -p /u01/app/oracle/product/12.2.0.1/db_1

Na máquina nerv01, com o usuário oracle, descompacte e execute o instalador do Oracle Database Sofware.$ mkdir -p /u01/app/oracle/product/12.2.0.1/db_1$ cd /home/oracle$ unzip -q linuxx64_12201_database.zip$ cd /home/oracle/database$ ./runInstaller

Lab 5.1: Instalação Oracle Database Sofware

110

Lab 5.2: Instalação Oracle Database Sofware

111

Lab 5.3: Instalação Oracle Database Sofware

112

Lab 5.4: Instalação Oracle Database Sofware

113

Lab 5.5: Instalação Oracle Database Sofware

114

Lab 5.6: Instalação Oracle Database Sofware

115

Lab 5.7: Instalação Oracle Database Sofware

116

Lab 5.8: Instalação Oracle Database Sofware

117

Lab 5.9: Instalação Oracle Database Sofware

118

Lab 5.10: Instalação Oracle Database Sofware

119

Lab 5.11: Instalação Oracle Database Sofware

# /u01/app/oracle/product/12.2.0.1/db_1/root.sh...Enter the full pathname of the local bin directory: [/usr/local/bin]: <ENTER>...#

120

Lab 5.12: Instalação Oracle Database Sofware

121121

Lab 6.1: Criação Banco de Dados

Nas máquinas nerv01 e nerv02, verifque os Discos exportados no Storage.# iscsiadm -m discovery -t sendtargets -p 192.168.15.201 -l

Nas máquinas nerv01 e nerv02 verifque se os discos foram confgurados localmente.# fdisk -l | grep sd

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

122122

Lab 6.2: Criação Banco de Dados

Na máquina nerv01, crie os novos Discos no ASM Filter Driver.$ export ORACLE_HOME=$GRID_HOME$ export ORACLE_SID=+ASM1$ su# asmcmd afd_lslbl# asmcmd afd_label DATA01 /dev/sd?1 # Disco de 20GB# asmcmd afd_label FRA01 /dev/sd?1 # Disco de 10GB# asmcmd afd_label VD01 /dev/sd?1 # Disco de 1GB# asmcmd afd_label VD02 /dev/sd?1 # Disco de 1GB# asmcmd afd_label VD03 /dev/sd?1 # Disco de 1GB# asmcmd afd_label OCR01 /dev/sd?1 # Disco de 2GB# asmcmd afd_label OCR02 /dev/sd?1 # Disco de 2GB# asmcmd afd_lslbl# exit

Na máquina nerv02, detecte os discos do ASM Filter Driver.$ export ORACLE_HOME=$GRID_HOME$ export ORACLE_SID=+ASM2$ su# asmcmd afd_scan# asmcmd afd_lslbl

123123

Lab 6.3: Criação Banco de Dados

Na máquina nerv01, crie os novos Disk Groups.$ rlwrap sqlplus / AS SYSASMSQL> CREATE DISKGROUP DATA EXTERNAL REDUNDANCY DISK 'AFD:DATA01' ATTRIBUTE 'compatible.asm'='12.2', 'compatible.rdbms'='12.2', 'au_size'='8M';

SQL> CREATE DISKGROUP FRA EXTERNAL REDUNDANCY DISK 'AFD:FRA01' ATTRIBUTE 'compatible.asm'='12.2', 'compatible.rdbms'='12.2', 'au_size'='8M';

SQL> CREATE DISKGROUP VD NORMAL REDUNDANCY DISK 'AFD:VD01','AFD:VD02','AFD:VD03' ATTRIBUTE 'compatible.asm'='12.2', 'compatible.rdbms'='12.2', 'au_size'='1M';

SQL> CREATE DISKGROUP OCR NORMAL REDUNDANCY DISK 'AFD:OCR01','AFD:OCR02' ATTRIBUTE 'compatible.asm'='12.2', 'compatible.rdbms'='12.2', 'au_size'='1M';

SQL> SELECT GROUP_NUMBER, NAME, STRIPE, REDUNDANCY FROM V$ASM_TEMPLATE ORDER BY GROUP_NUMBER, NAME;

$ srvctl enable diskgroup -g DATA -n nerv02$ srvctl start diskgroup -g DATA -n nerv02$ srvctl enable diskgroup -g FRA -n nerv02$ srvctl start diskgroup -g FRA -n nerv02$ srvctl enable diskgroup -g VD -n nerv02$ srvctl start diskgroup -g VD -n nerv02$ srvctl enable diskgroup -g OCR -n nerv02$ srvctl start diskgroup -g OCR -n nerv02

124124

ASM Stripping: Fine x Coarse

125125

Lab 6.4: Criação Banco de Dados

Execute o DBCA para criar o banco de dados.$ source /home/oracle/.bash_profile$ dbca

126126

Lab 6.5: Criação Banco de Dados

127127

Lab 6.6: Criação Banco de Dados

128128

Lab 6.7: Criação Banco de Dados

129129

Lab 6.8: Criação Banco de Dados

130130

Lab 6.9: Criação Banco de Dados

131131

Lab 6.10: Criação Banco de Dados

132132

Lab 6.11: Criação Banco de Dados

133133

Lab 6.12: Criação Banco de Dados

134134

Lab 6.14: Criação Banco de Dados

135135

Lab 6.15: Criação Banco de Dados

136136

Lab 6.16: Criação Banco de Dados

137137

Lab 6.17: Criação Banco de Dados

138138

Lab 6.18: Criação Banco de Dados

139139

Lab 6.19: Criação Banco de Dados

140

Lab 6.20: Criação Banco de Dados

Se tver o erro acima, execute na máquina nerv01 os comandos abaixo após o término do dbca:$ . oraenvORACLE_SID = [+ORCL1] ? +ORCL1 <ENTER>$ rlwrap sqlplus / AS SYSDBASQL> ALTER SYSTEM SET "_USE_PLATFORM_HASH_FUNCTION"=FALSE SCOPE=SPFILE SID='*';$ srvctl stop database -db ORCL$ srvctl start database -db ORCL

141141

Lab 6.21: Criação Banco de Dados

142

✔ Background Process• ACMӹ: Atomic Cootroifie to Memory ӹervice• GTX0Sj: Giobai Traosactoo Process• LMON: Giobai Eoqueue ӹervice Mooitor• LMD: Giobai Eoqueue ӹervice Daemoo• LMӹ: Giobai Cacle ӹervice Process• LCK0: Iostaoce Eoqueue Process• RMӹo: Oracie RAC Maoagemeot Processes• RӹMN: Remote ӹiave Mooitor

✔ PFILE / SPFILE (1x)ALTER SYSTEM … SID=’*’;ALTER SYSTEM ... SID=’ORCL1’;

✔ DATAFILEs (1x) ✔ CONTROL FILEs (1x)✔ Online REDO LOG Threads (x Nodes)

ALTER DATABASE ADD LOGFILE THREAD 1 SIZE 1G;ALTER DATABASE ADD LOGFILE THREAD 2 SIZE 1G;

✔ UNDO TABLESPACE (x Nodes)

142

RAC Database

143143

Lab 6.21: Criação Banco de DadosNa máquina nerv01, para efetuar logon na Instance ASM1, use o SQLPlus.$ export ORACLE_SID=+ASM1$ sqlplus / as SYSDBAPor que não funcionou?

Verifque os discos existentes, e espaço disponível.SQL> SELECT NAME, TOTAL_MB, FREE_MB FROM V$ASM_DISK;SQL> SELECT NAME, TOTAL_MB, FREE_MB FROM V$ASM_DISKGROUP;$ asmcmd -pASMCMD [+] > lsdg

Pelo asmcmd, copie um DATAFILE do ASM para o /home/oracle de uma máquina do RAC.

Na instância do banco, crie uma TABLESPACE.SQL> CREATE TABLESPACE TESTE;SQL> ALTER TABLESPACE TESTE ADD DATAFILE;SQL> ALTER TABLESPACE TESTE ADD DATAFILE ‘+DATA’;

Verifque o novo DATAFILE criado, e os já existentes.SQL> SELECT FILE_NAME, BYTES, MAXBYTES, AUTOEXTENSIBLE, INCREMENT_BY FROM DBA_DATA_FILES;

144

CDB Architecture

145

Deprecaton of Non-CDB Architecture

Documentação 12cR1:

Documentação 12cR2:

146

12cR2 CDB New Features

✔ ӹubset ӹtaodby✔ Data Guard Broker PDB Migratoo or Faiiover✔ CrossSPiatorm Import of a Piuggabie Database ioto a Muitteoaot Cootaioer Database✔ I/O Rate Limits for PDBs✔ Heat Map aod Automatc Data Optmizatoo ӹupport for CDBs✔ PDB Claracter ӹet✔ PDB Refresl✔ Hiots io CONTAINERӹ Query✔ Paraiiei PDB Creatoo Ciause✔ PDB Arclive Fiies (apdb Fiies)✔ Defauit Tabiespace Ciause✔ Ciooiog a PDB✔ Near Zero Dowotme PDB Reiocatoo✔ Logicai ӹtaodby Database to ӹupport CDBs witl PDBs witl Difereot Claracter ӹets✔ LogMioer to ӹupport CDBs witl PDBs witl Difereot Claracter ӹets✔ ӹupport for PDBs witl Difereot Claracter ӹets, Time Zooe Fiie Versioos, aod Database Time

Zooes io a CDB✔ Memory Resource Maoagemeot✔ PerSProcess PGA Limits✔ Performaoce Profies aod Maodatory PDB Profies✔ CDBSLevei PDB Lockdowo

147

12cR2 CDB New Features

✔ Appiicatoo Root✔ Proxy PDB✔ Forwardiog Coooectoos to A New Address Based oo ӹervice✔ ӹerviceSLevei ACLs for TCP Protocoi✔ Fiaslback Piuggabie Database✔ Upgradiog a CDB Witl Ooe or More PDBs io a ӹiogie Operatoo✔ ӹupport for Tlousaods of Piuggabie Databases for Eacl Muitteoaot Cootaioer Database✔ Piuggabie Database Lockdowo Profies Eolaocemeots✔ Piuggabie Database Operatog ӹystem Credeotais✔ Oracie Eoterprise Maoager Database Express (EM Express) Resource Maoager ӹupport✔ EM Express: ӹimpiifyiog Coofguratoo for Muitteoaot Tlrougl ӹiogie Port Access✔ EM Express: Performaoce Hub Eolaocemeots✔ Automatc Workioad Repository (AWR) ӹupport for a Piuggabie Database (PDB)✔ ӹeiectve PDB Upgrades✔ AWR_PDB_AUTOFLUӹH_ENABLED Ioitaiizatoo Parameter✔ ENABLE_AUTOMATIC_MAINTENANCE_PDB Ioitaiizatoo Parameter✔ AUTOTAӹK_MAX_ACTIVE_PDBӹ Ioitaiizatoo Parameter✔ Giobai aod ӹlared Coooectoo Pooi for Oracie Cioud aod Muitteoaot Oracie Databases✔ Prioritzed Rebaiaociog✔ Oracie Database Vauit Commoo Reaims aod Commaod Ruies for Oracie Muitteoaot

148

Opton Multtenant

149

Multtenant - EE

150

Singletenant - SE2

151

Esse banco utliza CDB Arquitecture?

152

Que Containers / PDBs este banco tem?

153

Em que Container estou conectado?

154

Como conectar em um PDB? SET CONTAINER

155

Como conectar em um PDB?

$ lsnrctl status...Services Summary...Service "5397376af7702ac5e0536a00a8c0505d" has 1 instance(s). Instance "ORCL", status READY, has 1 handler(s) for this service...Service "ORCL" has 1 instance(s). Instance "ORCL", status READY, has 1 handler(s) for this service...Service "ORCLXDB" has 1 instance(s). Instance "ORCL", status READY, has 1 handler(s) for this service...Service "prod" has 1 instance(s). Instance "ORCL", status READY, has 1 handler(s) for this service...The command completed successfully$

156

Como conectar em um PDB? tnsnames.ora

$ cat $ORACLE_HOME/network/admin/tnsnames.ora...ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = nerv06.localdomain)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ORCL) ) )

PROD = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = nerv06.localdomain)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = PROD) ) )

...$

157

Como conectar em um PDB? tnsnames.ora

158

Como conectar em um PDB? Easy Connect

159

E agora, qual o nome da Instância? E do Banco?

160

E agora, qual o nome da Instância? E do Banco?

161

CDB e PDBs: STARTUP

162

CDB e PDBs: STARTUP

Execute o SAVE STATE para o PDB PROD nos dois Nodes no RAC.

163

Alert Log

164

DATAFILEs

165

DATAFILEs

166

DATAFILEs

167

Dicionário de Dados

168

VIEWs

169

VIEWs

170

Parâmetros

171

Parâmetros

172

TABLESPACEs

173

USERs

174

USERs

175

USERs

176

USERs

177

SELECT em outros Containers

178

Criando (Clonando) um PDB

179

Criando (Clonando) um PDB

180

Criando (Clonando) um PDB

181

Criando (Clonando) um PDB

182

Criando (Clonando) um PDB

183

Unplug / Plug

184

Unplug / Plug

185

DROP

186

Backup

CDB e PDBsRMAN> BACKUP DATABASE;RMAN> BACKUP DATAFILE 1;RMAN> BACKUP DATAFILE 1,3;

CDBRMAN> BACKUP DATABASE ROOT;RMAN> BACKUP TABLESPACE SYSTEM;RMAN> BACKUP TABLESPACE SYSTEM,SYSAUX;

PDBsRMAN> BACKUP PLUGGABLE DATABASE DEV1;RMAN> BACKUP PLUGGABLE DATABASE DEV1,DEV2;RMAN> BACKUP TABLESPACE DEV1:SYSTEM;

187

Restore / Recover

CDB e PDBsRMAN> RESTORE DATABASE;RMAN> RECOVER DATABASE;RMAN> RESTORE DATAFILE 1;RMAN> RECOVER DATAFILE 1;

CDBRMAN> RESTORE DATABASE ROOT;RMAN> RECOVER DATABASE ROOT;RMAN> RESTORE TABLESPACE SYSTEM;RMAN> RECOVER TABLESPACE SYSTEM;

PDBsRMAN> RESTORE PLUGGABLE DATABASE DEV1;RMAN> RECOVER PLUGGABLE DATABASE DEV1;RMAN> RESTORE TABLESPACE DEV1:USERS;RMAN> RECOVER TABLESPACE DEV1:USERS;

188

Administração

188

189189

Comandos depreciados no 11gR2

190190

Comandos depreciados no 11gR2

191191

Comandos depreciados no 11gR2

192192

Comandos depreciados no 12cR1

193193

Comandos depreciados no 12cR1

194194

Comandos depreciados no 12cR2

195195

Comandos depreciados no 12cR2

196196

Comandos depreciados no 12cR2

197

S AӹMS ListeoerS VIPs e ӹCANS HAIPS OCR: Oracie Ciuster RegistryS VD: Votog Disk (Quorum Disk)S GIMR: Grid Iofrastructure Maoagemeot Repository (SMGMTDB)S Utiitários priocipais: crscti, srvctiS Daemoos: ohasd, crsd, evmd, oos, evmiogger, oioggerd, cssdmonitor, cssdagent, ocssd, octssd, osysmood, mdosd, gpopd, gipcd, orarootagent, oraagent, scriptageota

197

Componentes Grid Infrastructure

198198

Difculdades

● Comaodos depreciados● oracie X root● $GRID_HOME x $ORACLE_HOME

199199

Binários do GRID_HOME

Adiciooar $GRID_HOME/bio oo $PATH, oo abasl_profie$ crsctl status res -t

OU

$ . oraenvORACLE_SID = [ORCL1] ? +ASM1 <enter>

OU

$ cd /u01/app/12.2.0.1/grid/bin/./crsctl status res -t

OU

$ /u01/app/12.2.0.1/grid/bin/crsctl status res -t

200

Daemons

200

201201

Daemons

202202

Oracle RAC Startup

203203

11gR2$GRID_HOME/log/<node>/$GRID_HOME/log/<node>/alert<node>.log

12cR1 / 12cR2$ORACLE_BASE/diag/crs/<node>/crs$ORACLE_BASE/diag/crs/<node>/crs/trace/alert.log

Logs

204

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 /u01/app/oracle/diag/crs/nerv02/crs/trace/alert.log

Ligue a máquina nerv01.Veja o que acontece no Alert Log do nerv02 enquanto o nerv01 é ligado.$ tail -f /u01/app/oracle/diag/crs/nerv02/crs/trace/alert.log

Familiarize-se com o diretório de Logs.

Verifque o estado dos recursos.$ /u01/app/12.2.0.1/grid/bin/crsctl status res -t

204

Lab 7.1: Daemons

205

Contnue acompanhando os Alert Logs das duas máquinas.

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?

Verifque e altere parâmetros de tmeout para o mínimo possível, e execute novamente os testes.# /u01/app/12.2.0.1/grid/bin/crsctl get css reboottime# /u01/app/12.2.0.1/grid/bin/crsctl get css misscount# /u01/app/12.2.0.1/grid/bin/crsctl get css disktimeout# /u01/app/12.2.0.1/grid/bin/crsctl set css reboottime 1# /u01/app/12.2.0.1/grid/bin/crsctl set css misscount 2# /u01/app/12.2.0.1/grid/bin/crsctl set css disktimeout 3

Lab 7.2: Daemons

206

Crie uma TABLESPACE de nome SOE.SQL> ALTER SESSION SET CONTAINER = PROD;SQL> CREATE TABLESPACE SOE;

Descompacte o swingbench.zip.$ cd /home/oracle$ unzip -q swingbench261046.zip$ cd swingbench/bin

Execute a criação do SCHEMA do teste de carga:$ ./oewizard

Lab 8.1: Teste de Carga

207

Lab 8.2: Teste de Carga

208

Lab 8.3: Teste de Carga

209

Lab 8.4: Teste de Carga

210

Lab 8.5: Teste de Carga

211

Lab 8.6: Teste de Carga

212

Lab 8.7: Teste de Carga

213

Lab 8.8: Teste de Carga

214

Lab 8.9: Teste de Carga

215

Lab 8.10: Teste de Carga

216

Lab 8.11: Teste de Carga

217

Execute o teste de carga:$ ./charbench -cs //rac01-scan/PROD -uc 10 -c ../configs/SOE_Server_Side_V2.xml

Lab 8.12: Teste de Carga

218

● A partr de quaiquer Node, cootroia todosa● Deve ser utiizado com o usuário oracie ou com o owoer do GRID_HOMEa● Deve ser utiizado o srvcti do GRID_HOMEa● Comaodo prefereociai para ioiciar e parar recursos do RACa● Admioistra Database, Iostaoces, AӹM, Listeoers e ӹervicesa● Um recurso pode ser ioiciado, parado, labiiitado, ou desabiiitadoa

218

srvctl

219

Estudaodo o leip do srvcti, execute a sequêocia de operações abaixo:$ srvctl -h$ srvctl stop -h$ srvctl stop listener -h

● Verifque as coofgurações do Listeoera● Verifque as coofgurações do ӹCANa● Verifque as coofgurações do Baoco de Dadosa

● Verifque o estado dos iisteoers, pare o Listeoer de apeoas um Node, e verifque oovameotea● Verifcar o estado das Iostaoces, pare a Iostaoce de apeoas um Node, e verifque oovameotea● Ioicie oovameote o Listeoer que está paradoa● Ioicie oovameote a Iostaoce que está paradaa● Pare o Database, e o ioicie oovameotea● Pare uma Iotaoce com a opçoo ABORTa● Ioicie uma Iostaoce com a opçoo MOUNTa● Deixa uma iostâocia desabiiitada, coofra, e labiiite oovameotea

● Mate uma Iostaoce (kiii oo pmoo) de um dos Nodesa

219

Lab 9.1: srvctl

220

Coloque o banco em modo ARCHIVELOG e execute um backup.

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

RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE to compressed BACKUPSET;CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '+FRA';RMAN> BACKUP DATABASE;

220

Lab 9.2: srvctl

221

● A partr de quaiquer Node, cootroia todosa● Aiguos comaodos podem ser executados com usuário oracie, outros com o usuário roota● Este programa só existe oo GRID_HOMEa● Priocipai comaodo de admioistraçoo do Grida● Necessário para verifcaçoo e aiteraçoo de parâmetrosa● Necessário para Troubieslootog e Debuga

221

crsctl

222

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

Verifque o status dos Daemons:# /u01/app/12.2.0.1/grid/bin/crsctl check css# /u01/app/12.2.0.1/grid/bin/crsctl check evm# /u01/app/12.2.0.1/grid/bin/crsctl check crs# /u01/app/12.2.0.1/grid/bin/crsctl check ctss# /u01/app/12.2.0.1/grid/bin/crsctl check cluster# /u01/app/12.2.0.1/grid/bin/crsctl check cluster -all# /u01/app/12.2.0.1/grid/bin/crsctl status res -t -init# /u01/app/12.2.0.1/grid/bin/crsctl status res -dependency

Verifque a versão instalada e atva.# /u01/app/12.2.0.1/grid/bin/crsctl query crs activeversion# /u01/app/12.2.0.1/grid/bin/crsctl query crs softwareversion# /u01/app/12.2.0.1/grid/bin/crsctl query crs releasepatch# /u01/app/12.2.0.1/grid/bin/crsctl query crs softwarepatch

Verifque os detalhes dos recursos do Oracle RAC.# /u01/app/12.2.0.1/grid/bin/crsctl status res ora.orcl.db# /u01/app/12.2.0.1/grid/bin/crsctl status res ora.orcl.db -t# /u01/app/12.2.0.1/grid/bin/crsctl status res ora.orcl.db -f

Lab 10.1: crsctl

223

Liste os módulos do Cluster.# /u01/app/12.2.0.1/grid/bin/crsctl lsmodules crs# /u01/app/12.2.0.1/grid/bin/crsctl lsmodules css# /u01/app/12.2.0.1/grid/bin/crsctl lsmodules evm

Coloque um dos módulos informados pelo comando anterior (lsmodules), e coloque ele em modo Debug.# tail -f /u01/app/oracle/diag/crs/nerv01/crs/trace/ocssd.trc# /u01/app/12.2.0.1/grid/bin/crsctl set log css “CSSD:5”# /u01/app/12.2.0.1/grid/bin/crsctl get log css "CSSD"# /u01/app/12.2.0.1/grid/bin/crsctl set log css “CSSD:2”

Pare todo o Node.# /u01/app/12.2.0.1/grid/bin/crsctl stop cluster

Pare o outro Node.# /u01/app/12.2.0.1/grid/bin/crsctl stop cluster -n nerv02

Inicie todo o Cluster.# /u01/app/12.2.0.1/grid/bin/crsctl start cluster -all

Lab 10.2: crsctl

224

● É o ceotro do “piog” dos Nodesa● Pode ter N mirrorsa● Pode ser aiterado de quaiquer Nodea● Backups do Votog Disk soo maouaisa● Todas operações do Votog Disk devem ser executadas como roota● Deve ser feito backup após Adiçoo ou Remoçoo de Nodes (<11gR2)a● Com base oas ioformações oeie, o Ciusterware decide que Node faz parte do Ciuster (Eiectoo / Evictoo / ӹpiit Braio)a

224

Votng Disk

225

Verifque o status do VOTING DISK.# /u01/app/12.2.0.1/grid/bin/crsctl query css votedisk

Adicione um MIRROR ao VOTING DISK.# /u01/app/12.2.0.1/grid/bin/crsctl add css votedisk +FRA# /u01/app/12.2.0.1/grid/bin/crsctl query css votediskO que aconteceu?

# /u01/app/12.2.0.1/grid/bin/crsctl replace votedisk +FRA# /u01/app/12.2.0.1/grid/bin/crsctl query css votediskO que aconteceu?

# /u01/app/12.2.0.1/grid/bin/crsctl replace votedisk +OCR# /u01/app/12.2.0.1/grid/bin/crsctl query css votediskO que aconteceu?

Altere a localização do VOTING DISK.# /u01/app/12.2.0.1/grid/bin/crsctl replace votedisk +VD# /u01/app/12.2.0.1/grid/bin/crsctl query css votedisk

Lab 11.1: Votng Disk

226

Na máquina nerv09, simule uma falha nos discos dos VOTING DISKs.# dd if=/dev/zero of=/dev/sda? bs=512 count=1000000# dd if=/dev/zero of=/dev/sda? bs=512 count=1000000# dd if=/dev/zero of=/dev/sda? bs=512 count=1000000O que aconteceu?

Nas máquinas nerv01 e nerv02, verifque o estado do Cluster.# /u01/app/12.2.0.1/grid/bin/crsctl status res -t# /u01/app/12.2.0.1/grid/bin/crsctl check cluster -all# tail -f /u01/app/oracle/diag/crs/nerv01/crs/trace/alert.log

Nas máquinas nerv01 e nerv02, desabilite o início automátco do CRS, e reinicie.# /u01/app/12.2.0.1/grid/bin/crsctl disable crs# reboot

Na máquina nerv01, inicie o CRS em modo exclusivo, e altere o VOTING DISK.# /u01/app/12.2.0.1/grid/bin/crsctl start crs -excl -nocrs# /u01/app/12.2.0.1/grid/bin/crsctl replace votedisk +CONFIG

Nas máquinas nerv01 e nerv02, habilite o início automátco do CRS, e reinicie.# /u01/app/12.2.0.1/grid/bin/crsctl enable crs# reboot

Lab 11.2: Votng Disk

227

Na máquina nerv01, partcione novamente os discos dos VOTING DISKs.# fdisk -l | grep sd# fdisk /dev/sd?n <enter>p <enter>1 <enter><enter><enter>w <enter>...

Na máquina nerv01, crie novamente os discos dos VOTING DISKs.$ export ORACLE_HOME=$GRID_HOME$ export ORACLE_SID=+ASM1$ su# asmcmd afd_label VD01 /dev/sd?1# asmcmd afd_label VD02 /dev/sd?1# asmcmd afd_label VD03 /dev/sd?1# exit

Lab 11.3: Votng Disk

228

Na máquina nerv02, detecte novamente os discos dos VOTING DISKs.$ export ORACLE_HOME=$GRID_HOME$ export ORACLE_SID=+ASM2$ su# asmcmd afd_scan# asmcmd afd_lslbl

Na máquina nerv01, crie novamente os discos dos DISK GROUPs.SQL> CREATE DISKGROUP VD NORMAL REDUNDANCY DISK 'AFD:VD01','AFD:VD02','AFD:VD03' ATTRIBUTE 'compatible.asm'='12.2', 'compatible.rdbms'='12.2', 'au_size'='1M';

$ srvctl start diskgroup -g VD -n nerv02

Na máquina nerv01, altere a localização do VOTING DISK.# /u01/app/12.2.0.1/grid/bin/crsctl query css votedisk# /u01/app/12.2.0.1/grid/bin/crsctl replace votedisk +VD# /u01/app/12.2.0.1/grid/bin/crsctl query css votedisk

228

Lab 11.4: Votng Disk

229

● É o ceotro das ioformações do RACa● Deve estar em ӹtorage compartilado por todos Nodesa● Pode ter até 4 mirrorsa● Ferrameotas do OCR: ocrcoofg, ocrcleck, ocrdumpa● Ferrameotas do OCR devem ser utiizadas como roota● Pode ser aiterado de quaiquer Nodea● Backups do OCR soo executados automatcameotea● Backups armazeoados: 1 semaoai, 1 diário, e 1 a cada 4 lorasa● Podem ser executados backups fsicos e iógicosa

229

OCR – Oracle Cluster Registry

230

Execute o ocrdump, e analise o conteúdo do dump (OCRDUMPFILE).# /u01/app/12.2.0.1/grid/bin/ocrdump# file OCRDUMPFILE# grep orcl OCRDUMPFILE# grep 192.168 OCRDUMPFILE

Execute o ocrcheck, e verifque o resultado.# /u01/app/12.2.0.1/grid/bin/ocrcheck# ls -lh /u01/app/oracle/diag/crs/nerv01/crs/trace/ocrcheck*

Verifque o OCR pelo Cluster Verifcaton Utlity.# /u01/app/12.2.0.1/grid/bin/cluvfy comp ocr -n nerv01,nerv02O que aconteceu?

Lab 12.1: OCR

231

Na máquina nerv01, altere a localização dos OCRs.# /u01/app/12.2.0.1/grid/bin/ocrconfig -add +CONFIG# /u01/app/12.2.0.1/grid/bin/ocrcheck# /u01/app/12.2.0.1/grid/bin/ocrconfig -add +DATA# /u01/app/12.2.0.1/grid/bin/ocrcheck# /u01/app/12.2.0.1/grid/bin/ocrconfig -add +FRA# /u01/app/12.2.0.1/grid/bin/ocrcheck# /u01/app/12.2.0.1/grid/bin/ocrconfig -delete +DATA# /u01/app/12.2.0.1/grid/bin/ocrcheck# /u01/app/12.2.0.1/grid/bin/ocrconfig -delete +FRA# /u01/app/12.2.0.1/grid/bin/ocrcheck# /u01/app/12.2.0.1/grid/bin/ocrconfig -delete +CONFIGO que aconteceu?

# /u01/app/12.2.0.1/grid/bin/ocrconfig -add +OCR# /u01/app/12.2.0.1/grid/bin/ocrcheck# /u01/app/12.2.0.1/grid/bin/ocrconfig -delete +CONFIG# /u01/app/12.2.0.1/grid/bin/ocrcheck

Lab 12.2: OCR

232

Na máquina nerv01, verifque os backups fsicos existentes do OCR.# /u01/app/12.2.0.1/grid/bin/ocrconfig -showbackup# /u01/app/12.2.0.1/grid/bin/ocrconfig -manualbackup# /u01/app/12.2.0.1/grid/bin/ocrconfig -showbackup

Na máquina nerv01, altere a localização dos backups fsicos do OCR.# /u01/app/12.2.0.1/grid/bin/ocrconfig -backuploc +FRA# /u01/app/12.2.0.1/grid/bin/ocrconfig -manualbackup# /u01/app/12.2.0.1/grid/bin/ocrconfig -showbackup

Na máquina nerv01, faça um backup lógico do OCR.# /u01/app/12.2.0.1/grid/bin/ocrconfig -export /home/oracle/OCR.bkp# file /home/oracle/OCR.bkp

Lab 12.3: OCR

233

Na máquina nerv09, simule uma falha nos discos do OCR.# dd if=/dev/zero of=/dev/sda? bs=512 count=1000000# dd if=/dev/zero of=/dev/sda? bs=512 count=1000000# dd if=/dev/zero of=/dev/sda? bs=512 count=1000000O que aconteceu?

Nas máquinas nerv01 e nerv02, verifque o estado do Cluster.# tail -f /u01/app/oracle/diag/crs/nerv01/crs/trace/alert.log# /u01/app/12.2.0.1/grid/bin/crsctl check cluster -all# /u01/app/12.2.0.1/grid/bin/crsctl status res -t# /u01/app/12.2.0.1/grid/bin/ocrcheck# /u01/app/12.2.0.1/grid/bin/ocrconfig -manualbackup

Nas máquinas nerv01 e nerv02, desabilite o início automátco do CRS, e reinicie.# /u01/app/12.2.0.1/grid/bin/crsctl disable crs# reboot

Na máquina nerv01, inicie o CRS em modo exclusivo.# /u01/app/12.2.0.1/grid/bin/crsctl start crs -excl -nocrs

Lab 12.4: OCR

234

Na máquina nerv01, partcione novamente os discos dos VOTING DISKs.# fdisk -l | grep sd# fdisk /dev/sd?n <enter>p <enter>1 <enter><enter><enter>w <enter>...

Na máquina nerv01, crie novamente os discos dos VOTING DISKs.$ export ORACLE_HOME=$GRID_HOME$ export ORACLE_SID=+ASM1$ su# asmcmd afd_label OCR01 /dev/sd?1# asmcmd afd_label OCR02 /dev/sd?1# exit

Lab 12.5: OCR

235

Na máquina nerv02, detecte novamente os discos dos VOTING DISKs.$ export ORACLE_HOME=$GRID_HOME$ export ORACLE_SID=+ASM2$ su# asmcmd afd_scan# asmcmd afd_lslbl

Na máquina nerv01, crie novamente os discos dos DISK GROUPs.SQL> CREATE DISKGROUP OCR NORMAL REDUNDANCY DISK 'AFD:OCR01','AFD:OCR02' ATTRIBUTE 'compatible.asm'='12.2', 'compatible.rdbms'='12.2', 'au_size'='1M';

Na máquina nerv01, restaure o OCR.# /u01/app/12.2.0.1/grid/bin/ocrconfig -restore ...

Nas máquinas nerv01 e nerv02, habilite o CRS e reinicie.# /u01/app/12.2.0.1/grid/bin/crsctl enable crs# reboot

235

Lab 12.6: OCR

236

● A partr de quaiquer Node, cootroia todosa● Deve ser utiizado com o usuário roota● Ferrameota para aiteraçoo dos IPs Púbiico e Iotercoooecta

236

oifcfg

237

Execute um backup do OCR (manualbackup).

Verifque as Interfaces atuais, nos dois Nodes. Guarde o resultado.# /u01/app/12.2.0.1/grid/bin/oifcfg getif# /u01/app/12.2.0.1/grid/bin/oifcfg setif -global enp2s0/192.168.3.0:cluster_interconnect,asm# /u01/app/12.2.0.1/grid/bin/oifcfg getif$ export ORACLE_HOME=$GRID_HOME$ export ORACLE_SID=+ASM1$ srvctl config listener -asmlistener$ srvctl config asm$ srvctl add listener -asmlistener -l ASMNEWLSNR_ASM -subnet 192.168.3.0$ srvctl update listener -listener ASMNET1LSNR_ASM -asm -remove -force$ lsnrctl stop ASMNET1LSNR_ASM$ srvctl config listener -asmlistener$ srvctl config asm

Pare o Cluster nos dois Nodes.# /u01/app/12.2.0.1/grid/bin/crsctl stop cluster -all

Nas máquinas nerv01 e nerv02, alterar o IP do Interconnect.# nmtui# /etc/init.d/network restart

Nas máquinas nerv01 e nerv02, alterar /etc/hosts para os novos IPs.

Lab 13.1: oifcfg

238

Inicie o Cluster nos dois Nodes.# /u01/app/12.2.0.1/grid/bin/crsctl start cluster -all

Em apenas um Node, remova a antga Interface, após o CRS iniciar.# /u01/app/12.2.0.1/grid/bin/oifcfg getif# /u01/app/12.2.0.1/grid/bin/oifcfg delif -global enp2s0/192.168.1.0# /u01/app/12.2.0.1/grid/bin/oifcfg getif

Execute um backup do OCR (manualbackup).

Lab 13.2: oifcfg

239

● Permite apiicaçoo de Patcles com baixa iodispooibiiidadea● ApiicaSse o Patcl em um Node, depois em outro Nodea● O Patcl precisa suportar o Roiiiog Upgradea● Noo pode ser utiizado com HOMEs compartiladosa● Noo pode ser utiizado para Patclsetsa● ӹempre ieia o README aotesa

239

Rolling Patch

240

Nas máquinas nerv01 e nerv02, atualize o Opatch.$ srvctl start cha$ srvctl enable qosmserver$ srvctl start qosmserver$ srvctl enable mgmtdb$ srvctl start mgmtdb$ srvctl enable mgmtlsnr$ srvctl start mgmtlsnr$ srvctl enable cvu$ srvctl start cvu

# rm -rf /u01/app/12.2.0.1/grid/OPatch/# mkdir /u01/app/12.2.0.1/grid/OPatch/# chown -R oracle:oinstall /u01/app/12.2.0.1/grid/OPatch/

# rm -rf /u01/app/oracle/product/12.2.0.1/db_1/OPatch/# mkdir /u01/app/oracle/product/12.2.0.1/db_1/OPatch/# chown -R oracle:oinstall /u01/app/oracle/product/12.2.0.1/db_1/OPatch/

$ unzip -q p6880880_122010_Linux-x86-64.zip$ cp -rf OPatch/* /u01/app/12.2.0.1/grid/OPatch/$ cp -rf OPatch/* /u01/app/oracle/product/12.2.0.1/db_1/OPatch/

240

Lab 14.1: Rolling Patch

241

Na máquina nerv01, aplique o Patch 27100009.$ unzip -q p27100009_122010_Linux-x86-64.zip$ . oraenvORACLE_SID = [ORCL1] ? +ASM1$ su# export PATH=$PATH:$GRID_HOME/OPatch# $GRID_HOME/OPatch/opatchauto apply /home/oracle/27100009/

Na máquina nerv02, aplique o Patch 27100009.$ unzip -q p27100009_122010_Linux-x86-64.zip$ . oraenvORACLE_SID = [ORCL2] ? +ASM2$ su# export PATH=$PATH:$GRID_HOME/OPatch# $GRID_HOME/OPatch/opatchauto apply /home/oracle/27100009/

Na máquinas nerv01, execute os procedimentos de Pós Instalação.$ $ORACLE_HOME/Opatch/opatch lsinventory$ $GRID_HOME/Opatch/opatch lsinventory# /u01/app/12.2.0.1/grid/bin/crsctl query crs activeversion# /u01/app/12.2.0.1/grid/bin/crsctl query crs softwareversion# /u01/app/12.2.0.1/grid/bin/crsctl query crs releasepatch# /u01/app/12.2.0.1/grid/bin/crsctl query crs softwarepatchSQL> SELECT VERSION, PATCH_ID, BUNDLE_ID, ACTION_TIME, STATUS FROM DBA_REGISTRY_SQLPATCH;

241

Lab 14.2: Rolling Patch

242242

● Coocorrêocia● ӹequeoces / ӹequeoces Artfciais● Data Dictooary● V$ x GV$● Reverse Key Iodexes● Job x ӹcleduier● UTL_FILE / Directories / Exteroai Tabies / Data Pump● Parttooameoto iógico da apiicaçoo

Desempenho e Funcionalidade: Single Instance x RAC

243

BEGIN DBMS_SCHEDULER.CREATE_JOB_CLASS ( JOB_CLASS_NAME => 'DBA_JOB_CLASS', SERVICE => 'DBA_SERVICE');END;/

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;/

Load Balance Server - SCHEDULER

244

Analise e execute o script create_sequence.sql na máquina nerv01.

Analise e execute o script insert_sequence_lenta.sql na máquina nerv01.

Analise e execute o script insert_sequence_rapida.sql na máquina nerv01.

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

Repita os scripts de insert algumas vezes e veja se o resultado contnua similar, mas desta vez nas duas máquinas ao mesmo tempo.Qual a diferença de tempo?Quais os Wait Events que ocorreram?

244

Lab 15.1: Escalabilidade

245

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 ) ) )

245

Load Balance Client (<= 11gR1)

246246

Load Balance Server (>= 11gR2)

247

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:(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.15.112)(PORT=1521))

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

247

Load Balance Server

248

Services GoalGOAL_NONEGOAL_ӹERVICE_TIME →→→ Bom para OLTPGOAL_THROUGHPUT →→→ Bom para Batch / OLAP / DBA

Services Connecton Load Balance GoalCLB_GOAL_ӹHORT →→→ Bom para OLTPCLB_GOAL_LONG →→→ Bom para Batch / OLAP / DBA ou OLTP Persistente

248

Load Balance Server

249

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

Load Balance Server

250

Crie os SERVICES como abaixo.$ srvctl add service -db ORCL -pdb PROD -service OLTP -preferred ORCL1,ORCL2 -policy AUTOMATIC -failovertype SELECT -failovermethod BASIC -failoverdelay 1 -failoverretry 10 -clbgoal LONG -rlbgoal SERVICE_TIME -notification TRUE$ srvctl start service -db ORCL -service OLTP

$ srvctl add service -db ORCL -pdb PROD -service BI -preferred ORCL1 -available ORCL2 -tafpolicy PRECONNECT -policy AUTOMATIC -failovertype SELECT -failovermethod BASIC -failoverdelay 1 -failoverretry 10 -clbgoal LONG -rlbgoal THROUGHPUT -notification TRUE$ srvctl start service -db ORCL -service BI

$ srvctl add service -db ORCL -pdb PROD -service DBA -preferred ORCL2 -available ORCL1 -tafpolicy PRECONNECT -policy AUTOMATIC -failovertype SELECT -failovermethod BASIC -failoverdelay 1 -failoverretry 10 -clbgoal LONG -rlbgoal THROUGHPUT -notification TRUE$ srvctl start service -db ORCL -service DBA

$ /u01/app/12.2.0.1/grid/bin/crsctl status res -t

Como ver os Services de um banco?Como ver detalhes de um Service já confgurado?

Lab 16.1: Load Balance Server

251

Altere o tnsnames.ora para utlizar os novos Services de outro RAC, e crie um usuário para testar o Failover.$ rlwrap sqlplus / AS SYSDBASQL> ALTER SESSION SET CONTAINER = PROD;SQL> CREATE USER RICARDO IDENTIFIED BY Nerv2018;SQL> ALTER USER RICARDO QUOTA UNLIMITED ON USERS;SQL> GRANT CREATE SESSION, CONNECT, RESOURCE, SELECT ANY DICTIONARY TO RICARDO;SQL> CREATE TABLE RICARDO.T AS SELECT * FROM ALL_OBJECTS;SQL> INSERT INTO RICARDO.T SELECT * FROM RICARDO.T;SQL> INSERT INTO RICARDO.T SELECT * FROM RICARDO.T;SQL> INSERT INTO RICARDO.T SELECT * FROM RICARDO.T;SQL> INSERT INTO RICARDO.T SELECT * FROM RICARDO.T;SQL> COMMIT;

Teste o Failover com SELECT e com DML.SQL> CONN RICARDO/Nerv2018@OLTPSQL> SELECT * FROM T;SQL> DELETE FROM T WHERE ROWNUM = 1;Qual a diferença de FAILOVER entre SELECT e DELETE?

Qual a diferença de FAILOVER dos Services criados e do Service ORCL?

Lab 16.2: Load Balance Server

252

Sequência para adicionar Node:● Iostaiar Hardware;● Iostaiar e coofgurar ӹistema Operaciooai;● Coofgurar acesso ao ӹtorage;● Coofgurar ssl sem seola com os Nodes já existeotes;● Iostaiar Grid Iofraestruture a partr de um Node existeote;● Iostaiar Oracie a partr de um Node existeote;● Adiciooar Iostaocesa

Sequência para remover Node:● Remover Iostaoce;● Remover Oracie;● Remover Grid Iofraestruturea

252

Adicionar e Remover Nodes

253

Manter apenas 2 RACs atvos na sala (rac01 e rac04). No restante das máquinas, refazer os Labs 1, 2, e 3.Adicionar as máquinas nerv03 e nerv04 no rac01.Adicionar as máquinas nerv05 e nerv06 no rac04.

Remova os Services criados, a partr de um Node existente.srvctl stop service -db ORCL -service OLTPsrvctl remove service -db ORCL -service OLTPsrvctl stop service -db ORCL -service BIsrvctl remove service -db ORCL -service BIsrvctl stop service -db ORCL -service DBAsrvctl remove service -db ORCL -service DBA

Para todas as máquinas de um rac, confgurar SSH sem senha para o usuário oracle.$ cd /u01/app/12.2.0.1/grid/oui/prov/resources/scripts/$ ./sshUserSetup.sh -user oracle -hosts "nerv01 nerv02 nerv03" -advanced -exverify -confirm -noPromptPassphrase

Instalar Grid Infraestruture nas outras máquinas, a partr de um Node existente.$ cd $GRID_HOME/addnode$ ./addnode.sh -silent “CLUSTER_NEW_NODES={nerv03,nerv04}” “CLUSTER_NEW_VIRTUAL_HOSTNAMES={nerv03-vip,nerv04-vip}” “CLUSTER_NEW_NODE_ROLES={HUB,HUB}”

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

Lab 17.1: Adicionar Nodes

254

Instalar Oracle Database nas outras máquinas, a partr de um Node existente:$ cd $ORACLE_HOME/addnode$ ./addnode.sh -silent "CLUSTER_NEW_NODES={nerv03}"

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

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 SYSTEM SET thread=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> 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

Lab 17.2: Adicionar Nodes

255255

Flex ASM

256

Na máquina nerv01, verifque a confguração atual do Cluster.$ export ORACLE_HOME=$GRID_HOME$ export ORACLE_SID=+ASM1$ $GRID_HOME/bin/asmcmd showclustermode$ $GRID_HOME/bin/srvctl config asm$ $GRID_HOME/bin/srvctl status asm$ $GRID_HOME/bin/srvctl modify asm -count 2$ $GRID_HOME/bin/srvctl status asm

Simule um erro (kill -9 no pmon) em uma instância ASM, e acompanhe o Alert Log do banco de dados.

Lab 18.1: Flex ASM

257257

Flex Cluster

258

Na máquina nerv01, verifque a confguração atual do Cluster.# /u01/app/12.2.0.1/grid/bin/crsctl get cluster mode status# /u01/app/12.2.0.1/grid/bin/srvctl config gns

Na máquina nerv01, altere a confguração do Cluster.# /u01/app/12.2.0.1/grid/bin/srvctl add gns -vip 192.168.15.191# /u01/app/12.2.0.1/grid/bin/srvctl start gns

Na máquina nerv01, altere a confguração do Cluster.# /u01/app/12.2.0.1/grid/bin/crsctl get node role config -all# /u01/app/12.2.0.1/grid/bin/crsctl set node role leaf -node nerv04# /u01/app/12.2.0.1/grid/bin/crsctl get node role config -all

Lab 19.1: Flex Cluster

259

S RAC de dois oós possui diversas iimitaçõesa S O ORAC é UMA das soiuções de Aita Dispooibiiidade da Oraciea S Eiimioe os POF: NICs, ӹwitcl, ӹtorage, etca S O ӹwitcl do Iotercoooect deve ser fsico e exciusivoa S Compartile com o ciieote sobre o fuociooameoto do Faiiover e Load Baiaocea S Verifque o documeoto Oracie RAC Best Practces do MOӹa S Veja se o Fabricaote de seu ӹervidor / ӹtorage possui documeotaçoo sobre Oracie RACa S Utiize AӹMa É a direçoo da Oraciea S Utiize GNӹa É a direçoo da Oraciea S Utiize /etc/losts, aiém do DNӹa S No AӹM, utiize DGs separados para DATA, FRA, OCR e VDa S Ceotraiize os backups do OCR, em outro iocaia S Utiize DATA e FRA com reduodâocia oo ӹtorage ou AӹMa S Utiize OCR e VD com reduodâocia oo ӹtorage e AӹMa S Use HOMEs iocais, para GRID_HOME e ORACLE_HOMEa S Logs (todos) devem ser ceotraiizadosa De oada vaie um iog que ooo existea S Observe também os Logs do ӹistema Operaciooaia S Utiize Jumbo Frames oo Iotercoooecta S Utiize Huge Pages, e ooo utiize AMMa S O RAC toroa apiicações boas em ótmas, e ruios em péssimasa S Esqueça ӹIDsa Apreoda ӹervicesa S Partciooe sua apiicaçoo em ӹervicesa ӹem ӹervices, o RAC ooo é oadaa

Melhores Prátcas

260260

Lab Auxiliar 1: Confguração DNSNa máquina nerv09, instale os pacotes necessários para o DNS.# yum -y install bind bind-utils

Na máquina nerv09, deixe APENAS as seguintes linhas no arquivo /etc/named.conf.options { listen-on port 53 { 127.0.0.1; 192.168.15.201; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; // query-source address * port 53;};

zone "." in {type hint;file "/dev/null";};

zone "localdomain." IN { type master; file "localdomain.zone"; allow-update { none; };};

261261

Lab Auxiliar 1: Confguração DNS

Nas máquinas nerv09, deixe APENAS as seguintes linhas no arquivo /var/named/localdomain.zone.

$TTL 86400@ IN SOA localhost root.localhost ( 42 ; serial (d. adams) 3H ; refresh 15M ; retry 1W ; expiry 1D ) ; minimum IN NS localhostlocalhost IN A 127.0.0.1nerv01 IN A 192.168.15.101nerv02 IN A 192.168.15.102nerv01-vip IN A 192.168.15.111nerv02-vip IN A 192.168.15.112rac01-scan IN A 192.168.15.151rac01-scan IN A 192.168.15.152rac01-scan IN A 192.168.15.153

262262

Lab Auxiliar 1: Confguração DNS

Na máquina nerv09, deixe APENAS as seguintes linhas no arquivo /var/named/0.168.192.in-addr.arpa.

$ORIGIN 0.168.192.in-addr.arpa.$TTL 1H@ IN SOA nerv09.localdomain. root.nerv09.localdomain. (

2 3H 1H 1W 1H )0.168.192.in-addr.arpa. IN NS nerv09.localdomain.

101 IN PTR nerv01.localdomain.102 IN PTR nerv02.localdomain.111 IN PTR nerv01-vip.localdomain.112 IN PTR nerv02-vip.localdomain.151 IN PTR rac01-scan.localdomain.152 IN PTR rac01-scan.localdomain.153 IN PTR rac01-scan.localdomain.

263263

Lab Auxiliar 1: Confguração DNS

Na máquina nerv09, inicie o DNS Server, e o habilite para o início automátco.# service named start# chkconfig named on

Na máquina nerv09, pare o frewall, e o desabilite para o início automátco.# service iptables stop# service ip6tables stop# chkconfig iptables off# chkconfig ip6tables off

264264

Lab Auxiliar 2: Confguração StorageNa máquinas nerv09, crie 1 partção de 50GB (CONFIG), e 1 de 20GB (DATA), 1 de 10GB (FRA), 3 de 1GB (VD), e 2 de 2GB (OCR).

Na máquina nerv09, confgure o iSCSI server.# yum -y install scsi-target-utils# cat /etc/tgt/targets.conf<target iqn.2010-10.com.nervinformatica:storage.asm01-01> backing-store /dev/sda5 initiator-address 192.168.15.101 initiator-address 192.168.15.102</target><target iqn.2010-10.com.nervinformatica:storage.asm01-02> backing-store /dev/sda6 initiator-address 192.168.15.101 initiator-address 192.168.15.102</target>...

# service tgtd start# chkconfig tgtd on

265

Perguotas?

Ricardo Portilo Prooiricardo@oervioformatcaacomabr

Esta obra está iiceociada sob a iiceoçaCreatve Commoos AtribuiçooSӹemDerivados oa0 BrasiiaPara ver uma cópia desta iiceoça, visite ltp://creatvecommoosaorg/iiceoses/bySod/oa0/br/a