SISTEMA WEB DE MONITORAMENTO PARA BANCO DE DADOS ORACLE

Documentos relacionados
FERRAMENTA WEB PARA AUXÍLIO À GERÊNCIA DE ERROS CONHECIDOS E PROBLEMAS COM BASE EM ITIL

SIGERIS SISTEMA DE GESTÃO DE REDES DE INFRAESTRUTURAS PREDIAIS 1 SIGERIS - SYSTEM OF MANAGEMENT OF PREDIAL INFRASTRUCTURE NETWORKS

SOFTWARE DE APOIO A GESTÃO DE SOLICITAÇÃO DE MUDANÇAS

GERENCIAMENTO DE SERVIÇOS DE TI BASEADO EM ITIL *

SSC531 Gestão de Sistemas de Informação Gerenciamento de Serviços de TI ITIL e CobIT

ITIL v3 Desenho de Serviço Parte 1

Sistema web de Monitoramento para Banco de. Acadêmico: Giovani Tercílio Moser Orientador: Cláudio Ratke 2013/2

POLÍTICA PCT 007 GERENCIAMENTO DE RISCOS E CONTROLES INTERNOS

Gestão da Tecnologia da Informação

Governança em TI PROFA. DRA. ELISA YUMI NAKAGAWA. SSC 531 Gestão de Sistemas de Informação. 2. Semestre de 2016

Introdução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s

Processo de gerenciamento da disponibilidade

Sistema de Gestão de Clubes Recreativos e Esportivos

ADMINISTRAÇÃO DE SISTEMAS DE INFORMAÇÃO. Unidade VI Planejamento Estratégico de TI. Luiz Leão

3) Qual é o foco da Governança de TI?

Sistemas de Informação. Governança de TI

POLÍTICA DE SEGURANÇA DA INFORMAÇÃO PÚBLICA

SISTEMA WEB ESCOLAR PARA RESERVA DE RECURSOS DIDÁTICOS UTILIZANDO RBC

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini /

Por: Thiago Wilvert. Orientador: Oscar Dalfovo

Módulo Contexto da organização 5. Liderança 6. Planejamento do sistema de gestão da qualidade 7. Suporte

Auditoria de controles organizacionais. Prof. Dr. Joshua Onome Imoniana

POLÍTICA DE TECNOLOGIA DA INFORMAÇÃO

Fundamentos de Gestão de TI

GERENCIAMENTO DE DADOS Exercícios

SAM GERENCIAMENTO DE ATIVOS DE SOFTWARE

CIDADÃO FISCAL: APLICATIVO PARA A ABERTURA E ACOMPANHAMENTO DE PROCESSOS NO SETOR DE OUVIDORIA DA PREFEITURA MUNICIPAL DE BLUMENAU

POLÍTICA DA CENTRAL DE SERVIÇO DE TI. Versão 1.0 GERÊNCIA CORPORATIVA DE TECNOLOGIA DA INFORMAÇÃO

Banco de Dados. SGBD - Sistema de Gerenciamento de Banco de Dados Parte 1. Prof. Leonardo Vasconcelos

SUPORTE TÉCNICO. Processo de implantação e atendimento do Suporte Técnico

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

FERRAMENTA DE CÁLCULO E GERENCIAMENTO DE ESTIMATIVAS DE SOFTWARE

