Escolar Documentos
Profissional Documentos
Cultura Documentos
OMAA 12c
OMAA 12c
1
Alta Disponibilidade
2
Características da Alta Disponibilidade
• Confiança
• Recuperabilidade
• Detecção de erros em tempo hábil
• Continuidade operacional
3
Análise de Alta Disponibilidade
• Análise de impacto no negócio
• Custo de tempo fora de operação
• Objetivo de tempo de recuperação (RTO)
• Objetivo de ponto de recuperação (RPO)
• Meta de gerenciamento
• Custo total de propriedade (TCO)
• Retorno sobre o investimento (ROI)
4
Sistemas e Alta Disponibilidade
• Camada 1 (Faturamento, Vendas)
• Camada 2 (Compras, Estoque)
• Camada 3 (BI, Desenvimento)
5
Custos e Alta Disponibilidade
• Tempo máximo de parada tolerado.
• Frequência máxima de paradas tolerada.
• Custos facilmente mensuráveis (vendas, funcionários ociosos, multas
contratuais)
• Custos dificilmente mensuráveis (processos judiciais)
• Custos não mensusáveis (publicidade negativa, clientes irritados)
6
Implantação de Alta Disponibilidade
7
Soluções Oracle para Alta Disponibilidade
• Fast-Start Fault Recovery
• Oracle Restart
• Oracle Real Application Clusters and Oracle Clusterware
• Oracle RAC One Node
• Oracle Data Guard
• Oracle GoldenGate / Oracle Streams
• Oracle Flashback Technology
• Oracle Automatic Storage Management
• Fast Recovery Area
• Recovery Manager
• Data Recovery Advisor
• Oracle Secure Backup
• Oracle Security Features
• LogMiner
• Oracle Exadata Storage Server Software (Exadata Cell)
• Oracle Exadata Database Machine
• Oracle Database File System (DBFS)
• Oracle Automatic Storage Management Cluster File System (Oracle ACFS)
• Client Failover
• Automatic Block Repair
• Corruption Prevention, Detection, and Repair
8
Indisponibilidades Planejadas
• Operating system and hardware upgrades -> Oracle RAC
• Oracle Database patches -> Oracle RAC
• Oracle Grid Infrastructure upgrades and patches -> Oracle RAC
• Storage Migration -> Oracle ASM
• Migrating to Exadata Storage -> Oracle MAA best practices
• Upgrading Exadata Storage -> Exadata Patch Manager
• Migrating a single-instance database to Oracle RAC -> Oracle Grid Infrastructure
• Migrating to Oracle ASM -> Oracle Data Guard
• Migrating a single-instance database to Oracle RAC -> Oracle Data Guard
• Patch set and database upgrades -> Oracle Data Guard using SQL Apply
• Oracle interim patches, Oracle clusterware upgrades and patches, Oracle ASM
upgrades, Operating System and Hardware Upgrades -> Oracle Data Guard Standby-First
Patch Apply
• Migration across Windows and Linux -> Oracle Data Guard
• Platform migration across the same endian format platforms -> Transportable database
• Platform migration across different endian format platforms -> Transportable tablespace
• Patch set and database upgrades, platform migration, rolling upgrades, and when
different character sets are required -> Oracle GoldenGate and Oracle Streams
• Application upgrades -> Online Application Maintenance and Upgrades
9
Indisponibilidades Não Planejadas
• Site Failures -> Oracle Data Guard
• Site Failures -> Oracle GoldenGate and Oracle Streams
• Site Failures -> Recovery Manager
• Computer Failures -> Oracle Real Application Clusters and Oracle Clusterware
• Computer Failures -> Oracle RAC One Node
• Computer Failures -> Fast-Start Fault Recovery
• Computer Failures -> Oracle Data Guard
• Computer Failures -> Oracle GoldenGate and Oracle Streams
• Storage Failures -> Oracle Automatic Storage Management
• Storage Failures -> Oracle Data Guard
• Storage Failures -> RMAN with Fast Recovery Area and Oracle Secure Backup
• Storage Failures -> Oracle GoldenGate and Oracle Streams
• Data Corruption -> Oracle Exadata Storage Server Software (Exadata Cell) and Oracle ASM
• Data Corruption -> Corruption Prevention, Detection, and Repair
• Data Corruption -> Data Recovery Advisor and RMAN with Fast Recovery Area
• Data Corruption -> Oracle Data Guard
• Data Corruption -> Oracle GoldenGate and Oracle Streams
• Human Errors -> Oracle Security Features
• Human Errors -> Oracle Flashback Technology
• Human Errors -> LogMiner
• Lost writes -> Oracle Data Guard, RMAN, DB_LOST_WRITE_PROTECT
• Lost writes -> Oracle Data Guard Oracle Exadata Storage Server Software (Exadata Cell)
• Hangs or slow down - Oracle Database and Oracle Enterprise Manager
10
Maiores informações
High Availability Overview:
http://docs.oracle.com/database/121/HAOVW/toc.htm
11
Cenário 1: Oracle RAC + Oracle Data Guard
Ambiente Produção
Oracle RAC: nerv01 e nerv02 / nerv03 e nerv04 / nerv05 e nerv06 / nerv07 e nerv08
NFS: nerv09
ASM: nerv09
DNS: nerv09
Ambiente Contingência
Oracle Data Guard Physical Standby: nerv11 / nerv12 / nerv13 / nerv14
NFS: nerv10
ASM: nerv10
DNS: nerv10
Ambiente Observador
Oracle Client: observer-rac01 / observer-rac02 / observer-rac03 / observer-rac04
12
Cenário 2: Oracle RAC + Oracle Golden Gate
Ambiente Produção
Oracle RAC: nerv01 e nerv02 / nerv03 e nerv04 / nerv05 e nerv06 / nerv07 e nerv08
NFS: nerv09
ASM: nerv09
DNS: nerv09
Ambiente Contingência
Oracle Database: nerv11 / nerv12 / nerv13 / nerv14
NFS: nerv10
ASM: nerv10
DNS: nerv10
13
Cenário 3: Oracle RAC Extended
Ambiente Produção
Oracle RAC: nerv01 e nerv02 / nerv03 e nerv04 / nerv05 e nerv06 / nerv07 e nerv08
NFS: nerv09
ASM: nerv09
DNS: nerv09
Ambiente Contingência
Oracle RAC: nerv11 / nerv12 / nerv13 / nerv14
NFS: nerv10
ASM: nerv10
DNS: nerv10
Ambiente Observador
NFS: nerv15
14
Lab 1 – Instalação OEL 6
Hands On !
15 15
Lab 1.1: Instalação OEL 6
Nas máquinas nerv01, nerv02 e nerv11, instale o OEL.
16 16
Lab 1.2: Instalação OEL 6
- 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
17 1717
Lab 2 – Configuração OEL 6
Hands On !
18 18
Lab 2.1 – Configuração OEL 6
Nas máquinas nerv01, nerv02 e nerv11, configure as placas de rede.
19 19
Lab 2.2 – Configuração OEL 6
Nas máquinas nerv01, nerv02 e nerv11, atualize o sistema operacional e execute a
instalação dos pré-requisitos.
# service network restart
# yum -y update
# yum -y install oracle-rdbms-server-12cR1-preinstall
# yum -y install oracleasm-support
# yum -y install unzip wget iscsi-initiator-utils java-1.7.0-openjdk parted
# yum -y install unixODBC unixODBC.i686 unixODBC-devel unixODBC-devel.i686
# wget http://download.oracle.com/otn_software/asmlib/oracleasmlib-2.0.12-1.el6.x86_64.rpm
# rpm -ivh oracleasmlib-2.0.12-1.el6.x86_64.rpm
Nas máquinas nerv01, nerv02 e nerv11, remova o DNS 8.8.8.8 da placa de rede eth0.
Nas máquinas nerv01, nerv02 e nerv11, altere a seguinte linha no arquivo /etc/fstab.
tmpfs /dev/shm tmpfs defaults,size=4g 00
20 20
Lab 2.3 – Configuração OEL 6
Nas máquinas nerv01, nerv02 e nerv11, ACRESCENTAR AO FINAL do
arquivo /etc/hosts:
# Public
192.168.0.101 nerv01.localdomain nerv01
192.168.0.102 nerv02.localdomain nerv02
192.168.0.121 nerv11.localdomain nerv11
# Private
192.168.1.101 nerv01-priv.localdomain nerv01-priv
192.168.1.102 nerv02-priv.localdomain nerv02-priv
192.168.1.121 nerv11-priv.localdomain nerv11-priv
# Virtual
192.168.0.111 nerv01-vip.localdomain nerv01-vip
192.168.0.112 nerv02-vip.localdomain nerv02-vip
192.168.0.131 nerv11-vip.localdomain nerv11-vip
# Storage
192.168.0.201 nerv09.localdomain nerv09
192.168.0.202 nerv10.localdomain nerv10
# Client
192.168.0.191 observer-rac01.localdomain observer-rac01
192.168.0.195 nerv15.localdomain nerv15
21 21
Lab 2.4 – Configuração OEL 6
Nas máquinas nerv01, nerv02 e nerv11, 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/12.1.0.2/grid
# mkdir -p /u01/app/oracle/product/12.1.0.2/db_1
# chown -R oracle:oinstall /u01
# chmod -R 775 /u01
# passwd oracle (Coloque como senha do usuário oracle: Nerv2015)
22 22
Lab 2.5 – Configuração OEL 6
Nas máquinas nerv01, nerv02 e nerv11, altere o SELinux de “enforcing” para
“permissive”.
# vi /etc/selinux/config
23 23
Lab 2.6 – Configuração OEL 6
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/12.1.0.2/db_1
export GRID_HOME=/u01/app/12.1.0.2/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
24 24
Lab 2.7 – Configuração OEL 6
Na máquina nerv11, 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=nerv11.localdomain
export ORACLE_UNQNAME=ORCL
export ORACLE_BASE=/u01/app
export ORACLE_HOME=$ORACLE_BASE/oracle/product/12.1.0.2/db_1
export GRID_HOME=/u01/app/12.1.0.2/grid
export CRS_HOME=$GRID_HOME
export ORACLE_SID=ORCL
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 25
Lab 3 – Storage
Hands On !
26 26
Lab 3.1 – Storage
Nas máquinas nerv09 e nerv10, crie 3 partições de 5GB, e 4 de 10GB.
27 27
Lab 3.2 – Storage
Nas máquinas nerv01, nerv02 e nerv11, ative o pacote iSCSI Initiator.
# chkconfig iscsid on
28 28
Lab 3.3 – Storage
Nas máquinas nerv01, nerv02 e nerv11, verifique se os discos foram adicionados.
# fdisk -l
29 29
Lab 3.4 – Storage
Nas máquinas nerv01, nerv02 e nerv11, configure a ASMLib.
# /etc/init.d/oracleasm configure
oracle <enter>
asmadmin <enter>
y <enter>
y <enter>
# /etc/init.d/oracleasm status
30 30
Lab 3.5 – Storage
Nas máquinas nerv01, nerv02 e nerv11, verifique se os discos estão corretos.
# /etc/init.d/oracleasm listdisks
# /etc/init.d/oracleasm querydisk -v -p DISK01
# /etc/init.d/oracleasm querydisk -v -p DISK02
# /etc/init.d/oracleasm querydisk -v -p DISK03
# /etc/init.d/oracleasm querydisk -v -p DISK04
# /etc/init.d/oracleasm querydisk -v -p DISK05
# /etc/init.d/oracleasm querydisk -v -p DISK06
# /etc/init.d/oracleasm querydisk -v -p DISK07
31 31
Lab 4 - Grid Infraestructure
Hands On !
32 32
Lab 4.1 – Grid Infrastructure
Na máquina nerv01, com o usuário oracle, descompacte e execute o instalador
do Grid Infrastructure.
$ cd /home/oracle
$ unzip -q linuxamd64_12102_grid_1of2.zip
$ unzip -q linuxamd64_12102_grid_2of2.zip
33 33
Lab 4.2 – Grid Infrastructure
34 34
Lab 4.3 – Grid Infrastructure
35 35
Lab 4.4 – Grid Infrastructure
36 36
Lab 4.5 – Grid Infrastructure
37 37
Lab 4.6 – Grid Infrastructure
38 38
Lab 4.7 – Grid Infrastructure
39 39
Lab 4.8 – Grid Infrastructure
40 40
Lab 4.9 – Grid Infrastructure
41 41
Lab 4.10 – Grid Infrastructure
42 42
Lab 4.11 – Grid Infrastructure
43 43
Lab 4.12 – Grid Infrastructure
44 44
Lab 4.13 – Grid Infrastructure
45 45
Lab 4.14 – Grid Infrastructure
46 46
Lab 4.15 – Grid Infrastructure
47 47
Lab 4.16 – Grid Infrastructure
48 48
Lab 4.17 – Grid Infrastructure
49 49
Lab 4.18 – Grid Infrastructure
50 50
Lab 4.19 – Grid Infrastructure
51 51
Lab 4.20 – Grid Infrastructure
52 52
Lab 4.21 – Grid Infrastructure
53 53
Lab 4.22 – Grid Infrastructure
54 54
Lab 4.23 – Grid Infrastructure
55 55
Lab 4.24 – Grid Infrastructure
56 56
Lab 4.25 – Grid Infrastructure
57 57
Lab 4.26 – Grid Infrastructure
58 58
Lab 4.27 – Grid Infrastructure
59 59
Lab 4.28 – Grid Infrastructure
60 60
Lab 4.29 – Grid Infrastructure
61 61
Lab 4.30 – Grid Infrastructure
62 62
Lab 4.31 – Grid Infrastructure
63 63
Lab 4.32 – Grid Infrastructure
Na máquina nerv11, com o usuário oracle, descompacte e execute o instalador
do Grid Infrastructure.
[oracle@nerv01 ~]$ ssh -CX oracle@nerv11
[oracle@nerv11 ~]$ unzip -q linuxamd64_12102_grid_1of2.zip
[oracle@nerv11 ~]$ unzip -q linuxamd64_12102_grid_2of2.zip
64 64
Lab 4.33 – Grid Infrastructure
65 65
Lab 4.34 – Grid Infrastructure
66 66
Lab 4.35 – Grid Infrastructure
67 67
Lab 4.36 – Grid Infrastructure
68 68
Lab 4.37 – Grid Infrastructure
69 69
Lab 4.38 – Grid Infrastructure
70 70
Lab 4.39 – Grid Infrastructure
71 71
Lab 4.40 – Grid Infrastructure
72 72
Lab 4.41 – Grid Infrastructure
73 73
Lab 4.42 – Grid Infrastructure
74 74
Lab 4.43 – Grid Infrastructure
75 75
Lab 4.44 – Grid Infrastructure
76 76
Lab 4.45 – Grid Infrastructure
77 77
Lab 4.46 – Grid Infrastructure
78 78
Lab 4.47 – Grid Infrastructure
79 79
Lab 4.48 – Grid Infrastructure
80 80
Lab 5 – Oracle Database Software
Hands On !
81 81
Lab 5.1 – Oracle Database Software
Na máquina nerv01, com o usuário oracle, descompacte e execute o instalador
do Oracle Database Software.
$ cd /home/oracle
$ unzip -q linuxamd64_12102_database_1of2.zip
$ unzip -q linuxamd64_12102_database_2of2.zip
$ cd database
$ ./runInstaller
82 82
Lab 5.2 – Oracle Database Software
83 83
Lab 5.3 – Oracle Database Software
84 84
Lab 5.4 – Oracle Database Software
85 85
Lab 5.5 – Oracle Database Software
86 86
Lab 5.6 – Oracle Database Software
87 87
Lab 5.7 – Oracle Database Software
88 88
Lab 5.8 – Oracle Database Software
89 89
Lab 5.9 – Oracle Database Software
90 90
Lab 5.10 – Oracle Database Software
91 91
Lab 5.11 – Oracle Database Software
92 92
Lab 5.12 – Oracle Database Software
93 93
Lab 5.13 – Oracle Database Software
94 94
Lab 5.14 – Oracle Database Software
95 95
Lab 5.15 – Oracle Database Software
96 96
Lab 5.16 – Oracle Database Software
97 97
Lab 5.17 – Oracle Database Software
Na máquina nerv11, com o usuário oracle, descompacte e execute o instalador
do Oracle Database Software.
$ cd /home/oracle
$ unzip -q linuxamd64_12102_database_1of2.zip
$ unzip -q linuxamd64_12102_database_2of2.zip
$ cd database
$ ./runInstaller
98 98
Lab 5.18 – Oracle Database Software
99 99
Lab 5.19 – Oracle Database Software
100
100
Lab 5.20 – Oracle Database Software
101
101
Lab 5.21 – Oracle Database Software
102
102
Lab 5.22 – Oracle Database Software
103
103
Lab 5.23 – Oracle Database Software
104
104
Lab 5.24 – Oracle Database Software
105
105
Lab 5.25 – Oracle Database Software
106
106
Lab 5.26 – Oracle Database Software
107
107
Lab 5.27 – Oracle Database Software
108
108
Lab 5.28 – Oracle Database Software
109
109
Lab 5.29 – Oracle Database Software
110
110
LAB 6 – ASM
Hands On !
111 111
Lab 6.1 – ASM
Na máquina nerv01, configure os outros Disk Groups do ASM.
$ export ORACLE_HOME=$GRID_HOME
$ export ORACLE_SID=+ASM1
$ sqlplus / AS SYSASM
SQL> CREATE DISKGROUP DATA NORMAL REDUNDANCY DISK 'ORCL:DISK04',
'ORCL:DISK05';
SQL> CREATE DISKGROUP FRA NORMAL REDUNDANCY DISK 'ORCL:DISK06',
'ORCL:DISK07';
SQL> ALTER DISKGROUP DATA SET ATTRIBUTE 'compatible.asm' = '12.1.0.2.0';
SQL> ALTER DISKGROUP FRA SET ATTRIBUTE 'compatible.asm' = '12.1.0.2.0';
SQL> ALTER DISKGROUP DATA SET ATTRIBUTE 'compatible.rdbms' = '12.1.0.2.0';
SQL> ALTER DISKGROUP FRA SET ATTRIBUTE 'compatible.rdbms' = '12.1.0.2.0';
$ srvctl start diskgroup -g DATA -n nerv02
$ srvctl enable diskgroup -g DATA -n nerv02
$ srvctl start diskgroup -g FRA -n nerv02
$ srvctl enable diskgroup -g FRA -n nerv02
112 112
Lab 6.2 – ASM
Na máquina nerv11, configure os outros Disk Groups do ASM.
$ export ORACLE_HOME=$GRID_HOME
$ export ORACLE_SID=+ASM
$ sqlplus / AS SYSASM
SQL> CREATE DISKGROUP DATA NORMAL REDUNDANCY DISK 'ORCL:DISK04',
'ORCL:DISK05';
SQL> CREATE DISKGROUP FRA NORMAL REDUNDANCY DISK 'ORCL:DISK06',
'ORCL:DISK07';
SQL> ALTER DISKGROUP DATA SET ATTRIBUTE 'compatible.asm' = '12.1.0.2.0';
SQL> ALTER DISKGROUP FRA SET ATTRIBUTE 'compatible.asm' = '12.1.0.2.0';
SQL> ALTER DISKGROUP DATA SET ATTRIBUTE 'compatible.rdbms' = '12.1.0.2.0';
SQL> ALTER DISKGROUP FRA SET ATTRIBUTE 'compatible.rdbms' = '12.1.0.2.0';
113 113
Lab 7 – Oracle Database
Hands On !
114 114
Lab 7.1 – Oracle Database
Na máquina nerv01, execute o DBCA.
115 115
Lab 7.2 – Oracle Database
116 116
Lab 7.3 – Oracle Database
117 117
Lab 7.4 – Oracle Database
118 118
Lab 7.5 – Oracle Database
119 119
Lab 7.6 – Oracle Database
120 120
Lab 7.7 – Oracle Database
121 121
Lab 7.8 – Oracle Database
122 122
Lab 7.9 – Oracle Database
123 123
Lab 7.10 – Oracle Database
124 124
Lab 7.11 – Oracle Database
125 125
Lab 7.12 – Oracle Database
126 126
Lab 7.13 – Oracle Database
127 127
Lab 7.14 – Oracle Database
128 128
Lab 7.15 – Oracle Database
129 129
Lab 8 – RAC + Data Guard
Hands On !
130 130
Lab 8.1 – Data Guard
Nas máquinas nerv01, nerv02 e nerv11, deixe o tnsnames do ORACLE_HOME
como abaixo.
PROD =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = rac01-scan.localdomain)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCL)
)
)
DR =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = nerv11.localdomain)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = DR)
)
)
131 131
Lab 8.2 – Data Guard
Nas máquinas nerv01, nerv02 e nerv11, acrescente as linhas abaixo no final do
arquivo $GRID_HOME/network/admin/listener.ora.
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(GLOBAL_DBNAME=ORCL_DGMGRL)
(ORACLE_HOME=/u01/app/oracle/product/12.1.0.2/db_1)
(SID_NAME=ORCL1)
)
)
132 132
Lab 8.3 – Data Guard
Na máquina nerv01, habilite os pré-requisitos do Data Guard.
$ export ORACLE_HOME=$ORACLE_BASE/product/12.1.0.2/db_1
$ export ORACLE_SID=ORCL1
$ srvctl stop database -d ORCL
$ srvctl start instance -d ORCL -i ORCL1 -o mount
$ sqlplus / AS SYSDBA
SQL> ALTER SYSTEM SET DB_RECOVERY_FILE_DEST='+FRA';
SQL> ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE=10G;
SQL> ALTER DATABASE ARCHIVELOG;
SQL> ALTER DATABASE FORCE LOGGING;
SQL> ALTER DATABASE FLASHBACK ON;
SQL> ALTER DATABASE OPEN;
$ srvctl start instance -d ORCL -i ORCL2
133 133
Lab 8.4 – Data Guard
Na máquina nerv01, crie um STANDBY CONTROLFILE.
SQL> ALTER DATABASE CREATE STANDBY CONTROLFILE AS '/home/oracle/stb.ctl';
134 134
Lab 8.5 – Data Guard
Na máquina nerv11, remova as seguintes linhas do arquivo initORCL.ora.
ORCL1.*
ORCL2.*
*.cluster_database=true
135 135
Lab 8.6 – Data Guard
Na máquina nerv11, altere o parâmetro DB_UNIQUE_NAME.
SQL> ALTER SYSTEM SET DB_UNIQUE_NAME='DR' SCOPE=SPFILE;
SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP NOMOUNT;
136 136
Lab 8.7 – Data Guard
Na máquina
Teste o nerv11, habilite os pré-requisitos do Data Guard.
SQL> ALTER SYSTEM SET DB_RECOVERY_FILE_DEST='+FRA';
SQL> ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE=10G;
SQL> ALTER DATABASE ARCHIVELOG;
SQL> ALTER DATABASE FLASHBACK ON;
137 137
Lab 8.8 – Data Guard
Na máquina
Teste o nerv01, crie a configuração do Data Guard Broker.
$ dgmgrl SYS/Nerv2015@PROD
DGMGRL> CREATE CONFIGURATION 'DRSolution' AS PRIMARY DATABASE IS ORCL
CONNECT IDENTIFIER IS PROD;
138 138
Lab 8.9 – Data Guard
Na máquina
Teste o nerv11, crie STANDBY LOGFILEs.
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
SQL> ALTER DATABASE ADD STANDBY LOGFILE;
SQL> ALTER DATABASE ADD STANDBY LOGFILE;
SQL> ALTER DATABASE ADD STANDBY LOGFILE;
SQL> ALTER DATABASE ADD STANDBY LOGFILE;
SQL> ALTER DATABASE ADD STANDBY LOGFILE;
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM
SESSION;
139 139
Lab 8.10 – Data Guard
Na máquina nerv01, verifique detalhes de um banco de dados.
DGMGRL> SHOW DATABASE VERBOSE ORCL;
DGMGRL> EDIT DATABASE ORCL SET PROPERTY 'ArchiveLagTarget'=600;
DGMGRL> EDIT DATABASE ORCL SET PROPERTY 'StandbyFileManagement'=AUTO;
DGMGRL> SHOW DATABASE ORCL 'ArchiveLagTarget';
DGMGRL> SHOW DATABASE ORCL 'StandbyFileManagement';
140
Lab 8.11 – Data Guard
Na máquina nerv01, execute SWITCHOVER para a máquina nerv11, sempre
acompanhando os Alert Logs.
DGMGRL> SHOW CONFIGURATION;
DGMGRL> SWITCHOVER TO DR;
141
Lab 8.12 – Data Guard
Desligue as máquinas nerv01 e nerv02.
142
Lab 9 – Fast-Start Failover
Hands On !
143 143
Lights out administration
144
Lab 9.1: Fast-Start Failover
Na máquina nerv01, configure o Fast-Start Failover.
DGMGRL> EDIT DATABASE ORCL SET PROPERTY 'LogXptMode'='SYNC';
DGMGRL> EDIT DATABASE DR SET PROPERTY 'LogXptMode'='SYNC';
DGMGRL> EDIT CONFIGURATION SET PROTECTION MODE AS MAXAVAILABILITY;
DGMGRL> EDIT CONFIGURATION SET PROPERTY FastStartFailoverLagLimit = 600;
DGMGRL> EDIT CONFIGURATION SET PROPERTY FastStartFailoverThreshold = 30;
DGMGRL> EDIT CONFIGURATION SET PROPERTY FastStartFailoverAutoReinstate = TRUE;
DGMGRL> EDIT CONFIGURATION SET PROPERTY FastStartFailoverPmyShutdown = TRUE;
DGMGRL> EDIT DATABASE ORCL SET PROPERTY FastStartFailoverTarget=DR;
DGMGRL> ENABLE FAST_START FAILOVER;
DGMGRL> SHOW CONFIGURATION;
DGMGRL> SHOW FAST_START FAILOVER;
145
Lab 9.2: Fast-Start Failover
Na máquina observer-rac01, inicie o observador.
$ dgmgrl -logfile /home/oracle/observer.log SYS/Nerv2015@DR
DGMGRL> START OBSERVER;
Aguarde o REINSTATE.
Execute o SWITCHOVER.
146
Lab 9.3: Fast-Start Failover
Na máquina nerv01, crie dois Services como abaixo.
$GRID_HOME/bin/srvctl add service -d ORCL -r ORCL1,ORCL2 -s OLTP -l PRIMARY -w 1 -z 10
$GRID_HOME/bin/srvctl add service -d ORCL -r ORCL1,ORCL2 -s OLAP -l PHYSICAL_STANDBY
-w 1 -z 10
Na máquina nerv01, gere alguns Archived Redo Logs e espere replicar para o DR.
147
Lab 9.4: Fast-Start Failover
Na máquina observer-rac01, adicione estas duas entradas ao tnsnames.ora, e teste sua
conexão após um novo Failover.
OLTP_RAC01 =
(DESCRIPTION=
(LOAD_BALANCE=OFF)
(FAILOVER=ON)
(ADDRESS=(PROTOCOL=TCP)(HOST=rac01-scan)(PORT=1521))
(ADDRESS=(PROTOCOL=TCP)(HOST=nerv11)(PORT=1521))
(CONNECT_DATA=(SERVICE_NAME=OLTP))
)
OLAP_RAC01 =
(DESCRIPTION=
(LOAD_BALANCE=OFF)
(FAILOVER=ON)
(ADDRESS=(PROTOCOL=TCP)(HOST=nerv11)(PORT=1521))
(ADDRESS=(PROTOCOL=TCP)(HOST=rac01-scan)(PORT=1521))
(CONNECT_DATA=(SERVICE_NAME=OLAP))
)
148
Lab 10 – ACFS
Hands On !
149 149
Vantagens ACFS
• Mirroring
• Stripping
• Replicação
• Snapshots
• Alta Disponibilidade
150
Desvantagens ACFS
• Produto recente (11gR2)
• Configuração complexa
• Dependência do Kernel
• Depêndencia dos componentes do Grid Infrastructure
• Ainda não suportado pelo UEK 3 sem Patch
Bug ID 16318126
Oracle ASM Cluster File System (ACFS) is currently not supported for use with UEK R3.
http://docs.oracle.com/cd/E37670_01/E51472/E51472.pdf
151
Lab 10.1: NFS
Na máquina nerv09, crie 1 diretório.
# mkdir /shared_ogg
152 152
Lab 11 – Golden Gate Unidirecional
Hands On !
153 153
Lab 11.1: Golden Gate Unidirecional
Na máquina nerv11, crie um novo banco de dados.
$ $ORACLE_HOME/bin/dbca -silent -createDatabase -templateName General_Purpose.dbc \
-gdbName BI -sid BI \
-sysPassword Nerv2015 -systemPassword Nerv2015 \
-storageType ASM -asmsnmpPassword Nerv2015 \
-diskGroupName DATA -recoveryAreaDestination FRA \
-nodelist nerv11 \
-characterSet WE8IS08859P15 -listeners LISTENER \
-memoryPercentage 20 -sampleSchema true -emConfiguration NONE \
-continueOnNonFatalErrors false
154
Lab 11.2: Instalação Golden Gate
Nas máquinas nerv01 e nerv11, inicie a instalação do Golden Gate.
[oracle@nerv01 ~]$ unzip -q fbo_ggs_Linux_x64_shiphome.zip
[oracle@nerv01 ~]$ cd fbo_ggs_Linux_x64_shiphome/Disk1
[oracle@nerv01 Disk1]$ ./runInstaller
155
Lab 11.3: Instalação Golden Gate
156
Lab 11.4: Instalação Golden Gate
Na máquina nerv01, instale em /u01/shared_ogg/rac01
Na máquina nerv11, instale em /u01/app/oracle/product/12.1.0.2/ogg
157
Lab 11.5: Instalação Golden Gate
158
Lab 11.6: Instalação Golden Gate
159
Lab 11.7: Golden Gate Unidirecional
Na máquina nerv01, verifique se o MANAGER está em funcionamento.
$ cd /u01/shared_ogg/rac01
$ ./ggsci
GGSCI> info all
160
Lab 11.8: Golden Gate Unidirecional
Na máquina nerv01, habilite os pré-requisitos do Golden Gate.
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
SQL> ALTER SYSTEM SET ENABLE_GOLDENGATE_REPLICATION=TRUE;
161
Lab 11.9: Golden Gate Unidirecional
Na máquina nerv11, habilite os pré-requisitos do Golden Gate.
$ export ORACLE_SID=BI
$ORACLE_HOME/bin/sqlplus / AS SYSDBA
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
SQL> ALTER SYSTEM SET ENABLE_GOLDENGATE_REPLICATION=TRUE;
162
Lab 11.10: Golden Gate Unidirecional
Na máquina nerv01, adicione o processo EXTRACT.
GGSCI> add extract ext1, tranlog, THREADS 2, begin now
GGSCI> add exttrail /u01/app/oracle/product/12.1.0.2/ogg/dirdat/lt, extract ext1
163
Lab 11.11: Golden Gate Unidirecional
Na máquina nerv11, edite o arquivo de parâmetros GLOBAL.
GGSCI> edit params ./GLOBAL
GGSCHEMA OGG CHECKPOINTTABLE OGG.checkpoint
164
Lab 11.12: Golden Gate Unidirecional
Nas máquinas nerv01, nerv02 e nerv11, adicione o ASM ao tnsnames.ora do ORACLE_HOME.
ASM =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = nerv01.localdomain)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = +ASM)
)
)
165
Lab 11.13: Golden Gate Unidirecional
Na máquina nerv01, acompanhe o log de erros.
$ tail -f /u01/shared_ogg/rac01/ggserr.log
166
Lab 12 – Golden Gate Bidirecional
Hands On !
167 167
Lab 12.1: Golden Gate Bidirecional
Na máquina nerv11, verifique se o MANAGER e o REPLICAT estão em funcionamento.
cd /u01/app/oracle/product/12.1.0.2/ogg
$ ./ggsci
GGSCI> info all
168
Lab 12.2: Golden Gate Bidirecional
Na máquina nerv01, edite o arquivo de parâmetros GLOBAL.
GGSCI> edit params ./GLOBAL
GGSCHEMA OGG CHECKPOINTTABLE OGG.checkpoint
169
Lab 12.3: Golden Gate Bidirecional
Na máquina nerv01, acompanhe o log de erros.
$ tail -f /u01/shared_ogg/rac01/ggserr.log
170
Lab 13 – Golden Gate High Availability
Hands On !
171 171
Lab 13.1: Golden Gate HA
Na máquina nerv01, crie um VIP e um Resource para o Golden Gate.
# /u01/app/12.1.0.2/grid/bin/appvipcfg create -network=1 -ip=192.168.0.141
-vipname=rac01-ogg-vip -user=root
# vi /u01/shared_ogg/rac01/ogg_action.sh
# chmod +x /u01/shared_ogg/rac01/ogg_action.sh
172
Lab 13.2: Golden Gate HA
Na máquina nerv01, verifique e inicie o Resource do Golden Gate.
$ /u01/shared_ogg/rac01/ogg_action.sh stop
$ $GRID_HOME/bin/crsctl status res ogg
$ $GRID_HOME/bin/crsctl start res ogg
$ $GRID_HOME/bin/crsctl status res ogg
$ $GRID_HOME/bin/crsctl stop res ogg
$ $GRID_HOME/bin/crsctl status res ogg
$ $GRID_HOME/bin/crsctl start res ogg
$ $GRID_HOME/bin/crsctl status res ogg
173
Lab 14 – RAC Extended
Hands On !
174 174
Lab 14.0: RAC Extended
Na máquina nerv01, desabilite a replicação via Data Guard.
DGMGRL> DISABLE FAST_START FAILOVER;
DGMGRL> EDIT CONFIGURATION SET PROTECTION MODE AS MAXPERFORMANCE;
DGMGRL> REMOVE CONFIGURATION;
SQL> ALTER SYSTEM SET DG_BROKER_START=FALSE;
Na máquina nerv01, remova os SERVICEs utilizados para o replicação via Data Guard.
$ /u01/app/12.1.0.2/grid/bin/srvctl stop service -d ORCL -s OLTP
$ /u01/app/12.1.0.2/grid/bin/srvctl stop service -d ORCL -s OLAP
$ /u01/app/12.1.0.2/grid/bin/srvctl disable service -d ORCL -s OLTP
$ /u01/app/12.1.0.2/grid/bin/srvctl disable service -d ORCL -s OLAP
$ /u01/app/12.1.0.2/grid/bin/srvctl remove service -d ORCL -s OLAP
$ /u01/app/12.1.0.2/grid/bin/srvctl remove service -d ORCL -s OLTP
175
Lab 14.1: RAC Extended
Na máquina nerv11, execute novamente o Lab 1 e 2.
Na máquina nerv09, altere o Servidor iSCSI para permitir acesso aos discos para a máquina
nerv11.
# 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
initiator-address 192.168.0.121
</target>
...
# service tgtd restart
Também na máquina nerv10, altere o Servidor iSCSI para permitir acesso aos discos para
as máquinas nerv01 e nerv02.
176
Lab 14.2: RAC Extended
Nas máquinas nerv01, nerv02 e nerv11, verifique os discos exportados pelo
Storage.
# chkconfig iscsid on
# iscsiadm -m discovery -t sendtargets -p 192.168.0.201 -l
# iscsiadm -m discovery -t sendtargets -p 192.168.0.202 -l
177 177
Lab 14.3: RAC Extended
Nas máquinas nerv01, nerv02 e nerv11, verifique se os discos foram
configurados localmente.
# fdisk -l
178 178
Lab 14.4: RAC Extended
Nas máquinas nerv02 e nerv11, execute a detecção dos novos discos.
# partprobe /dev/sdi
# partprobe /dev/sdj
# partprobe /dev/sdk
# partprobe /dev/sdl
# partprobe /dev/sdm
# partprobe /dev/sdn
# partprobe /dev/sdo
179 179
Lab 14.5: RAC Extended
Na máquina nerv01, crie os novos discos do ASM.
# /etc/init.d/oracleasm createdisk DISK08 /dev/sdi1
# /etc/init.d/oracleasm createdisk DISK09 /dev/sdj1
# /etc/init.d/oracleasm createdisk DISK10 /dev/sdk1
# /etc/init.d/oracleasm createdisk DISK11 /dev/sdl1
# /etc/init.d/oracleasm createdisk DISK12 /dev/sdm1
# /etc/init.d/oracleasm createdisk DISK13 /dev/sdn1
# /etc/init.d/oracleasm createdisk DISK14 /dev/sdo1
180 180
Lab 14.6: RAC Extended
Nas máquinas nerv01, nerv02 e nerv11, remova a pasta /home/oracle/.ssh.
$ rm -rf .ssh
181
Lab 14.7: RAC Extended
Na máquina nerv02, reconfigure o SSH sem senha.
[oracle@nerv02 ~]$ ssh-keygen -t rsa
<enter>
<enter>
<enter>
[oracle@nerv02 ~]$ cat .ssh/id_rsa.pub | ssh oracle@nerv01 'cat >> .ssh/authorized_keys'
[oracle@nerv02 ~]$ cat .ssh/id_rsa.pub | ssh oracle@nerv02 'cat >> .ssh/authorized_keys'
[oracle@nerv02 ~]$ cat .ssh/id_rsa.pub | ssh oracle@nerv11 'cat >> .ssh/authorized_keys'
182
Lab 14.8: RAC Extended
Na máquina nerv01, execute a instalação do Grid na máquina nerv11.
$ cd $GRID_HOME/addnode
$ ./addnode.sh -silent “CLUSTER_NEW_NODES={nerv11}”
“CLUSTER_NEW_VIRTUAL_HOSTNAMES={nerv11-vip}”
183
Lab 14.9: RAC Extended
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> CREATE UNDO TABLESPACE UNDOTBS3;
SQL> ALTER SYSTEM SET UNDO_TABLESPACE=UNDOTBS3 SID='ORCL3' SCOPE=SPFILE;
184
Lab 14.10: RAC Extended
Na máquina nerv01, faça a preparação para a criação dos novos FAILGROUPs.
$ export ORACLE_HOME=$GRID_HOME
$ export ORACLE_SID=+ASM1
SQL> ALTER SYSTEM SET ASM_POWER_LIMIT = 11;
SQL> ALTER DISKGROUP CONFIG REBALANCE POWER 11;
SQL> ALTER DISKGROUP DATA REBALANCE POWER 11;
SQL> ALTER DISKGROUP FRA REBALANCE POWER 11;
185
Lab 14.11: RAC Extended
Na máquina nerv01, crie os novos FAILGROUPs.
SQL> SELECT GROUP_NUMBER, PATH, NAME, FAILGROUP FROM V$ASM_DISK ORDER BY
1,2;
186
Lab 14.12: RAC Extended
Na máquina nerv01, crie os novos FAILGROUPs.
SQL> SELECT GROUP_NUMBER, PATH, NAME, FAILGROUP FROM V$ASM_DISK ORDER BY
1,2;
187
Lab 14.13: RAC Extended
Na máquina nerv01, crie os novos FAILGROUPs.
SQL> SELECT GROUP_NUMBER, PATH, NAME, FAILGROUP FROM V$ASM_DISK ORDER BY
1,2;
188
Lab 14.14: RAC Extended
Na máquina nerv01, selecione os FAILGROUPs preferidos para leituras.
SQL> ALTER SYSTEM SET ASM_PREFERRED_READ_FAILURE_GROUPS =
'DATA.FAILGROUPA' SCOPE=BOTH SID='+ASM1';
SQL> ALTER SYSTEM SET ASM_PREFERRED_READ_FAILURE_GROUPS =
'DATA.FAILGROUPA' SCOPE=BOTH SID='+ASM2';
SQL> ALTER SYSTEM SET ASM_PREFERRED_READ_FAILURE_GROUPS =
'DATA.FAILGROUPB' SCOPE=BOTH SID='+ASM3';
189
Lab 15 – RAC Extended Quorum
Hands On !
190 190
Lab 15.1: RAC Extended Quorum
Na máquina nerv15, crie 1 diretório.
# mkdir /shared_config
191 191
Lab 15.2: RAC Extended Quorum
Nas máquinas nerv01, nerv02 e nerv11, adicionar no arquivo /etc/fstab a linha
abaixo.
nerv15:/shared_config /u01/shared_config15 nfs
rw,bg,hard,nointr,tcp,vers=3,timeo=600,rsize=32768,wsize=32768,actimeo=0,noac 0 0
192 192
Lab 15.3: RAC Extended Quorum
Nas máquinas nerv09 e nerv10, crie 1 partição de 1GB, sem formatar.
193 193
Lab 15.4: RAC Extended Quorum
Nas máquinas nerv01, nerv02 e nerv11, verifique os Discos exportados no
Storage.
# iscsiadm -m discovery -t sendtargets -p 192.168.0.201 -l
# iscsiadm -m discovery -t sendtargets -p 192.168.0.202 -l
194 194
Lab 15.5: RAC Extended Quorum
Nas máquinas nerv01, nerv02 e nerv11, verifique se os discos foram
configurados localmente.
# fdisk -l
# fdisk /dev/sdq
n <enter>
p <enter>
1 <enter>
<enter>
<enter>
w <enter>
195 195
Lab 15.6: RAC Extended Quorum
Nas máquinas nerv02 e nerv11, execute a detecção dos novos discos.
# partprobe /dev/sdp
# partprobe /dev/sdq
196 196
Lab 15.8: RAC Extended Quorum
Na máquina nerv01, crie o FAILGROUP para o Voting Disk.
$ export ORACLE_HOME=$GRID_HOME
$ export ORACLE_SID=+ASM1
SQL> CREATE DISKGROUP VD NORMAL REDUNDANCY
FAILGROUP FG1 DISK 'ORCL:DISK15'
FAILGROUP FG2 DISK 'ORCL:DISK16'
ATTRIBUTE 'compatible.asm' = '12.1.0.0.0';
197 197
Lab 15.9: RAC Extended Quorum
Na máquina nerv01, adicione o FAILGROUP de QUORUM.
$ export ORACLE_HOME=$GRID_HOME
$ export ORACLE_SID=+ASM1
SQL> ALTER DISKGROUP VD ADD QUORUM FAILGROUP FG3 DISK
'/u01/shared_config15/rac01/asm01';
198 198
Lab 15.10 RAC Extended Quorum
Na máquina nerv01, altere a localização do OCR para o novo DISKGROUP.
# /u01/app/12.1.0.2/grid/bin/ocrcheck
# /u01/app/12.1.0.2/grid/bin/ocrconfig -add +VD
# /u01/app/12.1.0.2/grid/bin/ocrcheck
# /u01/app/12.1.0.2/grid/bin/ocrconfig -delete +CONFIG
# /u01/app/12.1.0.2/grid/bin/ocrcheck
199 199
Lab 15.11: RAC Extended Quorum
Na máquina nerv01, configure o tempo permitido de DOWNTIME.
$ export ORACLE_HOME=$GRID_HOME
$ export ORACLE_SID=+ASM1
200 200