quarta-feira, 5 de dezembro de 2012

Instalação do Oracle Enterprise Linux 5.6


                   Olá pessoal segue abaixo um vídeo mostrando a instalação do Oracle Enterprise Linux 5.6.
O Oracle linux é um dos produtos da Oracle que são suportados para a instalação de todos produtos da própria fornecedora.Entre eles Oracle 11gR2, WebLogic,Siebel,etc.        
                   No site da Oracle pode ser feito o Download da ISO para utilização gratuitamente em ambiente de testes e estudos mediante um cadastro prévio.

https://edelivery.oracle.com/linux 
        



Por hoje é só. Espero que gostem.
Dúvidas  e sugestões abaixo

Emerson Martins
DBA

terça-feira, 20 de novembro de 2012

Certificação MTA - 98-364 MTA – Administration Database Fundamentals

  
Olá pessoal recentemente convidado para ministrar cursos de MTA Microsoft onde fiz o exame de certificação MTA 98-364 - Database Administration Fundamentals e fui aprovado.


  A prova valida conceitos de tecnologia de blocos de construção e ajuda os alunos a explorar, descobrir e seguir carreiras bem-sucedidas em Tecnologia da Informação (TI) de uma maneira estimulante e recompensadora! Como um primeiro passo na série Microsoft Technology Certification, esta nova certificação inicial dá aos alunos confiança, credibilidade, e diferenciação.



Perfil

Candidatos para esse exame estão procurando provar um conhecimento introdutório e aprimorar suas habilidades com banco de dados, incluindo bancos de dados relacionais como SQL Server. É recomendado que o candidato esta familiarizado com os conceitos e possuir experiência prática da tecnologia aqui descrita, tirando cursos de treinamento ou trabalhando com tutoriais e exemplos disponíveis no MSDN e Microsoft Visual Studio. Entretanto uma mínima experiência prática com a tecnologia é recomendado. Experiência de trabalho não é assumida como requerido neste exame.

Candidatos para este exame estão em processo de expansão de seu conhecimento e habilidades nas seguintes áreas:
  • Conjunto de Conceitos de Banco de Dados.
  • Conceito Relacional de Banco de Dados.
  • Requisitos de segurança para banco de dados e como armazená-los.
  • Objetos de banco de dados, como tabelas, views.
  • Ferramentas gráficas e Scripts em T-SQL.
  • Consultas ao banco de dados.
  • Stored procedures.
Nota: Esse guia de preparação pode estar sujeito a alterações à qualquer momento sem aviso prévio e a critério exclusivo da Microsoft; Os exames da Microsoft podem incluir testes adaptativos da tecnologia e simulações. Microsoft não publica o formato no qual os exames são apresentados. Por favor use esse guia de preparação para o exame, independente do seu formato.

Habilidades Necessárias


Compreendendo Conceitos Básicos de Banco de Dados (23%)
  • Entendo como os dados são armazenados no banco de dados.

    Esse objetivo poderá incluir mais não é limitado a: Entendimento do que é uma tabela e de como ela se relaciona como os dados armazenados no banco de dados, colunas/campos, linhas/registros.
  • Entendendo o conceito de banco de dados relacional.

    Esse objetivo poderá incluir mais não é limitado a: Entendimento do que é um banco de dados relacional, a necessidade de se ter um Sistema Gerenciador de Banco de Dados (SGDB) e como relacionamentos são estabelecidos.
  • Entendendo a linguagem de Manipulação de Dados (DML).

    Esse objetivo poderá incluir mais não é limitado a: Entendimento do que é DML e suas regras no banco de dados.
  • Entendendo a linguagem de Definição de Dados (DDL).

    Esse objetivo poderá incluir mais não é limitado a: Entendimento de como o T-SQL pode ser usado para a criação de objetos dentro do banco de dados como tabelas e views.