Documentos pessoais e assinatura do cliente. (Ao assinar abaixo, o cliente concorda com todos os termos e as condições definidas no presente acordo.

Universidade Federal da Paraíba CCEN Departamento de Informática Disciplina: Banco de Dados. Aula 1 Introdução a Banco de Dados

ara entender os Sistemas Gerenciadores de Banco de Dados é importante conhecer

Software de registro e controle de não conformidades segundo o padrão ISO 9001:2008

Bancos de Dados Notas de Aula Introdução Prof. Dr. Daniel A. Furtado

4. Desenvolvimento e Operacionalidade 5. Resultados e Conclusões 6. Extensões 7. Demonstração do Sistema

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

APLICAÇÃO DA TÉCNICA TEXT MINING PARA AUXÍLIO NA CLASSIFICAÇÃO DE INCIDENTES DE SERVICE DESK

Unidade 1 Introdução

Sistemas da Informação. Banco de Dados I. Edson Thizon

SISTEMA DE GERENCIAMENTO DE BANCO DE DADOS - SGBD

Ciclo de vida do projeto x do

Treinamento e-learning. Interpretação e implantação da ISO 9001:2015

Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo

Prof. Victor Dalton COMPARATIVO. PMBOK x ITIL x COBIT

Introdução à Banco de Dados

PORTAL WEB PARA INTEGRAÇÃO DAS PIZZARIAS DE RIO DO SUL

Normas ISO:

IDENTIFICAÇÃO DO ESCOPO DE SOFTWARE A PARTIR DA ANÁLISE DE REQUISITOS UTILIZANDO A UML

Formação Técnica em Administração. Modulo de Padronização e Qualidade

BANCO DE DADOS. Introdução. Prof. Marcelo Machado Cunha

GERENCIAMENTO INTEGRADO DE RISCOS CORPORATIVOS, CONTROLES INTERNOS E COMPLIANCE. Histórico de Revisões. Elaboração do Documento.

UNIVERSIDADE REGIONAL DE BLUMENAU CURSO DE SISTEMAS DE INFORMAÇÃO - BACHARELADO. Eduardo Cesar Eberle Prof. Wilson Pedro Carli, Orientador

Mateus Viel. Prof. Cláudio Ratke, Orientador

DESENHO DE CARGOS E TAREFAS

AULA 02 Qualidade em TI

Aula 2 BD Introdução. Profa. Elaine Faria UFU

Data Warehouse ETL. Rodrigo Leite Durães.

! Introdução. " Motivação para Processos de Software. ! Processo Unificado (USDP) " Definições " RUP x USDP " Características do Processo Unificado

Conceitos Básicos. Fundação Centro de Análise, Pesquisa e Inovação Tecnológica Instituto de Ensino Superior - FUCAPI. Disciplina: Banco de Dados

Banco de Dados. Introdução. Profa. Flávia Cristina Bernardini

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini /

3 Arquitetura do Sistema

Seqüência da Apresentação Introdução Objetivos Fundamentação teórica Sistema atual Trabalhos correlatos Desenvolvimento do sistema Operacionalidade da

Introdução. O que é um Banco de Dados (BD)?

PSP: Personal Software Process. PSP- Personal Software Process. PSP: Personal Software Process. PSP: Personal Software Process

SISTEMA DE GESTÃO ERP

Processo de gerenciamento de capacidade

SISTEMA DE AUTOMAÇÃO DE PROCESSO DE VENDAS APLICADO À EMPRESA PINTARELLI INDUSTRIAL

Engenharia de Software

Curso Online de E-commerce. Plano de Estudo

APLICAÇÃO DA ENGENHARIA DE REQUISITOS E ESPECIFICAÇÃO DE REQUISITOS NA IDENTIFICAÇÃO DE ESCOPO DE SISTEMA

Áreas de Conhecimento, Técnicas de Análise de Negócio e Conceitos-Chave

Institui a Política de Gestão de Riscos - PGR do Ministério da Transparência, Fiscalização e Controladoria-Geral da União - CGU.

MANUAL PARA DESENVOLVIMENTO DE SOFTWARE TRABALHO DE CONCLUSAO DE CURSO EM SISTEMAS DE INFORMAÇÃO

Administração de Projetos

Sistemas de Computação e de Informação

Plano de Testes VideoSystem

PROJETO DE BANCO DE DADOS

Sistema Gestor de Bancos de Dados (SGBD)

COMENTÁRIO DA PROVA DO BNDES/2008 CESGRANRIO. Prof. Leonardo Rangel

Objetivos do módulo. Durante este módulo iremos:

COMPANHIA RIOGRANDENSE DE SANEAMENTO A Vida Tratada Com Respeito

Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo

Tornando acessível a tecnologia e os melhores serviços

GOVERNANÇA EM TIC TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO. Escrito por Alexandre Luna Thaysa Paiva

Projeto II: Elaboração dos Modelos de Requisitos Funcionais e Não Funcionais do Sistema de Apoio às Atividades dos Laboratórios de Física

ESPECIFICAÇÃO DE PROJETO AUTOR(ES) : João

DUMA: AUTOMAÇÃO DE FICHA TÉCNICA PARA EMPRESA DE PEQUENO E MÉDIO PORTE

Desenvolvimento do Sistema de Intermediação para Prestadores de Serviço KLEITON STIVEN FINGER ORIENTADOR: PROF. OSCAR DALFOVO, DOUTOR

Por Carolina de Moura 1

Rational Unified Process (RUP)

Transcrição:

UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE SISTEMAS DE INFORMAÇÃO BACHARELADO SISTEMA WEB DE MONITORAMENTO PARA BANCO DE DADOS ORACLE GIOVANI TERCÍLIO MOSER BLUMENAU 2013 2013/2-14

GIOVANI TERCÍLIO MOSER SISTEMA WEB DE MONITORAMENTO PARA BANCO DE DADOS ORACLE Trabalho de Conclusão de Curso submetido à Universidade Regional de Blumenau para a obtenção dos créditos na disciplina Trabalho de Conclusão de Curso II do curso de Sistemas de Informação Bacharelado. Prof. Cláudio Ratke, Mestre Orientador BLUMENAU 2013 2013/2-14

SISTEMA WEB DE MONITORAMENTO PARA BANCO DE DADOS ORACLE Por GIOVANI TERCÍLIO MOSER Trabalho aprovado para obtenção dos créditos na disciplina de Trabalho de Conclusão de Curso II, pela banca examinadora formada por: Presidente: Membro: Membro: Prof. Cláudio Ratke, Mestre Orientador, FURB Prof. Miguel Alexandre Wisintainer, Mestre FURB Prof. Everaldo Artur Grahl, Mestre FURB Blumenau, 02 de dezembro de 2013.

Dedico este trabalho a minha mãe, noiva e todos os amigos, especialmente aqueles que me ajudaram diretamente na realização deste.

AGRADECIMENTOS A Deus, pelo seu imenso amor e graça. À minha mãe, Terezinha Dias Borges, que nunca deixou de me apoiar e ajudar em todos os momentos da minha vida. À minha noiva, Aline Pollermann, que sempre me apoiou e incentivou para a conclusão deste trabalho e da graduação. Aos meus amigos, que ajudaram em todos os momentos da graduação. Ao meu orientador, professor Cláudio Ratke, por ter acreditado na conclusão deste trabalho. Aos professores do Departamento de Sistemas e Computação da Universidade Regional de Blumenau por suas contribuições durante os semestres letivos.

Se uma pessoa começa com certezas, terminará em dúvidas; mas se ela estiver disposta a começar com dúvidas, acabará em certezas. Francis Bacon

RESUMO O presente trabalho demonstra o desenvolvimento de um sistema web para monitorar o banco de dados Oracle. A degradação do desempenho e paradas constantes pode indicar a uma determinada organização a necessidade de uma manutenção no banco de dados, a fim de evitar que tal falha aconteça, tomando uma ação proativa. Um sistema de monitoração foi desenvolvido para efetuar tal monitoramento com gráficos e um cálculo para estimar como determinado serviço ou recurso estará em uma data futura. O monitoramento é separado em dois segmentos: evento e baseline. Todos os monitoramentos sejam de eventos ou baselines, são efetuados através de scripts que podem ser cadastrados a qualquer momento no sistema, sem a necessidade da alteração do código-fonte, deixando o sistema mais customizado conforme a necessidade de cada organização. Como resultado do sistema elaborado obteve-se um monitoramento automatizado do banco de dados onde está sendo classificado em dois segmentos distintos: baseline e evento. Com o registro do baseline é possível gerar o gráfico com uma previsão futura a fim de auxiliar na tomada de decisão da organização, seja na manutenção ou troca de um equipamento. Já o registro de eventos procura contribuir para manutenção de determinado elemento que está sendo monitorado, sendo classificado em três categorias: informação, aviso e exceção. Palavras-chave: Banco de dados. Monitoramento. Oracle.

ABSTRACT This paper demonstrates the development of a web system to monitor Oracle database. The performance degradation and constant stops may indicate the organization a need for an maintenance the database in order to prevent this failure from happening by taking a proactive action. The monitoring system was developed to perform such monitoring with graphics and a calculation to estimate how particular service or feature will be at a future date. Monitoring is splited into two segments: event and baseline. All are monitoring events or baselines are performed through scripts that can be registered at any time in the system, without changing the source code, making the system more customized according to the needs of each organization. As a result of the elaborate system gave an automated monitoring of the database which is being classified into two distinct segments: baseline and event. With the registration of the baseline is possible to generate the graph with a forward-looking statement to assist the organization in making the decision, whether the maintenance or replacement of equipment. Have the record of events aims to contribute to the maintenance of certain element that is being monitored and is classified into three categories: information, warning and exception. Key-words: Database. Monitoring. Oracle.

LISTA DE FIGURAS Figura 1 Representação simplificada de um sistema de banco de dados... 19 Figura 2 Ciclo de vida de acordo com o modelo ITIL... 24 Figura 3 Macro funcionalidades do Gerenciamento de Capacidade.... 26 Figura 4 Princípios do COBIT... 28 Figura 5 Tela de Cadastro de Servidor SQL Server... 31 Figura 6 Tela Principal do Sistema NetDBA... 32 Figura 7 Diagrama de atividades do registro de eventos... 34 Figura 8 Diagrama de atividades do registro de baseline... 35 Figura 9 Diagrama de casos de uso... 37 Figura 10 Diagrama de Casos de Uso do Módulo Administrador... 38 Figura 11 Diagrama de casos de uso do Módulo Cliente... 38 Figura 12 Modelo Entidade Relacionamento... 39 Figura 13 IDE NetBeans 7.3.1... 40 Figura 14 Tela inicial do sistema... 41 Figura 15 Tela inicial do módulo DBA... 42 Figura 16 Tela inicial do módulo cliente... 43 Figura 17 Tela de cadastro de usuários... 44 Figura 18 E-mail enviado no cadastro do usuário... 44 Figura 19 Tela de cadastro de eventos... 45 Figura 20 Código fonte da ocorrência de evento... 46 Figura 21 Código fonte da ocorrência do baseline... 47 Figura 22 Tela de gráfico tipo linha para o baseline... 48 Figura 23 Tela de gráfico com previsão do baseline... 49 Figura 24 Código fonte cálculo do baseline previsto via regressão linear simples... 50

LISTA DE QUADROS Quadro 1 Fórmula da regressão linear simples... 30 Quadro 2 Método dos mínimos quadrados... 30 Quadro 3 Requisitos funcionais... 36 Quadro 4 Requisitos não funcionais... 36 Quadro 5 Comparativo do sistema com correlatos... 51 Quadro 6 Caso de uso efetuar login... 57 Quadro 7 Caso de uso manter usuário... 58 Quadro 8 Caso de uso manter evento... 58 Quadro 9 Caso de uso manter baseline... 59 Quadro 10 Caso de uso manter parâmetros gerais... 60 Quadro 11 Caso de uso Listar cadastro de usuários... 60 Quadro 12 Caso de uso listar cadastro de eventos... 61 Quadro 13 Quadro listar cadastro de baselines... 62 Quadro 14 Caso de uso listar eventos em aberto... 63 Quadro 15 Caso de uso gerar gráfico linha baseline... 64 Quadro 16 Caso de uso gerar gráfico pizza baseline... 64 Quadro 17 Caso de uso gerar gráfico previsão baseline... 65 Quadro 18 Tabela de usuários do sistema... 66 Quadro 19 Tabela com os parâmetros gerais do sistema... 67 Quadro 20 Tabela de eventos cadastrados... 67 Quadro 21 Tabela das ocorrências de eventos... 68 Quadro 22 Tabela de baselines cadastrados... 69 Quadro 23 Tabela das ocorrências de baseline... 70 Quadro 24 Tabela temporária do baseline previsto... 70 Quadro 25 Tabela temporária de cálculo da regressão linear... 71

LISTA DE SIGLAS AD Administrador de Dados AJAX Asynchronous JavaScript and XML ANS Acordo de nível de serviço ANSI American National Standards Institute CCTA Central Communications and Telecom Agency COBIT Control Objectives for Information and related Technology CSS Cascading Style Sheets DBA Database Administrator EA Enterprise Architect HTML HyperText Markup Language IDE Integrated Development Environment ISACF - Information Systems Audit and Control Foundation ISO International Standards Organization ITGI IT Governance Institute ITIL Information Technology Infrastructure Library MER Modelo Entidade Relacionamento OGC Office of Government Commerce PDF Portable Document Format PHP Hypertext Preprocessor PL/SQL Procedural Language/Structured Query Language SEQUEL Structured English Query Language SGBD Sistema de Gerenciamento de Banco de Dados SQL Structured Query Language

TI Tecnologia da Informação UML Unified Modeling Language XML extensible Markup Language

SUMÁRIO 1 INTRODUÇÃO... 15 1.1 OBJETIVOS DO TRABALHO... 17 1.2 ESTRUTURA DO TRABALHO... 17 2 FUNDAMENTAÇÃO TEÓRICA... 19 2.1 BANCO DE DADOS... 19 2.1.1 Administração de Banco de Dados... 21 2.1.2 Administração de Dados... 22 2.1.3 SQL Structured Query Language... 22 2.2 ITIL INFORMATION TECHNOLOGY INFRASTRUCTURE LIBRARY... 23 2.2.1 Gerenciamento de Capacidade... 25 2.2.2 Gerenciamento de Disponibilidade... 26 2.2.3 Monitoramento de Eventos... 26 2.3 COBIT CONTROL OBJECTIVES FOR INFORMATION AND RELATED TECHNOLOGY... 27 2.3.1 Monitorar e Avaliar... 29 2.4 REGRESSÃO LINEAR SIMPLES... 29 2.5 TRABALHOS CORRELATOS... 31 3 DESENVOLVIMENTO... 33 3.1 LEVANTAMENTO DE INFORMAÇÕES... 33 3.2 ESPECIFICAÇÃO... 35 3.2.1 Requisitos do sistema... 35 3.2.2 Diagramas de Caso de Uso... 37 3.2.3 Diagrama Modelo Entidade Relacionamento... 39 3.3 IMPLEMENTAÇÃO... 40 3.3.1 Técnicas e ferramentas utilizadas... 40 3.3.2 Operacionalidade da implementação... 41 3.4 RESULTADOS E DISCUSSÃO... 50 4 CONCLUSÕES... 53 4.1 EXTENSÕES... 54 REFERÊNCIAS... 55 APÊNDICE A Descrição dos Casos de Uso... 57

APÊNDICE B Descrição do Dicionário de Dados... 66

15 1 INTRODUÇÃO Na década de 1950 poucas pessoas acreditavam que o computador encontraria aplicações nas organizações e teria impacto sobre elas, o computador seria somente uma enorme máquina de somar realizando algumas tarefas operacionais. Com a ascensão da utilização dos computadores surgiu os sistemas de informação que podem ser considerados como um conjunto de componentes relacionados para coletar, manipular e disseminar dados e informações proporcionando um mecanismo de realimentação a fim de atingir um objetivo (DRUCKER, 2001). Segundo Stair e Reinolds (2011, p. 4) as quinhentas principais companhias gastam mais de um bilhão de dólares por ano, em Tecnologia da Informação (TI) e cada vez mais as pessoas tornam-se dependentes do uso de sistemas de informação. De acordo com Ramakrishnan e Gehrke (2008, p. 2) na sociedade moderna nos deparamos diariamente com sistemas de informação que utilizam banco de dados. Por exemplo, em transações bancárias, em reservas de voo ou hotel, ao efetuar compras on-line, são exemplos de sistemas que possuem banco de dados e manter informações organizadas e poder resgatá-las, sem faltar nenhum fragmento sempre que necessitar, é a principal missão dos bancos de dados. O banco de dados é uma coleção de dados que podem descrever as atividades das organizações relacionadas. O Sistema de Gerenciamento de Banco de Dados (SGBD) serve para, auxiliar na manutenção e utilização dos conjuntos de dados relacionados. Este tipo de sistema está em rápido crescimento de utilização (RAMAKRISHNAN; GEHRKE, 2008). De acordo com Matsumoto (2006, p. 46) muitas informações dos bancos de dados, contêm informações valiosas para a tomada de decisão das organizações. É possível, através das informações contidas nos bancos de dados, obter um melhor conhecimento com maior inteligibilidade para alcançar as melhores decisões, diminuindo as incertezas dos negócios. O Database Administrator (DBA), tem a responsabilidade de algumas tarefas críticas no banco de dados: compreender quais dados necessitam ser armazenados e como provavelmente será sua utilização; assegurar que não seja permitido acesso aos usuários que não necessitam de determinadas informações; procurar aumentar a disponibilidade e em caso de falhas, ter uma recuperação eficiente e rápida; modificar o banco de dados para melhor desempenho conforme alterações dos requisitos (RAMAKRISHNAN; GEHRKE, 2008).

16 Com o grande avanço da tecnologia, as empresas necessitam de um maior cuidado com as informações mantidas no banco de dados e garantir seu perfeito funcionamento. Portanto, é comum a contratação de um DBA para exercer as atividades relativas ao banco de dados da empresa. Como o DBA possui um papel importante na empresa, uma ocasional perda de dados pode gerar um enorme prejuízo financeiro para a organização, o DBA necessita estar disponível a qualquer hora do dia para evitar que tal situação ocorra. Conforme Magalhães e Pinheiro (2007, p. 29) um dos instrumentos utilizados para adotar uma tendência proativa conforme as necessidades da organização é o gerenciamento de serviços de TI, que contribui na geração de valor. Visando alocar adequadamente os recursos e gerenciar de uma forma integrada, sendo percebida a qualidade do conjunto pelos clientes e usuários, evitando problemas na operação e entrega de serviços. Devido à importância que o banco de dados tem para as organizações é necessário garantir a disponibilidade destas informações. Muitas empresas possuem um sistema de controle de banco de dados totalmente manual, através de scripts que são executados pelo DBA, onde é comum ocorrer paradas no ambiente devido à falta ou ineficiência do monitoramento. Organizações que não possuem um serviço automatizado de monitoramento de banco de dados estão sujeitas a possibilidade de ocorrer frequentes paradas no ambiente, seja pela degradação do desempenho do banco de dados, estouro de tablespaces, locks de sessões de usuários, a não liberação de memória alocada quando não se é mais necessário que pode ocasionar memory leaks entre outros agentes que podem ocasionar diversos problemas. Sem o monitoramento efetivo do banco de dados não é possível medir a necessidade de atualizações nos softwares e hardwares relacionados ao banco de dados, de uma forma mais eficiente. Atualmente têm-se algumas ferramentas que auxiliam no monitoramento e manutenção do banco de dados que é efetuado pelo DBA. Porém, o custo ainda é elevado para se obter tal ferramenta que auxilie nestas tarefas. No caso do banco de dados escolhido, Oracle, além do valor da licença do banco de dados é necessário a compra de ferramentas adicionais para possuir estas funcionalidades. Diante da situação exposta, o presente trabalho aborda a criação de um sistema web para apoiar nestas tarefas, auxiliando os serviços prestados pelo DBA e deixando ciente o cliente como está o funcionamento de seu banco de dados que pode ser de extrema importância para a empresa. Além da possibilidade, com a análise dos gráficos gerados pelo sistema, projetar mudanças na infraestrutura como a atualização do banco de dados, adquirir

17 mais memória física ou mais discos rígidos para o servidor. Todo serviço de TI possui uma disponibilidade característica, serviços que não possuem ferramentas para auxiliar, são caracterizados pela disponibilidade básica. Com a implementação de ferramentas especializadas em detectar, recuperar e mascarar falhas, é possível aumentar a disponibilidade do serviço de TI enquadrando na classe de alta disponibilidade (MAGALHÃES; PINHEIRO, 2007). 1.1 OBJETIVOS DO TRABALHO O objetivo geral do trabalho é demonstrar um sistema de informação web para auxiliar no monitoramento de banco de dados Oracle, visando o aumento de sua disponibilidade utilizando algumas práticas do modelo de referência para gerenciamento dos processos de TI. Os objetivos específicos do trabalho são: a) monitorar eventos que possam prever uma parada no banco de dados; b) analisar desempenho do banco de dados; c) apontar sessões no banco de dados que estão consumindo demasiados recursos; d) gerar relatórios e gráficos com as informações relevantes do banco de dados como: quantidade de usuários conectados, memória em uso, espaço em uso nas tablespaces entre outros. 1.2 ESTRUTURA DO TRABALHO O presente trabalho é composto de quatro capítulos. No primeiro capítulo tem-se a introdução ao tema principal deste trabalho bem como a apresentação da justificativa e dos objetivos. No segundo capítulo apresenta-se a fundamentação teórica pesquisada sobre banco de dados, ITIL, COBIT, regressão linear e trabalhos correlatos. O terceiro capítulo apresenta o desenvolvimento do sistema iniciando-se com o

