Você está na página 1de 82

8

CENTRO UNIVERSITRIO DO PAR


PS-GRADUAO LATU SENSU
ESPECIALIZAO EM BANCO DE DADOS PARA O MERCADO
CORPORATIVO ORACLE

PEDRO RODRIGUES DE S
THIAGO LIBRIO MAIA

ANLISE COMPARATIVA DO FUNCIONAMENTO DE SISTEMAS DE


CONTROLE DE PONTO ELETRNICO ORACLE DE
ARQUITETURA NICA E ORACLE DATAGUARD

BELM
9

2017

PEDRO RODRIGUES DE S
THIAGO LIBRIO MAIA

ANLISE COMPARATIVA DO FUNCIONAMENTO DE SISTEMAS DE


CONTROLE DE PONTO ELETRNICO ORACLE DE
ARQUITETURA NICA E ORACLE DATAGUARD

Monografia apresentada ao Centro


Universitrio do Estado do Par (CESUPA)
como requisito parcial para obteno do grau
de Especialista em Banco de Dados para o
Mercado Corporativo Oracle.

Orientadora: Prof Msc. Lorena dos Reis


Morais.
10

BELM
2017
CENTRO UNIVERSITRIO DO PAR

PEDRO RODRIGUES DE S
THIAGO LIBRIO MAIA

ANLISE COMPARATIVA DO FUNCIONAMENTO DE SISTEMAS DE


CONTROLE DE PONTO ELETRNICO ORACLE DE ARQUITETURA
NICA E ORACLE DATAGUARD

Monografia apresentada como requisito parcial para obteno do grau de Especialista em


Banco de Dados para o Mercado Corporativo Oracle.

Data da defesa: ___/___/____

Conceito: _________________

Banca examinadora

________________________________________
Prof Msc. Lorena dos Reis Morais
CESUPA

________________________________________
Professor Examinador
CESUPA
11

________________________________________
Professor Examinador
CESUPA
12

Dedico essa monografia primeiramente a


Deus, a minha famlia e aos mestres que
estiveram comigo nessa conquista.
13

AGRADECIMENTOS

Agradeo, imensamente, a Professora Lorena Morais pela orientao clara, objetiva,


bem como pelo apoio nas mais diversas etapas da elaborao desse trabalho desde o projeto
de pesquisa at as etapas finais da monografia.

Tambm agradeo a todos os professores da Especializao em Banco de Dados para


o Mercado Corporativo Oracle pelo conhecimento transmitido durante o curso, o qual foi
fundamental para a elaborao do presente trabalho.

Por fim, agradeo a todas as pessoas que direta ou indiretamente contriburam para a
concluso desta monografia. Para todos o meu muito obrigado!
14

Quanto maior o conhecimento, menor o ego


e quanto maior o ego, menor o conhecimento.

Albert Einstein
15

SUMRIO

1 INTRODUO ................................................................................................................... 23
2. FUNDAMENTAO TERICA ..................................................................................... 26
2.1 SISTEMAS COMPUTACIONAIS .................................................................................... 26
2.1.1 Disponibilidade de sistemas computacionais .............................................................. 27
2.1.2 Mtodos para o aumento da disponibilidade .............................................................. 28
2.2 BANCO DE DADOS ......................................................................................................... 29
2.2.1 Sistemas de banco de dados .......................................................................................... 29
2.2.1.1 Dados ............................................................................................................................ 30
2.2.1.2 Hardware ...................................................................................................................... 30
2.2.1.3 Software ........................................................................................................................ 30
2.2.1.4 Usurios ........................................................................................................................ 31
2.2.2 Arquitetura de Sistemas de Banco de Dados .............................................................. 31
2.2.2.1 Esquema de instncias .................................................................................................. 32
2.2.2.2 Arquitetura de ANSI/SPARC ....................................................................................... 33
2.3 CARACTERSTICAS DA ORACLE ................................................................................. 34
2.3.1 Oracle Enterprise Manager Grid Control ..................................................................... 35
2.4 DATA GUARD.................................................................................................................... 36
2.4.1 Caractersticas do Oracle Data Guard ......................................................................... 37
2.4.2 Continuidade dos Negcios ........................................................................................... 37
2.4.3 Topologia de rede para o Data Guard .......................................................................... 40
2.4.4 Trfego de dados reduzido na rede .............................................................................. 41
2.4.5 Econmico ...................................................................................................................... 43
2.4.6 Carga dos processos de backup distribuda................................................................. 43
2.4.7 Gerenciamento integrado.............................................................................................. 43
2.5 EQUIPAMENTO E SISTEMA DE CONTROLE DE PONTO ........................................ 44
3 IMPLEMENTAO E ANLISES.................................................................................. 45
3.1 PROBLEMTICA ............................................................................................................. 45
3.2 APLICANDO A SOLUO ............................................................................................. 45
3.2.1 Instalao e configurao do Oracle convencional ..................................................... 48
3.2.2 Configurao do Oracle Data Guard ............................................................................ 60
16

3.2.2.1 Configurao do servidor principal .............................................................................. 60


3.2.2.2 Configurao do servidor em espera (Manual) ............................................................ 64
3.2.2.3 Configurao do servidor de espera (DUPLICATE) ............................................. 66
3.2.2.4 Modo de proteo ................................................................................................... 71
3.2.2.5 Banco de dados Switchover .................................................................................... 73
3.2.2.6 Failover................................................................................................................... 74
3.2.2.7 Flashback Database ................................................................................................ 74
3.2.2.8 Read-Only Standby and Active Data Guard .......................................................... 74
3.2.2.9 Snapshot Standby ................................................................................................... 76
3.3 ANALISE COMPARATIVA ENTRE ORACLE CONVECIONAL E ORACLE DATA
GUARD..................................................................................................................................... 78
3.3.1 Descrio dos critrios do Oracle convencional e Oracle Data Guard ...................... 79
3.3.1.1 Abstrao dos dados ..................................................................................................... 79
3.3.1.2 Flexibilidade ................................................................................................................. 81
3.3.1.3 Consistncia Dos Dados ............................................................................................... 82
3.3.1.4 Desempenho De Acesso ............................................................................................... 83
3.3.1.5 Segurana ..................................................................................................................... 84
3.3.1.6 Disponibilidade............................................................................................................. 85
3.3.1.7 Custo ............................................................................................................................. 85
4 CONSIDERAES FINAIS ................................................................................................ 85
REFERENCIAS BIBLIOGRFICAS ..................................................................................... 86
17

LISTA DE FIGURAS

P.

Figura 1 - Representao de um banco de dados (DATE, 2004, p.6). ..................................... 30

Figura 2 - Instncia Oracle. ...................................................................................................... 32

Figura 3 - Arquitetura de trs esquemas (ELMARI E NAVATHE, 2011, p. 22). ................... 33

Figura 4 - Exemplo dos trs nveis (DATE, 1999, p.30). ......................................................... 34

Figura 5 - Oracle Enterprise Manager Grid Control. ............................................................... 35

Figura 6 - Estrutura fsica do data guard. ................................................................................ 36

Figura 7 - Comutao de bases. ................................................................................................ 37

Figura 8 - Data Guard Apply Services. ................................................................................... 39

Figura 9 - Ponto de recuperao e tempo de recuperao. ....................................................... 40

Figura 10 - Topologia em rede Oracle Data Guard................................................................. 41

Figura 11 - Trfego de dados na rede. ...................................................................................... 42

Figura 12 - Consumo da banda da rede. ................................................................................... 42

Figura 13 Data Guard Manager. ........................................................................................... 43

Figura 14 - Oracle Enterprise Manager Grid Control. ............................................................ 44

Figura 15 - Equipamento para controle de ponto eletrnico. ................................................... 44

Figura 16 - Sistema controlador ............................................................................................... 45

Figura 17 - Viso geral da soluo encontrada. ....................................................................... 46

Figura 18 - Comunicao entre os servidores da matriz dos data centers. .............................. 47

Figura 19 - Aluso do ambiente em estudo. ............................................................................. 47

Figura 20 - Instalao do Oracle 11G etapa 1 de 12. ............................................................... 48

Figura 21 - Instalao do Oracle 11G etapa 2 de 12. ............................................................... 49

Figura 22 - Instalao do Oracle 11G etapa 3 de 12 ................................................................ 49


18

Figura 23 - Instalao do Oracle 11G etapa 4 de 12. ............................................................... 50

Figura 24 - Instalao do Oracle 11G etapa 5 de 12. ............................................................... 50

Figura 25 - Instalao do Oracle 11G etapa 6 de 12. ............................................................... 51

Figura 26 - Instalao do Oracle 11G etapa 7 de 12. ............................................................... 51

Figura 27 - Instalao do Oracle 11G etapa 8 de 12. ............................................................... 52

Figura 28 - Instalao do Oracle 11G etapa 9 de 19. ............................................................... 52

Figura 29 - Instalao do Oracle 11G etapa 10 de 19. ............................................................. 53

Figura 30 - Instalao do Oracle 11G etapa 11 de 19b. ........................................................... 53

Figura 31 - Guias que aparecem na etapa 11. ........................................................................... 54

Figura 32 - Instalao do Oracle 11G etapa 12 de 19. ............................................................. 54

Figura 33 - Instalao do Oracle 11G etapa 13 de 19. ............................................................. 55

Figura 34 - Instalao do Oracle 11G etapa 14 de 19. ............................................................. 55

Figura 35 - Instalao do Oracle 11G etapa 15 de 19. ............................................................. 56

Figura 36 - Instalao do Oracle 11G etapa 16 de 19. ............................................................. 56

Figura 37 - Instalao do Oracle 11G etapa 17 de 19. ............................................................. 57

Figura 38 - Instalao do Oracle 11G etapa 18 de 19a. ............................................................ 57

Figura 39 - Instalao do Oracle 11G etapa 18 de 19b. ........................................................... 58

Figura 40 - Instalao do Oracle 11G etapa 18 de 19c. ............................................................ 58

Figura 41 - Instalao do Oracle 11G etapa 18 de 19d. ........................................................... 59

Figura 42 - Instalao do Oracle 11G etapa 19 de 19. ............................................................. 59

Figura 43 - Arquitetura do banco de dados Oracle. ................................................................. 80

Figura 44 - Tablespaces e esquema de dados. .......................................................................... 81

Figura 45 - Flexibilidade da topologia. .................................................................................... 82

Figura 46 - Consistncia de dados. ........................................................................................... 83

Figura 47 - Desempenho de acesso. ......................................................................................... 84


19

LISTA DE QUADROS

Quadro 1 - Comparao de desempenho entre os modelos de BD Oracle ............................... 84


20

LISTA DE SIGLAS

ABNT - Associao Brasileira de Normas Tcnicas

CPU - Central Processing Unit

DBA - Data Base Administrator (Analista de banco de dados)

DCL - Data Control Language

DDL - Data Definition Language

DML - Data Manupulation Language

DQL - Data Query Language

E/S Entrada/Sada

HENRY - Henry Equipamentos e Sistemas

MTE - Ministrio do Trabalho e Emprego

RAID - Redundant Array of Independent Drives

RPO - Ponto de Recuperao

RTO - Tempo de Recuperao

SGBD - Sistema Gerenciador de Banco de Dados

SID Instacia do Bando de Dados