Criando Objetos de Banco de Dados (23%)
  • Escolha do tipo de dados a ser utilizado.

    Esse objetivo poderá incluir mais não é limitado a:  Entendimento do que é um tipo de dados, porque ele é importante, e como ele poderá afetar os requisitos de armazenamento.
  • Entendendo Tabelas e como criá-las.

    Esse objetivo poderá incluir mais não é limitado a: O propósito das tabelas, criação das tabelas usando a linguagem ANSI SQL apropriada.
  • Criação de Views.
     Esse objetivo poderá incluir mais não é limitado a: Entendimento de quando utilizar views e de como criar uma view usando T-SQL ou o ambiente gráfico.

  • Criando stored procedures e funções.
Esse objetivo poderá incluir mais não é limitado a:  selecionar, inserir, atualizar, ou excluir dados.

Manipulação de Dados (26%)

  • Selecionando dados.

    Esse objetivo poderá incluir mais não é limitado a: Utilização de consultas utilizando o SELECT para extrair dados de uma tabela; extraindo dados utilizando joins; combinando resultados e utilizando UNION e INTERSECT
  • Inserindo dados.

    Esse objetivo poderá incluir mais não é limitado a:  Entendimento de como os dados são inseridos dentro do banco de dados; como utilizar a cláusula INSERT.
  • Atualizando Dados.

    Esse objetivo poderá incluir mais não é limitado a:  Entendimento de como o dado é atualizado dentro do banco de dados e como escrever atualizações de dados no no banco de dados utilizando o comando de UPDATE apropriadamente.
  • Exclusão de Dados.

    Esse objetivo poderá incluir mais não é limitado a:  Deletando dados de simples ou múltiplas tabelas, assegurando os dados e a referência de integridade usando transações.
Entendendo o Armazenamento de Dados (17%)
  • Entendendo a normalização de dados.

    Esse objetivo poderá incluir mais não é limitado a:  Entendimento das razões da normalização, Os 5 níveis normais de normalização, como normalizar banco de dados na 3 forma normal.
  • Entendendo Chaves Primárias, chaves estrangeiras e chaves compostas.

    Esse objetivo poderá incluir mais não é limitado a:  Entendendo a razão das chaves dentro de um banco de dados, escolhendo as chaves primárias apropriadas,  selecionando os tipos de dados para as chaves, selecionando os campos apropriados para as chaves compostas, entendendo a relação entre chaves estrangeira e chave primária.
  • Entendendo Índices.

    Esse objetivo poderá incluir mais não é limitado a:  Entendendo um índice clusterizado e não-clusterizado e seu propósito dentro do banco de dados.
Administrando o Banco de Dados (11%)
  • Entendendo o conceito de segurança de um Banco de Dados.

    Esse objetivo poderá incluir mais não é limitado a:  Entendendo a necessidade de segurança de um banco de dados, quais objetos podem ser seguros, quais objetos podem ser seguros, contas de usuário e regras.
  • Entendendo Backups e Restauração de Banco de Dados.

    Esse objetivo poderá incluir mais não é limitado a:  Entendimento de diversos tipos de backups, como os Completos e Incrementais, a importância do Backup, e como realizar a restauração de um banco de dados.

sábado, 28 de abril de 2012

MySQL Enterprise Backup - Parte II


Olá pessoal.

Continuando a série de posts sobre o MySQL Enterprise Backup, hoje irei demonstrar como criar um usuário com privilégios necessários para efetuar backups e efetuar backup full do banco de dados.

Instalando o MySQL em Ambiente Oracle Enterprise Linux
Instalando o MySQL Enterprise Backup

Com o MySQL Enterprise Backup é possível fazer backups dos seguintes modos:

Hot backups(Online)  - São executados enquanto o banco de dados está online.Esse tipo de backup não bloqueia operações de banco de dados normais, captura até mesmo as mudanças que ocorrem enquanto o backup está acontecendo.
Incremental Backup - Backup apenas das alterações de dados desde o ultimo backup full(completo).
Cold Backups -  Enquanto o banco de dados é interrompido.
Point Time Recovery (PITR) - Recuperação dos dados em um estado consistente exatamente como estava em uma determinada data e hora.(Uma hora antes por exemplo).

Entre os citados os hot backups são os mais utilizados, para evitar a interrupção do serviço, normalmente você executar um backup como de um escravo de replicação, o que pode ser interrompido sem derrubar todo o aplicativo ou site.

