Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Treinamento Oracle RAC 11gR2 - Nerv Informática Ltda

  • 2,608 views
Uploaded on

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

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

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • Parabéns pelo material Portilho, e parabéns também por compartilhar.
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
2,608
On Slideshare
1,754
From Embeds
854
Number of Embeds
4

Actions

Shares
Downloads
134
Comments
1
Likes
3

Embeds 854

http://www.nervinformatica.com.br 586
http://nervinformatica.com.br 256
https://www.linkedin.com 11
http://172.16.32.13 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • Main RAC install issues:
    Configuration prereqs not in place. => CVU
    Untested components and configurations => ref “Keep It Simple”
    CVU Goals:
    To verify if we have a well formed cluster for RAC installation, configuration, and operation
    Full stack verification
    Non-intrusive verification
    Easy to use interface
    Supports all RAC platforms / configurations - well-defined, uniform behaviour
    CVU non-goals:
    Does not perform any cluster or RAC operation
    Does not take any corrective action following the failure of a verification task
    Does not enter into areas of performance tuning or monitoring
    Does not attempt to verify the internals of cluster database
    Explain stages and components
    BPs for using CVU
    Use “stage” checks during installation of CRS and RAC.
    To verify a particular component while the stack is running or to isolate a cluster subsystem for diagnosis, use appropriate component checks
    The Cluster Verification Utility (CVU) verifies a wide range of cluster and RAC-specific components such as shared storage devices, networking configurations, system requirements, the Oracle Clusterware, groups, and users. You can use CVU for pre-installation checks as well as for post-installation checks of your cluster environment. You can also use CVU to verify your environment when performing administrative operations such as installation, storage management, node addition, and troubleshooting. The OUI runs CVU immediately after you successfully install the Oracle Clusterware.

