Treinamento DBA Júnior - Apostila Extra - Nerv Informática Ltda

Post on 13-May-2015

8.664 views 7 download

description

Treinamento DBA Júnior - Apostila Extra - Nerv Informática Ltda

Transcript of Treinamento DBA Júnior - Apostila Extra - Nerv Informática Ltda

DBA Júnior

Hugo Torralbohugo@nervinformatica.com.br

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

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

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

Instrutor

Certificações• Oracle Database 10g Administrator Certified Associate• Oracle Database 10g Administrator Certified Professional• ITIL Foundation V3

4

Alunos

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

5

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

6

Agenda

6

7

Formação DBAs

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

7

8

Júnior?

8

9

DBA Júnior, Pleno, e Sênior

9

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

11

Bancos de Dados

11

Linux

12 12

13

Teoria: Alta x Baixa plataforma

13

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

15

Teoria: História do Unix

15

16

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

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

16

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

18

Prática: Instalação OEL 6

18

19

Prática: Instalação OEL 6

19

20

Prática: Instalação OEL 6

20

21

Prática: Instalação OEL 6

21

22

Prática: Instalação OEL 6

22

23

Prática: Instalação OEL 6

23

24

Prática: Instalação OEL 6

24

25

Prática: Instalação OEL 6

25

26

Prática: Instalação OEL 6

26

27

Prática: Instalação OEL 6

27

28

Prática: Instalação OEL 6

28

29

Prática: Instalação OEL 6

29

30

Prática: Instalação OEL 6

30

31

Prática: Instalação OEL 6

31

32

Prática: Instalação OEL 6

32

33

Prática: Instalação OEL 6

33

34

Prática: Instalação OEL 6

34

35

Prática: Instalação OEL 6

35

36

Prática: Instalação OEL 6

36

37

Prática: Instalação OEL 6

37

38

Prática: Instalação OEL 6

38

39

Prática: Instalação OEL 6

39

40

Prática: Instalação OEL 6

40

41

Prática: Instalação OEL 6

41

42

Prática: Instalação OEL 6

42

43

Prática: Instalação OEL 6

43

44

Prática: Instalação OEL 6

44

45

Prática: Instalação OEL 6

45

46

Prática: Instalação OEL 6

46

47

Prática: Instalação OEL 6

47

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

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

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

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

52

Prática: Gerenciamento de Pacotes

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

O que aconteceu?

# yum install gcc

52

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

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

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

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

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

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

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

60

Prática: CRONTAB

Agendador de tarefas.

60

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

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

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

64

Prática: Desempenho

$ free

$ vmstat$ vmstat 2$ vmstat 5

$ iostat$ iostat 2$ iostat 5

$ topO que estes comandos fazem?

64

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

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

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

Virtualização

68 68

69

Teoria: Hard x Soft

69

70

Teoria: Hard x Soft

70

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

72

Prática: Criação VMs

72

73

Prática: Criação VMs

73

74

Prática: Criação VMs

74

75

Prática: Criação VMs

75

76

Prática: Criação VMs

76

77

Prática: Criação VMs

77

78

Prática: Criação VMs

78

79

Prática: Configuração VMs

79

80

Prática: Configuração VMs

80

81

Prática: Configuração VMs

81

82

Prática: Configuração VMs

82

83

Prática: Configuração VMs

83

84

Prática: Clone VMs

84

85

Prática: Clone VMs

85

86

Prática: Clone VMs

86

87

Prática: Snapshot VMs

87

88

Prática: Export / Import Appliance

88

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

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

Redes

91 91

92

Teoria: TCP/IP

92

93

Teoria: TCP/IP

IP Mask Gateway DNS

Qual seu IP / Mask / Gateway / DNS?

93

94

Teoria: TCP/IP

DHCP Routing Firewall Proxy IDS IPS VLAN

94

96

Prática: ssh / scp / ftp

Execute logon remoto no computador do seu vizinho.

# ssh root@192.168.0.102

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

# scp root@192.168.0.102:/root/install.log /root

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

# scp /root/install.log root@192.168.0.102:/root/Desktop/install.log

96

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

98

Prática: Xserver

Execute logon remoto no computador do seu vizinho.# ssh -CX root@192.168.0.102# firefox