18 levantamento de informações, tendo na sequência a especificação do sistema com os requisitos, diagramas de caso de uso e o diagrama do Modelo Entidade Relacionamento (MER). Por fim é apresentado a implementação do sistema com as técnicas e ferramentas utilizadas bem como a operacionalidade da implementação. No quarto capítulo têm-se as conclusões deste trabalho, bem como é apresentado sugestões para trabalhos futuros.

19 2 FUNDAMENTAÇÃO TEÓRICA Este presente capítulo aborda o banco de dados e sua importância para os sistemas de informação, bem como sua utilização, algumas melhores práticas como o Information Technology Infrastructure Library (ITIL) e Control Objectives for Information and related Technology (COBIT), o cálculo de regressão linear simples e por fim são apresentados alguns trabalhos correlatos. 2.1 BANCO DE DADOS O banco de dados pode ser considerado como uma coleção de dados relacionados. É a coleção logicamente coerente de dados com algum significado inerente. Representa algum aspecto do mundo real, que pode ser chamado também de minimundo ou universo de discurso. Projetado, construído e populado com dados para alguma finalidade específica onde pode ter qualquer tamanho e complexidade. Os bancos de dados e suas tecnologias tem um impacto importante com o uso crescente dos computadores (ELMASRI; NAVATHE, 2011). Segundo Date (2004, p. 6) o sistema de banco de dados possui quatro principais componentes: dados, hardware, software e usuários. Figura 1 Representação simplificada de um sistema de banco de dados Fonte: Date (2004).