SO - Sistema Operacional

SQL - Structured Query Language

SREP - Sistema de Registro Eletrnico de Ponto

TCP/IP - Transmission Control Protocol/Internet Protocol


21

RESUMO

O crescente aumento do comrcio mundial e o avano tecnolgico nas diferentes reas

empresariais, necessitam da utilizao de uma arquitetura de alta disponibilidade em ambiente

de baco de dados, que em confronto com o de arquitetura nica possuem em diversas

vantagens como redundncia, disponibilidade, contingncia, continuidade do negcio, entre

outras. O importante que em casos de falhas considerando um ambiente distribudo os

sistemas usurios do banco de dado permanecero ativos, sem qualquer indisponibilidade. As

desvantagens de implementar um ambiente distribudo esto relacionadas ao custo do projeto

e licenas dos softwares. Atualmente existe um nmero considervel de mtodos de alta

disponibilidade que valorizam a replicao de dados transacionais. A utilizao de servidores

virtuais um exemplo da aplicao de diversas mquinas para gerar redundncia no

funcionamento de sistemas. A distribuio de banco de dados Oracle, uma das solues de

banco de dados mais utilizada nos dias atuais, oferece uma linha de servios e ferramentas

que facilitam a administrao, manipulao dos dados e balanceamento de carga dos

processos. As instalaes Oracle mesmo que distribuda, para evitar a sobrecarga podem ser

acessadas simultaneamente por diferentes clientes. Nesse contexto o trabalho tem como

objetivo realizar um estudo sobre a utilizao dos modelos de utilizao de banco de dados

Oracle de arquitetura nica e Oracle Data Guard, apresentando uma anlise detalhada dos

dois modelos aplicados a utilizao em sistemas de registros de ponto.

Palavras-chaves: Sistemas computacionais, Banco de dados, Oracle Data Guard.


22

ABSTRACT

The increasing world trade and the technological advance in the different business areas

require the use of a high availability architecture in a database environment, which in

comparison with the one of unique architecture have in several advantages such as

redundancy, availability, contingency, Business continuity, among others. The important

thing is that in cases of failure considering a distributed environment the database user

systems will remain active without any unavailability. The disadvantages of implementing a

distributed environment are related to the project cost and software licenses. There are

currently a considerable number of high availability methods that value transactional data

replication. The use of virtual servers is an example of the application of several machines to

generate redundancy in the operation of systems. Oracle database distribution, one of the

most widely used database solutions today, offers a range of services and tools that make it

easy to manage, manipulate, and load process loads. Even distributed Oracle installations to

avoid overhead can be accessed simultaneously by different clients. In this context, the

objective of this work is to study the use of Oracle Database models of single architecture and

Oracle Data Guard, presenting a detailed analysis of the two models applied to point of view

systems.

Key words: Computational systems, Database, Oracle Data Guard.


23

1 INTRODUO

O processo de globalizao levou a um crescente aumento do comrcio mundial e a

um espetacular avano tecnolgico nas diferentes reas. Desta forma, a tecnologia da

informao tambm precisou evoluir, aumentando de maneira considervel a disponibilidade

dos sistemas, e com isso o nmero de servidores.

O uso da tcnica de distribuio de bancos de dados, utilizando servidores virtuais

um exemplo da aplicao de diversas mquinas para gerar redundncia no funcionamento de

sistemas. Segundo Smith (2003), o caminho para o uso desta soluo a consolidao de

servidores. Nesse ambiente possvel executar mltiplas instncias de Sistemas Operacionais

(iguais ou completamente diferentes) no mesmo hardware, assim cada sistema "acha" que

tem o controle completo do mesmo simplificando desta forma a administrao e diminuindo o

nmero de equipamentos a serem administrados.

A distribuio de banco de dados Oracle oferece a administrao e manipulao de

dados em um complexo conjunto de ferramentas. Vale ressaltar, que essa estrutura tambm

apresenta a possibilidade de balanceamento de carga dos processos. Estando em elementos

distintos, todas as instalaes Oracle podem ser acessadas simultaneamente por diferentes

clientes, evitando a sobrecarga de um nico elemento (ORACLE, 2008).

A alta disponibilidade de dados fundamental para aplicaes que no sejam

tolerantes a falha. A ausncia de centralizao aumenta a disponibilidade dos dados, bem

como a confiabilidade de todas as funes do sistema. Desta forma, teremos como objeto do

nosso estudo um grupo de farmcias de uma determinada regio que deseja garantir o

desempenho e a disponibilidade de seus sistemas.

Dessa forma, o trabalho tem como objetivo geral realizar um estudo sobre a utilizao

dos modelos de utilizao de banco de dados Oracle de arquitetura nica e Oracle Data
24

Guard, apresentando uma anlise detalhada dos dois modelos aplicados a utilizao em

sistemas de registros de ponto.

Entre os objetivos especficos esto os de apresentar a problemtica sobre a

disponibilidade do sistema de registro de ponto eletrnico e sua importncia para o grupo

farmacutico em questo, identificar caractersticas do funcionamento do modelo de banco de

dados Oracle em arquitetura convencional e na arquitetura distribuda com destaque para a

soluo de Data Guard da Oracle, apresentar uma anlise comparativa delimitando o escopo

de aplicao dos modelos, citar casos de aplicao dos dois modelos no mercado

,evidenciando sua eficcia, e apresentar a integrao dos modelos com a implementao dos

mesmos em uma das empresas do setor farmacutico.

O trabalho torna-se relevante diante da necessidade de adequao do grupo

farmacutico, acima mencionada, quanto ao uso de relgios de ponto eletrnico. Essa

necessidade decorrente das determinaes legais da Portaria N 1.510, de 21 de Agosto de

2009 o Ministrio de Estado do Trabalho e Emprego, no uso das atribuies que lhe conferem

o inciso II do pargrafo nico do art. 87 da Constituio Federal e os arts. 74, 2, e 913 da

Consolidao das Leis do Trabalho, aprovada pelo Decreto-Lei n 5.452, de 1 de maio de

1943, resolve: Art. 1 Disciplinar o registro eletrnico de ponto e a utilizao do Sistema de

Registro Eletrnico de Ponto - SREP.

No que se refere a estrutura metodolgica, inicialmente foi realizada uma pesquisa

bibliogrfica a respeito dos temas abordados durante a realizao do estudo, so conceitos de

sistemas computacionais, banco de dados, Data Guarde, registro de ponto eletrnico, entre

outros que so necessrios para o entendimento da soluo proposta, tudo isso est disposto

no capitulo dois dessa monografia.

A configurao do banco de dados convencional e o Data Guard, ambos da Oracle, a

utilizao como soluo na problemtica do registro de ponto eletrnica para problemtica do


25

grupo de farmcias e a anlise comparativa entre os mesmos, esto descritos no capitulo trs.

No captulo seguinte esto as consideraes que concluem a pesquisa.


26

2. FUNDAMENTAO TERICA

2.1 SISTEMAS COMPUTACIONAIS

Os sistemas computacionais so constitudos por diversas partes e correspondem a

solues destinadas ao suporte e automao de servios atravs da anlise de informaes.

Segundo Yordon (1985) um "sistema pode apresentar um grupo de itens interdependentes

formando um todo unificado, atravs de um conjunto organizado de doutrinas, ideias ou

princpios, habitualmente previsto para explicar a organizao ou funcionamento de um

conjunto sistemtico, se tornando assim em um procedimento organizado ou estabelecido,

levando a uma organizao harmoniosa ou modelo de ordem.

No que tange especificamente os sistemas computacionais, estes podem ser: sistemas

de software on-line; sistemas de software em tempo real; sistemas de apoio a deciso e

planejamento estratgico; sistemas de software baseado em conhecimento. O conceito de cada

sistema ser apresentado a seguir.

- Sistemas de software on-line: segundo Yordon (1985), os dados so trocados de forma

remota, quando existe uma separao fsica do emissor e o receptor, as entradas de dados

ocorrem direto do local onde o emissor se encontra e o processamento diretamente para

onde solicitado;

- Sistemas de software em tempo real: pode ser definido como aquele que controla um

ambiente pelo recebimento de dados, onde o seu processamento e apresentao dos

resultados, afeta diretamente o ambiente a sua volta. (YORDON, 1985);

- Sistemas de apoio deciso e planejamento estratgico: a competio de mercado

facilitou a difuso dos sistemas de apoio deciso que definido por Yordon (1985), como
27

sistemas que auxiliam tomadas de decises inteligentes, pois estes ajudam as empresas a

seguirem um rumo;

- Sistemas de software baseados em conhecimento: Com o advento dos conceitos de

inteligncia artificial iniciaram os estudos dos sistemas baseados em conhecimento. Estes

sistemas tentam encontrar padres em dados coletados pelas empresas. Os sistemas

baseados no conhecimento podem ser descritos como sistemas que "contm grande

quantidade de conhecimento variado para resoluo de determinadas tarefas." (YORDON,

1985).

2.1.1 Disponibilidade de sistemas computacionais

A disponibilidade computacional de um sistema um conjunto de tcnicas que

buscam garantir maior probabilidade de que um sistema esteja funcionando e pronto para uso.

A disponibilidade computacional pode ser representada por trs tipos:

- Disponibilidade Bsica: considerada quando a estrutura no dispe de nenhum

mecanismo que possa contornar falhas eventuais dos equipamentos que compe essa

estrutura. Segundo Freeman (2008) estimasse que estas estruturas proporcionem uma

disponibilidade de 99% a 99,9%. Isto equivale a um intervalo de nove horas a quatro dias

de inoperncia durante o ano.

- Alta disponibilidade: A utilizao de tcnicas de deteco e redundncia aumentam a

disponibilidade do sistema de forma significativa, tornando o perodo de indisponibilidade

prximo do intervalo de cinco minutos a uma hora durante o ano. Esto nesta classificao

grande parte dos sistemas comerciais existentes. (WATSON & BERSINIC, 2006).

- Mxima disponibilidade: Visa garantir a disponibilidade e a integridade do sistema em

qualquer momento, atravs da utilizao de sistemas redundncia, distribuio de carga,

Backup e outros recursos que ajudam os administradores a reduzir significativamente a


28

parada para recuperao, o que permite automatizar investigao de falhas, determinar

planos de recuperao e lidar com vrias situaes de crise. (ORACLE, 2006).

2.1.2 Mtodos para o aumento da disponibilidade

As implementaes que resultam no aumento da disponibilidade dos sistemas

computacionais so planos de contingncia, redundncia de equipamentos e suporte tcnico,

detalhados a seguir:

- Planos de contingncia: refere-se a um conjunto de procedimentos e medidas de

segurana, previamente planejadas, a serem adotados aps a ocorrncia de uma interrupo

no programada, que permitem o restabelecimento dos servios em caso de situaes

anormais com o objetivo de minimizar os impactos do problema.

- Redundncia: O termo redundncia descreve a capacidade de um sistema em superar a

falha de um de seus componentes atravs do uso de recursos redundantes, ou seja, um

sistema redundante possui um segundo dispositivo que est imediatamente disponvel para

uso quando falhar o dispositivo primrio do sistema. Fonte de energia, placa de rede, disco

com RAID (Redundant Array of Independent Drives), processadores e memria, ltimos

