237
DBA Júnior Hugo Torralbo [email protected] Esta obra está licenciada sob a licença Creative Commons Atribuição-SemDerivados 3.0 Brasil. Para ver uma cópia desta licença, visite http://creativecommons.org/licenses/by-nd/3.0/br/. 1

Treinamento DBA Júnior - Nerv Informática Ltda

Embed Size (px)

DESCRIPTION

Neste Treinamento, com o balanceamento adequado entre rápidas teorias que reforçam o que foi aprendido na faculdade, com laborários práticos intensivos, o aluno será preparado para executar tarefas administrativas básicas em bancos de dados Oracle, SQL Server e MySQL, além de ser corretamente orientado a respeito da carreira e seus futuros focos de aprendizado.

Citation preview

Page 1: Treinamento DBA Júnior - Nerv Informática Ltda

DBA Júnior

Hugo [email protected]

Esta obra está licenciada sob a licençaCreative Commons Atribuição-SemDerivados 3.0 Brasil.

Para ver uma cópia desta licença, visite http://creativecommons.org/licenses/by-nd/3.0/br/.

1

Page 2: Treinamento DBA Júnior - Nerv Informática Ltda

Aprendizado

• Visão: 5%• Audição: 8%• Visão e Audição: 12%• Execução: 22%• Execução com erro: 42%

E 50% é perdido em 2 anos...

2

Page 3: Treinamento DBA Júnior - Nerv Informática Ltda

Instrutor- Team Leader for Performance Testing - IBM- DBA – IBM- Bacharelado em Sistemas de Informação – Centro Universitário Fundação Santo André (2007)

Empresashttp://www.ibm.com.brhttp://www.nervinformatica.com.br

Redes Sociaishttp://twitter.com/nervinformaticahttps://facebook.com/nervinformaticaltdahttp://facebook.com/hugotorralbohttp://br.linkedin.com/in/hugotorralbo/

3

Page 4: Treinamento DBA Júnior - Nerv Informática Ltda

Instrutor

Certificações

• Oracle Database 10g Administrator Certified Associate• Oracle Database 10g Administrator Certified Professional• ITIL Foundation V3

4

Page 5: Treinamento DBA Júnior - Nerv Informática Ltda

Alunos

- Se apresente. - Trabalha, estuda? - Comente sua experiência com TI.

5

Page 6: Treinamento DBA Júnior - Nerv Informática Ltda

Introdução Linux Virtualização Redes Storage MySQL Oracle

6

Agenda

6

Page 7: Treinamento DBA Júnior - Nerv Informática Ltda

7

Formação DBAs

Gradução / Pós-graduação / Doutorado. Certificação. Inglês. Múltiplos SGBD.

7

Page 8: Treinamento DBA Júnior - Nerv Informática Ltda

8

Júnior?

8

Page 9: Treinamento DBA Júnior - Nerv Informática Ltda

9

DBA Júnior, Pleno, e Sênior

9

Page 10: Treinamento DBA Júnior - Nerv Informática Ltda

10

Tarefas do DBA Júnior

Instalação (mas não Upgrade). Criação de Bancos de Dados. Verificação e alteração de parâmetros. Execução de scripts. Manutenção de usuários e permissões. Manutenção de objetos (Tabelas, Índices, etc.). Manutenção de espaço. Execução de Backup físico e lógico (mas não Restore). Transporte de objetos entre servidores. Verificação de disponibilidade. Início de verificação de problemas (Troubleshooting). Início de análise de desempenho (Tuning).

10

Page 11: Treinamento DBA Júnior - Nerv Informática Ltda

11

Bancos de Dados

11

Page 12: Treinamento DBA Júnior - Nerv Informática Ltda

Linux

12 12

Page 13: Treinamento DBA Júnior - Nerv Informática Ltda

13

Teoria: Alta x Baixa plataforma

13

Page 14: Treinamento DBA Júnior - Nerv Informática Ltda

14

Teoria: Plataformas e Arquiteturas Alpha (64 bits) ARM 32 (32 bits) ARM 64 (64 bits) AVR32 (32 bits) Blackfin (32 bits) DLX (32 bits) ESi-RISC (16/32 bits) Itanium (IA-64) (64 bits) M32R (32 bits) m68k (16/32 bits) Mico32 (32 bits) MIPS (64 bits) MMIX (64 bits) PA-RISC (64 bits) PowerPC (32/64 bits) S+core (16/32 bits) Series 32000 (32 bits) SPARC (64 bits) SuperH (32 bits) System/360 / System/370 / z/Architecture (64 bits) VAX (32 bits) x86 (32 bits) x86-64 (64 bits)

14

Page 15: Treinamento DBA Júnior - Nerv Informática Ltda

15

Teoria: História do Unix

15

Page 16: Treinamento DBA Júnior - Nerv Informática Ltda

16

Teoria: Distribuições, Edições, Versões

http://upload.wikimedia.org/wikipedia/commons/e/ed/LinuxDistroTimeline.png

16

Page 17: Treinamento DBA Júnior - Nerv Informática Ltda

17

Teoria: Distribuições, Edições, VersõesRHEL 2, 3 e 4Red Hat Enterprise Linux AS (mission-critical/enterprise computer systems)Red Hat Enterprise Linux ES (supported network servers)Red Hat Enterprise Linux WS (technical power user)Red Hat Desktop (single-user desktop)

RHEL 5Red Hat Enterprise Linux Advanced Platform (antigo AS)Red Hat Enterprise Linux (antigo ES) (limitado a 2 CPUs)Red Hat Enterprise Linux Desktop with Workstation and Multi-OS optionRed Hat Enterprise Linux Desktop with Workstation option (antigo WS)Red Hat Enterprise Linux Desktop with Multi-OS optionRed Hat Enterprise Linux Desktop (antigo Desktop)

Fedora e RHELFedora Core 3 → Red Hat Enterprise Linux 4Fedora Core 6 → Red Hat Enterprise Linux 5Fedora 12, 13 → Red Hat Enterprise Linux 6

Linux homologados pela Oracle para Oracle Database 11gR2Asianux Server 3 SP2Red Hat Enterprise Linux / Oracle Enterprise Linux (4.7, 5.2, 6.1)SUSE Linux Enterprise Server 10 SP2SUSE Linux Enterprise Server 11

17

Page 18: Treinamento DBA Júnior - Nerv Informática Ltda

18

Prática: Instalação OEL 6

18

Page 19: Treinamento DBA Júnior - Nerv Informática Ltda

19

Prática: Instalação OEL 6

19

Page 20: Treinamento DBA Júnior - Nerv Informática Ltda

20

Prática: Instalação OEL 6

20

Page 21: Treinamento DBA Júnior - Nerv Informática Ltda

21

Prática: Instalação OEL 6

21

Page 22: Treinamento DBA Júnior - Nerv Informática Ltda

22

Prática: Instalação OEL 6

22

Page 23: Treinamento DBA Júnior - Nerv Informática Ltda

23

Prática: Instalação OEL 6

23

Page 24: Treinamento DBA Júnior - Nerv Informática Ltda

24

Prática: Instalação OEL 6

24

Page 25: Treinamento DBA Júnior - Nerv Informática Ltda

25

Prática: Instalação OEL 6

25

Page 26: Treinamento DBA Júnior - Nerv Informática Ltda

26

Prática: Instalação OEL 6

26

Page 27: Treinamento DBA Júnior - Nerv Informática Ltda

27

Prática: Instalação OEL 6

27

Page 28: Treinamento DBA Júnior - Nerv Informática Ltda

28

Prática: Instalação OEL 6

28

Page 29: Treinamento DBA Júnior - Nerv Informática Ltda

29

Prática: Instalação OEL 6

29

Page 30: Treinamento DBA Júnior - Nerv Informática Ltda

30

Prática: Instalação OEL 6

30

Page 31: Treinamento DBA Júnior - Nerv Informática Ltda

31

Prática: Instalação OEL 6

31

Page 32: Treinamento DBA Júnior - Nerv Informática Ltda

32

Prática: Instalação OEL 6

32

Page 33: Treinamento DBA Júnior - Nerv Informática Ltda

33

Prática: Instalação OEL 6

33

Page 34: Treinamento DBA Júnior - Nerv Informática Ltda

34

Prática: Instalação OEL 6

34

Page 35: Treinamento DBA Júnior - Nerv Informática Ltda

35

Prática: Instalação OEL 6

35

Page 36: Treinamento DBA Júnior - Nerv Informática Ltda

36

Prática: Instalação OEL 6

36

Page 37: Treinamento DBA Júnior - Nerv Informática Ltda

37

Prática: Instalação OEL 6

37

Page 38: Treinamento DBA Júnior - Nerv Informática Ltda

38

Prática: Instalação OEL 6

38

Page 39: Treinamento DBA Júnior - Nerv Informática Ltda

39

Prática: Instalação OEL 6

39

Page 40: Treinamento DBA Júnior - Nerv Informática Ltda

40

Prática: Instalação OEL 6

40

Page 41: Treinamento DBA Júnior - Nerv Informática Ltda

41

Prática: Instalação OEL 6

41

Page 42: Treinamento DBA Júnior - Nerv Informática Ltda

42

Prática: Instalação OEL 6

42

Page 43: Treinamento DBA Júnior - Nerv Informática Ltda

43

Prática: Instalação OEL 6

43