1 - Criando e configurando usuario de backup.

Por default não é necessário a criação do usuário, o usuário root poderia ser setado para essa operação, porém o DBA deve preocupar-se sempre com as questões de segurança do seu ambiente de banco de dados.
Os privilégios mínimos para o usuário do MySQL que mysqlbackup conecta como são:

 * RELOAD - Em todos os bancos de dados e tabelas;
 * CREATE,INSERT e DROP -  Nas tabelas mysql.ibbackup_binlog_marker, mysql.backup_progress e mysql.backup_history.
 * SUPER  - Usado para otimizar o bloqueio e minimizar os inconvenientes para processamento de dados.
Esse privilégio só é necessário para fazer backup de servidores MySQL 5.5 e superiores.
 * CREATE TEMPORARY TABLES  - Esse privilégio só é necessário para fazer backup de servidores MySQL 5.5 e superiores.
 * REPLICATION CLIENT - Para recuperar a posição do log binário, que é armazenada com o backup.

 Então vamos a prática:

[root@mysql-master ~]# mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 31
Server version: 5.6.2-m5-log MySQL Community Server (GPL)


Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.


Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.


Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


mysql> GRANT RELOAD ON *.* TO dba@localhost;
Query OK, 0 rows affected (0.00 sec)


mysql> GRANT CREATE, INSERT, DROP ON mysql.ibbackup_binlog_marker TO 'dba'@'localhost';
Query OK, 0 rows affected (0.10 sec)


mysql> GRANT CREATE, INSERT, DROP ON mysql.backup_progress TO 'dba'@'localhost';
Query OK, 0 rows affected (0.00 sec)


mysql> GRANT CREATE, INSERT, DROP ON mysql.backup_history TO 'dba'@'localhost';
Query OK, 0 rows affected (0.00 sec)


mysql> GRANT REPLICATION CLIENT ON *.* TO 'dba'@'localhost';
Query OK, 0 rows affected (0.02 sec)


mysql> GRANT SUPER ON *.* TO 'dba'@'localhost';
Query OK, 0 rows affected (0.00 sec)


mysql> GRANT CREATE TEMPORARY TABLES ON mysql.* TO 'dba'@'localhost';
Query OK, 0 rows affected (0.04 sec)


mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)


mysql>

Este ultimo comando FLUSH PRIVILEGES serve para que todas alterações referentes a ao acesso do servidor tenham efeito;

2 - Designando o local do Backup.

Todas as operações relacionadas a backup ou criar novos arquivos ou arquivos de referência existentes debaixo de um diretório específico  que contém dados de backup. Escolha o diretório de antecedência, em um sistema de arquivos com armazenamento suficiente.
(Pode até ser montado remotamente de um servidor diferente.) Você especifica o caminho para esse diretório com a opção --backup-dir para invocações  muitos do comando mysqlbackup.

Depois de estabelecer um cronograma regular de backup com trabalhos automatizados, é preferível manter cada backup dentro de um subdiretório timestamped  sob o diretório principal de backup. Para fazer o comando mysqlbackup criar esses subdiretórios automaticamente, especifique a opção --with-timestamp  cada vez que você executar mysqlbackup.

Para as operações de um tempo de backup, por exemplo, quando a clonagem de um banco de dados para configurar um slave de replicação, você pode especificar um novo diretório de cada vez, ou especificar a opção --force de mysqlbackup para substituir os arquivos antigos de backup.

3 - Efetuando o backup full 

Neste exemplo irei especificar algumas opções necessárias na linha de comando para fins de ilustração, porém essas configurações podem ser feitas no arquivo  e configuração do MySQL afim de padronizar o procedimento de backup.O diretorio padrão dos binários do MySQL Enterprise Backup encontra-se em /opt/mysql/meb-3.7/bin/.Então vamos ao que interessa;

[root@mysql-master backup]# /opt/mysql/meb-3.7/bin/mysqlbackup --user=dba  --with-timestamp --backup-dir=/backup backup-and-apply-log
MySQL Enterprise Backup version 3.7.0 [2011/12/19]
Copyright (c) 2003, 2011, Oracle and/or its affiliates. All Rights Reserved.