esses so os hardwares que com duplicidade em um servidor garante a disponibilidade,

caso outro venha falhar. Porm, apenas fontes de energia com duplicidade no garante o

servidor ser alimentado por energia a todo o momento, se faz necessrio um ambiente

complexo com geradores e No-Break (ZSU, 2001).

- Suporte Tcnico: O suporte tcnico monitora todo o hardware do cluster, incluindo a CPU

(Central Processing Unit Unidade Central de Processamento), espao em disco, E/S em

disco e memria utilizada. Monitora tambm energia, fatores ambientais, como

temperatura e umidade, estado do gerador e conectividade de rede. A comunicao ntima

e constante com os provedores de conexo, garantem a todos os clientes uma performance


29

mxima de acesso e garantia de 99,9% da disponibilidade. Qualquer falha dispara um

alarme, acionando o responsvel pelo sistema (ZSU, 2001).

2.2 BANCO DE DADOS

De acordo com Setzer e Silva, (2005), o termo Banco de Dados tem origem na

expresso inglesa Data Banks, que posteriormente foi substituda por Data Bases - Base de

Dados por possuir significao mais apropriada funo.

Segundo Date (2004, p.10), "Um banco de dados uma coleo de dados persistente,

usada pelos sistemas de aplicao de uma determinada instituio". Desta forma, podemos

compreender um banco de dados como o armazenamento de dados teis para atividade de um

determinado grupo de usurios.

2.2.1 Sistemas de banco de dados

De acordo com Date (2004, p.6), um sistema de banco de dados "um sistema

computadorizado cuja finalidade geral armazenar informaes e permitir que os usurios

busquem e atualizem informaes". Deste modo, podemos entender que a composio deste

sistema formada basicamente por dados, hardware, softwares e usurios. (Figura 1).
30

Figura 1 - Representao de um banco de dados (DATE, 2004, p.6).

2.2.1.1 Dados

No que tange o tema, esse item pode ser compreendido como o prprio banco de

dados ou conjunto de dados. Entretanto, o conceito do termo dado mencionado por Setzer

(2005), como uma representao simblica que pode ser qualificada ou quantificada. Desta

forma, o CPF de um indivduo considerado um dado, pois para a estrutura social um fato

conhecido, representado por smbolos numricos devidamente qualificados.

2.2.1.2 Hardware

composto pelos elementos fsicos presentes no sistema de banco de dados, como as

mdias de armazenamento, os canais de entrada/sada e todos os equipamentos envolvidos no

processo de funcionamento do sistema.

2.2.1.3 Software
31

De acordo com Date (2004), a funo do software conhecido como Sistema

Gerenciador de Banco de dados (SGBD) proporcionar um ambiente eficiente para a

recuperao e o armazenamento das informaes do banco de dados.

2.2.1.4 Usurios

Segundo Silberschatz (1999), os usurios podem ter caractersticas diferentes em

relao as suas atividades com o banco. Conforme Date (2004), existem basicamente as

seguintes categorias de usurios:

- Programador de aplicao: desenvolve aplicaes que manipulam dados localizados em

um banco de dados;

- Usurio final: aquele que manipula os dados nica e exclusivamente por meio de

aplicaes desenvolvidas pelos programadores;

- Analista de banco de dados (DBA): o responsvel pela administrao do SGDB e dos

dados armazenados nele.

2.2.2 Arquitetura de Sistemas de Banco de Dados

Dentre as caractersticas que envolvem a arquitetura de um sistema de banco de dados,

a abstrao de dados foi referenciada por Elmasri e Navathe (2011) como supresso de

detalhes da organizao e armazenamento dos dados, destacando apenas os recursos

essenciais para o conhecimento dos dados, sem a necessidade de manipulao especifica do

hardware ou do software. Para descrever o termo banco de dados, ser utilizado a definio

de modelo de dados de Elmasri e Navathe (2011, p.19), que definem como "uma coleo de
32

conceitos que podem ser usados para descrever a estrutura de um banco de dados" segundo

essa descrio, os modelos de dados podem ser classificados da seguinte forma:

- Modelo de dados de alto nvel: mais prximo do usurio final, como exemplo do modelo

Entidade-Relacionamento;

- Modelo de dados representativo: modelos de dados relacional, hierrquico e de rede;

- Modelo de dados de baixo nvel: "metadados" registros e caminhos de acesso aos dados.

2.2.2.1 Esquema de instncias

De acordo com Silberschatz, Korth, e Sudarshan (1999), as informaes contidas no

banco de dados em um determinado momento, recebe o nome de instncia do banco de dados.

Deste modo, podemos considerar que o estado atual do banco de dados uma "condio" da

base de dados em relao ao tempo e tende a ser alterada de acordo com a utilizao do banco

de dados - manipulao dos dados. (Figura 2).

Figura 2 - Instncia Oracle1.

1
Disponvel em:
http://brasildba.blogspot.com.br/2015/07/componentes-e-arquitetura-Oracle.html
33

2.2.2.2 Arquitetura de ANSI/SPARC

O modelo de arquitetura ANSI/SPARC, tambm conhecido como arquitetura de trs

esquemas, definida por Navathe (2011) como a arquitetura ideal para sistemas que

necessitem da independncia dos dados, essa estrutura composta por trs nveis: interno,

externo e conceitual , observe a Figura 3.

Figura 3 - Arquitetura de trs esquemas (ELMARI E NAVATHE, 2011, p. 22).

Podemos assumir que de forma geral, o usurio tem interesse apenas em uma parte do

banco de dados, a essa parcela de dados visualizada pelo usurio chamamos de viso externa.

As vises externas so definidas por esquemas externos, onde o nvel externo quem define

os seguintes esquemas:

- O nvel conceitual: a representao da informao armazenada no banco de dados,

formado por vrios esquemas externos;


34

- O nvel interno: a estrutura de armazenamento fsico dos dados, definida por um

esquema interno, como sugere a Figura 4.

Figura 4 - Exemplo dos trs nveis (DATE, 1999, p.30).

2.3 CARACTERSTICAS DA ORACLE

A Oracle disponibiliza e recomenda o Sistema Operacional Oracle Enterprise Linux

para utilizao dos seus produtos, embora seja possvel utilizarem diversos SOs

independentemente da verso. Existem trs nveis diferentes de instalao, os quais so:

- Oracle Enterprise Edition: instalao completa com banco de dados pr-configurado,

aplicativos para servios de rede, assistente para licenciamento, ferramentas de

manipulao do banco de dados, Oracle Enterprise Manager usado para gerenciamento

dos produtos necessrios no armazenamento e processamento de transaes. A partir da

verso 10g foi includo os recursos de Paralell Server e Stand-by Database (HILL, 2008);

- Oracle Standard Edition: Instalao parcial que inclui um banco de dados pre-configurado,

aplicativos para servios de rede, Oracle Enterprise Manager e os utilitrios Oracle;

- Oracle Personal Edition: Instalao de um banco de dados pr-configurado com suporte a

um ambiente de desenvolvimento e distribuio de um nico usurio. recomendada para


35

rodar em computadores com pouca capacidade com o propsito de auxiliar no aprendizado

das tecnologias da Oracle. (FREEMAN, 2008).

A Oracle contm diversas ferramentas que proporcionam a alta disponibilidade em

diversos cenrios. Caso ocorra uma falha no banco de dados em um ambiente configurado

com alta disponibilidade, o Oracle consegue manter as aplicaes em execuo durante o

failover sendo totalmente transparente para os usurios. (WATSON & BERSINIC, 2006).

2.3.1 Oracle Enterprise Manager Grid Control

O Oracle Enterprise Manager Grid Control, uma ferramenta de gerenciamento

muito utilizada em data centers da Oracle, dispe de uma interface web para configurao

dos componentes do Data Guard. Ele tambm inclui assistentes que automatizam a criao

destes componentes.

Com auxlio desta ferramenta administradores podem executar facilmente switchovers

ou failovers no Data Guard, e promover um standby no banco primrio de forma rpida e

eficiente. Um importante benefcio desse recurso de gerenciamento a facilidade com que os

usurios do Data Guard podem testar facilmente seus sistemas de recuperao de catstrofe.

Os nveis de atuao esto representados na Figura 5.

Figura 5 - Oracle Enterprise Manager Grid Control2.

2
Disponvel em:
36

2.4 DATA GUARD

O Data Guard um recurso disponvel a partir da verso 10g que cria uma instancia

secundaria e mantm uma copia do Banco dados em standby, sincronizados de forma

automtica utilizando os arquivos de archived, possibilitando redundncia em caso de falha.

Mantendo os dados online, aps a indisponibilidade do servidor principal. O Data Guard

tambm permite o uso dos bancos em standby em utilizaes imediatas reduzindo e

equilibrando os recurso do sistema e justificando o investimento.

De acordo com Hill (2008), a Oracle controla cada um dos seus bancos de dados, mas

mantm a coerncia global porque possui a capacidade de sincronizao dos membros

envolvidos como uma nica estrutura local. Logo, so permitidas operaes com comandos

DML, DQL, DDL, DCL utilizados sem transaes distribudas, reteno, replicao e

particionamento em diferentes locais, como so representados pelas Figuras 6 e 7.

Figura 6 - Estrutura fsica do data guard3.

http://www.gokhanatil.com/2011/09/integrating-enterprise-manager-grid.html
3
Disponvel em:
http://pt.slideshare.net/aguswahyudi09/Oracle-dataguard-overview
37

Figura 7 - Comutao de bases4.

2.4.1 Caractersticas do Oracle Data Guard

O Oracle Data Guard representa uma soluo econmica para proteger os dados

empresariais. Essa tcnica vai muito alm das solues baseadas em espelhamento remoto,

backup e recuperao de dados em fita, o Data Guard oferece proteo e disponibilidade de

forma nativa.

Segundo Babineau (2006), o Data Guard tambm permite aos clientes executar

consultas, relatrios e backups usando o banco de dados de standby, aumentando o retorno do

investimento em sistemas de recuperao de catstrofe.

As vantagens oferecidas por este mtodo de distribuio de dados, fez surgirem

motivos simples, porm decisivos para implementao Data Guard. Dentre estes motivos est

a metodologia de continuidade de negcio, que ser descrita no prximo subitem.

2.4.2 Continuidade dos Negcios

O planejamento um processo que conduz definio de direes e de objetivos.

Entretanto, a metodologia utilizada permeia e impacta as atividades fins e meio de uma

organizao. investimento de alto retorno e, com frequncia, enseja profunda reviso de

mtodos, processos, atitudes e cultura organizacional. (DRUCKER, 1981, p.252).

4
Disponvel em:
http://www.slideshare.net/ManojKumar337/active-dataguard
38

Sobre o planejamento para a continuidade dos negcios, podemos citar a norma da

ABNT NBR 15999-2, que especifica os requisitos de um plano para o funcionamento do

ambiente de negcios, aps uma grave ocorrncia. O objetivo desta norma garantir a

disponibilidade dos processos fundamentais para empresa, afim de minimizar os prejuzos, at

que o ambiente retorne sua condio normal.

Criada na Inglaterra em 2006, e publicada no Brasil em 2007 pela ABNT com o nome

de ABNT NBR 15999, considerada a primeira norma para o gerenciamento da continuidade

de negcios. Ela promove a base para o entendimento, desenvolvimento e implementao da