98

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=Nerv2014 /mnt/windows

99

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

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

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

Storage

103 103

104

Teoria: Produtos

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

104

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

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

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

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

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

110

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

Prática: iSCSI Initiator

Deixe APENAS o novo disco no arquivo /etc/iscsi/initiatorname.iscsi.

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

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

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

MySQL

114 114

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.15.55.6

115

116

Prática: Instalação

yum Download de Pacotes RPMs

116

117

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

# cd# tar xf MySQL-5.6.20-1.el6.x86_64.rpm-bundle.tar# rpm -Uvh MySQL-*# service mysql start# chkconfig mysql on# /usr/bin/mysqladmin -u root password 'Nerv2014'

# cat /var/log/mysqld.log

# cat /etc/my.cnf

117

118

Prática: Programas Cliente

# mysql -u root -pNerv2014mysql> exit;

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

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

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

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

118

119

Teoria: Engines

MyISAM InnoDB Memory CSV Archive Blackhole Merge Federated Example

119

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 -pNerv2014 status

No top, que comportamento é apresentado?

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

120

121

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

innodb_buffer_pool_size = 128Minnodb_thread_concurrency = 32

key_buffer = 128Mread_buffer_size = 2Mread_rnd_buffer_size = 2M

query_cache_limit = 2Mquery_cache_min_res_unit = 4096query_cache_size = 16Mquery_cache_type = 1

sort_buffer = 2Mjoin_buffer_size = 2M

121

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

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

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

122

123

Prática: Bancos de Dados

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

123

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

125

Prática: Estruturas lógicas

Tablespaces? Schemas?

125

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

127

Prática: INSERT, UPDATE, DELETE, SELECT

ExemplosINSERT INTO teste (coluna1, coluna2, coluna3)VALUES (1, 'Ricardo Portilho Proni', 'Instrutor');

UPDATE teste SET coluna2 = 'Portilho' WHERE coluna1 = 1;

SELECT coluna2, coluna3 FROM teste WHERE coluna1 = 1;

DELETE FROM teste WHERE coluna1 = 1;

SELECT coluna2, coluna3 FROM teste WHERE coluna1 = 1;

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

127

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.

START TRANSACTION;UPDATE ...

O que aconteceu?

COMMIT; ou ROLLBACK;

128

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

130

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

ExemplosSELECT * FROM Cars INTO OUTFILE '/tmp/cars.txt';LOAD DATA INFILE '/tmp/cars.txt' 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

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

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...cp -rf /var/lib/mysql/nerv /root

FLUSH TABLE <nome_tabela>;UNLOCK TABLES;

132

133

Prática: mysqldump

Execute um backup via mysqldump.

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

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

133

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

135

Prática: System Status

Execute no MySQL o comando abaixo.SHOW STATUS;

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

135

136

Teoria: Alta Disponibilidade

MySQL Replication MySQL Cluster

136

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

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

Oracle

139 139

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

141

Teoria: Versões e Edições

141

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

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

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

144

Prática: Instalação

144

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.4/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

146

Prática: Instalação

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

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

146

147

Prática: Instalação

147

148

Prática: Instalação

148

149

Prática: Instalação

149

150

Prática: Instalação

150

151

Prática: Instalação

151

152

Prática: Instalação

152

153

Prática: Instalação

153

154

Prática: Instalação

154

155

Prática: Instalação

155

156

Prática: Instalação

156

157

Prática: Instalação

157

158

Prática: Instalação

158

159

Prática: Instalação

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

159

160

Prática: Instalação

160

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

162

Prática: Listener

162

163

Prática: Listener

163

164

Prática: Listener

164

165

Prática: Listener

165

166

Prática: Listener

166

167

Prática: Listener

167

168

Prática: Listener

168

169

Prática: Listener

169

170

Prática: Listener

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

170

171

Prática: Criação Banco de Dados

171

172

Prática: Criação Banco de Dados

172

173

Prática: Criação Banco de Dados

173

174

Prática: Criação Banco de Dados

174

175

Prática: Criação Banco de Dados

175

176

Prática: Criação Banco de Dados

176

177

Prática: Criação Banco de Dados

177

178

Prática: Criação Banco de Dados

178