INFO: Starting with following command line ...
 /opt/mysql/meb-3.7/bin/mysqlbackup --user=dba --with-timestamp
        --backup-dir=/backup backup-and-apply-log


INFO: Got some server configuration information from running server.


IMPORTANT: Please check that mysqlbackup run completes successfully.
            At the end of a successful 'backup-and-apply-log' run mysqlbackup
            prints "mysqlbackup completed OK!".


--------------------------------------------------------------------
                       Server Repository Options:
--------------------------------------------------------------------
  datadir                          =  /var/lib/mysql/
  innodb_data_home_dir             =
  innodb_data_file_path            =  ibdata1:10M:autoextend
  innodb_log_group_home_dir        =  /var/lib/mysql/
  innodb_log_files_in_group        =  2
  innodb_log_file_size             =  5242880


--------------------------------------------------------------------
                       Backup Config Options:
--------------------------------------------------------------------
  datadir                          =  /backup/2012-04-28_22-43-51/datadir
  innodb_data_home_dir             =  /backup/2012-04-28_22-43-51/datadir
  innodb_data_file_path            =  ibdata1:10M:autoextend
  innodb_log_group_home_dir        =  /backup/2012-04-28_22-43-51/datadir
  innodb_log_files_in_group        =  2
  innodb_log_file_size             =  5242880


 mysqlbackup: INFO: Unique generated backup id for this is 13356638315973228
 mysqlbackup: INFO: Uses posix_fadvise() for performance optimization.
 mysqlbackup: INFO: System tablespace file format is Antelope.
 mysqlbackup: INFO: Found checkpoint at lsn 146245791.
 mysqlbackup: INFO: Starting log scan from lsn 146245632.
120428 22:43:51 mysqlbackup: INFO: Copying log...
120428 22:43:51 mysqlbackup: INFO: Log copied, lsn 146245791.
          We wait 1 second before starting copying the data files...
120428 22:43:52 mysqlbackup: INFO: Copying /var/lib/mysql/ibdata1 (Antelope file format).
 mysqlbackup: INFO: Preparing to lock tables: Connected to mysqld server.
120428 22:44:18 mysqlbackup: INFO: Starting to lock all the tables....
120428 22:44:18 mysqlbackup: INFO: All tables are locked and flushed to disk
 mysqlbackup: INFO: Opening backup source directory '/var/lib/mysql/'
120428 22:44:18 mysqlbackup: INFO: Starting to backup all files in subdirectories of '/var/lib/mysql/'
 mysqlbackup: INFO: Backing up the database directory 'base01'
 mysqlbackup: INFO: Backing up the database directory 'base02'
 mysqlbackup: INFO: Backing up the database directory 'base03'
 mysqlbackup: INFO: Backing up the database directory 'base04'
 mysqlbackup: INFO: Backing up the database directory 'base05'
 mysqlbackup: INFO: Backing up the database directory 'base06'
 mysqlbackup: INFO: Backing up the database directory 'base07'
 mysqlbackup: INFO: Backing up the database directory 'base08'
 mysqlbackup: INFO: Backing up the database directory 'base09'
 mysqlbackup: INFO: Backing up the database directory 'base10'
 mysqlbackup: INFO: Backing up the database directory 'base11'
 mysqlbackup: INFO: Backing up the database directory 'base12'
 mysqlbackup: INFO: Backing up the database directory 'base13'
 mysqlbackup: INFO: Backing up the database directory 'base14'
 mysqlbackup: INFO: Backing up the database directory 'base15'
 mysqlbackup: INFO: Backing up the database directory 'base16'
 mysqlbackup: INFO: Backing up the database directory 'base17'
 mysqlbackup: INFO: Backing up the database directory 'base18'
 mysqlbackup: INFO: Backing up the database directory 'base19'
 mysqlbackup: INFO: Backing up the database directory 'base20'
 mysqlbackup: INFO: Backing up the database directory 'base21'
 mysqlbackup: INFO: Backing up the database directory 'base22'
 mysqlbackup: INFO: Backing up the database directory 'certificacao'
 mysqlbackup: INFO: Backing up the database directory 'mysql'
 mysqlbackup: INFO: Backing up the database directory 'performance_schema'
 mysqlbackup: INFO: Backing up the database directory 'replication01'
 mysqlbackup: INFO: Backing up the database directory 'teste_slave'
 mysqlbackup: INFO: Backing up the database directory 'testerepli1'
 mysqlbackup: INFO: Copying innodb data and logs during final stage ...
 mysqlbackup: INFO: A copied database page was modified at 146245791.
          (This is the highest lsn found on page)
          Scanned log up to lsn 146247636.
          Was able to parse the log up to lsn 146247636.
          Maximum page number for a log record 7494