Page 44: Treinamento DBA Júnior - Nerv Informática Ltda

44

Prática: Instalação OEL 6

44

Page 45: Treinamento DBA Júnior - Nerv Informática Ltda

45

Prática: Instalação OEL 6

45

Page 46: Treinamento DBA Júnior - Nerv Informática Ltda

46

Prática: Instalação OEL 6

46

Page 47: Treinamento DBA Júnior - Nerv Informática Ltda

47

Prática: Instalação OEL 6

47

Page 48: Treinamento DBA Júnior - Nerv Informática Ltda

48

Prática: Manipulação de ArquivosExecute logon como root.Habilite a rede (Clique com o botão esquerdo no ícone de rede, e em eth0).Abra um terminal (Clique com o botão direito no Desktop, e então em “Open In Terminal”.)Verifique os arquivos existentes no diretório:# ls# ls -l# pwd# cd ..# pwd# ls# ls -l# ls -lh# ls -lA# ls -lh *.log# cd ..# pwd# ls -lh# man ls

48

Page 49: Treinamento DBA Júnior - Nerv Informática Ltda

49

Prática: Manipulação de Arquivos# cd# pwdEm que diretório você está?

# ls -lh# file Desktop# file install.log# cat install.log# head install.log# tail install.log# tail -f install.logO que aconteceu?

# cp install.log install.log.backup# mv install.log install.log.new# rm install.log.backup# touch install.logO que estes comandos fizeram?

49

Page 50: Treinamento DBA Júnior - Nerv Informática Ltda

50

Prática: Manipulação de Arquivos

# cat install.log# cat install.log.new > install.log# cat install.log# grep xorg install.log# grep xorg install.log | grep fonts# grep xorg install.log | grep -v fonts

# watch ls -lh

# vi install.logESC e depois I --- insere texto.ESC e depois x --- remove uma letra.ESC e depois dd --- remove uma linha.ESC e depois :w --- salva as alterações.ESC e depois :q --- sai do vi.

# clearO que as setas para cima e para baixo fazem?

50

Page 51: Treinamento DBA Júnior - Nerv Informática Ltda

51

Prática: Gerenciamento de Pacotes

Coloque o DVD.Verifique se o DVD já está montado.# df -h

Se não estiver, monte-o:# mount /dev/sr0 /mnt# df -h

Vá até o diretório onde estão os pacotes no DVD.# cd /media/<...>/Packages

Procure o Java Jdk e instale-o.# ls *java*# rpm -ivh java-1.7.0-openjdk*

Tente instala-lo novamente, e remova-o.# rpm -ivh java-1.7.0-openjdk*# rpm -e java-1.7.0-openjdk

51

Page 52: Treinamento DBA Júnior - Nerv Informática Ltda

52

Prática: Gerenciamento de Pacotes

Tente instalar o gcc.# rpm -ivh gcc-4.4*

O que aconteceu?

# yum install gcc

52

Page 53: Treinamento DBA Júnior - Nerv Informática Ltda

53

Prática: Particionamento e Sistema de Arquivos

Crie uma partição com o espaço livre.

# fdisk -l# fdisk /dev/sdaDigite: pDigite: n<Enter><Enter>Digite: pDigite: w

# fdisk -l

Formate esta partição com o Sistema de Arquivos ext4.

# mkfs.ext4 /dev/sda8

O que aconteceu?

53

Page 54: Treinamento DBA Júnior - Nerv Informática Ltda

54

Prática: Particionamento e Sistema de Arquivos

Crie um diretório, e monte o dispositivo nele.

# mkdir /u01# mount /dev/sda8 /u01

Faça este sistema de arquivos ser montado automaticamente.

# vi /etc/fstab

54

Page 55: Treinamento DBA Júnior - Nerv Informática Ltda

55

Prática: Services

Verifique se o Apache está configurado para iniciar automaticamente.

# chkconfig# chkconfig | grep httpd# chkconfig --level 35 httpd on# chkconfig | grep httpd# chkconfig httpd on

Inicie e teste o serviço do Apache.

# service httpd status# firefox localhost# service httpd start# service httpd status# firefox localhost

55

Page 56: Treinamento DBA Júnior - Nerv Informática Ltda

56

Usuários, Grupos, Permissões

Verifique qual é o seu usuário, e que permissões ele tem.

# whoami# id# ls -lh /root/# cat /etc/passwd# cat /etc/group

Adicione grupos e o usuário oracle.

# groupadd -g 1000 oinstall# groupadd -g 1200 dba# groupadd -g 1300 oper# useradd -u 1100 -g oinstall -G dba,oper oracle# passwd oracle# id oracle# cat /etc/passwd# cat /etc/group

56

Page 57: Treinamento DBA Júnior - Nerv Informática Ltda

57

Usuários, Grupos, Permissões

Torne-se o usuário oracle, e verifique suas permissões.

# su – oracle$ whoami$ id$ pwd$ ls -lh /root/O que aconteceu?

Dê permissão para um arquivo ao usuário oracle, e teste.

$ exit# chown oracle:dba /root/install.log# su – oracle$ ls -lh /root/$ ls -lh /root/install.logO que aconteceu?

57

Page 58: Treinamento DBA Júnior - Nerv Informática Ltda

58

Shell

Com o usuário oracle, crie um script Bash.$ vi teste.sh<ESC>Digite: i

ls –lh

<ESC>Digite: :w<ESC>Digite: :q

Execute-o:$ sh teste.sh

Adicione a seguinte linha ao início deste arquivo:#!/bin/bash

58

Page 59: Treinamento DBA Júnior - Nerv Informática Ltda

59

Shell

Execute-o diretamente desta vez.$ /home/oracle/teste.shO que aconteceu?

Corrija e reexcute.$ ls -lh$ chmod +x /home/oracle/teste.sh$ ls -lh$ /home/oracle/teste.sh

Proteja o script contra alterações.$ chmod -w /home/oracle/teste.sh

Como retirar esta proteção?

Acrescente mais comandos ao script.

59

Page 60: Treinamento DBA Júnior - Nerv Informática Ltda

60

Prática: CRONTAB

Agendador de tarefas.

60

Page 61: Treinamento DBA Júnior - Nerv Informática Ltda

61

Prática: Variáveis de ambiente

Verifique seus caminhos de executáveis.$ echo $PATH$ teste.sh$ cd /home/oracle$ ./teste.sh$ export PATH=/home/oracle/:$PATH$ echo $PATH$ teste.shO que aconteceu?

Crie uma variável de ambiente.$ export MINHAVARIAVEL=Teste$ echo $MINHAVARIAVEL

Adicione uma variável ao seu script, e utilize-a para algo útil.

Agende seu script para ser executado via crontab.$ crontab -e

61

Page 62: Treinamento DBA Júnior - Nerv Informática Ltda

62

Prática: Processos

Verifique os processos em execução.

$ ps$ ps a$ ps aux$ ps aux | grep gnome$ pstreeQual a diferença entre estes comandos?

Finalize o seu processo bash.

$ ps a$ kill 2120$ kill -9 2120O que aconteceu?

62

Page 63: Treinamento DBA Júnior - Nerv Informática Ltda

63

Prática: Processos

Verifique seus caminhos de executáveis.

$ vi teste.sh &$ fgO que aconteceu?

$ vi teste.sh &$ vi teste02.sh &$ fg$ fgO que aconteceu?

63

Page 64: Treinamento DBA Júnior - Nerv Informática Ltda

64

Prática: Desempenho

$ free

$ vmstat$ vmstat 2$ vmstat 5

$ iostat$ iostat 2$ iostat 5

$ topO que estes comandos fazem?

64

Page 65: Treinamento DBA Júnior - Nerv Informática Ltda

65

Prática: Logs

Verifique os logs mais atuais, e que informação eles têm.

$ ls -lh /var/log$ su -# ls -lh /var/log# ls -lhtr /var/log

65

Page 66: Treinamento DBA Júnior - Nerv Informática Ltda

66

Teoria: Documentação / Livros

Livros livres - The Art of Unix Programming - Linux Device Drivers (O'Reilly) - Linux Kernel in a Nutshell (O'Reilly) - Linux Network Administrator's Guide (O'Reilly)

DocumentaçãoLinux - http://www.tldp.org/ - https://access.redhat.com/knowledge/docs/ - https://www.suse.com/documentation/

AIX - http://pic.dhe.ibm.com/infocenter/aix/v6r1/index.jsp - http://www.ibm.com/developerworks/aix/ - http://www.redbooks.ibm.com/

66

Page 67: Treinamento DBA Júnior - Nerv Informática Ltda

67

Teoria: Certificações / Mercado de Trabalho

- LPIC-1, LPIC-2, LPIC-3

- Red Hat Certified System Administrator — RHCSA - Red Hat Certified Engineer — RHCE - Red Hat Certified Virtualization Administrator — RHCVA - Red Hat Certified Security Specialist — RHCSS - Red Hat Certified Datacenter Specialist — RHCDS - Red Hat Certified Architect — RHCA

- IBM Certified Operator - IBM Certified System Administrator - IBM Certified System Administrator - AIX 7 - IBM Certified Advanced Technical Expert - IBM Certified Systems Expert - Enterprise Technical Support for AIX and Linux v2 - IBM Certified Systems Expert - Virtualization Technical Support for AIX and Linux v2 - IBM Certified Systems Expert - Virtualization Technical Support for IBM i -v1 - IBM Certified Systems Expert - High Availability for AIX Technical Support and Administration -v2