20 Segundo Ramakrishnan e Gehrke (2008, p. 4) o primeiro SGBD foi projetado por Charles Bachman, no início da década de 1960, chamado de Depósito de Dados Integrados. No final de 1960, a empresa IBM desenvolveu o SGBD Information Management System, que utilizava o modelo de dados hierárquico. Em 1970, com Edgar Codd, nascia o modelo de dados relacional. Na década de 1980, o modelo relacional começou a se difundir e foi adotado um padrão de linguagem de consulta chamado Structured Query Language (SQL). Entre 1980 e 1990 os bancos de dados tiveram um considerável avanço, linguagens de consulta mais poderosas e modelos de dados mais ricos surgiram. Hoje em dia existem diversos tipos e modelos de bancos de dados diferentes e em constante evolução. Conforme Elmasri e Navathe (2011, p. 3) banco de dados pode ser definido como uma coleção de dados relacionados. Porém, o termo banco de dados possui algumas propriedades subentendidas conforme a seguir: a) representar características do mundo real, conhecido também como minimundo ou universo de discurso, as mudanças refletem no banco de dados; b) uma coleção coerente de dados com certo significado pertinente, vários dados aleatórios podem não ser considerados um banco de dados; c) o banco de dados é projetado, construído e inserido os dados para alguma finalidade. Possui também, um grupo definido de usuários. Portanto, o banco de dados possui uma fonte que originam os seus dados, interações com acontecimentos do mundo real e pessoas interessadas nas informações contidas nele. O banco de dados ainda pode possuir qualquer tamanho e complexidade. Um bom exemplo de um grande banco de dados é o da Amazon.com, onde há dados de mais de vinte milhões de itens vendidos pela loja e com cerca de quinze milhões de acessos diários para efetuar transações (ELMASRI; NAVATHE, 2011). De acordo com Ramakrishnan e Gehrke (2008, p. 7) algumas vantagens na utilização de um SGBD são: a) aplicações não devem representar o armazenamento dos dados, o SGBD se encarrega de abstrair estes detalhes; b) utilização de métodos para armazenar e recuperar dados de uma forma eficaz; c) o SGBD pode impor restrições para garantir a integridade dos dados e utilizar uma segurança no acesso controlando a visibilidade dos dados para os usuários; d) a administração dos dados, organizando para minimizar redundância das informações armazenadas a fim de melhorar significativamente a confiabilidade