continuidade do negcio dentro das organizaes. Vale ressaltar, que a implementao desses

mecanismos proporciona confiana nos negcios entre empresas e seus pares.

2.4.2.1 Continuidade dos negcios com Data Guard

O Data Guard permite a utilizao de vrios bancos de dados de standby para um

nico banco de produo, aumentando assim a proteo de dados e reduzindo o risco da

inatividade e da perda de dados.

A implementao do Data Guard utilizando backup online do banco de dados de

produo e restaurando-o em outro servidor para criar um de standby, no interfere na

disponibilidade do banco primrio.

De acordo com Baransel (2013, p69) a criao do standby, desde o backup at a

sincronizao, no interrompe a disponibilidade do banco de dados principal. O banco de

dados de standby pode estar situado em qualquer lugar, porque o Data Guard usa protocolo

TCP/IP padro para transmitir dados entre os bancos de dados principal e de standby,

eliminando a necessidade de dispositivos de rede especializados.

O Data Guard Apply Services consiste em aplicar os dados recebidos do banco de

produo em destino ao banco de standby. Por esse motivo para cada processo do Data
39

Guard, os Apply Services reconhecem o Oracle, usando seu conhecimento do banco de dados

Oracle para executar validao de dados adicional antes de quaisquer dados serem aplicados

ao banco de dados de standby, como sugere a imagem abaixo:

Figura 8 - Data Guard Apply Services5.

Essa etapa graas ao Data Guard, proporcionar um nvel adicional de proteo para

garantir que a corrupo de dados induzida por hardware ou rede no seja propagada para o

banco de dados de standby. Vale ressaltar, que as solues de espelhamento remoto, devido

falta de conhecimento sobre a estrutura de dados do banco de dados, copiam todos, incluindo

todas as corrupes causadas pelo armazenamento ou hardware de rede.

A tcnica de Data Guard oferece uma significativa flexibilidade e valor reduzido ao

implantar uma soluo que proporciona alta disponibilidade para sistemas computacionais.

Assim como em qualquer soluo que visa a disponibilidade de dados em situaes de falha

na estrutura, dois pontos importantes devem serem analisados: o primeiro so os requisitos de

objetivo de ponto de recuperao (RPO) e o segundo objetivo de tempo de recuperao

(RTO) de todos os itens que compe o cenrio que protege as informaes. O RPO

5
Disponvel em:
http://imasters.com.br/banco-de-dados/Oracle/Oracle-data-guard-conceitos-e-
arquitetura/?trace=1519021197&source=single
40

preocupasse com a quantidade de dados que est em risco no caso de uma catstrofe ou

interrupo no-planejada, j o RTO mede o tempo de indisponibilidade necessrio para que

os acessos sejam restaurados. Estruturas computacionais altamente disponveis realizam o

planejamento destes dois requisitos a fim de reduzir o risco de perda dados e o tempo

necessrio para volta do sistema.

O Data Guard ajuda a alcanar RPO e RTO que atendem os requisitos especficos

destes sistemas. A capacidade de configurao rpida de um bando de dados standby em um

banco de produo, aps um failover. Elimina o tempo necessrio para recriao do banco a

partir backups de produo.

Figura 9 - Ponto de recuperao e tempo de recuperao6.

2.4.3 Topologia de rede para o Data Guard

O crescente fluxo de troca de informaes provocou uma mudana considervel

quanto forma de comunicao dos sistemas de banco de dados. Tais mudanas so

perceptveis quando falamos de canais privados para troca e compartilhamento de

informaes de mtodos de redundncia de dados. Desta forma, para o funcionamento do

Data Guard necessrio equilibrar a relao de trafego e banda da rede.

6
Disponvel em:
http://docplayer.net/2123565-Backup-and-recovery-solutions-for-exadata-cor-beumer-storage-sales-
specialist-Oracle-nederland.html
41

De acordo com Loureiro (2003), o principal objetivo nestas redes a execuo de

tarefas colaborativas, uma vez que estas so estruturadas para detectar e estimar os

acontecimentos de interesse do processo de monitoramento ou coleta de dados. Caracterstica

essa que possibilita a capacidade de consultar a situao individual de cada n, e assim

detectar possveis falhas e isolar aquele n sem prejuzo aos demais. Vale ressaltar, que a

agregao de dados, outro ponto peculiar destas redes, como mostra a Figura 10.

Figura 10 - Topologia em rede Oracle Data Guard7.

2.4.4 Trfego de dados reduzido na rede

O Oracle Data Guard oferece uma soluo para redundncia dos dados baseada em

protocolos TCP/IP com eficiente utilizao dos recursos da rede, pois a sincronia feita somente com

o envio de alteraes para banco de dados standby, podemos verificar na Figura 11, que o trfego

percorre sempre o sentido banco de dados primrio para banco de dados standby.

7
Disponvel em: http://www.slideshare.net/Toronto-Oracle-Users-Group/20140319-toug-extreme-
availability-in-12c
42

Figura 11 - Trfego de dados na rede8.

Com o Oracle Data Guard, apenas os dados de rede precisam ser enviados para o site

remoto. O que na maioria das solues de espelhamento remoto utilizam para a proteo dos

dados a sincronizao dos arquivos do banco de dados, os registros on-line, os logs de

arquivos e os arquivos de controle, essa diferena no processo de espelhamento faz com o que

o Oracle Data Guard tenha um menor consumo da banda da rede como demonstra a Figura

12, onde est a imagem de um grfico.

Figura 12 - Consumo da banda da rede9.

8
Disponvel em:
https://taliphakanozturken.wordpress.com/tag/real-time-apply/
9
Disponvel em:
http://www.Oracle.com/technetwork/database/features/availability/dataguardremotemirroring-
086151.html
43

2.4.5 Econmico

O Data Guard uma soluo que reduz os custos de hardware e a dependncia de um

nico fornecedor, pois trabalha com o reconhecimento e armazenamento dos dados em uma

estrutura independente.

2.4.6 Carga dos processos de backup distribuda

A integrao com os mecanismos de Data Guard permite a distribuio dos processos

necessrios durante os Backups, gerando benefcios de desempenho durante todo o processo

de construo da cpia de segurana. Desta forma, a empresa pode realizar copias da base em

horrios de pico de processamento, sem comprometer o desempenho da base de produo dos

usurios.

2.4.7 Gerenciamento integrado

Configuraes, monitorao e manuteno de standby, incluindo failover e switchover,

so facilmente gerenciadas pelo Oracle Enterprise Manager Grid Control, observe a Figura

13 e 14.

Figura 13 Data Guard Manager10.

10
Disponvel em: http://www.slideshare.net/zohare/webinar-42338762
44

Figura 14 - Oracle Enterprise Manager Grid Control11.

2.5 EQUIPAMENTO E SISTEMA DE CONTROLE DE PONTO

Devido portaria 1510/09 do Ministrio do Trabalho e Emprego - MTE, publicada no

dirio oficial da unio em 28 de fevereiro de 2011. Diversos fabricantes de equipamentos de

registro de ponto tiveram a necessidade de desenvolver novos sistemas para que as

determinaes da portaria do MTE pudessem ser atendidas. Em meio a este cenrio, a

HENRY tecnologia, uma empresa nacional do estado do Paran fundada em 1995, presentou

a proposta de um equipamento para registro de ponto, baseado nas novas exigncias observe a

Figura 15.

Figura 15 - Equipamento para controle de ponto eletrnico12.

11
Disponvel em:
https://docs.Oracle.com/cd/E18476_01/doc.220/e18479/monitor.htm#ELEDG747
12
Disponvel em:
https://www.lojatotalseg.com.br/produto/202/relogio-eletronico-de-ponto-rep-henry-orion-6-c-codigo-
de-barras-c-guilhotina?id_produto=202
45

Esse equipamento controlado por uma sistema que mantm comunicao com

todos os equipamentos presentes no mesmo nvel de rede como demonstrado na Figura 16

abaixo.

Figura 16 - Sistema controlador


46

3 IMPLEMENTAO E ANLISES

3.1 PROBLEMTICA

O sistema de controle de ponto do grupo de farmcias inicialmente mencionado,

originalmente funcionava em um nico servidor Windows 2008 Server que hospedava a

aplicao e o servio de banco de dados Oracle.

Com a normativa do ministrio do trabalho e a obrigatoriedade dos equipamentos

trabalharem em modo off-line, as informaes passaram a serem coletadas manualmente.

Deste modo, observou-se que aps um dia de entradas e sadas de aproximadamente vinte

funcionrios o tempo mdio de coleta de uma farmcia era de vinte minutos, o que

multiplicado pelo nmero de farmcias resulta em 20 * 120 = 2400 minutos, igual a 40 horas,

quase 2 dias para processar as batidas geradas em um dia de trabalho.

3.2 APLICANDO A SOLUO

A soluo encontrada foi dividir o nmero de farmcias 120 em 08 mquinas virtuais,

e programando a coleta para iniciar a 00:00 de cada dia, observe a Figura 17.

Figura 17 - Viso geral da soluo encontrada.


47

As maquinas virtuais esto conectadas a um banco de dados Oracle primrio em Data

Guard localizado no data Center da empresa e replicado para dois servidores standby

localizados um no prprio data Center e outro na unidade matriz da empresa observe a Figura

18, logo abaixo.

Figura 18 - Comunicao entre os servidores da matriz dos data centers.

A Figura 19 uma aluso ao ambiente que foi implantado, pois expressa as redes

presentes na empresa e sua comunicao com a internet.

Figura 19 - Aluso do ambiente em estudo.


48

3.2.1 Instalao e configurao do Oracle convencional

O procedimento descreve a instalao do Oracle 11G na plataforma de sistema

operacional Windows. Abrindo o arquivo de Setup de instalao do software Oracle11G

dado incio ao processo de instalao e para isso apresentado o "Oracle Universal Install

(OUI) " e sua interface amigvel de instalao do Oracle Database 11g.

Na apresentao da primeira tela informado que a instalao se encontra na etapa 1

de 12 (o nmero de passos poder variar dependendo das decises tomadas no decorrer da

instalao). Nesse ponto requerido um endereo de e-mail para que sejam informados sobre

questes de segurana, caso tenha um cadastro no suporte da Oracle, voc pode utilizar a sua

senha na caixa de texto. Observe a Figura 20.

Figura 20 - Instalao do Oracle 11G etapa 1 de 12.

Por tratar-se da primeira instalao recomendado deixar a as configuraes padro,

nesse caso: "Criar e Configurar um banco de dados"(Figura 21).


49

Figura 21 - Instalao do Oracle 11G etapa 2 de 12.

Nessa etapa indicada como 3 de 12 (Figura 22), vamos ousar e selecionar a opo

CLASS DE SERVIDOR em busca de configuraes mais avanadas que vai nos permitir

simular um ambiente com mais recursos de produo.

Figura 22 - Instalao do Oracle 11G etapa 3 de 12


50

Observe a Figura 23 que devido termos escolhido um caminho com configuraes

mais avanadas, estamos agora na opo 4 de 12. J ganhamos uns passos a mais, vamos

deixar marcado como est, em nosso cenrio no vamos trabalhar com Clusters e deixar uma

nica instncia selecionada a melhor opo nesse momento.