120428 22:46:05 mysqlbackup: INFO: All tables unlocked
 mysqlbackup: INFO: All MySQL tables were locked for 107.000 seconds
120428 22:46:05 mysqlbackup: INFO: Full backup completed!
 mysqlbackup: INFO: MySQL binlog position: filename mysql-bin.000003, position 612355039
 mysqlbackup: INFO: Backup created in directory '/backup/2012-04-28_22-43-51'
120428 22:46:05 mysqlbackup: INFO:  ibbackup_logfile's creation parameters:
          start lsn 146245632, end lsn 146247636,
          start checkpoint 146245791.
InnoDB: Starting an apply batch of log records to the database...
InnoDB: Progress in percents: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 Setting log file size to 0 5242880
Setting log file size to 0 5242880
120428 22:46:06 mysqlbackup: INFO: We were able to parse ibbackup_logfile up to
          lsn 146247636.
ibbackup: Last MySQL binlog file position 0 612355039, file name ./mysql-bin.000003
120428 22:46:06 mysqlbackup: INFO: The first data file is '/backup/2012-04-28_22-43-51/datadir/ibdata1'
          and the new created log files are at '/backup/2012-04-28_22-43-51/datadir/'
 mysqlbackup: INFO: System tablespace file format is Antelope.
120428 22:46:06 mysqlbackup: INFO: Full backup prepared for recovery successfully!


-------------------------------------------------------------
   Parameters Summary
-------------------------------------------------------------
   Start LSN                  : 146245632
   End LSN                    : 146247636
-------------------------------------------------------------


mysqlbackup completed OK!
[root@mysql-master backup]#

Observem que eu adicionei mais um comando o backup-and-apply-log, esse comando realiza backup para o diretório de backup e também realiza a operação de aplicar-log instantâneo no backup. O resultado disso é a cópia de segurança, que está pronto para restauração. Este comando produz sempre backup em modo não compactado.


Pronto! E isso ai galera espero que gostem!

Emerson Martins
DBA Jr

Referencias:
http://dev.mysql.com

segunda-feira, 2 de abril de 2012

Instalando o MySQL Enterprise Backup 3.7

Olá pessoal !


Instalando o MySQL em ambiente Oracle Linux


Anteriormente instalamos o Oracle MySQL Server 5.6.
Hoje irei mostrar como instalar o MySQL Enterprise Backup.Uma ferramenta que faz parte dos produtos oferecidos pela Oracle.

MySQL Enterprise Backup


O MySQL Enterprise Backup é uma ferramenta que realiza as operações de backup online para bancos de dados MySQL. 
Uma arquitetura projetada para a realização backups eficientes e confiáveis de tabelas criadas pelo mecanismo de armazenamento InnoDB. Para completar, ele também pode fazer backup de tabelas MyISAM e outros mecanismos de armazenamento.


Além de executar Hot backup sem bloqueios dos backups que estão sendo executados, os backups completos pode ser realizada em todos os dados InnoDB, sem interromper as consultas ou atualizações.
Backups incrementais e parciais também são suportados, onde apenas os dados que foram alterados a partir de um backup anterior.

1 - Efetuar download do arquivo no site.(Necessário cadastro)
https://edelivery.oracle.com/


2 - Descompactar o arquivo.

[root @oralinux  tmp]# unzip mysqlenterprisebackup.zip
  inflating: meb-3.6-rhel5.i386.rpm