21 dos dados; e) acesso concorrente aos dados onde o SGBD protege os usuários das causas de interrupções do sistema; f) suporta funções comuns para diversos aplicativos que acessam o banco de dados, facilitando o desenvolvimento de sistemas, tratando informações diretamente no banco de dados. Segundo Date (2004, p. 15) a utilização de sistemas com banco de dados possuem alguns benefícios se comparado com os métodos tradicionais. Se comparado com sistemas manuais armazenado em papel, o banco de dados possui uma maior densidade ocupando um menor volume, as informações precisas e atualizadas estão disponíveis para consulta a qualquer momento e os dados são mais bem protegidos contra perda ou acesso ilegal. 2.1.1 Administração de Banco de Dados Os dados são os bens mais preciosos de uma organização, portanto, é fundamental possuir uma pessoa para entender estes dados e as necessidades obtidas por eles em nível de administração. O administrador de banco de dados tem o trabalho de criar o banco de dados e desenvolver controles necessários para atender as regras que foram estipuladas pela organização referente ao banco de dados. Também, procura garantir um desempenho apropriado e oferece alguns serviços técnicos no banco de dados, sendo comum o contato com uma equipe de desenvolvimento e auxiliares técnicos (DATE, 2004). Em qualquer organização onde muitas pessoas utilizam os mesmos recursos, há uma necessidade de um administrador principal para supervisionar e gerenciar tais recursos. Em um ambiente de banco de dados, o recurso principal é o próprio banco de dados, e o recurso secundário é o SGBD e os softwares relacionados. A administração desses recursos é de responsabilidade do administrador de banco de dados. O DBA é responsável por autorizar o acesso ao banco de dados, coordenar e monitorar seu uso e adquirir recursos de software e hardware conforme a necessidade. Também é responsável por problemas como falhas na segurança e demora no tempo de resposta do sistema. (ELMASRI; NAVATHE, 2011). Portanto, pode se afirmar que o DBA é o profissional responsável por instalar, administrar e prestar suporte aos SGBDs, sempre procurando proporcionar a melhor segurança, disponibilidade e eficiência a toda base de dados. O DBA deve certificar que o banco de dados é rápido e que a performance do servidor não irá afetar negativamente em sua disponibilidade e usabilidade.

22 2.1.2 Administração de Dados Diferentemente do DBA, o Administrador de Dados (AD) possui a tarefa de manter atualizado o modelo de dados, bem como as estruturas lógicas e físicas dos dados, procurando preservá-los consistentes, de acordo com as regras do negócio definidas pela organização, independente da tecnologia utilizada. Assegurar a qualidade da informação para utilização pelos diversos setores da organização e participar de avaliações para implementação de soluções de automação que utilizam o conteúdo das bases de dados (BERRONDO, 2012). A Administração de Dados é mais evidente na fase de desenvolvimento dos sistemas de informação, como uma equipe centralizadora e diversas vezes impõe certa burocracia no atendimento das necessidades do negócio. Procura manter a aderência das estruturas de armazenamento de dados das soluções com as necessidades do negócio e aplicar as melhores práticas na administração das estruturas de dados (SANTOS, 2013). 2.1.3 SQL Structured Query Language Um dos principais motivos para o sucesso dos bancos de dados relacionais é a linguagem SQL onde foi estabelecido como padrão para este tipo de banco de dados, aumentando a portabilidade dos sistemas para diversos bancos de dados diferentes. Uma vantagem de adotar o padrão SQL é a possibilidade da utilização da mesma estrutura para consultar em bancos de dados distintos (ELMASRI; NAVATHE, 2011). O nome SQL hoje é expandido como Structured Query Language [...] originalmente SQL era chamada de Structured English QUEry Language (SEQUEL) e foi criada e implementada na IBM Research [...] a SQL agora é a linguagem padrão para SGDBs relacionais. Um esforço conjunto entre o American National Standards Institute (ANSI) e a International Standards Organization (ISO) levou a uma versão-padrão da SQL, chamada SQL-86 ou SQL1. Um padrão revisado e bastante expandido, denominado SQL-92 ou SQL2 foi desenvolvido mais tarde. O próximo padrão reconhecido foi SQL:1999, que começou como SQL3. Duas atualizações posteriores ao padrão são SQL:2003 e SQL:2006, que acrescentaram recursos de extensible Markup Language (XML) entre outras atualizações para a linguagem. Outra atualização em 2008 incorporou mais recursos de banco de dados de objeto na SQL. (ELMASRI; NAVATHE, 2011). No padrão SQL existem especificações para um catálogo padrão, conhecido como esquema de informações. Os termos de catálogo e esquema são ambos utilizados em SQL, porém com específicos significados voltados à SQL, o catálogo SQL consiste nos descritores para um banco de dados individual e o esquema SQL consistem nos descritores para a parte do banco de dados pertencente a determinado usuário individual (DATE, 2004).

23 2.2 ITIL INFORMATION TECHNOLOGY INFRASTRUCTURE LIBRARY Atualmente com a alta competitividade, mudanças inesperadas e constantes é essencial a agilidade e flexibilidade para recuperação de falhas e imprevistos, também estar preparado para se antecipar a estes eventos evitando que ocorram. Uma das preocupações atualmente das organizações é o gerenciamento de TI, com uma abordagem ampla e refletindo as atividades, responsabilidades e contribuições perante a organização (MAGALHÃES; PINHEIRO, 2007). A ITIL foi formada no final da década de 1980 pela Central Communications and Telecom Agency (CCTA), atual Office of Government Commerce (OGC), como um esforço para disciplinar e permitir a comparação entre as propostas dos diversos proponentes a prestadores de serviços de TI para o governo britânico, haja vista a grande adoção da metodologia de gerenciamento denominada outsourcing e da subcontratação de serviços de TI pelos seus diferentes órgãos, agências, e instituições, objetivando garantir um mínimo de padronização de atendimento em termos de processos, terminologia, desempenho, qualidade e custo. (MAGALHÃES; PINHEIRO, 2007). De acordo com Magalhães e Pinheiro (2007, p. 62) na década de 1990 organizações privadas começaram a adotar a metodologia ITIL com o enfoque em qualidade, definindo os processos e melhores práticas para gerenciar os serviços de TI. Atualmente a ITIL se tornou um padrão no segmento de TI. Portanto, a ITIL pode ser definida como um conjunto de melhores práticas para determinar procedimentos para o melhor funcionamento de TI. Devido ao aumento na utilização dos serviços de TI pelas organizações para auxiliar em suas atividades estratégicas e operacionais, a qualidade dos serviços entregues pelas áreas de TI está sendo cada vez mais exigida. E com a disseminação das melhores práticas para governança e gestão de TI, o ITIL é um dos padrões que mais se destaca. Com o objetivo de providenciar referências de como planejar, implementar, gerenciar, controlar e melhorar serviços de TI fundamentais para o negócio das organizações (FREITAS, 2010). Freitas (2010, p. 92) apresenta os objetivos de cada fase do ciclo de vida definido pelo ITIL, conforme apresentado a seguir: a) estratégia de serviço: busca modificar o gerenciamento de serviços em ativos estratégicos com a finalidade de deferir os objetivos estratégicos da organização; b) desenho de serviço: orienta a elaboração dos serviços de TI para garantir a qualidade do serviço, satisfação do cliente e compatibilidade entre custo e benefício na prestação de serviços;