Figura 23 - Instalao do Oracle 11G etapa 4 de 12.

Novamente vamos em busca de configuraes mais avanadas marque a opo

INSTALAO AVANADA para termos o controle total da instalao. (Figura 24).

Figura 24 - Instalao do Oracle 11G etapa 5 de 12.


51

Neste caso, deixei como est, mas se voc quiser adicionar mais idiomas sinta-se

vontade, de repente um Mandarim. (Figura 25).

Figura 25 - Instalao do Oracle 11G etapa 6 de 12.

Aqui que valeu o nosso Overview, que foi feito, no post anterior nele fizemos uma

pequena excurso de reconhecimento em suas vrias edies que Oracle database possui,

com isso ganhamos uma segurana de qual edio escolher ento para a nossa instalao

ldica, o escolhido foi a edio STANDARD EDITION ONE, observe a Figura 26.

Figura 26 - Instalao do Oracle 11G etapa 7 de 12.


52

Nesse ponto o instalador selecionou, segundo o seu algoritmo, o melhor local da sua

base de dados, a menos que voc precise mudar recomendo deixar como est. (Figura 27).

Figura 27 - Instalao do Oracle 11G etapa 8 de 12.

Como acredito que a maioria aqui por enquanto no vai trabalhar com warehouse,

deixe marcado como est (Figura 28). Observe que agora o instalador nos avisa que estamos

na etapa 9 de 19.

Figura 28 - Instalao do Oracle 11G etapa 9 de 19.


53

Nessa etapa configurado o nome do banco de dados global e sua SID, o nome

sugerido orcl, se voc estiver em uma rede com controlador de domnio o nome do seu

banco poderia ficar name. No domain vamos deixar como est, bom toma nota desse nome

para no esquecer no momento da conexo com esse banco, como mostra a Figura 29.

Figura 29 - Instalao do Oracle 11G etapa 10 de 19.

Na etapa 11 subdividido em quatros guias, como pode ser visualizado nas Figuras 30

e 31, na primeira dado a opo de deixar o gerenciamento de memria ativo j ajustado

valor de forma automtico, voc pode arrastar a barra para alocar mais memria.

Figura 30 - Instalao do Oracle 11G etapa 11 de 19b.


54

Na guia seguinte selecione a opo usar Unicode (AL32UTF8) que permite armazenar

a maioria dos caracteres dos grupos de idiomas, na guia segurana deixe marcado padro e na

ltima temos a opo de criar um banco de dado de exemplo com esquema, vamos deixar

marcado. (Figura 31).

Figura 31 - Guias que aparecem na etapa 11.

Nessa etapa das opes de gerenciamento no ative as notificaes por e-mail. (Figura

32)

Figura 32 - Instalao do Oracle 11G etapa 12 de 19.


55

Nessa tela temos a opo de direcionar os arquivos de banco de dados para outra

unidade de disco, no vamos fazer isso agora.

Figura 33 - Instalao do Oracle 11G etapa 13 de 19.

No momento no preciso ativar o JOB de backup observe a Figura 34.

Figura 34 - Instalao do Oracle 11G etapa 14 de 19.

Na etapa 15 de 19 das configuraes e especificaes das senhas das contas de acesso

possvel criarmos uma senha diferente para cada conta de gerenciamento da engine do
56

banco de dados aumentando assim a segurana de acesso, mas, como a nossa instalao para

fins ldico, optei por somente uma senha para todos os usurios. (Figura 35).

Figura 35 - Instalao do Oracle 11G etapa 15 de 19.

Observe que por ter informado uma senha fraca o instalador reclamou e avisou que

essa senha no adequada para os padres da Oracle, se esse foi o seu caso corrija a senha ou

ignore esta mensagem para prosseguir a instalao. Na prxima etapa iniciado as

verificaes dos pr-requisitos para instalao, observe a Figura 36.

Figura 36 - Instalao do Oracle 11G etapa 16 de 19.


57

Na etapa 17 de 19 apenas mostra um resumo em forma de relatrio das verificaes

executadas na etapa anterior como mostra a Figura 37.

Figura 37 - Instalao do Oracle 11G etapa 17 de 19.

A instalao iniciada e depois de um tempo j sinaliza 100%, disposto na Figura 38

da instalao dos primeiros componentes do Oracle Database nessa etapa a instalao tende

a demorar mesmo e o firewall poder solicitar algumas permisses de acesso, libere-as para

que as funcionalidades no sejam bloqueadas.

Figura 38 - Instalao do Oracle 11G etapa 18 de 19a.


58

Depois de alguns componentes instalados entra em sena um assistente de configurao

de banco de dados que vai criar a instncia do Oracle database na sua mquina e ir concluir

a instalao do banco de dados. (Figura 39).

Figura 39 - Instalao do Oracle 11G etapa 18 de 19b.

Estava demorando muito tirei mais um screenshot (Figura 40) para mostrar o

andamento da instalao

Figura 40 - Instalao do Oracle 11G etapa 18 de 19c.


59

O assistente termina a sua tarefa e nos traz algumas informaes adicionais de final de

instalao. (Figura 41).

Figura 41 - Instalao do Oracle 11G etapa 18 de 19d.

Agora sim! Na Figura 42 a nossa to esperada tela na etapa 19 de 19 aparece e sinaliza

que a instalao do Oracle database foi bem-sucedida.

Figura 42 - Instalao do Oracle 11G etapa 19 de 19.


60

Ela nos traz algumas informaes como a URL do database control do Enterprese

Manager e o caminho dos arquivos de configurao do banco de dados. Apenas feche a

janela para concluir essa etapa de instalao.

3.2.2 Configurao do Oracle Data Guard

Data Guard o nome da soluo de banco de dados standby da Oracle, usada para

recuperao de desastres e alta disponibilidade. Os materiais utilizados na aplicao foram:

dois servidores (fsicos ou VMs) com um sistema operacional e Oracle instalado neles. Neste

caso, foi utilizado o Oracle Linux 5.6 e o Oracle Database 11.2.0.2. O servidor principal tem

instncia em execuo e o servidor em espera tem apenas uma instalao de software.

3.2.2.1 Configurao do servidor principal

Verifique se o banco de dados primrio est no modo archivelog:

SELECT log_mode FROM v$database;


LOG_MODE
-------------------------
NOARCHIVELOG
SQL>

Se ele est no modo noarchivelog, mude para o modo archivelog:

SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;

Habilite o log forado com o seguinte comando:


61

ALTER DATABASE FORCE LOGGING;

I. Inicializao de parmetros

Verifique a definio dos parmetros DB_NAME e DB_UNIQUE_NAME. Nesse caso,

ambos so definidos como "DB11G" no banco de dados primrio.

SQL> show parameter db_name

NAME TYPE VALUE


----------------- -------------- ----------------
db_name string DB11G
SQL> show parameter db_unique_name
NAME TYPE VALUE
-------------------------- -------------- ------------------
db_unique_name string DB11G

SQL>

O DB_NAME do banco de dados de espera ser o mesmo que o do primrio, mas ele

deve ter um valor diferente para DB_UNIQUE_NAME. Os valores DB_UNIQUE_NAME do

banco de dados principal e de espera devem ser usados na configurao DG_CONFIG do

parmetro LOG_ARCHIVE_CONFIG. Para este exemplo, o banco de dados em espera ter o

valor "DB11G_STBY".

ALTER SYSTEM SET LOG_ARCHIVE_CONFIG = 'DG_CONFIG = (DB11G,


DB11G_STBY)';

Definir destinos adequados para arquivos de log remoto. Neste caso, estou usando

rea de recuperao rpida para localizao local, mas voc pode utilizar outro local de sua

preferncia. Observe o SERVICE e o DB_UNIQUE_NAME para a referncia de localizao

remota da localizao de espera.


62

ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=db11g_stby NOAFFIRM


ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)
DB_UNIQUE_NAME=DB11G_STBY';
ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE;

Os parmetros LOG_ARCHIVE_FORMAT e LOG_ARCHIVE_MAX_PROCESSES

devem ser definidos para valores apropriados e REMOTE_LOGIN_PASSWORDFILE deve ser

definido como exclusivo.

ALTER SYSTEM SET LOG_ARCHIVE_FORMAT='%t_%s_%r.arc' SCOPE=SPFILE;


ALTER SYSTEM SET LOG_ARCHIVE_MAX_PROCESSES=30;
ALTER SYSTEM SET REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
SCOPE=SPFILE;

Alm da configurao anterior, recomendvel certificar-se de que o primrio est

pronto para trocar as funes para se tornar um modo de espera. Para que funcione

corretamente, precisamos definir os seguintes parmetros. Ajustar os parmetros *

_CONVERT para conta para o nome de arquivo e diferentes caminhos entre os servidores.

ALTER SYSTEM SET FAL_SERVER=DB11G_STBY;


-- ALTER SYSTEM SET DB_FILE_NAME_CONVERT='DB11G_STBY','DB11G'
SCOPE=SPFILE;
-- ALTER SYSTEM SET LOG_FILE_NAME_CONVERT='DB11G_STBY','DB11G'
SCOPE=SPFILE;
ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=AUTO;

Lembre-se, alguns dos parmetros no so modificveis, de modo que o banco de

dados vai precisar ser reiniciado.

II. Configurao do Servio

As entradas para o banco de dados primrio e de espera so necessrias nos arquivos

$ORACLE_HOME/network/admin/tnsnames.ora em ambos os servidores. As entradas a

seguir foram usadas durante esta configurao.


63

DB11G =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = ol5-112-dga1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = DB11G.WORLD)
)
)

DB11G_STBY =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = ol5-112-dga2)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = DB11G.WORLD)
)
)

III. Banco de dados primrio de backup

Se voc planeja usar uma duplicada ativa essa etapa no necessria. Para uma

duplicata baseada em backup ou uma restaurao manual faa um backup do banco de dados

primrio.

$ rman target=/

RMAN> BACKUP DATABASE PLUS ARCHIVELOG;

IV. Criar Standby Controlfile and Pfile

Crie um controlfile para o banco de dados primrio para emitir o seguinte comando no

banco de dados primrio.


64

ALTER DATABASE CREATE STANDBY CONTROLFILE AS '/tmp/db11g_stby.ctl';

Crie um arquivo de parmetro para o banco de dados primrio.

CREATE PFILE='/tmp/initDB11G_stby.ora' FROM SPFILE;

Alterar o PFILE tornando as entradas relevantes para o banco de dados em standby.

Vamos fazer a rplica do servidor original para isso altere os seguintes parmetros.

*.db_unique_name='DB11G_STBY'
*.fal_server='DB11G'
*.log_archive_dest_2='SERVICE=db11g ASYNC
VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=DB11G'

3.2.2.2 Configurao do servidor em espera (Manual)

I. Copiar arquivos

Crie os diretrios necessrios no servidor de espera.

$ mkdir -p /u01/app/oracle/oradata/DB11G
$ mkdir -p /u01/app/oracle/fast_recovery_area/DB11G
$ mkdir -p /u01/app/oracle/admin/DB11G/adump

Copie os arquivos do servidor primrio para o servidor em espera.

$ # Standby controlfile to all locations.


$ scp oracle@ol5-112-dga1:/tmp/db11g_stby.ctl
/u01/app/oracle/oradata/DB11G/control01.ctl
$ cp /u01/app/oracle/oradata/DB11G/control01.ctl
/u01/app/oracle/fast_recovery_area/DB11G/control02.ctl