Transcript

  • 1. Ricardo Portilho Proni ricardo@nervinformatica.com.br 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/. 1 Oracle RAC 11gR2 1
  • 2. 2 Oracle RAC: Conceitos 2
  • 3. 3 ● Disponibilidade ● Escalabilidade ● Custo Total de Propriedade (TCO) 3 Por que usar o RAC?
  • 4. 4 ● Custo de Equipamentos ● Custo de Licenças ● Custo de Conhecimento ● Complexidade ● Escalabilidade 4 Por que não usar o RAC?
  • 5. 5 ● 1 Database x N Instances • + Background Processes • + daemons • OCR • Voting Disk 5 Oracle RAC x Single Instance
  • 6. 6 Oracle 6.0.35: VAX / VMS Oracle 7: PCM Oracle 8i: Cache Fusion I Oracle 9i: Cache Fusion II, Oracle Cluster Management Services Oracle 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 Manager Oracle 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
  • 7. 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
  • 8. 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
  • 9. 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
  • 10. 10 Hardware 10
  • 11. 11 11 Hardware
  • 12. 12 Sistema Operacional 12
  • 13. 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
  • 14. 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
  • 15. 15 Cluster Verification Utility 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 15
  • 16. 16 Lab 1 – Instalação OEL 6 Hands On ! 16
  • 17. 17 17 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
  • 18. 18 18 Lab 1.2: Instalação OEL 6 18 - 12a tela: Crie as partições como abaixo, e em seguida, Next: sda1 1024 MB /boot sda2 100000 MB / sda3 20000 MB /home sda5 16384 MB swap sda6 10000 MB /var sda7 10000 MB /tmp sda8 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.
  • 19. 19 Lab 2 – Configuração OEL 6 Hands On ! 19
  • 20. 20 Nas máquinas nerv01 e nerv02, configure as placas de rede púplica e privada. 20 Lab 2.1 – Configuração OEL 6
  • 21. 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
  • 22. 22 Nas máquinas nerv01 e nerv02, ACRESCENTAR AO FINAL do arquivo /etc/hosts: # Public 192.168.0.101 nerv01.localdomain nerv01 192.168.0.102 nerv02.localdomain nerv02 # Private 192.168.1.101 nerv01-priv.localdomain nerv01-priv 192.168.1.102 nerv02-priv.localdomain nerv02-priv # Virtual 192.168.0.111 nerv01-vip.localdomain nerv01-vip 192.168.0.112 nerv02-vip.localdomain nerv02-vip # Storage 192.168.0.201 nerv09.localdomain nerv09 22 Lab 2.3 – Configuração OEL 6
  • 23. 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
  • 24. 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
  • 25. 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=/tmp export TMPDIR=$TMP export ORACLE_HOSTNAME=nerv01.localdomain export ORACLE_UNQNAME=ORCL export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/11.2.0.4/db_1 export GRID_HOME=/u01/app/11.2.0.4/grid export CRS_HOME=$GRID_HOME export ORACLE_SID=ORCL1 export ORACLE_TERM=xterm export PATH=/usr/sbin:$PATH export PATH=$ORACLE_HOME/bin:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi 25 Lab 2.6 – Configuração OEL 6
  • 26. 26 Shared Storage 26
  • 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 27 Opções de Shared Storage
  • 28. 28 Lab 3 – Storage Hands On ! 28
  • 29. 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)
  • 30. 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 0 nerv09:/shared_config02 /u01/shared_config02 nfs rw,bg,hard,nointr,tcp,vers=3,timeo=600,rsize=32768,wsize=32768,actimeo=0,noac 0 0 nerv09:/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)
  • 31. 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)
  • 32. 32 32 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
  • 33. 33 33 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-01 InitiatorName=iqn.2010-10.com.nervinformatica:storage.asm01-02 InitiatorName=iqn.2010-10.com.nervinformatica:storage.asm01-03 InitiatorName=iqn.2010-10.com.nervinformatica:storage.asm01-04
  • 34. 34 34 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/sdb n <enter> p <enter> 1 <enter> <enter> <enter> w <enter> # fdisk /dev/sdc n <enter> p <enter> 1 <enter> <enter> <enter> w <enter>
  • 35. 35 35 Lab 3.7 – Storage (ASM) Na máquinas nerv01, particione os novos discos. # fdisk /dev/sdd n <enter> p <enter> 1 <enter> <enter> <enter> w <enter> # fdisk /dev/sde n <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
  • 36. 36 Nas máquinas nerv01 e nerv02, configure a ASMLib. # /etc/init.d/oracleasm configure oracle <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)
  • 37. 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 DISK00 brw-rw----. 1 oracle oinstall 8, 33 Mar 3 08:40 DISK01 brw-rw----. 1 oracle oinstall 8, 49 Mar 3 08:40 DISK02 brw-rw----. 1 oracle oinstall 8, 65 Mar 3 08:40 DISK03 37 Lab 3.9 – Storage (ASM)
  • 38. 38 Oracle Grid Infrastructure 38
  • 39. 39 - Oracle Cluster Registry - Voting Disk (Quorum Disk) - VIPs e SCAN - Daemons: evmd, ocssd, crs - Utilitários: crsctl, crs_stat, srvctl 39 Componentes
  • 40. 40 Lab 4 - Grid Infraestructure Hands On ! 40
  • 41. 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
  • 42. 42 42 Lab 4.2 – Grid Infrastructure
  • 43. 43 43 Lab 4.3 – Grid Infrastructure
  • 44. 44 44 Lab 4.4 – Grid Infrastructure
  • 45. 45 45 Lab 4.5 – Grid Infrastructure
  • 46. 46 46 Lab 4.6 – Grid Infrastructure
  • 47. 47 47 Lab 4.7 – Grid Infrastructure
  • 48. 48 48 Lab 4.8 – Grid Infrastructure
  • 49. 49 49 Lab 4.9 – Grid Infrastructure
  • 50. 50 50 Lab 4.10 – Grid Infrastructure
  • 51. 51 51 Lab 4.11 – Grid Infrastructure
  • 52. 52 52 Lab 4.12 – Grid Infrastructure
  • 53. 53 53 Lab 4.13 – Grid Infrastructure
  • 54. 54 54 Lab 4.14 – Grid Infrastructure
  • 55. 55 55 Lab 4.15 – Grid Infrastructure
  • 56. 56 56 Lab 4.16 – Grid Infrastructure
  • 57. 57 57 Lab 4.17 – Grid Infrastructure
  • 58. 58 58 Lab 4.18 – Grid Infrastructure
  • 59. 59 59 Lab 4.19 – Grid Infrastructure
  • 60. 60 60 Lab 4.20 – Grid Infrastructure
  • 61. 61 61 Lab 4.21 – Grid Infrastructure
  • 62. 62 62 Lab 4.22 – Grid Infrastructure
  • 63. 63 Lab 5 – Oracle Database Software Hands On ! 63
  • 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 64 Lab 5.1 – Oracle Database Software
  • 65. 65 65 Lab 5.2 – Oracle Database Software
  • 66. 66 66 Lab 5.3 – Oracle Database Software
  • 67. 67 67 Lab 5.4 – Oracle Database Software
  • 68. 68 68 Lab 5.5 – Oracle Database Software
  • 69. 69 69 Lab 5.6 – Oracle Database Software
  • 70. 70 70 Lab 5.7 – Oracle Database Software
  • 71. 71 71 Lab 5.8 – Oracle Database Software
  • 72. 72 72 Lab 5.9 – Oracle Database Software
  • 73. 73 73 Lab 5.10 – Oracle Database Software
  • 74. 74 74 Lab 5.11 – Oracle Database Software
  • 75. 75 75 Lab 5.12 – Oracle Database Software
  • 76. 76 76 Lab 5.13 – Oracle Database Software
  • 77. 77 77 Lab 5.14 – Oracle Database Software
  • 78. 78 78 Lab 5.15 – Oracle Database Software
  • 79. 79 LAB 6 – ASM Hands On ! 79
  • 80. 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
  • 81. 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 SYSASM SQL> 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
  • 82. 82 Oracle Database 82
  • 83. 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
  • 84. 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
  • 85. 85 85 Lab 7.2 – Oracle Database Para efetuar logon na Instance ASM1, use o SQLPlus. $ export ORACLE_SID=+ASM1 $ sqlplus / as SYSDBA Por que não funcionou? Verifique os discos existentes, e espaço disponível. V$ASM_DISK V$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 -p ASMCMD [+] > help Pelo asmcmd, copie um DATAFILE do ASM para o /home/oracle de um Node.
  • 86. 86 86 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?
  • 87. 87 Administração 87
  • 88. 88 88 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
  • 89. 89 89 Dificuldades ● $GRID_HOME x $ORACLE_HOME ● oracle X root
  • 90. 90 Daemons 90
  • 91. 91 91 Daemons ● 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)
  • 92. 92 92 Cluster Startup
  • 93. 93 93 Daemons - Logs 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 Logs VIP e ONS $GRID_HOME/log/<node>/racg OCR Applications $GRID_HOME/log/<node>/client SCAN $GRID_HOME/log/diag/tnslsnr/<node>/listener_scan1
  • 94. 94 LAB 8 – Daemons Hands On ! 94
  • 95. 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
  • 96. 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 reboottime crsctl get css misscount crsctl get css disktimeout crsctl set css reboottime 1 crsctl set css misscount 2 crsctl set css disktimeout 3 96 Lab 8.2 – Daemons
  • 97. 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
  • 98. 98 srvctl 98
  • 99. 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
  • 100. 100 LAB 9 – srvctl Hands On ! 100
  • 101. 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
  • 102. 102 Coloque o banco em modo ARCHIVELOG e execute um backup. $ srvctl stop database -d ORCL $ srvctl start instance -d ORCL -i ORCL1 -o mount SQL> 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
  • 103. 103 crsctl 103
  • 104. 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
  • 105. 105 LAB 10 – crsctl Hands On ! 105
  • 106. 106 Verifique as opções do crsctl, digitando “crsctl”, sem opções. Verifique o status dos Daemons: crsctl check crs crsctl check cssd crsctl check crsd crsctl check evmd Se estes comandos estão deprecated, qual é seu substituto? crsctl check ctss Que informação é importante neste comando? Verifique a versão instalada e ativa. crsctl query crs activeversion crsctl query crs softwareversion 106 Lab 10.1 – crsctl
  • 107. 107 Liste os módulos do Cluster. crsctl lsmodules crs crsctl lsmodules css crsctl lsmodules evm Tente 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
  • 108. 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
  • 109. 109 OCR 109
  • 110. 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
  • 111. 111 LAB 11 – OCR Hands On ! 111
  • 112. 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,nerv02 Por que não funciona? Adicione um mirror. 112 Lab 11.1 – OCR
  • 113. 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
  • 114. 114 Voting Disks 114
  • 115. 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
  • 116. 116 LAB 12 – Voting Disk Hands On ! 116
  • 117. 117 Verifique o status do Voting Disk. crsctl query css votedisk Adicione três Mirrors. crsctl stop cluster -all crsctl add css votedisk /u01/shared_config/rac01/votingdisk-mirror Por 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
  • 118. 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
  • 119. 119 oifcfg 119
  • 120. 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
  • 121. 121 LAB 13 – oifcfg Hands On ! 121
  • 122. Execute um backup físico do OCR. Verifique as Interfaces atuais, nos dois Nodes. Guarde o resultado. oifcfg getif srvctl config nodeapps -n nerv01 -a srvctl 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 122 Lab 13.1 – oifcfg
  • 123. 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
  • 124. 124 Rolling Upgrades 124
  • 125. 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
  • 126. 126 LAB 14 – Rolling Upgrades Hands On ! 126
  • 127. 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/admin sqlplus / AS SYSDBA SQL> @catbundle.sql cpu napply SQL> QUIT 127 Lab 14 – Rolling Upgrades
  • 128. 128 Single Instance x RAC 128
  • 129. 129 129 Single Instance x RAC ● 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
  • 130. 130 LAB 15 – Sequences Hands On ! 130
  • 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. 131 É possível melhorar este tempo? 131 Lab 15.1 – Sequences
  • 132. 132 Load Balance (Client) 132
  • 133. 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)
  • 134. 134 Load Balance (Server) 134
  • 135. 135 135 Load Balance (Server)
  • 136. 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)
  • 137. Services Goal GOAL_NONE GOAL_SERVICE_TIME →→→ Bom para OLTP GOAL_THROUGHPUT →→→ Bom para Batch / OLAP / DBA Services Connection Load Balance Goal CLB_GOAL_SHORT →→→ Bom para OLTP CLB_GOAL_LONG →→→ Bom para Batch / OLAP / DBA ou OLTP Persistente Services Distributed Transaction Processing TRUE FALSE 137 137 Load Balance (Server)
  • 138. 138 srvctl add service srvctl remove service srvctl modify service srvctl relocate service srvctl status service srvctl start service srvctl stop service srvctl enable service srvctl disable service 138 Load Balance (Server)
  • 139. 139 LAB 16 – Load Balance (Server) Hands On ! 139
  • 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 140 Lab 16.1 – Load Balance (Server)
  • 141. 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)
  • 142. 142 Benchmark 142
  • 143. 143 Tipos ● TCP-C: OLTP (Rede Varejista) ● TPC-E: OLTP (Telefonia) ● TCP-H: Data Warehouse Ferramentas ● Hammerora ● Swingbench 143 Benchmark
  • 144. 144 LAB 17 – Benchmark Hands On ! 144
  • 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 145 Lab 17.1 – Benchmark
  • 146. 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
  • 147. 147 Adicionar e Remover Nodes 147
  • 148. 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
  • 149. 149 LAB 18 – Adicionar Nodes Hands On ! 149
  • 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 150 Lab 18.1 – Adicionar Nodes
  • 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 151 Lab 18.2 – Adicionar Nodes
  • 152. 152 Melhores Práticas 152
  • 153. 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