67

Page 68: Treinamento DBA Júnior - Nerv Informática Ltda

Virtualização

68 68

Page 69: Treinamento DBA Júnior - Nerv Informática Ltda

69

Teoria: Hard x Soft

69

Page 70: Treinamento DBA Júnior - Nerv Informática Ltda

70

Teoria: Hard x Soft

70

Page 71: Treinamento DBA Júnior - Nerv Informática Ltda

71

Prática: Instalação Oracle VirtualBox

# ls -lh /root# rpm -ivh /root/VirtualBox*Verifique os erros do log, corrija sua causa, remova e reinstale o VirtualBox.

71

Page 72: Treinamento DBA Júnior - Nerv Informática Ltda

72

Prática: Criação VMs

72

Page 73: Treinamento DBA Júnior - Nerv Informática Ltda

73

Prática: Criação VMs

73

Page 74: Treinamento DBA Júnior - Nerv Informática Ltda

74

Prática: Criação VMs

74

Page 75: Treinamento DBA Júnior - Nerv Informática Ltda

75

Prática: Criação VMs

75

Page 76: Treinamento DBA Júnior - Nerv Informática Ltda

76

Prática: Criação VMs

76

Page 77: Treinamento DBA Júnior - Nerv Informática Ltda

77

Prática: Criação VMs

77

Page 78: Treinamento DBA Júnior - Nerv Informática Ltda

78

Prática: Criação VMs

78

Page 79: Treinamento DBA Júnior - Nerv Informática Ltda

79

Prática: Configuração VMs

79

Page 80: Treinamento DBA Júnior - Nerv Informática Ltda

80

Prática: Configuração VMs

80

Page 81: Treinamento DBA Júnior - Nerv Informática Ltda

81

Prática: Configuração VMs

81

Page 82: Treinamento DBA Júnior - Nerv Informática Ltda

82

Prática: Configuração VMs

82

Page 83: Treinamento DBA Júnior - Nerv Informática Ltda

83

Prática: Configuração VMs

83

Page 84: Treinamento DBA Júnior - Nerv Informática Ltda

84

Prática: Clone VMs

84

Page 85: Treinamento DBA Júnior - Nerv Informática Ltda

85

Prática: Clone VMs

85

Page 86: Treinamento DBA Júnior - Nerv Informática Ltda

86

Prática: Clone VMs

86

Page 87: Treinamento DBA Júnior - Nerv Informática Ltda

87

Prática: Snapshot VMs

87

Page 88: Treinamento DBA Júnior - Nerv Informática Ltda

88

Prática: Export / Import Appliance

88

Page 89: Treinamento DBA Júnior - Nerv Informática Ltda

89

Teoria: Documentação / Livros

Documentação VMwarehttp://www.vmware.com/support/pubs/

Documentação Microsoft Hyper-Vhttp://technet.microsoft.com/pt-br/library/cc753637%28v=ws.10%29.aspx

Documentação Oracle VMhttp://www.oracle.com/technetwork/documentation/vm-096300.html

Documentação Oracle Solaris Zoneshttp://docs.oracle.com/cd/E26502_01/html/E29024/index.html

Documentação Oracle VirtualBoxhttps://www.virtualbox.org/wiki/Documentation

89

Page 90: Treinamento DBA Júnior - Nerv Informática Ltda

90

Teoria: Certificações / Mercado de Trabalho

VMwareVMware Certified Professional – Cloud (VCP-Cloud) NEWVMware Certified Advanced Professional – Cloud Infrastructure Design (VCAP-CID) NEWVMware Certified Advanced Professional – Cloud Infrastructure Administration Coming SoonVMware Certified Advanced Professional – Cloud Governance Coming SoonVMware Certified Design Expert – Cloud (VCDX-Cloud) NEWVMware Certified Professional 5 – Datacenter Virtualization (VCP5-DV)VMware Certified Advanced Professional 5 - Datacenter Administration (VCAP5-DCA)VMware Certified Advanced Professional 5 - Datacenter Design (VCAP5-DCD)VMware Certified Design Expert 5 - Datacenter Virtualization (VCDX5-DV) NEWVMware Certified Associate 4 - Desktop (VCA4-DT)VMware Certified Professional 4 - Desktop (VCP4-DT)VMware Certified Professional 5 - Desktop (VCP5-DT)VMware Certified Advanced Professional - Desktop Design (VCAP-DTD) NEWVMware Certified Design Expert – Desktop (VCDX-DT) NEWCertified Spring ProfessionalCertified Spring Web Application DeveloperCertified Spring Enterprise Integration Specialist

Hyper-VMCITP: Virtualization Administrator

90

Page 91: Treinamento DBA Júnior - Nerv Informática Ltda

Redes

91 91

Page 92: Treinamento DBA Júnior - Nerv Informática Ltda

92

Teoria: TCP/IP

92

Page 93: Treinamento DBA Júnior - Nerv Informática Ltda

93

Teoria: TCP/IP

IP Mask Gateway DNS

Qual seu IP / Mask / Gateway / DNS?

93

Page 94: Treinamento DBA Júnior - Nerv Informática Ltda

94

Teoria: TCP/IP

DHCP Routing Firewall Proxy IDS IPS VLAN

94

Page 95: Treinamento DBA Júnior - Nerv Informática Ltda

96

Prática: ssh / scp / ftp

Execute logon remoto no computador do seu vizinho.

# ssh [email protected]

Copie um arquivo do computador do seu vizinho para o seu.

# scp [email protected]:/root/install.log /root

Copie um arquivo de seu computador para o do seu vizinho.

# scp /root/install.log [email protected]:/root/Desktop/install.log

96

Page 96: Treinamento DBA Júnior - Nerv Informática Ltda

97

Prática: mstsc / rdesktop / vnc

Execute logon remoto no Windows Server de sua VM.

# rdesktop <IP>Por que não funciona?

Execute logon remoto gráfico no computador do seu vizinho.

# vncviewer 192.168.0.102Por que não funciona?

97

Page 97: Treinamento DBA Júnior - Nerv Informática Ltda

98

Prática: Xserver

Execute logon remoto no computador do seu vizinho.# ssh -CX [email protected]# firefox

98

Page 98: Treinamento DBA Júnior - Nerv Informática Ltda

99

Prática: Windows Share

Crie um compartilhamento no Windows Server, em sua VM.Clique com o botão direito em uma pasta -> Share with -> Specifc people -> Share -> Yes -> Done.

Instale a compatibilidade com Samba em seu computador.

# yum -y install samba-client samba-common cifs-utils

Monte este compartilhamento em seu computador.

# mkdir /mnt/windows# mount -t cifs //192.168.56.101/Users/Administrator/Downloads -o username=Administrator,password=Nerv2013 /mnt/windows

99

Page 99: Treinamento DBA Júnior - Nerv Informática Ltda

100

Teoria: Documentação / Livros

Linux Network Administrators Guidehttp://oreilly.com/openbook/linag2/book/index.html

Cisco Documentationhttp://www.cisco.com/cisco/web/docs/iam/unified/ipt802/Cisco_Documentation.html

100

Page 100: Treinamento DBA Júnior - Nerv Informática Ltda

101

Teoria: Certificações / Mercado de Trabalho

CompTIACompTIA A+ / CompTIA Network+ / CompTIA Security+

ISC(2)SSCP - Systems Security Certified PractitionerCAP - Certified Authorization ProfessionalCSSLP - Certified Secure Software Lifecycle ProfessionalCISSP - Certified Information Systems Security Professional

101

Page 101: Treinamento DBA Júnior - Nerv Informática Ltda

102

Teoria: Certificações / Mercado de Trabalho

CiscoCCENT - Cisco Certified Entry Networking TechnicianCCT - Cisco Certified TechniciansCCDA - Cisco Certified Design AssociateCCDP - Cisco Certified Design ProfessionalCCDE - The Cisco Certified Design ExpertCCNA - Cisco Certified Network AssociateCCNP - Cisco Certified Network ProfessionalCCNA VideoCCNA / CCNP / CCIE - Data CenterCCNA / CCNP / CCIE - SecurityCCNA / CCNP / CCIE - Service ProviderCCNA / CCNP / CCIE - Service Provider OperationsCCNA / CCNP / CCIE - VoiceCCNA / CCNP / CCIE - WirelessCCIE Routing & SwitchingCCIE Storage NetworkingCCAr - Cisco Certified Architect

102

Page 102: Treinamento DBA Júnior - Nerv Informática Ltda

Storage

103 103

Page 103: Treinamento DBA Júnior - Nerv Informática Ltda

104

Teoria: Produtos

IBMDS8000 Series - DS8100 - DS8300 - DS8700 - DS8800 - DS8870XIVSONASStorwize V7000Storwize V7000 UnifiedStorwize V3700DS3500 Series - DS3512/DS3524DCS3700DS5000 Series - DS5020 - DS5100 - DS5300N Series

104

Page 104: Treinamento DBA Júnior - Nerv Informática Ltda

105

Teoria: Produtos

NetAppFAS/V-Series Storage Systems - FAS6200 Series - FAS6000 Series - FAS3200 Series - FAS3100 Series - FAS2200 Series - V-SeriesE-Series Storage Technology - E5400 - E2600

Oracle / SunSun ZFS Storage 7120Sun ZFS Storage 7320Sun ZFS Storage 7420Pillar Axiom 600 Storage SystemPillar Axiom Software