$ # Archivelogs and backups


$ scp -r oracle@ol5-112-dga1:/u01/app/oracle/fast_recovery_area/DB11G/archivelog
/u01/app/oracle/fast_recovery_area/DB11G
65

$ scp -r oracle@ol5-112-dga1:/u01/app/oracle/fast_recovery_area/DB11G/backupset
/u01/app/oracle/fast_recovery_area/DB11G

$ # Parameter file.
$ scp oracle@ol5-112-dga1:/tmp/initDB11G_stby.ora /tmp/initDB11G_stby.ora

$ # Remote login password file.


$ scp oracle@ol5-112-dga1:$ORACLE_HOME/dbs/orapwDB11G $ORACLE_HOME/dbs

Observe que os backups foram copiados para o servidor em espera como parte da

cpia FRA. Se seus backups no forem mantidos dentro da FRA, voc deve certificar-se de

copi-los para o servidor em espera e torn-los disponveis a partir do mesmo caminho usado

no servidor primrio.

II. Iniciar listener

Verifique se o ouvinte iniciado no servidor em espera.

$ lsnrctl start

III. Restaurar backup

Crie o SPILE a partir do PFILE alterado.

$ export ORACLE_SID=DB11G
$ sqlplus / as sysdba

SQL> CREATE SPFILE FROM PFILE='/tmp/initDB11G_stby.ora';

Restaure os arquivos de backup.

$ Exportar ORACLE_SID = DB11G


$ rman target = /

RMAN> STARTUP MOUNT;


66

RMAN> RESTORE DATABASE;

IV. Criar redo logs

Crie redo logs online para o primrio. uma boa idia combinar a configurao do
servidor primrio.

ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT = MANUAL;


ALTER DATABASE ADD LOGFILE ('/u01/app/oracle/oradata/DB11G/online_redo01.log')
TAMANHO 50M;
ALTER DATABASE ADD LOGFILE ('/u01/app/oracle/oradata/DB11G/online_redo02.log')
TAMANHO 50M;
ALTER DATABASE ADD LOGFILE ('/u01/app/oracle/oradata/DB11G/online_redo03.log')
TAMANHO 50M;
ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT = AUTO;

Alm dos redo logs online, preciso criar redo logs no banco de dados em espera e no

banco de dados primrio (no caso de switchovers). Os registros de redo logs em espera devem

ser pelo menos to grandes quanto o maior redo log on-line e deve haver um grupo extra por

thread em comparao com os redo logs on-line. Os seguintes registros de redo logs devem

ser criados em ambos os servidores.

ALTER DATABASE ADD STANDBY LOGFILE


('/u01/app/oracle/oradata/DB11G/standby_redo01.log') SIZE 50M;
ALTER DATABASE ADD STANDBY LOGFILE
('/u01/app/oracle/oradata/DB11G/standby_redo02.log') SIZE 50M;
ALTER DATABASE ADD STANDBY LOGFILE
('/u01/app/oracle/oradata/DB11G/standby_redo03.log') SIZE 50M;
ALTER DATABASE ADD STANDBY LOGFILE
('/u01/app/oracle/oradata/DB11G/standby_redo04.log') SIZE 50M;

Uma vez concludo, podemos iniciar o processo de aplicao.

3.2.2.3 Configurao do servidor de espera (DUPLICATE)


67

I. Copiar arquivos

Crie os diretrios necessrios no servidor em espera.

$ mkdir -p /u01/app/oracle/oradata/DB11G
$ mkdir -p /u01/app/oracle/fast_recovery_area/DB11G
$ mkdir -p /u01/app/oracle/admin/DB11G/adump

Copiar os arquivos do servidor primrio para o servidor de espera.

$ # Standby controlfile to all locations.


$ scp oracle@ol5-112-dga1:/tmp/db11g_stby.ctl
/u01/app/oracle/oradata/DB11G/control01.ctl
$ cp /u01/app/oracle/oradata/DB11G/control01.ctl
/u01/app/oracle/fast_recovery_area/DB11G/control02.ctl

$ # Parameter file.
$ scp oracle@ol5-112-dga1:/tmp/initDB11G_stby.ora /tmp/initDB11G_stby.ora

$ # Remote login password file.


$ scp oracle@ol5-112-dga1:$ORACLE_HOME/dbs/orapwDB11G $ORACLE_HOME/dbs

Ao usar duplicate ativo, o servidor de espera requer a configurao do listener static

em um arquivo listener.ora.

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = DB11G.WORLD)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
(SID_NAME = DB11G)
)
)

LISTENER =
68

(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = ol5-112-dga2.localdomain)(PORT =
1521))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)

ADR_BASE_LISTENER = /u01/app/oracle

Verifique se o listener est iniciado no servidor de espera.

$ lsnrctl start

II. Criar redo logs de espera no servidor primrio

O comando duplicate cria automaticamente os redo logs de espera no servidor de

espera. Para certificar-se de que o banco de dados primrio est configurado para a

alternncia, devemos criar os redo logs de espera no servidor primrio.

ALTER DATABASE ADD STANDBY LOGFILE


('/u01/app/oracle/oradata/DB11G/standby_redo01.log') SIZE 50M;
ALTER DATABASE ADD STANDBY LOGFILE
('/u01/app/oracle/oradata/DB11G/standby_redo02.log') SIZE 50M;
ALTER DATABASE ADD STANDBY LOGFILE
('/u01/app/oracle/oradata/DB11G/standby_redo03.log') SIZE 50M;
ALTER DATABASE ADD STANDBY LOGFILE
('/u01/app/oracle/oradata/DB11G/standby_redo04.log') SIZE 50M;

III. Criar Standby usando Duplicate

Iniciar a instncia auxiliar no servidor de espera usando o arquivo temporrio

init.ora.

$ Export ORACLE_SID = DB11G


69

$ sqlplus / como sysdba

SQL> STARTUP NOMOUNT PFILE = '/ tmp / initDB11G_stby.ora';

Conecte-se ao RMAN, especificando uma seqncia de conexo completa para as

instncias TARGET e AUXILLARY.

$ rman TARGET sys/password@DB11G AUXILIARY sys/password@DB11G_STBY

Agora execute o seguinte comando.

DUPLICATE TARGET DATABASE


FOR STANDBY
FROM ACTIVE DATABASE
DORECOVER
SPFILE
SET db_unique_name='DB11G_STBY' COMMENT 'Is standby'
SET LOG_ARCHIVE_DEST_2='SERVICE=db11g ASYNC
VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=DB11G'
SET FAL_SERVER='DB11G' COMMENT 'Is primary'
NOFILENAMECHECK;

- FOR STANDBY: Isso informa que o comando DUPLICATE deve ser usado para um modo
de espera, portanto, no forar uma alterao de DBID.
- FROM ACTIVE DATABASE: O DUPLICATE ser criado diretamente a partir do arquivo
de dados de origem, sem uma etapa de backup adicional.
- DORECOVER: O DUPLICATE ir incluir a etapa de recuperao, trazendo o standby at o
ponto atual no tempo.
- SPFILE: Permite-nos redefinir valores no spfile quando ele copiado do servidor de
origem.
- NOFILENAMECHECK: As localizaes dos arquivos de destino no so verificadas.

- Uma vez que o comando est completo, podemos iniciar o processo de aplicao

IV. Iniciar aplicao do processo


70

Inicie o processo de aplicao no servidor de espera.

# Foreground redo apply. Session never returns until cancel.


ALTER DATABASE RECOVER MANAGED STANDBY DATABASE;

# Background redo apply. Control is returned to the session once the apply process is started.
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT
FROM SESSION;

Se voc precisar cancelar o processo de aplicao, emita o seguinte comando.

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

Se voc preferir, voc pode definir um atraso entre a chegada do redo log arquivado e

a ser aplicada no servidor de espera usando os seguintes comandos.

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;


ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DELAY 30
DISCONNECT FROM SESSION;

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;


ALTER DATABASE RECOVER MANAGED STANDBY DATABASE NODELAY
DISCONNECT FROM SESSION;

Desde que voc tenha configurado redo logs standby, voc pode iniciar o aplicativo

em tempo real usando o seguinte comando.

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING


CURRENT LOGFILE;

V. Transporte do teste de log

No servidor primrio verifique o redo log arquivado mais recente e fora uma

mudana de log.

ALTER SESSION SET nls_date_format='DD-MON-YYYY HH24:MI:SS';


71

SELECT sequence#, first_time, next_time


FROM v$archived_log
ORDER BY sequence#;

ALTER SYSTEM SWITCH LOGFILE;

Verifique se o novo registro redo arquivado chegou ao servidor em espera e foi

aplicado.

ALTER SESSION SET nls_date_format='DD-MON-YYYY HH24:MI:SS';

SELECT sequence#, first_time, next_time, applied


FROM v$archived_log
ORDER BY sequence#;

3.2.2.4 Modo de proteo

Existem trs modos de proteo para o banco de dados primrio.

- Disponibilidade Mxima: As transaes no primrio no so confirmadas at que as

informaes de redo tenham sido gravadas no log redo online e nos X redo logs em espera

de pelo menos um local em espera. Se no houver um local de espera disponvel, ele atuar

da mesma maneira que o modo de desempenho mximo at que um modo de espera fique

disponvel novamente.

- Mximo Desempenho: Transaes no commit primrio assim que as informaes de redo

tenham sido gravadas no log redo on-line. A transferncia de informaes redo para o

servidor em espera assncrona, por isso no impacta o desempenho do primrio.

- Proteo Mxima: As transaes no primrio no so confirmadas at que as informaes

de redo tenham sido gravadas no log de redo online e nos redo logs em espera de pelo
72

menos um local em espera. Se no estiver disponvel o local de espera, o banco de dados

primrio ser encerrado.

Por padro um banco de dados primrio recm-criado est no modo de desempenho

mximo.

SELECT protection_mode FROM v$database;

PROTECTION_MODE
--------------------
MAXIMUM PERFORMANCE

SQL>

O modo pode ser alterado usando o seguinte comando. Observe as alteraes nos

atributos de transporte de redo.

-- Maximum Availability.
ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=db11g_stby AFFIRM SYNC
VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)
DB_UNIQUE_NAME=DB11G_STBY';
ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE AVAILABILITY;

-- Maximum Performance.
ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=db11g_stby NOAFFIRM
ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)
DB_UNIQUE_NAME=DB11G_STBY';
ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PERFORMANCE;

-- Maximum Protection.
ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=db11g_stby AFFIRM SYNC
VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)
DB_UNIQUE_NAME=DB11G_STBY';
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
73

ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PROTECTION;


ALTER DATABASE OPEN;

3.2.2.5 Banco de dados Switchover

Um banco de dados pode estar em um de dois modos mutuamente exclusivos

(primrio ou em espera). Essas funes podem ser alteradas em tempo de execuo sem perda

de dados ou redefinio de redo logs. Este processo conhecido como Switchover e pode ser

executado usando as seguintes instrues.

-- Convert primary database to standby


CONNECT / AS SYSDBA
ALTER DATABASE COMMIT TO SWITCHOVER TO STANDBY;

-- Shutdown primary database


SHUTDOWN IMMEDIATE;