24 c) transição de serviço: propõe o desenvolvimento de recursos para implementação de serviços novos ou modificados na operação de TI e assegura que os objetivos estabelecidos pela estratégia de serviço e planejados no desenho de serviço estão sendo realizados, buscando controlar e minimizar riscos de fracasso dos serviços; d) operação de serviço: indica como alcançar a eficácia e eficiência na entrega e suporte dos serviços para garantir o valor esperado pelo cliente e alcançar os objetivos estratégicos da organização; e) melhoria continuada de serviço: identifica resultados e auxilia na melhoria dos serviços juntando esforços com os ciclos de estratégia, desenho, transição e operação de serviços para criar ou manter o valor dos serviços. Na Figura 2 são demonstrados os processos do ciclo de vida que são sugeridos pela ITIL versão 3, que foi publicada em 2007 e posteriormente atualizada em 2011, para garantir a formação de valor para as organizações. Figura 2 Ciclo de vida de acordo com o modelo ITIL Fonte: Cestari Filho (2011). Como o ITIL é considerado um framework público e pode ser adotado por qualquer organização sem a necessidade de pagar royalties e sua aderência está cada vez maior. Devido as suas práticas de gerenciamento de serviços, pode ser aplicado em qualquer organização de TI, pois, não tem por base uma plataforma tecnológica ou tipo de indústria específica concedendo uma versatilidade maior. A flexibilidade proporcionada pela ITIL favorece em

25 sua implantação nas organizações, como não é um modelo prescritivo e sim uma fonte de melhores práticas, cada organização pode adaptar a fim de atender suas necessidades e de seus clientes. 2.2.1 Gerenciamento de Capacidade Este processo é responsável por disponibilizar recursos de infraestrutura no tempo certo, com volume adequado e custo adequado, para atender as demandas necessárias dos serviços de TI. O processo de Gerência de Capacidade pode ser dividido nos seguintes subprocessos: a) monitoração e desempenho; b) monitoração da carga de trabalho/demanda; c) dimensionamento da aplicação; d) projeção de recursos; e) projeção da demanda; f) estabelecimento de modelos. O gerenciamento de capacidade pode ser considerado um importante fator para monitorar, controlar e estimar as necessidades de aumento da capacidade da infraestrutura de TI, responsável pela política de atualização dos Itens de Configuração. Qualquer componente que necessita ser gerenciado em um serviço de TI pode ser considerado um Item de Configuração. Os mais comuns são: hardware, software, prédios, pessoas e documentações formais. Com o objetivo de entender os requisitos do negócio, a operação da organização e infraestrutura de TI e garantir a capacidade e performance atual e futura a um custo efetivo (FREITAS, 2010). Dentro deste processo deve ocorrer o balanceamento entre o custo versus a capacidade e fornecimento versus demanda. Portanto, gerenciamento da capacidade pode ser considerado como o equilíbrio entre estes parâmetros. Também responsável por abranger as vantagens possíveis que as novas tecnologias podem proporcionar para a organização (CESTARI FILHO, 2011).

26 Figura 3 Macro funcionalidades do Gerenciamento de Capacidade. Fonte: Cestari Filho (2011). 2.2.2 Gerenciamento de Disponibilidade Este processo procura determinar níveis de disponibilidade para os diversos serviços de TI através dos requerimentos do negócio. Com os níveis definidos, deve-se discutir com as áreas afetadas do cliente formalizando o acordo de nível dos serviços a serem prestados. Geralmente calculado com base em algum modelo de disponibilidade média e impactos decorrentes de falhas mapeados com alguma técnica em específica a ser adotada. É de extrema importância que seja controlado e gerenciado a disponibilidade dos serviços de TI das organizações. Possui como objetivo conseguir um mapeamento correto de todos os requisitos do negócio que estão associados à disponibilidade dos serviços de TI e busca aperfeiçoar a capacidade da infraestrutura para se alinhar a estas necessidades (CESTARI FILHO, 2011). Conforme Freitas (2010, p. 166) a disponibilidade pode ser medida com um percentual que é calculado em relação ao tempo total de disponibilidade de determinado período e o tempo de indisponibilidade do mesmo período utilizado. 2.2.3 Monitoramento de Eventos Anteriormente o suporte das empresas de TI se restringia somente com a configuração da infraestrutura e procedimentos de emergência em situações de falhas. Agora parte das atividades exercidas pelas equipes de TI está contando com o monitoramento constante dos sistemas, assegurando o correto funcionamento (CESTARI FILHO, 2011).

27 Os sistemas de monitoramento podem ser considerados como uma peça central de produtividade na organização. Com sua sistemática de avisos que são efetuados de diversas formas, podem também ser simplesmente rotinas ou inspeções automáticas de sistemas, ou complexas, com testes físicos, avaliando alguns pontos vitais de um sistema. Com o objetivo de reduzir os riscos de erros ou possibilidade de catástrofes na infraestrutura de TI da organização. A maioria das organizações necessita de monitoramento, não importando sua dimensão. Com simples aplicações de teste e alerta da infraestrutura em busca de anomalias ou soluções mais intensivas de monitoramento (MARTINS, 2011). O usuário não deve encontrar um erro de infraestrutura de TI antes da equipe responsável por administrar o ambiente, isto demonstra uma falha grave para um serviço de monitoramento eficiente. A diretoria e gerência também não devem ser informadas pelo usuário que existe algum problema em seu ambiente, e para procurar sanar estas situações deve-se utilizar algum tipo de monitoramento do ambiente de TI. Com o comprometimento dos responsáveis por monitorar este ambiente, pró-atividade e comunicação, a organização se tornará mais eficiente que seus concorrentes (MATARAZZO, 2011). 2.3 COBIT CONTROL OBJECTIVES FOR INFORMATION AND RELATED TECHNOLOGY Semelhante ao ITIL, o COBIT pode ser considerado como um guia para gestão de TI recomendado pelo Information Systems Audit and Control Foundation (ISACF). As práticas recomendadas pelo COBIT procuram auxiliar na otimização dos investimentos de TI e fornecer métricas para avaliar os resultados obtidos. Orientado ao negócio, o COBIT procura fornecer informações precisas para administrar os processos baseados nos objetivos do negócio. O COBIT foi criado em 1994 pela ISACF a partir do seu conjunto inicial de objetivos de controle e vem evoluindo através da incorporação de padrões internacionais técnicos, profissionais, regulatórios e específicos para processos de TI. Em 1998, foi publicada a segunda edição [...] A terceira edição foi publicada em 2000 pelo IT Governance Institute (ITGI). [...] O modelo evoluiu novamente em 2005 para a versão 4.0 através de práticas e padrões mais maduros. [...] Em 2007, houve uma atualização incremental. (FERNANDES. 2012). Conforme Fernandes (2012, p. 211) as informações corporativas e a tecnologia

28 fundamental para mantê-las não podem ser tratadas separadamente, devendo a TI ser classificada como uma parte complementar da estratégia corporativa. O principal objetivo das práticas sugeridas pelo COBIT é cooperar para o sucesso da entrega de produtos e serviços de TI, com a perspectiva das necessidades de negócio e com o foco mais voltado no controle que na execução. O COBIT tem como pilares fundamentais representados por cinco áreas que sustentam a governança de TI, conforme demonstra a Figura 4. Figura 4 Princípios do COBIT Fonte: Adaptado de Information Systems Audit and Control Association (2012). Para deferir aos cinco objetivos do COBIT, a área de TI, deve certificar que apresenta os processos definidos, documentados e seguidos por todos envolvidos nestas atividades. Não são desenvolvidos procedimentos nem recomendado atividades operacionais específicas para atender aos objetivos de controle. Com a atual dependência da TI nos negócios das