179

Prática: Criação Banco de Dados

179

180

Prática: Criação Banco de Dados

180

181

Prática: Criação Banco de Dados

181

182

Prática: Criação Banco de Dados

182

183

Prática: Criação Banco de Dados

183

184

Prática: Criação Banco de Dados

184

185

Prática: Criação Banco de Dados

185

186

Prática: Criação Banco de Dados

186

187

Prática: Criação Banco de Dados

187

188

Prática: Criação Banco de Dados

188

189

Prática: Criação Banco de Dados

189

190

Prática: Criação Banco de Dados

190

191

Prática: Criação Banco de Dados

191

192

Prática: Criação Banco de Dados

192

193

Teoria: Arquitetura

193

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;

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/Nerv2014@ORCLPor que isto funcionou?Como executar logon no computador do vizinho?

195

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.4/db_1/sqldeveloper/sqldeveloper.sh

196

197

Prática: Enterprise Manager

Execute logon como SYS no Enterprise Manager.

197

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

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

200

Database

200

Estruturas de Armazenamento: Lógica e Física

201

Teoria: Estruturas lógicas e físicas

TABLESPACE

SEGMENTSEXTENTS

DATA BLOCKS

201

DATA FILE

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> SET PAGESIZE 1000SQL> SET LINESIZE 300SQL> SELECT tablespace_name, file_name, bytes/1024/1024 MB FROM dba_data_files WHERE tablespace_name='TBS_TESTE' 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

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

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

205

Prática: Estruturas físicas

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

205

206

Prática: Modo ARCHIVELOG

Altere o Banco de Dados para o modo NOARCHIVELOG.

SQL> SELECT LOG_MODE FROM V$DATABASE;SQL> SHUTDOWN IMMEDIATE;SQL> STARTUP MOUNT;SQL> ALTER DATABASE NOARCHIVELOG;SQL> ALTER DATABASE OPEN;SQL> SELECT LOG_MODE FROM V$DATABASE

Altere o Banco de Dados para o modo ARCHIVELOG.

SQL> SHUTDOWN IMMEDIATE;SQL> STARTUP MOUNT;SQL> ALTER DATABASE ARCHIVELOG;SQL> ALTER DATABASE OPEN;SQL> SELECT LOG_MODE FROM V$DATABASE

206

207

Database

207

Usuários, Schemas e privilégios

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

208

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

Usuários e privilégios1. Crie um usuárioSQL> 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_users WHERE 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

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;

1. 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 usuario1

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.4/db_1 $ export ORACLE_SID=ORCL $ export PATH=$ORACLE_HOME/bin:$PATH

Prática: Usuários

210

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

$ sqlplus /

O que aconteceu?

Prática: Usuários

211

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, grantor

FROM dba_tab_privsWHERE grantee='USUARIO1'AND owner='SCOTT'AND table_name='EMP';

Prática: Privilégios

212

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;

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

Prática: Privilégios

213

214

Database

214

Linguagem SQL (Structured Query Language)

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

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;

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

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

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

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

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

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

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

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

225

Prática: V$SQL

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

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

Que colunas são importantes na V$SQL?

225

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

227

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

Execute os comandos abaixo no RMAN.

$ rman target /RMAN> SHOW All;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 comandos fazem?

227

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

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

230

Teoria: Alta Disponibilidade

Oracle RAC Oracle Data Guard Oracle Golden Gate Oracle Streams

230

231

Teoria: Documentação / Livros

Documentação● http://docs.oracle.com/● http://profissionaloracle.com.br/● http://certificacaobd.com.br/● 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

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

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

E agora?

234 234

235

Próximos passos

Repita esta apostila. Use o Fórum Nerv se precisar de ajuda. Mantenha sempre um Linux com MySQL e Oracle, para praticar. Inscreva-se em grupos de usuários e listas de discussão. Aprimore seu inglês para leitura. Começe a ler os livros indicados. Continue com sua formação (Graduação, Pós, etc). Procure o Treinamento Workshop I, e talvez o e II. Prepare-se e obtenha a Certificação OCA. Não desista.

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

235

236

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/

236

237

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/

237

Treinamentos Nerv

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

238

Vagas

- APInfo - Ceviu - Catho

239