-- Mount old primary database as standby database


STARTUP NOMOUNT;
ALTER DATABASE MOUNT STANDBY DATABASE;
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT
FROM SESSION;

No banco de dados em espera original execute os seguintes comandos.

-- Convert standby database to primary


CONNECT / AS SYSDBA
ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY;

-- Shutdown standby database


SHUTDOWN IMMEDIATE;

-- Open old standby database as primary


74

STARTUP;

3.2.2.6 Failover

Se o banco de dados primrio no estiver disponvel, o banco de dados de espera pode

ser ativado como um banco de dados primrio usando as instrues a seguir.

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH;


ALTER DATABASE ACTIVATE STANDBY DATABASE;

Uma vez que o banco de dados em espera agora o banco de dados primrio, deve ser

feito backup imediatamente. O banco de dados primrio original agora pode ser configurado

como um de modo de espera.

3.2.2.7 Flashback Database

Embora um switchover / switchback seguro para o banco de dados primrio e de

espera, um failover processa o banco de dados primrio original intil para converter em um

banco de dados em espera. Se o banco de dados de flashback no estiver ativado, o primrio

original deve ser desfeito e recriado como um banco de dados de reserva.

Uma alternativa habilitar o banco de dados de flashback no primrio (e no modo de

espera, se desejado), portanto, no caso de um failover, o primrio pode ser relanado para o

tempo antes do failover e rapidamente convertido em um banco de dados em standby.

3.2.2.8 Read-Only Standby and Active Data Guard


75

Uma vez que um banco de dados em espera configurado, ele pode ser aberto no

modo somente leitura para permitir o acesso a consulta. Isso geralmente usado para

transferir relatrios para o servidor em espera, liberando recursos no servidor primrio.

Quando aberto no modo somente leitura, o envio de log de arquivamento continua, mas a

recuperao gerenciada interrompida, portanto, o banco de dados de espera fica cada vez

mais desatualizado at que a recuperao gerenciada seja retomada.

Para alternar o banco de dados em espera para somente leitura, faa o seguinte.

SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER DATABASE OPEN READ ONLY;

Para retomar a recuperao gerenciada, faa o seguinte.

SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT
FROM SESSION;

Na verso 11g, a Oracle introduziu o recurso Active Data Guard. Isso permite que o

banco de dados seja aberto somente em modo de leitura, mas ainda aplica informaes de

redo. Isso significa que um recurso de espera pode estar disponvel para consulta, mas ainda

estar atualizado. H implicaes de licenciamento para esse recurso, mas os comandos a

seguir mostram como o protetor de dados ativo pode ser ativado.

SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER DATABASE OPEN READ ONLY;
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT
FROM SESSION;
76

Como a recuperao gerenciada continua com a proteo de dados ativa, no h

necessidade de alternar novamente para a recuperao gerenciada do modo somente leitura

neste caso.

3.2.2.9 Snapshot Standby

Introduzido na verso 11g, o modo de espera de instantneo permite que o banco de

dados de espera seja aberto no modo de leitura e gravao. Quando voltar ao modo de espera,

todas as alteraes feitas no modo de leitura e gravao so perdidas. Isso possvel usando

banco de dados de flashback, mas o banco de dados de espera no precisa ter banco de dados

de flashback explicitamente habilitado para tirar proveito deste recurso.

Se voc estiver usando o RAC, desative todas as instncias RAC, exceto uma.

Verifique se a instncia est no modo MOUNT.

SHUTDOWN IMMEDIATE;
STARTUP MOUNT;

Verifique se a recuperao gerenciada est desabilitada.

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

Converta o modo de espera para um modo de espera de instantneo. O exemplo a

seguir consulta a V$DATABASE exibio para mostrar que o banco de dados de flashback no

est ativado antes da operao de converso.

SELECT flashback_on FROM v$database;

FLASHBACK_ON

------------------
77

NO

ALTER DATABASE CONVERT TO SNAPSHOT STANDBY;

ALTER DATABASE OPEN;

SELECT flashback_on FROM v$database;

FLASHBACK_ON

------------------

RESTORE POINT ONLY

Agora voc pode tratar o modo de espera como qualquer banco de dados de leitura e

gravao. Para convert-lo novamente para o modo de espera fsico, perdendo todas as

alteraes feitas desde a converso para o modo de espera do snapshot, execute os seguintes

comandos.

SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER DATABASE CONVERT TO PHYSICAL STANDBY;
SHUTDOWN IMMEDIATE;
STARTUP NOMOUNT;
ALTER DATABASE MOUNT STANDBY DATABASE;
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT;
SELECT flashback_on FROM v$database;

FLASHBACK_ON
------------------
78

NO

3.3 ANALISE COMPARATIVA ENTRE ORACLE CONVECIONAL E ORACLE DATA


GUARD

A seguir ser realizada a anlise comparativa entre o ambiente de banco de dados

Oracle convencional de arquitetura nica e o ambiente de banco de dados distribudo Oracle

Data Guard. Para a comparao sero abordados os principais critrios que refletem

diretamente no desempenho e segurana dos bancos de dados em ambos os ambientes,

conforme o que ser descrito a seguir:

- Abstrao dos dados: O SGBD deve prover uma viso abstrata de acesso aos dados

utilizados pelos usurios, considerando o nvel fsico, conceitual e de viso do usurio;

- Flexibilidade: Permite a um SGBD modificar a estrutura de um banco de dados

adicionando ou removendo recursos sem a necessidade de maiores adaptaes nas

aplicaes existentes;

- Consistncia dos dados: Segundo Mattos (2004), a execuo de transaes dever sempre

manter o banco de dados em um estado consistente, respeitando as regras de integridade

referencial de dados. Desta forma, em caso de falha de uma transao, dever ser desfeita a

execuo e retornar a base de dados ao estado anterior que j permanecia estvel. Tambm

Segundo Vogels (2009, apud SOUSA et. al., 2011), a consistncia dos dados caracteriza a

forma como so observados e atualizados, podendo ser definida em uma consistncia forte,

que garante a viso atualizada dos dados para qualquer acesso seguinte a uma atualizao

concluda, e a consistncia fraca, aquela que no fornece garantia para as atualizaes.


79

- Desempenho de acesso: Segundo Murara (2008), o desempenho de um banco de dados

refere-se efetivamente disponibilidade de acesso aos dados e ao tempo de resposta das

execues, de forma a atender s expectativas dos usurios. Segundo Andrade (2005),

complicado mensurar o desempenho de um banco de dados, onde 70% a 80% dos problemas

de desempenho so ocasionados por consultas SQL mal elaboradas;

- Segurana: Padres de segurana devem ser utilizados para prover a integridade,

confiabilidade e confidencialidade dos dados, principalmente quando trata-se de dados

sensveis. Para facilitar a obteno de segurana dos dados, devem ser utilizadas regras de

controle de acesso por autenticao dos usurios, tcnicas de criptografia e controle do

armazenamento fsico dos dados. Alm disso, importante que o sistema gerenciador

possua suporte a backups;

- Disponibilidade: verificado se o ambiente analisado apresenta alta disponibilidade

atendendo aos nveis de acordo com o servio;

- Custo: Refere-se anlise dos custos gerados para implantao e manuteno de cada

ambiente de banco de dados, considerando a aquisio de licenas, gastos com pessoal e

investimentos com hardwares e softwares.

3.3.1 Descrio dos critrios do Oracle convencional e Oracle Data Guard

3.3.1.1 Abstrao dos dados

Segundo Loney (2007), na arquitetura Oracle, durante a execuo de um

procedimento ou funo, so utilizados apenas os privilgios de usurio. Desta forma, no

necessrio que o usurio tenha acesso explicito aos dados envolvidos no processo. Tambm

de acordo com Sanches (2005), comum que um SGBD convencional, abstraia a maior parte
80

dos detalhes quanto ao local de armazenamento dos dados. Vale ressaltar, que os conceitos

que foram descritos na arquitetura de trs nveis, quando implementados pela arquitetura

Oracle, utilizam uma camada lgica e uma camada fsica.

Na camada fsica so encontrados trs tipos de arquivos os DATA FILES,

REDO LOGS e os CONTROLFILES, como demonstrado na imagem abaixo:

Figura 43 - Arquitetura do banco de dados Oracle.13

A camada lgica do banco de dados composta pelos seguintes elementos:

TABLESPACES e ESQUEMA DE DADOS, como mostra a imagem abaixo:

13
Disponvel em:
http://aprenderOracle.com/2011/05/28/arquitetura-do-banco-de-dados/
81

Figura 44 - Tablespaces e esquema de dados.14

Em termos gerais podemos considerar que as caractersticas de abstrao do Oracle

Convencional no diferem do banco de dados Oracle DATA GUARD.

3.3.1.2 Flexibilidade

De acordo com Sousa (2011), os SGBDS convencionais apresentam menor

flexibilidade se comparado aos ambientes distribudos, por necessitar de tcnicas de

implementao e configurao para edio ou excluso de recursos computacionais em nvel

de software e hardware. Essa afirmao tambm verificada por Baransel (2013), O Oracle

Data Guard tem grande flexibilidade em relao ao Oracle convencional, devido

possibilidade adio de recursos das bases de standby, como sugere a imagem abaixo:

14
Disponvel em:
https://docs.Oracle.com/cd/B19306_01/server.102/b14220/physical.htm
82

Figura 45 - Flexibilidade da topologia.15

3.3.1.3 Consistncia Dos Dados

Segundo Leite (2010), os SGBDs convencionais permitem a utilizao dos acessos de

vrios usurios, atravs da utilizao de bloqueios, entretanto, nestes modelos o excesso de

verificaes de consistncia pode prejudicar o desempenho do banco de dados. De acordo

com Loney (2007), a arquitetura Oracle implementa uma soluo que utiliza seguimentos

UNDO para armazenar os blocos de dados antigos e fornecer os resultados antigos as

consultas anteriores ao COMMIT.

De acordo com Baransel (2013), a estratgia de consistncia de dados, implementada

pela Oracle a base da estrutura de replicao do Data Guard, pois , com execuo das

instrues contidas nos ARCHIVEs que as bases de standby so sincronizadas com as bases de

produco, como mostra a imagem abaixo:

15
Disponvel em:
http://pt.slideshare.net/MySQLBR/desenvolvendo-servios-de-alta-performance-com-apis-nosql-para-mysql
83

Figura 46 - Consistncia de dados.16

3.3.1.4 Desempenho De Acesso

Para Baransel (2013), a elaborao de instrues DQL - Data Query Language -

Linguagem de consulta de dados, tem grande contribuio na perda de desempenho dos

bancos de dados. Vale ressaltar, que o planejamento do hardware tem grande importncia no

desempenho, como mencionado por Morimoto (2010), o planejamento da estrutura de

hardware e software disponvel, tem grande influncia no desempenho das consultas. De

acordo com Babineau (2006), a implementao do Data Guard, possibilita o ganho de

desempenho atravs do balanceamentos das instrues de DQL, que podem ser executadas

diretamente nas bases de standby, deixando as bases de produo livres desta carga de

processamento, como pode ser observado na imagem abaixo:

16
Disponvel em:
http://www.profissionalOracle.com.br/gpo/artigo/banco-de-dados/banco-Oracle/538-introducao-ao-
Oracle-data-guard
84