29 organizações, existe um aumento na procura de controle. As organizações necessitam compreender o seu desempenho e deve medir o progresso procurando a melhor competitividade em TI. O COBIT procura agregar as questões técnicas com aspectos referentes ao gerenciamento de riscos das diversas atividades desenvolvidas (FREITAS, 2010). 2.3.1 Monitorar e Avaliar Esta competência procura proporcionar a qualidade dos processos de TI, assim como a sua governança e conformidade com os objetivos de controle, utilizando-se mecanismos regulares para acompanhamento, monitoração de controles internos e de avaliações internas e externas (FERNANDES, 2012). A gestão eficaz de desempenho de TI exige um processo de monitoramento. Esse processo inclui a definição de indicadores de desempenho relevantes, informes de desempenho sistemáticos e oportunos e uma pronta ação em relação aos desvios encontrados. O monitoramento é necessário para assegurar que as atividades corretas estejam sendo feitas e que estejam em alinhamento com as políticas e diretrizes estabelecidas. (IT GOVERNANCE INSTITUTE, 2007). Para que o desempenho de TI seja monitorado e avaliado é necessário estabelecer uma estrutura de monitoramento geral que define o escopo, metodologia e processo a ser seguido a fim de avaliar a entrega dos serviços de TI e seus resultados. Definir metas de performance com a área de negócio para definir comparativos, coletar no tempo e maneira correta dados relevantes para demonstrar o progresso obtido. Procurando utilizar algum método de monitoramento para registro das metas com análise periódica do desempenho sempre com base nas metas estipuladas para obter uma ação corretiva em problemas detectados (IT GOVERNANCE INSTITUTE, 2007). 2.4 REGRESSÃO LINEAR SIMPLES Previsões são vitais para todas as organizações, é a base para todo planejamento corporativo em longo prazo. A previsão pode ser classificada em quatro tipos básicos: qualitativa, de análise de séries temporais, de relacionamento causal e de simulação. Os modelos de simulação permitem simular uma gama de suposições sobre a condição da

30 previsão. Estes modelos de previsões de séries temporais tentam prever o futuro baseando-se em dados passados. Por exemplo, os índices das vendas realizadas nas últimas seis semanas podem ser utilizados para prever as vendas dos próximos dias (CHASE; JACOBS; AQUILANO, 2006). A relação funcional entre duas ou mais variáveis correlacionadas pode ser definida como regressão. A regressão linear é utilizada para prever uma variável dada outra variável, o relacionamento é usualmente desenvolvido a partir de dados observados. Os dados devem ser interpretados graficamente para verificar se os dados são pelo menos em partes lineares. A regressão linear pode ser considerada como a classe especial da regressão, onde se tem o relacionamento das variáveis formando uma linha reta (CHASE; JACOBS; AQUILANO, 2006). Para calcular os valores dos pontos da reta gerada pela regressão linear é utilizado a fórmula apresentada no Quadro 1. Quadro 1 Fórmula da regressão linear simples = + + Y = Variável dependente, valor que se deseja obter α = Constante que representa a intersecção da reta com o eixo vertical β = Constante que representa a inclinação X = variável independente (na análise de séries temporais, X representa a unidade de tempo). ε = variável dos valores residuais e dos possíveis erros de medição. i = número de ocorrências. Fonte: Adaptado de Sartoris (2003). Para determinar os valores da reta de regressão normalmente é utilizado o método de mínimos quadrados, que pressupõe estimar uma reta com menos erro (AZEVEDO, 1997). Quadro 2. A fórmula para encontrar as constantes da regressão linear simples é demonstrada no Quadro 2 Método dos mínimos quadrados = = = + Fonte: Adaptado de Sartoris (2003).

31 Com esta fórmula é possível descobrir o valor do eixo y da reta somente alterando a variável independente x que possui um caráter temporal. Sendo que, com estes valores pode ser traçado a reta obtida pelo cálculo da regressão linear simples (SARTORIS, 2003). 2.5 TRABALHOS CORRELATOS Certos trabalhos merecem o destaque no ambiente de monitoramento e gerenciamento dos bancos de dados. O Trabalho de Conclusão de Curso de Marlon Rafael Schramm tinha por objetivo desenvolver uma solução de monitoramento de Sistemas de Gerenciamento de Banco de Dados do tipo SQL Server. Com ambiente web para gerenciar: memória, CPU, espaço em disco e IO para banco de dados SQL Server. Centralizando as informações com o SharePoint Foundation e validar com estudos de caso as funcionalidades (SCHRAMM, 2012). Na Figura 5 é demonstrado a tela do sistema para efetuar o cadastro de um servidor SQL Server. Figura 5 Tela de Cadastro de Servidor SQL Server Fonte: Schramm (2012). Segundo Schramm (2012, p. 54) com o trabalho desenvolvido foi possível monitorar

32 as instâncias do SQL Server da organização e disponibilizar no portal utilizando a plataforma colaborativa SharePoint Foundation 2010, com administração facilitada com relatórios e gráficos. Fornecendo assim informações importantes para análise do DBA. O trabalho de Rodrigo Luchtenberg teve como objetivo de desenvolver uma ferramenta web para administrar, monitorar e extrair dados de SGBD Oracle. Administrando o armazenamento, segurança, dicionário de dados e sessões do banco e extraindo informações, estatísticas e monitorar sentenças SQL e objetos (LUCHTENBERG, 2002). Conforme a seguir na Figura 6 demonstra a tela principal do sistema desenvolvido por Luchtenberg, que possui o nome de NetDBA implementada em ASP. Figura 6 Tela Principal do Sistema NetDBA Fonte: Luchtenberg (2002). Conforme Luchtenberg (2002, p. 53), com a ferramenta desenvolvida foi possível que qualquer usuário com permissão de acesso executar a monitoração e administração que o banco de dados Oracle necessita. Podendo executar as atividades serem realizadas remotamente fornecendo maior agilidade na resolução de problemas que ocorrem diariamente.

33 3 DESENVOLVIMENTO Neste capítulo estão descritos a particularidades técnicas do sistema demonstrado, tais como, a descrição do mesmo e a apresentação dos requisitos funcionais e não funcionais, diagrama de casos de uso e suas descrições e, diagrama entidade relacionamento e, também, principais componentes bem como as ferramentas e softwares a serem utilizados. 3.1 LEVANTAMENTO DE INFORMAÇÕES O sistema desenvolvido fundamenta-se em uma plataforma web para monitoramento de banco de dados Oracle, auxiliando nas tarefas diárias de um Administrador de Banco de dados. Procura aperfeiçoar as atividades exercidas agindo pró-ativamente com os resultados do monitoramento e pode evitar falhas inesperadas no banco de dados. O sistema possui dois módulos: sendo um para o administrador do banco de dados realizar suas atividades como: cadastro de usuários, eventos 1, baseline 2 e parâmetros gerais do sistema, e outro módulo voltado para o cliente, com informações do baseline cadastrado pelo administrador, com gráficos em formato de linha, em formato de pizza e previsão do baseline. O cadastro de eventos e baseline serão dinâmicos, onde podem ser criados novos monitoramentos somente com a inclusão de um script SQL no sistema, que deve ser avaliado pelo administrador do banco de dados. Através de uma rotina que executa a cada trinta segundos, o sistema executará todo o monitoramento cadastrado, seja de eventos ou baseline, isto conforme os parâmetros definidos ao cadastrar. Caso algum evento tenha sido sanado o sistema irá encerrar a ocorrência armazenando assim seu fechamento para histórico. O baseline será registrado em todo momento que executar, também conforme os parâmetros definidos anteriormente. 1 Evento é o termo usado para quando um alerta ou notificação é criado por qualquer serviço de TI, item de configuração ou ferramenta de monitoração. Eventos geralmente requerem uma ação da equipe de operações de TI e às vezes podem levar à geração e registro de incidentes. 2 Baseline é usado para comparar conjuntos de dados relacionados como parte de um exercício de comparação contínua. Por exemplo, um baseline recente de um processo pode ser comparado a uma linha de base prévia desse processo ou uma linha de base atual pode ser comparada aos dados do setor ou melhor prática.