105

Page 105: Treinamento DBA Júnior - Nerv Informática Ltda

106

Teoria: Tecnologias

- IDE, ATA, SATA, SCSI- SSD, Cache- RAID (0, 1, 5 [50, 60], 1+0)- SAN, NAS- Cluster Filesystems- ISCSI, - Fiber Channel (FC)- ATA-over-Ethernet (AoE)- Fibre Channel over Ethernet (FCoE)- Fibre Channel over IP (FCIP)- HyperSCSI SCSI over Ethernet frames instead of IP (as iSCSI is)- ISCSI Extensions for RDMA (iSER)- Internet Fibre Channel Protocol (iFCP)- Internet Storage Name Service (iSNS)- The SCST Linux SCSI target software stack- Linux LIO Unified Target software stack- Service Location Protocol

106

Page 106: Treinamento DBA Júnior - Nerv Informática Ltda

Crie um diretório para o NFS Server.

# mkdir /shared_data

Adicionar no arquivo /etc/exports a linha abaixo.

/shared_data *(rw,sync,no_wdelay,insecure_locks,no_root_squash)

Inicie o serviço NFS Server.

# chkconfig nfs on# service nfs restart

107

Prática: NFS Server

107

Page 107: Treinamento DBA Júnior - Nerv Informática Ltda

Adicionar no arquivo /etc/fstab a linha abaixo.nerv02:/shared_data /u01/oradata nfs rw,bg,hard,nointr,tcp,vers=3,timeo=600,rsize=32768,wsize=32768,actimeo=0 0 0

Monte o Filesystem NFS.

# mkdir /u01/oradata# mount /u01/oradata# touch /u01/oradata/teste.txt

O vizinho consegue vizualizar seu arquivo?O vizinho consegue alterar seu arquivo?

108

Prática: NFS Client

108

Page 108: Treinamento DBA Júnior - Nerv Informática Ltda

109

Prática: iSCSI Initiator

Instale e ative o pacote iSCSI Initiator nos dois Nodes.

# rpm -Uvh iscsi-initiator-utils-*.x86_64.rpm# service iscsid start# chkconfig iscsid on

Verifique os Discos exportados no Storage, nos dois Nodes.

# iscsiadm -m discovery -t sendtargets -p 192.168.0.202# iscsiadm -m node -T iqn.2008-05.br.com.nervinformatica:asm.asm01 -p 192.168.0.202 -l

Verifique se o disco foi configurado localmente, nos dois Nodes.

# fdisk -l

109

Page 109: Treinamento DBA Júnior - Nerv Informática Ltda

110

Particione o novo disco, na máquina nerv01.# fdisk /dev/sdbDigite: nDigite: pDigite: 1<Enter><Enter>Digite: w

Prática: iSCSI Initiator

Page 110: Treinamento DBA Júnior - Nerv Informática Ltda

Deixe APENAS o novo disco no arquivo /etc/iscsi/initiatorname.iscsi, nos dois Nodes.

InitiatorName=iqn.2010-10.com.nervinformatica:storage.asm01

Crie um diretório, e monte-o na partição iSCSI.

111

Prática: iSCSI Initiator

111

Page 111: Treinamento DBA Júnior - Nerv Informática Ltda

112

Teoria: Documentação / Livros

http://en.wikipedia.org/wiki/SCSIhttp://en.wikipedia.org/wiki/ISCSIhttp://en.wikipedia.org/wiki/RAIDhttp://en.wikipedia.org/wiki/Storage_area_networkhttp://en.wikipedia.org/wiki/Network-attached_storage

112

Page 112: Treinamento DBA Júnior - Nerv Informática Ltda

113

Teoria: Certificações / Mercado de Trabalho

IBMIBM Certified Specialist - Midrange Storage Sales V1IBM Certified Specialist - Enterprise Storage Sales V3IBM Certified Specialist - High Volume Storage Fundamentals V2IBM Certified Specialist - Midrange Storage Technical Support V3IBM Certified Specialist - Enterprise Storage Technical Support V3IBM Certified Specialist - Storwize V7000 Technical Solutions V2IBM Certified Specialist - Storwize V7000 Technical Solutions V1IBM Certified Specialist - XIV Storage System Technical Solutions Version 3IBM Certified Specialist - System Storage DS8000 Technical Solutions V3IBM Certified Specialist - High-End Disk for Open Systems V2IBM Certified Specialist - High-End Tape Technical Solutions V7IBM Certified Specialist - High-End Tape V6

NetAppNetApp Certified Data Management AdministratorNetApp Certified Data Management AdministratorNetApp Certified B & R Implementation EngineerNetApp Certified SAN Implementation Engineer

113

Page 113: Treinamento DBA Júnior - Nerv Informática Ltda

MySQL

114 114

Page 114: Treinamento DBA Júnior - Nerv Informática Ltda

115

Teoria: Versões e Edições

EdiçõesMySQL Community EditionMySQL Standard EditionMySQL Enterprise EditionMySQL Cluster Carrier Grade Editionhttp://www.mysql.com/products/

Versões5.05.15.5

115

Page 115: Treinamento DBA Júnior - Nerv Informática Ltda

116

Prática: Instalação

yum Download de Pacotes RPMs

116

Page 116: Treinamento DBA Júnior - Nerv Informática Ltda

117

Prática: Instalação e inicialização

# rpm -Uvh MySQL-*# service mysql start# chkconfig mysql on# /usr/bin/mysqladmin -u root password 'Nerv2013'

# cat /var/log/mysqld.log

# cat /etc/my.cnf

117

Page 117: Treinamento DBA Júnior - Nerv Informática Ltda

118

Prática: Programas Cliente

# mysql -u root -pNerv2013mysql> exit;

# mysql -u root -pNerv2013 -e “SHOW STATUS”

# mysql -u root -pNerv2013 -e “SHOW STATUS” > status.txt# cat status.txt

# echo “SHOW STATUS” >> script.sql# cat script.sql# mysql -u root -pNerv2013 < script.sql# rm status.txt# mysql -u root -pNerv2013 < script.sql > status.txtO que este último comando fez?

# mysqladmin -u root -pNerv2013 statusO que mais o comando mysqladmin faz?

118

Page 118: Treinamento DBA Júnior - Nerv Informática Ltda

119

Teoria: Engines

MyISAM InnoDB Memory CSV Archive Blackhole Merge Federated Example

119

Page 119: Treinamento DBA Júnior - Nerv Informática Ltda

120

Prática: Processos e Threads

Abra o top em um terminal e altere sua visualização padrão.# topPressione: 1Pressione: cPressione: TPressione: W

Abra outro terminal , e execute:

# watch -d –interval=1 mysqladmin -u root -pNerv2013 status

No top, que comportamento é apresentado?

Abra outros 3 terminais executando o mesmo comando do mysqladmin, e observer o top.

120

Page 120: Treinamento DBA Júnior - Nerv Informática Ltda

121

Prática: Parâmetros de otimizaçãomax_connections = 800table_open_cache = 100thread_cache_size = 16

innodb_buffer_pool_size = 1Ginnodb_thread_concurrency = 32

key_buffer = 128Mread_buffer_size = 2Mread_rnd_buffer_size = 2M

query_cache_limit = 2Mquery_cache_min_res_unit = 4096query_cache_size = 1Gquery_cache_type = 1

sort_buffer = 2Mjoin_buffer_size = 2M

121

Page 121: Treinamento DBA Júnior - Nerv Informática Ltda

122

Prática: Parâmetros de recuperação

tmp_table_size = 8Mtmpdir = /tmp/

slow_query_log_file = /var/log/mysql-slow.loglong_query_time = 5

Altere todos os parâmetros abaixo no my.cnf, de acordo com sua máquina, e reinicie o mysql.

innodb_log_file_size = 512Minnodb_log_files_in_group = 7innodb_log_buffer_size = 64Minnodb_flush_log_at_trx_commit = 1

122

Page 122: Treinamento DBA Júnior - Nerv Informática Ltda

123

Prática: Bancos de Dados

# mysql -u root -pNerv2013mysql> show databases;mysql> create database nerv;mysql> show databases;mysql> use nerv;mysql> show tables;

123

Page 123: Treinamento DBA Júnior - Nerv Informática Ltda

124

Prática: Estruturas físicas

# ls -lh /var/lib/mysql/total 29M-rw-rw----. 1 mysql mysql 18M Jan 24 14:45 ibdata1-rw-rw----. 1 mysql mysql 5.0M Jan 24 14:45 ib_logfile0-rw-rw----. 1 mysql mysql 5.0M Jan 24 14:45 ib_logfile1drwx--x--x. 2 mysql mysql 4.0K Jan 24 14:43 mysqlsrwxrwxrwx. 1 mysql mysql 0 Jan 24 14:45 mysql.sockdrwx------. 2 mysql mysql 4.0K Jan 24 15:12 nervdrwx------. 2 mysql mysql 4.0K Jan 24 14:43 performance_schema-rw-rw----. 1 mysql mysql 6 Jan 24 14:45 Proni-PC.localdomain.pid-rw-r--r--. 1 root root 112 Jan 24 14:43 RPM_UPGRADE_HISTORY-rw-r--r--. 1 mysql mysql 112 Jan 24 14:43 RPM_UPGRADE_MARKER-LASTdrwxr-xr-x. 2 mysql mysql 4.0K Jan 24 14:43 test