Figura 47 - Desempenho de acesso.17

Segundo Pedregal (2010), os benefcios ao desempenho do banco com a distribuio

dos processos na estrutura de Data Guard, tambm podem observados durante a construo

dos backups, pois usar a opo de compresso avanada do Oracle na base de standby

significativamente mais rpida e eficiente em termo de overhcad de CPU, como demonstra o

quadro abaixo:

DESEMPENHO DE BACKUP EM ORACLE CONVENCIONAL E


ORACLE DATAGUARD
TESTES REALIZADOS ORACLE ORACLE
CONVENCIONAL DATAGUARD
VELOCIDADE PARA DADOS 10 MBPS (RMAN) 35 MBPS (RMAN)
COMPRIMIDOS
VELOCIDADE PARA DADOS NO 40 MBPS (RMAN) 50 MBPS (RMAN)
COMPRIMIDOS
TEMPO DE BACKUP TOTAL PARA 2 a 6 horas 2 horas
250 GB
TEMPO DE BACKUP INCREMENTAL 30 minutos a 1 hora Menos de 20 minutos
10 % DELTA
Quadro 1 - Comparao de desempenho entre os modelos de BD Oracle

3.3.1.5 Segurana

17
Disponvel em: http://www.datadisk.co.uk/html_docs/Oracle_dg/redo.htm
85

De acordo com Sousa et al. (2010), a utilizao de criptografia na implementao de

tcnicas de segurana influencia negativamente no tempo de resposta das consultas, e sabendo

que essa uma pratica comum em bancos de dados convencionais. Podemos considerar que a

possibilidade de utilizao de bases secundarias, onde os usurios tenham privilgios somente

para executar consultas, fora os nveis de segurana sem a necessidade de criptografia.

3.3.1.6 Disponibilidade

Os SGBDs convencionais geralmente oferecem disponibilidade, a partir de

ferramentas complementares que proporcionam balanceamento da carga e redundncia para

essas estruturas. Segundo Babineau (2006), a estrutura de Data Guard dispe dos recursos de

FAILOVER e SWITCHOVER para o site de contingncia em at vinte segundos.

3.3.1.7 Custo

A utilizao da estrutura convencional do Oracle, apresenta valores menores em relao

estrutura distribuda do Data Guard, devido a necessidade configurao de novos sites.

4 CONSIDERAES FINAIS

O presente trabalho demonstra que, em face aos critrios observados, possvel notar

que os ambientes distribudos em Data Guard so extremamente dependentes da largura de

banda de internet, necessitando de uma conexo de alto padro para atender a base de dados.

Ainda assim, nesse projeto foi observado que do ponto de vista da flexibilidade,
86

disponibilidade e desempenho, o Data Guad leva vantagem em relao ao modelo tradicional

de SGBD da Oracle proporcionando maior segurana, disponibilidade e consistncia dos

dados.

Na fase de implementao do ambiente distribudo em Data Guard, em uma das

farmcias do grupo de farmcias mencionado anteriormente, no qual estava ocorrendo um

grande transtorno na administrao das entradas e sadas de seus funcionrios, foi possvel

identificar um ganho significativo onde foi reduzindo assim de 40 para 5 horas o tempo

necessrio para a coleta dos dados.

Bancos de dados a evoluo do armazenamento de arquivos de dados tradicionais,

onde estes ltimos consistiam em bases mantidas manualmente consequentemente eram de

difcil administrao. Os SGBD com o passar dos anos esto se tornando cada vez mais em

tecnologias totalmente otimizadas com alto grau de independncia, integridade e consistncia

dos dados. O Oracle Data Guard simboliza certamente que as ferramentas e tecnologias

aplicadas em bancos de dados tende a evoluir ao longo do tempo com o surgimento de novos

servios que permitam otimizar questes de disponibilidade e desempenho de sistemas

REFERENCIAS BIBLIOGRFICAS

ANDRADE, Luciano Duarte. Otimizao de Consultas de Aplicaes T-SQL em ambiente


SQL Server 2000. Disponvel em:
http://disciplinas.dcc.ufba.br/pub/MATA67/TrabalhosSemestre20051/Monografia_Luciano_
Andrade.pdf. Acesso 13 nov. 2016.

BABINEAU, B. (Novembro de 2006). Oracle Data Guard Dobra Proteo para o Banco de
Dados e Recuperao de Catstrofe. So Paulo-SP: Enterprise Strategy Group.
87

BARANSEL, E., & BASHA, N. (2013). Oracle Data Guard 11gR2 Administration
Beginner's Guide. Bermingham, Mumbai : Packt Publishing LTD.

BRUSCHI, S. M. (2015). SSC643-Avaliao de Desempenho de Sistemas Computacionais.


So Paulo- SP: Instituto de Cincia Matemtica e da Computa, Universidade de So Paulo.

CARVALHO, L. G. (2003). Mtricas e Anlise de Desempenho da Universidade Central de


Processamento . Barbacena-MG: Monografia apresentada Universidade Presidente Antnio
Carlos- Camps Magnus.

COSTA, E. R. (2011). Banco de Dados Relacionais . So Paulo-SP: Trabalho de Concluso


de Curso Apresentado Faculdade de Tecnologias de So Paulo.

COSTA, H. L. (2009). Alta Disponibilidade de Balanceamento de Carga para Melhoria de


Sistemas Computacionais Crticos Usando Sofware Livre: Um Estudo de Caso . Viosa-
MG: Dissertao Apresentada Universidade Federal de Viosa.

DATE, C. J. (2003). Introduo a Sistemas de Banco de Dados. 8 ed. Rio de Janeiro:


Elsevier.

ELMASRI, R., & NAVATHE, S. B. (2011). Sistemas de Banco de Dados. 6. ed. So Paulo:
Addison Wesle.

FREEMAN, R. G. (2008). Oracle Database 10g: New Features. EUA: Osborne.

LEITE, Gleidson Sobreira. Anlise Comparativa do Teorema CAP entre Bancos de Dados
NoSQL e Bancos de Dados Relacionais. Disponvel em:
http://www.ffb.edu.br/visao/comp/tcc/TCC-20102-Gleidson-Sobreira-Leite.pdf. Acesso 06
nov. 2016.

LONEY, K., & THERIAULT, M. (2005). O Manual do DBA. So Paulo: Campus.

MATTOS, Renato. Programao de Banco de Dados - parte 6. Disponvel em:


http://www.linhadecodigo.com.br/Artigo.aspx?id=514. Acesso 23 nov. 2016.

MORIMOTO, Carlos E. Hardwares de servidores: uma introduo. Disponvel em:


http://www.hardware.com.br/dicas/hardware-servidores.html. Acesso 14 out. 2016.
88

MURARA, Sandro. Evoluo dos Mtodos de Otimizao de Performance em Banco de


Dados Oracle. Disponvel em: www.inf.ufsc.br/erbd2008/palestras/sandro/SandroSGM.pps.
Acesso 05 nov. 2016.

OLIVEIRA, P. C., PARISOTTO, R. M., & SIMES, R. D. (2009). Alta Disponibilidade em


Sistemas de Banco de Dados Oracle . So Paulo-SP: Trabalho de Graduao apresentado na
Universidade Anhembi Morumbi.

ZSU, M. T. (2001). Princpios de Sistemas de banco de dados distribuidos.

PEDREGAL, C., HODAK, B., & OLAGAPPAN, M. (Maio de 2010). Backups de Bancos de
Dados fora do local armazenados em nuvem . So Paulo-SP: Oracle do Brasil Sistemas
LTDA.

RAMOS, N. A. (28 de novembro de 2008). Avaliao e Comparao de Desempenho de


Computadores: Metodologia e Estudo de Caso. Recife-PE: Trabalho de Graduao
apresentado ao Curso de Graduao em Engenharia da Computao da Universidade Federal
de Pernambuco .

SANCHES, Andr Rodrigo. (2005). Fundamento de Armazenamento e manipulao de


dados. Disponvel em: http://www.ime.usp.br/~andrers/aulas/bd2005-1/aula4.html. Acesso 23
out. 2016.

SANTOS, F. R. (Dezembro de 2011). Estudo Comparativo entre Bancos de Dados em


Servidores Convencionais e Banco de Dados em Nuvem. Salvador- BA: Universidade
Catlica de Salvador.

SETZER, V. W., & SILVA, F. S. (2005). Bancos de Dados: Aprenda o que so, melhore seu
conhecimento, construa os seus. So Paulo : Edgard Blucher.

SILBERSCHATZ, A., KORTH, H. F., & SUDARSHAN, S. (1999). Sistema de Banco de


Dados. 3. ed. So Paulo: Makron Books.

SILVA, A. A. (2014). Virtualizao e Administrao de Servidores com o XEN: Um Estudo


no Instituto Federal do Cear. Vila Velha-CE: Monografia apresentada Escola Superior
Aberta do Brasil (ESAB).

SILVA, J. M. (Julho de 2009). Estudo e Construo de um Ambiente de Alto Desempenho


Utilizando Cluster Computacional. Teresina-PI: Trabalho de Concluso de Curso
apresentado Universidade Federal do Piau, Centro de Cincias da natureza no
Departamento de Informtica e Estatstica .
89

SODR, M. G., & SOUZA, S. M. (Janeiro de 2007). Uma Anlise Corporativa de


Metodologias para Governana de Tecnologia da Informao ITIL e COBIT.
Florianpolis-SC: Trabalho de Concluso de Curso Apresentado Universidade Federal de
Santa Catarina,Cincias da Computao Departamento de Informtica e Estatistica .

SOUSA, H. D. (2011). O conceito de tuning aplicado em instrues SQL dentro de um


Banco de Dados Oracle. Monografia (graduao) - Universidade Nove de Julho(UNINOVE).
So Paulo: Campus Memorial Barra Funda.

SOUSA, Flvio R. C. et al. Gerenciamento de dados em Nuvem: Conceitos, Sistemas e


Desafios. Disponvel em:
http://www.es.ufc.br/~flavio/files/Gerenciamento_Dados_Nuvem.pdf. Acesso 18 set. 2016.

SOUSA, Flvio R. C. et al. Computao em nuvem: Conceitos, Tecnologias, Aplicaes e


Desafios. Disponvel em: http://www.es.ufc.br/~flavio/files/Computacao_Nuvem.pdf. Acesso
17 set. 2016.

TALMA, T. M. (Fevereito de 2006). Desenvolvimento de Software de Auxlio ao Fluxo e ao


Compartilhamento de Informaes Administrativas em Ambientes Empresariais . Juiz de
Fora-MG: Monografia Apresentada Univerdidade Federal de Juiz de Fora, Curso de
Engenharia da Computao.

TOSADORE, R. D. (2012). Virtualizao: Alto Disponibilidade, Performance e Reduo de


Custos. Santa Barbara D'Oeste: Trabalho de Concluso de Curso aprensentado Faculdade
Politec Superior de Tecnologia em Redes de Computadores.

VIANA, M. J. (2012). XenServe 6 FREE. Cuiab: Embrapa Milho Sorgo.

WATSON, & BERSINIC. (2006). Oracle Database 10g: RMan Backup e Recovery . USA:
Oracle.

YORDON, E. (1985). Anlise Estrutura Moderna. Campus.