34 Na Figura 7 é demonstrado o fluxo de todo o processo de monitoramento de eventos, que é realizado pela rotina cadastrada no banco de dados para execução dos eventos e baseline. Para o registro de eventos o sistema valida se o período de manutenção foi ativado, em caso positivo finaliza, caso contrário verifica se existe algum evento em aberto que foi solucionado para encerrar, após o sistema verifica se existe evento a ser executado e se o valor do evento atingiu os parâmetros de exceção, aviso ou informação, neste caso é verificado se o evento já está em aberto para atualizar, caso contrário abre novo evento. Figura 7 Diagrama de atividades do registro de eventos Na Figura 8 demonstra-se o diagrama de atividades para o registro do baseline, efetuado pelo sistema, pode ser notado que o baseline não possui diversas validações,

35 somente armazena os valores retornados da consulta para posterior análise. Figura 8 Diagrama de atividades do registro de baseline Para o desenvolvimento do sistema serão utilizadas as seguintes linguagens e frameworks: Procedural Language/Structured Query Language (PL/SQL), Hypertext Preprocessor (PHP), HyperText Markup Language (HTML), Cascading Style Sheets (CSS), JavaScript e Asynchronous Javascript and XML (AJAX) com o banco de dados Oracle. 3.2 ESPECIFICAÇÃO A especificação foi elaborada através da ferramenta Enterprise Architect (EA) utilizando a linguagem-padrão para modelar a estrutura de projetos de software Unified Modeling Language (UML). A UML é apropriada para modelagem de sistemas, é uma linguagem muito expressiva que abrange todas as visões necessárias ao desenvolvimento e implantação dos sistemas de informação (BOOCH; RUMBAUGH; JACOBSON, 2005). 3.2.1 Requisitos do sistema O Quadro 3 apresenta os requisitos funcionais do sistema e sua rastreabilidade, ou seja, vinculação com o caso de uso associado.

36 Quadro 3 Requisitos funcionais Requisitos Funcionais RF01: O sistema deve permitir ao usuário efetuar login no sistema. RF02: O sistema deve permitir ao administrador manter usuários. RF03: O sistema deve permitir ao administrador manter eventos. RF04: O sistema deve permitir ao administrador manter baseline. RF05: O sistema deve permitir ao administrador manter parâmetros gerais. RF06: O sistema deve permitir ao administrador visualizar os usuários cadastrados. RF07: O sistema deve permitir ao administrador visualizar os eventos cadastrados. RF08: O sistema deve permitir ao administrador visualizar os baselines cadastrados. RF09: O sistema deve permitir ao administrador visualizar os eventos em aberto. RF10: O sistema deve permitir ao usuário gerar gráfico de linha do baseline. RF11: O sistema deve permitir ao usuário gerar gráfico de pizza do baseline. RF12: O sistema deve permitir ao usuário gerar gráfico de linha com previsão do baseline. Caso de Uso UC01 UC02 UC03 UC04 UC05 UC06 UC07 UC08 UC09 UC10 UC11 UC12 O Quadro 4 lista os requisitos não funcionais previstos para o sistema. Sendo que devido à utilização de componentes da tecnologia HTML5 e outros frameworks para perfeito funcionamento o sistema desenvolvido possui como requisito não funcional a acessibilidade somente através do navegador Google Chrome. Quadro 4 Requisitos não funcionais Requisitos Não Funcionais RNF01: O sistema deve utilizar banco de dados Oracle. RNF02: O sistema deve ser desenvolvido com a linguagem PHP.

37 RNF03: O sistema deve ser acessível com navegador Google Chrome versão 26 ou superior. RNF04: O sistema deve permitir acesso somente para usuários cadastrados. RNF05: O sistema deve utilizar o framework Highcharts para gerar gráficos. 3.2.2 Diagramas de Caso de Uso Nesta subseção apresenta os diagramas de casos de uso do sistema para maior entendimento das funcionalidades e atores presentes no sistema. Figura 9 Diagrama de casos de uso O diagrama de casos de uso está dividido nos dois módulos que compõem o sistema, administrador e cliente, onde o administrador herda todas as atividades do usuário. Nas Figuras 10 e 11 serão demonstrados os casos de uso e seu relacionamento entre os módulos e atores, sendo que as descrições dos casos de uso estão descritas no apêndice A.

38 Figura 10 Diagrama de Casos de Uso do Módulo Administrador O diagrama de casos de uso do módulo administrador possui as tarefas que serão executadas somente pelo administrador do sistema. As atividades estão relacionadas ao cadastro e manutenção das informações bem como os eventos que estão em aberto no sistema. Figura 11 Diagrama de casos de uso do Módulo Cliente No diagrama de casos de uso do módulo cliente são encontrados os processos mais gerenciais relacionados ao sistema com os gráficos da visão atual em formato de linha e

39 formato de pizza, bem como o gráfico de linha para previsão futura utilizando a métrica da regressão linear simples. 3.2.3 Modelo Entidade Relacionamento Na Figura 12 é apresentado o MER contendo todas as tabelas persistidas no banco de dados para utilização do sistema. A modelagem foi desenvolvida utilizando a ferramenta Oracle SQL Developer Data Modeler. O detalhamento das entidades está descrito no Dicionário de Dados que está sendo apresentado no Apêndice B. O modelo é composto por oito entidades, sendo que somente existe relação entre evento com evento_ocorrencia e baseline com baseline_ocorrencia. Na entidade usuario é armazenado todos os dados de acesso ao sistema e a entidade parm_geral contém os parâmetros utilizados pelo sistema como: conta e senha de envio de e-mail automático, conta do administrador do sistema e período de manutenção ativado. As entidades tmp_baseline_previsto e tmp_regressao_linear são temporárias e auxiliam no cálculo de regressão linear simples para gerar o gráfico. Figura 12 Modelo Entidade Relacionamento

40 3.3 IMPLEMENTAÇÃO A seguir são mostradas as técnicas e ferramentas utilizadas e a operacionalidade da implementação do sistema demonstrado. 3.3.1 Técnicas e ferramentas utilizadas Para o desenvolvimento do sistema foi utilizado a Integrated Development Environment (IDE) NetBeans 7.3.1, conforme apresentado na Figura 13. Esta IDE é gratuita e possui código aberto para desenvolvimento na linguagem PHP, que está sendo utilizada no desenvolvimento deste trabalho, onde contém algumas facilidades para o desenvolvimento do sistema. Figura 13 IDE NetBeans 7.3.1 Conforme Welling (2005, p. 25) PHP é considerado uma linguagem de scripts do lado servidor onde foi projetada especificamente para ambiente web. O código PHP pode ser inserido em uma página HTML onde será executado quando a página for visitada, este código é interpretado no servidor web onde será gerada a saída da página na tela. O banco de dados escolhido para desenvolvimento do sistema é ORACLE, sendo um dos bancos de dados mais utilizados nas organizações.