# ls -lh /var/lib/mysql/nerv/total 4.0K-rw-rw----. 1 mysql mysql 65 Jan 24 15:12 db.opt

124

Page 124: Treinamento DBA Júnior - Nerv Informática Ltda

125

Prática: Estruturas lógicas

Tablespaces? Schemas?

125

Page 125: Treinamento DBA Júnior - Nerv Informática Ltda

126

Prática: Tabelas

mysql> use nerv;mysql> CREATE TABLE teste (coluna1 int, coluna2 char(50), coluna3 varchar(255)) Engine=InnoDB;mysql> show tables;O que a criação desta tabela alterou nas estruturas físicas?

mysql> CREATE TABLE teste2 (coluna1 int, coluna2 char(50), coluna3 varchar(255)) Engine=MyISAM;mysql> show tables;O que a criação desta tabela alterou nas estruturas físicas?

126

Page 126: Treinamento DBA Júnior - Nerv Informática Ltda

127

Prática: INSERT, UPDATE, DELETE, SELECT

ExemplosINSERT INTO Employee (EmployeeID, EmpName, DeptID)VALUES (1, 'Ricardo Portilho Proni', 1);

UPDATE Employee SET EmpName = 'Portilho' WHERE EmployeeID = 1;

DELETE FROM Employee WHERE EmployeeID = 2;

SELECT EmpName, DeptID FROM Employee WHERE EmployeeID = 1;

Execute INSERT de 10 registros, UPDATE de 2, DELETE de 2, e 2 SELECTs diferentes.

127

Page 127: Treinamento DBA Júnior - Nerv Informática Ltda

128

Prática: Transações e Isolamento

Execute um UPDATE de seu modelo de dados, em todas os registros da Employee.Abra outra sessão, e execute SELECT em todos os dados da tabela.O que aconteceu?

Repita a operação, mas antes do UPDATE, coloque como abaixo.

BEGIN TRANSACTIONUPDATE ...GO

O que aconteceu?

128

Page 128: Treinamento DBA Júnior - Nerv Informática Ltda

129

Prática: System StatesSHOW PROCESSLISTSHOW FULL PROCESSLIST

After createaltering tableAnalyzingchecking permissionsChecking tablecleaning upclosing tablescommitting alter table to storage engine converting HEAP to MyISAMcopy to tmp tableCopying to group tableCopying to tmp tableCopying to tmp table on diskCreating indexCreating sort indexCreating tableCreating tmp tabledeleting from main table

http://dev.mysql.com/doc/refman/5.6/en/general-thread-states.html

129

Page 129: Treinamento DBA Júnior - Nerv Informática Ltda

130

Prática: Importação e Exportação

ExemplosSELECT * FROM Cars INTO OUTFILE '/tmp/cars.txt';LOAD DATA INFILE '/tmp/cars' INTO TABLE Cars;

SELECT * FROM Cars INTO OUTFILE '/tmp/cars.csv' FIELDS TERMINATED BY ',';LOAD DATA INFILE '/tmp/cars.csv' INTO TABLE Cars FIELDS TERMINATED BY ',';

Execute este procedimento para as tabelas que você criou.

130

Page 130: Treinamento DBA Júnior - Nerv Informática Ltda

131

Prática: Bin Logs

Adicione no /etc/my.cnf a linha abaixo, e reinicie o mysql.

log-bin=mysql-bin

O que aconteceu no diretório de dados?

131

Page 131: Treinamento DBA Júnior - Nerv Informática Ltda

132

Prática: Backup MyISAM

Coloque uma tabela MyISAM em LOCK, e a copie para outro diretório.

LOCK TABLE <nome_tabela> WRITE;FLUSH TABLE <nome_tabela>;

Cópia...

FLUSH TABLE <nome_tabela>;UNLOCK TABLES;

132

Page 132: Treinamento DBA Júnior - Nerv Informática Ltda

133

Prática: mysqldump

Execute um backup via mysqldump.

$ mysqldump -u root -pNerv2013 nerv > nerv.sql

Edite o arquivo gerado.O que ele contém?Como utilizar este backup?Quais suas desvantagens?

133

Page 133: Treinamento DBA Júnior - Nerv Informática Ltda

134

Prática: INFORMATION_SCHEMA

Verifique as tabelas do banco de dados INFORMATION_SCHEMA.Quantas tabelas você possui em todo o MySQL?E em seu banco de dados?

134

Page 134: Treinamento DBA Júnior - Nerv Informática Ltda

135

Prática: System Status

Execute no MySQL o comando abaixo.SHOW STATUS;

Que informações que este comando gera são úteis?

135

Page 135: Treinamento DBA Júnior - Nerv Informática Ltda

136

Teoria: Alta Disponibilidade

MySQL Replication MySQL Cluster

136

Page 136: Treinamento DBA Júnior - Nerv Informática Ltda

137

Teoria: Documentação / Livros

Documentação oficialhttp://dev.mysql.com/doc/refman/5.0/en/index.htmlhttp://dev.mysql.com/doc/refman/5.1/en/index.htmlhttp://dev.mysql.com/doc/refman/5.5/en/index.htmlhttp://dev.mysql.com/doc/refman/5.6/en/index.html