3 - Efetuar a instalação do arquivo rpm.
[root@oralinux u01]# rpm -Uvh meb-3.6-rhel5.i386.rpm

Preparando...               ########################################### [100%]
   1:meb                    ########################################### [100%]
[root@oralinux u01]#


4 - Acessando o MySQL Enterprise Backup
[root@oralinux bin]# ls -lah

total 940K
drwxr-xr-x 2 root root 4,0K Abr  2 22:19 .
drwxr-xr-x 3 root root 4,0K Abr  2 22:19 ..
lrwxrwxrwx 1 root root   11 Abr  2 22:19 ibbackup -> mysqlbackup
lrwxrwxrwx 1 root root   11 Abr  2 22:19 innobackup -> mysqlbackup
-rwxr-xr-x 1 root root 927K Jul 20  2011 mysqlbackup
[root@oralinux bin]#



mysql/meb-3.6/bin/mysqlbackup --help

Usage:
  mysqlbackup [STD-OPTIONS]
              [CONNECTION-OPTIONS]
              [SERVER-REPOSITORY-OPTIONS]
              [BACKUP-REPOSITORY-OPTIONS]
              [--compress] [--compress-level=LEVEL]
              [--include=REGEXP] [--with-timestamp] [--slave-info]
              [--databases=LIST] [--databases-list-file=PATH]
              [--suspend-at-end] [--sleep=MS]
              [--exec-when-locked='utility arg1 arg2 ...']
              [--incremental --start-lsn=LSN --incremental-backup-dir=PATH]
              [--only-known-file-types] [--only-innodb]
              [--no-history-logging] [--no-locking]
              [--backup-dir=PATH]
              [--comments=STRING]
              [--comments-file=PATH]
              [--backup-image=IMAGE]
              [--sbt-database-name=NAME]
              [--sbt-lib-path=PATH]
              backup | backup-and-apply-log | backup-to-image

  mysqlbackup [STD-OPTIONS]
              [--limit-memory=MB] [--uncompress] [--backup-dir=PATH]
              apply-log

  mysqlbackup [STD-OPTIONS]
              [--incremental-backup-dir=PATH] [--backup-dir=PATH]
              [--limit-memory=MB]
              apply-incremental-backup

  mysqlbackup [STD-OPTIONS]
              [SERVER-REPOSITORY-OPTIONS]
              [--backup-dir=PATH]
              copy-back

  mysqlbackup [STD-OPTIONS]
              [--backup-image=IMAGE] [--backup-dir=PATH]
              image-to-backup-dir

  mysqlbackup [STD-OPTIONS]
              [--backup-dir=PATH] [--backup-image=IMAGE]
              backup-dir-to-image
  mysqlbackup [STD-OPTIONS]
              [--backup-image=IMAGE] [--backup-dir=PATH]
              image-to-backup-dir

  mysqlbackup [STD-OPTIONS]
              [--backup-dir=PATH] [--backup-image=IMAGE]
              backup-dir-to-image

  mysqlbackup [STD-OPTIONS]
              [--backup-image=IMAGE] [--src-entry=PATH]
              list-image

  mysqlbackup [STD-OPTIONS]
              [--backup-image=IMAGE]
              [--backup-dir=PATH]
              [--src-entry=PATH] [--dst-entry=PATH]
              extract

 Standard Options [STD-OPTIONS]:
 -------------------------------
  Following standard options may be given as the first argument(s):
    --print-defaults --no-defaults --defaults-file=PATH
    --defaults-extra-file=PATH --defaults-group-suffix=string

  Other standard options are:
  --help          Display this help.
  --version       Display version information.
  --verbose       Print more verbose information.
  --debug         Print debug information.
  --force         By default, both backup and restore operation will refuse
                  to overwrite data/log files. The --force option can be
                  used to force overwriting the destination file.
.....


Pronto! A instalação estar concluída.


Nos demais posts irei demonstrar como configurar os arquivos para fazer backup através do MySQL Enterprise Backup.



Até a proxima!


Emerson Martins 




Fonte:
http://www.mysql.com/