LivrosMySQL 5.0 Certification Study GuideHigh Performance MySQL (O'Reilly)

137

Page 137: Treinamento DBA Júnior - Nerv Informática Ltda

138

Teoria: Certificações / Mercado de Trabalho

Oracle Certified Associate, MySQL 5 Oracle Certified Professional, MySQL 5 Developer Oracle Certified Professional, MySQL 5 Database Administrator Oracle Certified Expert, MySQL 5.1 Cluster Database Administrator

138

Page 138: Treinamento DBA Júnior - Nerv Informática Ltda

Oracle

139 139

Page 139: Treinamento DBA Júnior - Nerv Informática Ltda

140

Teoria: Versões e Edições

Oracle Database Standard Edition One Oracle Database Standard Edition Oracle Database Enterprise Edition Oracle Database Express Edition Oracle Database Personal Edition

140

Page 140: Treinamento DBA Júnior - Nerv Informática Ltda

141

Teoria: Versões e Edições

141

Page 141: Treinamento DBA Júnior - Nerv Informática Ltda

142

Prática: Instalação

Instale os pacotes necessários para o Oracle Database.# yum -y install binutils# yum -y install compat-libcap1# yum -y install compat-libstdc++-33 compat-libstdc++-33.i686# yum -y install gcc# yum -y install gcc-c++# yum -y install glibc glibc.i686# yum -y install glibc-devel glibc-devel.i686# yum -y install ksh# yum -y install libgcc.i686# yum -y install libgcc# yum -y install libstdc++ libstdc++.i686# yum -y install libstdc++-devel libstdc++-devel.i686# yum -y install libaio libaio.i686 libaio-devel libaio-devel.i686# yum -y install make# yum -y install sysstat# yum -y install elfutils-libelf-devel# yum -y install unixODBC unixODBC.i686 unixODBC-devel unixODBC-devel.i686

142

Page 142: Treinamento DBA Júnior - Nerv Informática Ltda

Editar o arquivo /etc/sysctl.conf e ACRESCENTAR AO FINAL:fs.aio-max-nr = 1048576fs.file-max = 6815744kernel.shmmni = 4096kernel.sem = 250 32000 100 128net.ipv4.ip_local_port_range = 9000 65500net.core.rmem_default=262144net.core.rmem_max=4194304net.core.wmem_default=262144net.core.wmem_max=1048586

Em seguida, execute:# sysctl -p

Editar o arquivo /etc/security/limits.conf e ACRESCENTAR AO FINAL:oracle soft nproc 2047oracle hard nproc 16384oracle soft nofile 1024oracle hard nofile 65536

143

Prática: Instalação

143

Page 143: Treinamento DBA Júnior - Nerv Informática Ltda

Executar os comandos abaixo.# mkdir -p /u01/app/oracle/product/11.2.0.3/db_1# mkdir -p /u01/oradata# chown -R oracle:oinstall /u01# chmod -R 775 /u01

144

Prática: Instalação

144

Page 144: Treinamento DBA Júnior - Nerv Informática Ltda

Com o usuário oracle, ACRESCENTAR NO FINAL do arquivo /home/oracle/.bash_profile as linhas abaixo.export TMP=/tmpexport TMPDIR=$TMPexport ORACLE_HOSTNAME=nerv01.localdomainexport ORACLE_UNQNAME=ORCLexport ORACLE_BASE=/u01/app/oracleexport ORACLE_HOME=$ORACLE_BASE/product/11.2.0.3/db_1export ORACLE_SID=ORCLexport ORACLE_TERM=xtermexport PATH=/usr/sbin:$PATHexport PATH=$ORACLE_HOME/bin:$PATHexport LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/libexport CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlibif [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fifi

145

Prática: Instalação

145

Page 145: Treinamento DBA Júnior - Nerv Informática Ltda

146

Prática: Instalação

Execute logon como oracle no ambiente gráfico, e descompacte o instalador.$ unzip -q p10404530_112030_Linux-x86-64_1of7.zip $ unzip -q p10404530_112030_Linux-x86-64_2of7.zip

Execute o instalador.$ cd database/$ ./runInstaller

146

Page 146: Treinamento DBA Júnior - Nerv Informática Ltda

147

Prática: Instalação

147

Page 147: Treinamento DBA Júnior - Nerv Informática Ltda

148

Prática: Instalação

148

Page 148: Treinamento DBA Júnior - Nerv Informática Ltda

149

Prática: Instalação

149

Page 149: Treinamento DBA Júnior - Nerv Informática Ltda

150

Prática: Instalação

150

Page 150: Treinamento DBA Júnior - Nerv Informática Ltda

151

Prática: Instalação

151

Page 151: Treinamento DBA Júnior - Nerv Informática Ltda

152

Prática: Instalação

152

Page 152: Treinamento DBA Júnior - Nerv Informática Ltda

153

Prática: Instalação

153

Page 153: Treinamento DBA Júnior - Nerv Informática Ltda

154

Prática: Instalação

154

Page 154: Treinamento DBA Júnior - Nerv Informática Ltda

155

Prática: Instalação

155

Page 155: Treinamento DBA Júnior - Nerv Informática Ltda

156

Prática: Instalação

156

Page 156: Treinamento DBA Júnior - Nerv Informática Ltda

157

Prática: Instalação

157

Page 157: Treinamento DBA Júnior - Nerv Informática Ltda

158

Prática: Instalação

158

Page 158: Treinamento DBA Júnior - Nerv Informática Ltda

159

Prática: Instalação

Execute, como root, os scripts indicados nesta tela, e depois clique em OK.

159

Page 159: Treinamento DBA Júnior - Nerv Informática Ltda

160

Prática: Instalação

160

Page 160: Treinamento DBA Júnior - Nerv Informática Ltda

161

Prática: Listener

Verifique se seu arquivo /etc/hosts está similar a este.

127.0.0.1 localhost.localdomain localhost::1 localhost6.localdomain6 localhost6192.168.0.101 nerv01.localdomain nerv01

Execute o Network Configuration Assistant.

$ netca

161

Page 161: Treinamento DBA Júnior - Nerv Informática Ltda

162

Prática: Listener

162

Page 162: Treinamento DBA Júnior - Nerv Informática Ltda

163

Prática: Listener

163

Page 163: Treinamento DBA Júnior - Nerv Informática Ltda

164

Prática: Listener

164

Page 164: Treinamento DBA Júnior - Nerv Informática Ltda

165

Prática: Listener

165

Page 165: Treinamento DBA Júnior - Nerv Informática Ltda

166

Prática: Listener

166

Page 166: Treinamento DBA Júnior - Nerv Informática Ltda

167

Prática: Listener

167

Page 167: Treinamento DBA Júnior - Nerv Informática Ltda

168

Prática: Listener

168

Page 168: Treinamento DBA Júnior - Nerv Informática Ltda

169

Prática: Listener

169

Page 169: Treinamento DBA Júnior - Nerv Informática Ltda

170

Prática: Listener

Verifique o estado o Listener.$ lsnrctl status$ lsnrctl stop$ lsnrctl start

170

Page 170: Treinamento DBA Júnior - Nerv Informática Ltda

171

Prática: Criação Banco de Dados

171

Page 171: Treinamento DBA Júnior - Nerv Informática Ltda

172

Prática: Criação Banco de Dados

172

Page 172: Treinamento DBA Júnior - Nerv Informática Ltda

173

Prática: Criação Banco de Dados

173

Page 173: Treinamento DBA Júnior - Nerv Informática Ltda

174

Prática: Criação Banco de Dados

174

Page 174: Treinamento DBA Júnior - Nerv Informática Ltda

175

Prática: Criação Banco de Dados

175

Page 175: Treinamento DBA Júnior - Nerv Informática Ltda

176

Prática: Criação Banco de Dados

176

Page 176: Treinamento DBA Júnior - Nerv Informática Ltda

177

Prática: Criação Banco de Dados

177

Page 177: Treinamento DBA Júnior - Nerv Informática Ltda

178

Prática: Criação Banco de Dados

178

Page 178: Treinamento DBA Júnior - Nerv Informática Ltda

179

Prática: Criação Banco de Dados

179

Page 179: Treinamento DBA Júnior - Nerv Informática Ltda

180

Prática: Criação Banco de Dados

180

Page 180: Treinamento DBA Júnior - Nerv Informática Ltda

181

Prática: Criação Banco de Dados

181

Page 181: Treinamento DBA Júnior - Nerv Informática Ltda

182

Prática: Criação Banco de Dados

182

Page 182: Treinamento DBA Júnior - Nerv Informática Ltda

183

Prática: Criação Banco de Dados

183

Page 183: Treinamento DBA Júnior - Nerv Informática Ltda

184

Prática: Criação Banco de Dados

184

Page 184: Treinamento DBA Júnior - Nerv Informática Ltda

185

Prática: Criação Banco de Dados

185

Page 185: Treinamento DBA Júnior - Nerv Informática Ltda

186

Prática: Criação Banco de Dados

186

Page 186: Treinamento DBA Júnior - Nerv Informática Ltda

187

Prática: Criação Banco de Dados

187

Page 187: Treinamento DBA Júnior - Nerv Informática Ltda

188

Prática: Criação Banco de Dados

188

Page 188: Treinamento DBA Júnior - Nerv Informática Ltda

189

Prática: Criação Banco de Dados

189

Page 189: Treinamento DBA Júnior - Nerv Informática Ltda

190

Prática: Criação Banco de Dados

190

Page 190: Treinamento DBA Júnior - Nerv Informática Ltda

191

Prática: Criação Banco de Dados

191

Page 191: Treinamento DBA Júnior - Nerv Informática Ltda

192

Prática: Criação Banco de Dados

192

Page 192: Treinamento DBA Júnior - Nerv Informática Ltda

193

Teoria: Arquitetura

193

Page 193: Treinamento DBA Júnior - Nerv Informática Ltda

194

Database Instance x Database Files

194

Instância: - estruturas de memórias (SGA, PGA, Log Buffer, Database Cache e etc);

- Processos backgrounds (CKPT, LGWR, DWRn, SMON, PMON, MMON, RECO e outros)

Arquivos:- data file e temp file;- online redo files;- archived redo files;- control files;

Page 194: Treinamento DBA Júnior - Nerv Informática Ltda

195

Prática: SQL*Plus

Execute logon no SQL*Plus via Sistema Operacional.

$ sqlplus / AS SYSDBAPor que isto funcionou?

Execute logon no SQL*Plus via SQL*Net.

$ sqlplus SYSTEM/Nerv2013@ORCLPor que isto funcionou?Como executar logon no computador do vizinho?

195

Page 195: Treinamento DBA Júnior - Nerv Informática Ltda

196

Prática: SQL Developer

Execute o SQL Developer e crie uma conexão ao seu banco de dados.$ sh /u01/app/oracle/product/11.2.0.3/db_1/sqldeveloper/sqldeveloper.sh

196

Page 196: Treinamento DBA Júnior - Nerv Informática Ltda

197

Prática: Enterprise Manager

Execute logon como SYS no Enterprise Manager.

197

Page 197: Treinamento DBA Júnior - Nerv Informática Ltda

198

Prática: Parâmetros de memória

memory_max_targetmemory_targetsga_max_sizesga_targetpga_aggregate_target

db_cache_size (db_2k_cache_size, db_4k_cache_size, db_8k_cache_size...)buffer_pool_keep, buffer_pool_recycleshared_pool_size, shared_pool_reserved_sizelarge_pool_sizejava_pool_sizestreams_pool_sizelog_buffer

Aumente em 100MB a memória utilizada pelo Oracle.

198

Page 198: Treinamento DBA Júnior - Nerv Informática Ltda

199

Teoria: STARTUP / SHUTDOWNEstados da InstânciaSHUTDOWNSTARTUPMOUNTOPEN

ComandosSQL> STARTUP;SQL> STARTUP NOMOUNT;SQL> ALTER DATABASE MOUNT;SQL> STARTUP MOUNT;SQL> ALTER DATABASE OPEN;

SQL> STARTUP RESTRICT;SQL> STARTUP FORCE;

SQL> SHUTDOWN NORMAL;SQL> SHUTDOWN IMMEDIATE;SQL> SHUTDOWN TRANSACTIONAL;SQL> SHUTDOWN ABORT;

199

Page 199: Treinamento DBA Júnior - Nerv Informática Ltda

200

Database

200

Estruturas de Armazenamento: Lógica e Física

Page 200: Treinamento DBA Júnior - Nerv Informática Ltda

201

Teoria: Estruturas lógicas e físicas

TABLESPACE

SEGMENTSEXTENTS

DATA BLOCKS

201

DATA FILE

Page 201: Treinamento DBA Júnior - Nerv Informática Ltda

1 - Criando uma tablespace:

SQL> CREATE TABLESPACE tbs_teste DATAFILE '/u01/oradata/ORCL/teste01.dbf' SIZE 10M AUTOEXTEND ON SEGMENT SPACE MANAGEMENT AUTO EXTENT MANAGEMENT LOCAL;

2 - Consultando a tablespace e o datafile criado:

SQL> SELECT tablespace_name, file_name, bytes/1024/1024 MB SQL> FROM dba_data_files SQL> WHERE tablespace_name='TBS_TESTE' SQL> ORDER BY 2;

3 - Alterando uma tablespace, adicionando um datafile:

SQL> ALTER TABLESPACE TBS_TESTE ADD DATAFILE '/u01/oradata/ORCL/teste_02.dbf' SIZE 10M;

Tablespaces e DatafilesPrática: Tablespaces e Datafiles

202

Page 202: Treinamento DBA Júnior - Nerv Informática Ltda

4 – Consulte a tablespace novamente;

5 - Reajuste o tamanho de um DATAFILE com a instrução abaixo, em seguida, consulte novamente a tablespace SQL> ALTER DATABASE DATAFILE '/u01/oradata/ORCL/teste_02.dbf' RESIZE 20M; 6 - Excluindo uma tablespace:

SQL> DROP TABLESPACE TBS_TESTE;

Novamente, execute o passo 1. O que aconteceu?

Tablespaces e DatafilesPrática: Tablespaces e Datafiles

203

Page 203: Treinamento DBA Júnior - Nerv Informática Ltda

7 - Consultando o tamanho dos objetos (SEGMENTS), em cada tablespace.

SQL> SELECT tablespace_name, SUM(bytes/1024/1024) MBFROM dba_segmentsGROUP BY tablespace_nameORDER BY 2 DESC;

8 – Consultando o tamanho dos objetos (SEGMENTS) do schema HR

SQL> SELECT segment_name, segment_type, SUM(bytes/1024/1024) MBFROM dba_segmentsWHERE owner =‘HR’GROUP BY segment_name, segment_typeORDER BY 3 DESC;

Tablespaces e DatafilesPrática: Tablespaces e Datafiles

204

Page 204: Treinamento DBA Júnior - Nerv Informática Ltda

205

Prática: Estruturas físicas

DATAFILEs TEMPFILEs UNDO DATAFILEs CONTROLFILEs REDO LOGs ARCHIVED REDO LOGs PFILE / SPFILE

205

Page 205: Treinamento DBA Júnior - Nerv Informática Ltda

206

Prática: Modo ARCHIVELOG

Altere o Banco de Dados para o modo NOARCHIVELOG.

SQL> SHUTDOWN IMMEDIATE;SQL> STARTUP MOUNT;SQL> ALTER DATABASE NOARCHIVELOG;SQL> ALTER DATABASE OPEN;

Altere o Banco de Dados para o modo ARCHIVELOG.

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

206

Page 206: Treinamento DBA Júnior - Nerv Informática Ltda

207

Database

207

Usuários, Schemas e privilégios

Page 207: Treinamento DBA Júnior - Nerv Informática Ltda

Usuários e privilégiosTeoria: O que é um schema?

208

A coleção de objetos gerenciados por um usuário é um SCHEMA

Page 208: Treinamento DBA Júnior - Nerv Informática Ltda

Usuários e privilégios1. Crie um usuário

SQL> CREATE USER usuario1 IDENTIFIED BY 123;

2. Altere a senha do usuárioSQL> ALTER USER usuario1 IDENTIFIED BY minhasenha;

3. Consulte o usuário criado.SQL> SELECT username, account_status, default_tablespace

FROM dba_usersWHERE username='USUARIO1';

4. Alterando a TABLESPACE padrão do USUARIO1 para TBS_TESTESQL> ALTER USER usuario1 DEFAULT TABLESPACE tbs_teste;

Prática: Usuários

209

Page 209: Treinamento DBA Júnior - Nerv Informática Ltda

Usuários e privilégios5. Alterando a quota de espaço do USUARIO1 na tablespace TBS_TESTE

SQL> ALTER USER usuario1 QUOTA 200M ON tbs_teste;

6. Alterando o usuário para conexão externa

I. Altere o modo de autenticação do usuário

SQL> ALTER USER usuario1 IDENTIFIED EXTERNALLY;

II. Agora, crie um usuário no S.O como o mesmo nome do usuário do banco

# useradd usuario1# passwd Nerv2014

III. Abra uma sessão no Linux, com o usuario1 e exporte as variáveis de ambiente do Oracle

$ export ORACLE_HOME= /u01/app/oracle/product/11.2.0.3/db_1 $ export ORACLE_SID=ORCL $ export PATH=$ORACLE_HOME/bin:$PATH

Prática: Usuários

210

Page 210: Treinamento DBA Júnior - Nerv Informática Ltda

Usuários e privilégiosIV. Tente conectar na instância ORCL.

$ sqlplus /

O que aconteceu?

Prática: Usuários

211

Page 211: Treinamento DBA Júnior - Nerv Informática Ltda

Usuários e privilégios1. Tente conectar no SQL*Plus com esse usuário:

$ sqlplus usuario1/minhasenha@ORCL

2. Conceda o privilégio de sistema CREATE SESSION para conectar na instância. Em seguida, tente se logar novamente no SQL*Plus com o usuário:

SQL> GRANT create session TO usuario1;

3. Voltando no SQL*Plus como SYS, conceda privilégio de leitura, escrita, exclusão e alteração na tabela EMP do usuário SCOTT.

SQL> GRANT insert, delete, update, select ON scott.emp TO usuario1;

4. Consulte os privilégios concedidos para o USUARIO1. SQL> SELECT grantee, owner, table_name, privilege, grantorSQL> FROM dba_tab_privsSQL> WHERE grantee='USUARIO1'SQL> AND owner='SCOTT'SQL> AND table_name='EMP';

Prática: Privilégios

212

Page 212: Treinamento DBA Júnior - Nerv Informática Ltda

Usuários e privilégios7. Revogue os privilégios concedidos para o USUARIO, na tabela do schema SCOTT.

SQL> REVOKE delete,insert,update,select ON scott.emp FROM usuario1;

Prática: Privilégios

213

Page 213: Treinamento DBA Júnior - Nerv Informática Ltda

214

Database

214

Linguagem SQL (Structured Query Language)

Page 214: Treinamento DBA Júnior - Nerv Informática Ltda

215

Teoria: Query, DML, DDL, DCLDDL (Data Definition Language)CREATEALTERDROPTRUNCATE

DCL (Data Control Language)GRANTREVOKE

DML (Data Manipulation Language)SELECTINSERTUPDATEDELETE

TCL (Transaction Control Language)COMMITSAVEPOINTROLLBACKSET TRANSACTION

215

Page 215: Treinamento DBA Júnior - Nerv Informática Ltda

216

Prática: Tabelas, Índices e Views

216

CREATE TABLE Employee (EmployeeID int, EmpName nvarchar2(100),

DeptID int);

CREATE TABLE HR.Dept (DeptID int,DeptName nvarchar2(100)

) TABLESPACE USERS;

CREATE INDEX IX_Employee ON Employee (EmployeeID);

CREATE VIEW EmployeesList AS SELECT EmpName FROM Employee;

Page 216: Treinamento DBA Júnior - Nerv Informática Ltda

217

Prática: PK, FK, Unique, Check, NOT NULL

PKCREATE TABLE Employee (EmployeeID int PRIMARY KEY CLUSTERED, EmpName nvarchar(100), DeptID int);

FKCREATE TABLE Employee (EmployeeID int, EmpName nvarchar(100), DeptID int REFERENCES Dept(DeptID);

UNIQUECREATE TABLE Employee (EmployeeID int PRIMARY KEY, EmpName nvarchar(100) NONCLUSTERED, DeptID int);

CHECKCREATE TABLE Employee (EmployeeID int CHECK (EmployeeID >= 1), EmpName nvarchar(100), DeptID int);

NOT NULLCREATE TABLE Employee (EmployeeID int, EmpName nvarchar(100) NOT NULL, DeptID int);Combine todos estes recursos em seu banco de dados de testes.

217

Page 217: Treinamento DBA Júnior - Nerv Informática Ltda

218

Prática: INSERT, UPDATE, DELETE, SELECT

ExemplosINSERT INTO Employee (EmployeeID, EmpName, DeptID)VALUES (1, 'Ricardo Portilho Proni', 1);

UPDATE Employee SET EmpName = 'Portilho' WHERE EmployeeID = 1;

DELETE FROM Employee WHERE EmployeeID = 2;

SELECT EmpName, DeptID FROM Employee WHERE EmployeeID = 1;

Execute INSERT de 10 registros, UPDATE de 2, DELETE de 2, e 2 SELECTs diferentes.

218

Page 218: Treinamento DBA Júnior - Nerv Informática Ltda

219

Teoria PL/SQL: Procedures

Criação

CREATE PROCEDURE remove_emp (employee_id NUMBER) AS tot_emps NUMBER; BEGIN

DELETE FROM hr.employeesWHERE employees.employee_id =

remove_emp.employee_id;

tot_emps := tot_emps - 1; END; /

Execução

EXECUTE remove_emp(1);

219

Page 219: Treinamento DBA Júnior - Nerv Informática Ltda

220

Teoria PL/SQL: Functions

CriaçãoCREATE FUNCTION get_bal(acc_no IN NUMBER)

RETURN NUMBER IS acc_bal NUMBER(11,2); BEGIN SELECT order_total INTO acc_bal FROM orders WHERE customer_id = acc_no; RETURN(acc_bal);

END; /

Execução

SQL> SELECT get_bal(165) FROM DUAL;

GET_BAL(165) ------------ 2519

220

Page 220: Treinamento DBA Júnior - Nerv Informática Ltda

221

Teoria: Triggers

Criação

CREATE TRIGGER hr.salary_check BEFORE INSERT OR UPDATE OF salary, job_id ON

hr.employees FOR EACH ROW WHEN (new.job_id <> 'AD_VP') pl/sql_block (…)

221

Page 221: Treinamento DBA Júnior - Nerv Informática Ltda

222

Prática: Transações e Isolamento

Execute um UPDATE de seu modelo de dados, em todas os registros da Employee.Abra outra sessão, e execute SELECT em todos os dados da tabela.O que aconteceu?

Repita a operação, mas antes do UPDATE, coloque como abaixo.

BEGIN TRANSACTIONUPDATE ...GO

O que aconteceu?

222

Page 222: Treinamento DBA Júnior - Nerv Informática Ltda

223

Prática: V$SESSION_WAIT

Execute novamente o cenário de Transação e Isolamento, e veja o que há na V$SESSION_WAIT.SQL> SELECT SID, EVENT, SECONDS_IN_WAIT FROM V$SESSION_WAIT;SQL> SELECT SID, EVENT, SECONDS_IN_WAIT FROM V$SESSION_WAIT WHERE WAIT_CLASS != 'Idle';

Qual a diferença da V$SESSION_WAIT antes, durante e após a execução?

223

Page 223: Treinamento DBA Júnior - Nerv Informática Ltda

224

Prática: V$SESSION

Execute novamente o cenário de Transação e Isolamento, e veja o que há na V$SESSION.

SQL> SELECT SID, EVENT, SECONDS_IN_WAIT FROM V$SESSION WAIT;

Qual a diferença da V$SESSION antes, durante e após a execução?

Que colunas são importantes da V$SESSION?

224

Page 224: Treinamento DBA Júnior - Nerv Informática Ltda

225

Prática: V$SQL

Encontre na V$SQL um SQL que você tenha executado.

SQL> SELECT SQL_ID, SQL_TEXTSQL> FROM V$SQL SQL> WHERE SQL_TEXT LIKE '%SELECT FUNC FROM EMP%';

Que colunas são importantes na V$SQL?

225

Page 225: Treinamento DBA Júnior - Nerv Informática Ltda

226

Prática: exp / imp e expdp / impdp

Exemplosexp / imp

exp USERID=SCOTT/TIGER FULL=Y FILE=expSCOTT.dmpimp SCOTT/TIGER FILE=expSCOTT.dmp FROMUSER=SCOTT

expdp / impdp

expdp SCOTT/TIGER@ORCL tables=EMP,DEPT directory=TEST_DIR dumpfile=expdpSCOTT.dmp logfile=expdpSCOTT.log

impdp SCOTT/TIGER@ORCL tables=EMP,DEPT directory=TEST_DIR dumpfile=expdpSCOTT.dmp logfile=impdpSCOTT.log

Execute exp / imp e expdp / impdp das tabelas que você criou.

226

Page 226: Treinamento DBA Júnior - Nerv Informática Ltda

227

Prática: Configuração Básica RMAN

Execute os comandos abaixo no RMAN.

$ rman target /RMAN> CONFIGURE BACKUP OPTIMIZATION ON;RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO COMPRESSED BACKUPSET;RMAN> CONFIGURE COMPRESSION ALGORITHM 'HIGH' OPTIMIZE FOR LOAD TRUE AS OF RELEASE 'DEFAULT';

O que estes três comandos fazem?

227

Page 227: Treinamento DBA Júnior - Nerv Informática Ltda

228

Prática: Backup Básico RMAN

Execute os comandos abaixo no RMAN.

RMAN> BACKUP DATABASE;RMAN> BACKUP DATABASE FORMAT '/home/oracle/ORCL_%U.bkp';RMAN> BACKUP DATABASE PLUS ARCHIVELOG DELETE INPUT;

Qual a diferença do resultado destes três comandos?

228

Page 228: Treinamento DBA Júnior - Nerv Informática Ltda

229

Prática: Alert Log

Encontre o Alert Log.SQL> show parameter dump

$ tail -f /u01/app/oracle/diag/rdbms/orcl/orcl/trace/alertORCL.log

Encontre no Alert Log quando o banco de dados foi iniciado.

229

Page 229: Treinamento DBA Júnior - Nerv Informática Ltda

230

Teoria: Alta Disponibilidade

Oracle RAC Oracle Data Guard Oracle Golden Gate Oracle Streams

230

Page 230: Treinamento DBA Júnior - Nerv Informática Ltda

231

Teoria: Documentação / Livros

Documentação http://docs.oracle.com/ http://profissionaloracle.com.br/ http://br.groups.yahoo.com/group/GPOracle/ http://br.groups.yahoo.com/group/oracle_br/ https://forums.oracle.com

Livros Expert Oracle Database Architecture (Tom Kyte) Oracle Wait Interface: A Pratical Guide to Perform Performance Diagnostics & Tuning Oracle Insights: Tales Of The Oak Table

231

Page 231: Treinamento DBA Júnior - Nerv Informática Ltda

232

Teoria: Certificações / Mercado de Trabalho

Oracle Real Application Clusters 11g Certified Implementation Specialist ORACLE MASTER Bronze Oracle Database 11g (Available only in Japan) Oracle Database 11g Security Certified Implementation Specialist Oracle Database 11g Performance Tuning Certified Expert Oracle Database 11g Certified Implementation Specialist Oracle Certified Expert, Oracle Real Application Clusters 11g and Grid Infrastructure Administrator Oracle Data Warehousing 11g Certified Implementation Specialist Oracle Database 11g Administrator Certified Master Oracle Database 11g Administrator Certified Professional Oracle Database 11g Administrator Certified Associate Oracle Database 10g Administrator Certified Master Oracle Database 10g Managing Oracle on Linux Certified Expert ORACLE MASTER Bronze Oracle Database 10g (Available only in Japan) Oracle Database 10g Real Applications Clusters Administrator Certified Expert Oracle Database 10g Administrator Certified Professional Oracle Database 10g Administrator Certified Associate Oracle Spatial 11g Certified Implementation Specialist Oracle9i Database Administrator Certified Associate Oracle9i Database Administrator Certified Professional Oracle Certified Professional, Database Cloud Administrator Oracle Certified Master, Database Cloud Administrator

232

Page 232: Treinamento DBA Júnior - Nerv Informática Ltda

233

Teoria: Certificações / Mercado de Trabalho

- Oracle Database 11g Administrator Certified Associate- Oracle Database 11g Administrator Certified Professional- Oracle Database 11g Administrator Certified Master- ORACLE MASTER Bronze Oracle Database 11g (Available only in Japan)- Oracle Database 11g Certified Implementation Specialist- Oracle Database 11g Performance Tuning Certified Expert- Oracle Database 11g Security Certified Implementation Specialist- Oracle Data Warehousing 11g Certified Implementation Specialist- Oracle Spatial 11g Certified Implementation Specialist- Oracle Database 10g Managing Oracle on Linux Certified Expert- Oracle Database 10g Real Applications Clusters Administrator Certified Expert- Oracle Certified Expert, Oracle Real Application Clusters 11g and Grid Infrastructure Administrator- Oracle Real Application Clusters 11g Certified Implementation Specialist- Oracle Certified Professional, Database Cloud Administrator- Oracle Certified Master, Database Cloud Administrator- Oracle Enterprise Manager 12c Certified Implementation Specialist- Oracle Enterprise Manager 11g Application Quality Management Certified Implementation Specialist- Oracle Enterprise Manager 11g Certified Implementation Specialist- Oracle GoldenGate 10 Certified Implementation Specialist- Oracle Exadata 11g Certified Implementation Specialist- Oracle Certified Expert, Oracle Exadata Database Machine Administrator, Software Release 11.x- Exalogic Elastic Cloud X2-2 Certified Implementation Specialist

233

Page 233: Treinamento DBA Júnior - Nerv Informática Ltda

E agora?

234 234

Page 234: Treinamento DBA Júnior - Nerv Informática Ltda

235

Os 7 Passos do Troubleshooting

Passo 0: Acredite. Passo 1: Redução. Passo 2: Isolamento. Passo 3: Reprodução. Passo 4: Informação. Passo 5: Pesquisa. Passo 6: Correção & Validação. Passo 7: Documentação.

http://nervinformatica.com.br/blog/2013/01/07/os-7-passos-do-troubleshooting-2/

235

Page 235: Treinamento DBA Júnior - Nerv Informática Ltda

236

Como aprender um novo SGBDFase 1 – Encontre a documentação oficial. – Instale. – Execute logon como administrador. – Crie um novo usuário, e conecte-se com ele. – Pare e inicie o SGBD, incluindo o sistema operacional. – Não entre em pânico. – Entenda e encontre sua estrutura física. – Entenda e encontre sua estrutura lógica. – Procure o log de erros. – Execute backup, físico e lógico.

Fase 2 – Descubra como saber o que está acontecendo no SGBD. – Exporte e importe dados em arquivos texto. – Leia e entenda todos os parâmetros do SGBD.

Fase 3 – Execute RESTORE. – Recupere o banco de dados em outro servidor. – Cause lentidão. – Implante Disaster Recovery.

http://nervinformatica.com.br/blog/2013/01/07/como-aprender-um-novo-banco-de-dados/

236

Page 236: Treinamento DBA Júnior - Nerv Informática Ltda

Treinamentos Nerv

- Oracle Performance Diagnostics & Tuning - Oracle Backup & Recovery - Oracle RAC - Oracle Data Guard

237

Page 237: Treinamento DBA Júnior - Nerv Informática Ltda

Vagas

- APInfo - Ceviu - Catho

238