Buscar

DBAJR_20140804

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 238 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 238 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 238 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

DBA Júnior 
Hugo Torralbo
hugo@nervinformatica.com.br
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
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)
Empresas
http://www.ibm.com.br
http://www.nervinformatica.com.br
Redes Sociais
http://twitter.com/nervinformatica
https://facebook.com/nervinformaticaltda
http://facebook.com/hugotorralbo
http://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ões
RHEL 2, 3 e 4
Red 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 5
Red 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 option
Red Hat Enterprise Linux Desktop with Workstation option (antigo WS)
Red Hat Enterprise Linux Desktop with Multi-OS option
Red Hat Enterprise Linux Desktop (antigo Desktop)
Fedora e RHEL
Fedora Core 3 → Red Hat Enterprise Linux 4
Fedora Core 6 → Red Hat Enterprise Linux 5
Fedora 12, 13 → Red Hat Enterprise Linux 6
Linux homologados pela Oracle para Oracle Database 11gR2
Asianux Server 3 SP2
Red Hat Enterprise Linux / Oracle Enterprise Linux (4.7, 5.2, 6.1)
SUSE Linux Enterprise Server 10 SP2
SUSE 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 Arquivos
Execute 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
# pwd
Em que diretório você está?
# ls -lh
# file Desktop
# file install.log
# cat install.log
# head install.log
# tail install.log
# tail -f install.log
O que aconteceu?
# cp install.log install.log.backup
# mv install.log install.log.new
# rm install.log.backup
# touch install.log
O 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.log
ESC 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.
# clear
O 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/sda
Digite: p
Digite: n
<Enter>
<Enter>
Digite: p
Digite: 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.log
O 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.sh
O 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.sh
O 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
$ pstree
Qual a diferença entre estes comandos?
Finalize o seu processo bash.
$ ps a
$ kill 2120
$ kill -9 2120
O que aconteceu?
62
63
Prática: Processos
Verifique seus caminhos de executáveis.
$ vi teste.sh &
$ fg
O que aconteceu?
$ vi teste.sh &
$ vi teste02.sh &
$ fg
$ fg
O que aconteceu?
63
64
Prática: Desempenho
$ free
$ vmstat
$ vmstat 2
$ vmstat 5
$ iostat
$ iostat 2
$ iostat 5
$ top
O 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ção
Linux
 - 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 VMware
http://www.vmware.com/support/pubs/
Documentação Microsoft Hyper-V
http://technet.microsoft.com/pt-br/library/cc753637%28v=ws.10%29.aspx
Documentação Oracle VM
http://www.oracle.com/technetwork/documentation/vm-096300.html
Documentação Oracle Solaris Zones
http://docs.oracle.com/cd/E26502_01/html/E29024/index.html
Documentação Oracle VirtualBox
https://www.virtualbox.org/wiki/Documentation
89
90
Teoria: Certificações / Mercado de Trabalho
VMware
VMware Certified Professional – Cloud (VCP-Cloud) NEW
VMware Certified Advanced Professional – Cloud Infrastructure Design (VCAP-CID) NEW
VMware Certified Advanced Professional – Cloud Infrastructure Administration Coming Soon
VMware Certified Advanced Professional – Cloud Governance Coming Soon
VMware Certified Design Expert – Cloud (VCDX-Cloud) NEW
VMware 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) NEW
VMware 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) NEW
VMware Certified Design Expert – Desktop (VCDX-DT) NEW
Certified Spring Professional
Certified Spring Web Application Developer
Certified Spring Enterprise Integration Specialist
Hyper-V
MCITP: 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.102
Por 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 Guide
http://oreilly.com/openbook/linag2/book/index.html
Cisco Documentation
http://www.cisco.com/cisco/web/docs/iam/unified/ipt802/Cisco_Documentation.html
100
101
Teoria: Certificações / Mercado de Trabalho
CompTIA
CompTIA A+ / CompTIA Network+ / CompTIA Security+
ISC(2)
SSCP - Systems Security Certified Practitioner
CAP - Certified Authorization Professional
CSSLP - Certified Secure Software Lifecycle Professional
CISSP - Certified Information Systems Security Professional
101
102
Teoria: Certificações / Mercado de Trabalho
Cisco
CCENT - Cisco Certified Entry Networking Technician
CCT - Cisco Certified Technicians
CCDA - Cisco Certified Design Associate
CCDP - Cisco Certified Design Professional
CCDE - The Cisco Certified Design Expert
CCNA - Cisco Certified Network Associate
CCNP - Cisco Certified Network Professional
CCNA Video
CCNA / CCNP / CCIE - Data Center
CCNA / CCNP / CCIE - Security
CCNA / CCNP / CCIE - Service Provider
CCNA / CCNP / CCIE - Service Provider Operations
CCNA / CCNP / CCIE - Voice
CCNA / CCNP / CCIE - Wireless
CCIE Routing & Switching
CCIE Storage Networking
CCAr - Cisco Certified Architect
102
Storage
103 103
104
Teoria: Produtos
IBM
DS8000 Series
 - DS8100
 - DS8300
 - DS8700
 - DS8800
 - DS8870
XIV
SONAS
Storwize V7000
Storwize V7000 Unified
Storwize V3700
DS3500 Series
 - DS3512/DS3524
DCS3700
DS5000 Series
 - DS5020
 - DS5100
 - DS5300
N Series
104
105
Teoria: Produtos
NetApp
FAS/V-Series Storage Systems 
 - FAS6200 Series
 - FAS6000 Series
 - FAS3200 Series
 - FAS3100 Series
 - FAS2200 Series
 - V-Series
E-Series Storage Technology
 - E5400
 - E2600
Oracle / Sun
Sun ZFS Storage 7120
Sun ZFS Storage 7320
Sun ZFS Storage 7420
Pillar Axiom 600 Storage System
Pillar 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,a
ctimeo=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/sdb
Digite: n
Digite: p
Digite: 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/SCSI
http://en.wikipedia.org/wiki/ISCSI
http://en.wikipedia.org/wiki/RAID
http://en.wikipedia.org/wiki/Storage_area_network
http://en.wikipedia.org/wiki/Network-attached_storage
112
113
Teoria: Certificações / Mercado de Trabalho
IBM
IBM Certified Specialist - Midrange Storage Sales V1
IBM Certified Specialist - Enterprise Storage Sales V3
IBM Certified Specialist - High Volume Storage Fundamentals V2
IBM Certified Specialist - Midrange Storage Technical Support V3
IBM Certified Specialist - Enterprise Storage Technical Support V3
IBM Certified Specialist - Storwize V7000 Technical Solutions V2
IBM Certified Specialist - Storwize V7000 Technical Solutions V1
IBM Certified Specialist - XIV Storage System Technical Solutions Version 3
IBM Certified Specialist - System Storage DS8000 Technical Solutions V3
IBM Certified Specialist - High-End Disk for Open Systems V2
IBM Certified Specialist - High-End Tape Technical Solutions V7
IBM Certified Specialist - High-End Tape V6
NetApp
NetApp Certified Data Management Administrator
NetApp Certified Data Management Administrator
NetApp Certified B & R Implementation Engineer
NetApp Certified SAN Implementation Engineer
113
MySQL
114 114
115
Teoria: Versões e Edições
Edições
MySQL Community Edition
MySQL Standard Edition
MySQL Enterprise Edition
MySQL Cluster Carrier Grade Edition
http://www.mysql.com/products/
Versões
5.1
5.5
5.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 -pNerv2014
mysql> 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.txt
O que este último comando fez?
# mysqladmin -u root -pNerv2014 status
O 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.
# top
Pressione: 1
Pressione: c
Pressione: T
Pressione: 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ção
max_connections = 800
table_open_cache = 100
thread_cache_size = 16
innodb_buffer_pool_size = 128M
innodb_thread_concurrency = 32
key_buffer = 128M
read_buffer_size = 2M
read_rnd_buffer_size = 2M
query_cache_limit = 2M
query_cache_min_res_unit = 4096
query_cache_size = 16M
query_cache_type = 1
sort_buffer = 2M
join_buffer_size = 2M
121
122
Prática: Parâmetros de recuperação
tmp_table_size = 8M
tmpdir = /tmp/
slow_query_log_file = /var/log/mysql-slow.log
long_query_time = 5
innodb_log_file_size = 512M
innodb_log_files_in_group = 7
innodb_log_buffer_size = 64M
innodb_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 -pNerv2014
mysql> 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_logfile1
drwx--x--x. 2 mysql mysql 4.0K Jan 24 14:43 mysql
srwxrwxrwx. 1 mysql mysql 0 Jan 24 14:45 mysql.sock
drwx------. 2 mysql mysql 4.0K Jan 24 15:12 nerv
drwx------. 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-LAST
drwxr-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
Exemplos
INSERT 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 States
SHOW PROCESSLIST
SHOW FULL PROCESSLIST
After create
altering table
Analyzing
checking permissions
Checking table
cleaning up
closing tables
committing alter table to storage engine 
converting HEAP to MyISAM
copy to tmp table
Copying to group table
Copying to tmp table
Copying to tmp table on disk
Creating index
Creating sort index
Creating table
Creating tmp table
deleting 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
Exemplos
SELECT * 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 oficial
http://dev.mysql.com/doc/refman/5.0/en/index.html
http://dev.mysql.com/doc/refman/5.1/en/index.html
http://dev.mysql.com/doc/refman/5.5/en/index.html
http://dev.mysql.com/doc/refman/5.6/en/index.html
Livros
MySQL 5.0 Certification Study Guide
High 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 = 1048576
fs.file-max = 6815744
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_default=262144
net.core.wmem_max=1048586
Em seguida, execute:
# sysctl -p
Editar o arquivo /etc/security/limits.conf e ACRESCENTAR AO FINAL:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle 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=/tmp
export TMPDIR=$TMP
export ORACLE_HOSTNAME=nerv01.localdomain
export ORACLE_UNQNAME=ORCL
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0.4/db_1
export ORACLE_SID=ORCL
export ORACLE_TERM=xterm
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
if [ $USER = "oracle" ]; then
 if [ $SHELL = "/bin/ksh" ]; then
 ulimit -p 16384
 ulimit -n 65536
 else
 ulimit -u 16384 -n 65536
 fi
fi
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
152153
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 localhost6
192.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 SYSDBA
Por que isto funcionou?
Execute logon no SQL*Plus via SQL*Net.
$ sqlplus SYSTEM/Nerv2014@ORCL
Por 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_target
memory_target
sga_max_size
sga_target
pga_aggregate_target
db_cache_size (db_2k_cache_size, db_4k_cache_size, db_8k_cache_size...)
buffer_pool_keep, buffer_pool_recycle
shared_pool_size, shared_pool_reserved_size
large_pool_size
java_pool_size
streams_pool_size
log_buffer
Aumente em 100MB a memória utilizada pelo Oracle.
198
199
Teoria: STARTUP / SHUTDOWN
Estados da Instância
SHUTDOWN
STARTUP
MOUNT
OPEN
Comandos
SQL> 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 
 
 SEGMENTS
EXTENTS 
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 1000
SQL> SET LINESIZE 300
SQL> 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) MB
FROM dba_segments
GROUP BY tablespace_name
ORDER BY 2 DESC;
8 – Consultando o tamanho dos objetos (SEGMENTS) do schema HR
SQL> SELECT segment_name, segment_type, SUM(bytes/1024/1024) MB
FROM dba_segments
WHERE owner ='HR'
GROUP BY segment_name, segment_type
ORDER 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égios
1. Crie um usuário
SQL> CREATE USER usuario1 IDENTIFIED BY 123;
2. Altere a senha do usuário
SQL> 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_TESTE
SQL> ALTER USER usuario1 DEFAULT TABLESPACE TBS_TESTE;
Prática: Usuários
209
Usuários e privilégios
5. 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égios
IV. Tente conectar na instância ORCL.
$ sqlplus /
O que aconteceu?
Prática: Usuários
211
Usuários e privilégios
1. Tente conectar no SQL*Plus com esse usuário:
 $ sqlplus usuario1/minhasenha@ORCL2. 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_privs
WHERE grantee='USUARIO1'
AND owner='SCOTT'
AND table_name='EMP';
Prática: Privilégios
212
Usuários e privilégios
7. 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, DCL
DDL (Data Definition Language)
CREATE
ALTER
DROP
TRUNCATE
DCL (Data Control Language)
GRANT
REVOKE
DML (Data Manipulation Language)
SELECT
INSERT
UPDATE
DELETE
TCL (Transaction Control Language)
COMMIT
SAVEPOINT
ROLLBACK
SET 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
PK
CREATE TABLE Employee (EmployeeID int PRIMARY KEY CLUSTERED, 
EmpName nvarchar(100), DeptID int);
FK
CREATE TABLE Employee (EmployeeID int, EmpName nvarchar(100), 
DeptID int REFERENCES Dept(DeptID);
UNIQUE
CREATE TABLE Employee (EmployeeID int PRIMARY KEY, EmpName 
nvarchar(100) NONCLUSTERED, DeptID int);
CHECK
CREATE TABLE Employee (EmployeeID int CHECK (EmployeeID >= 1), 
EmpName nvarchar(100), DeptID int);
NOT NULL
CREATE 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
Exemplos
INSERT 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.employees
WHERE 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ção
CREATE 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 TRANSACTION
UPDATE ...
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
Exemplos
exp / imp
exp USERID=SCOTT/TIGER FULL=Y FILE=expSCOTT.dmp
imp 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 SGBD
Fase 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
	Slide 1
	Slide 2
	Slide 3
	Slide 4
	Slide 5
	Slide 6
	Slide 7
	Slide 8
	Slide 9
	Slide 10
	Slide 11
	Slide 12
	Slide 13
	Slide 14
	Slide 15
	Slide 16
	Slide 17
	Slide 18
	Slide 19
	Slide 20
	Slide 21
	Slide 22
	Slide 23
	Slide 24
	Slide 25
	Slide 26
	Slide 27
	Slide 28
	Slide 29
	Slide 30
	Slide 31
	Slide 32
	Slide 33
	Slide 34
	Slide 35
	Slide 36
	Slide 37
	Slide 38
	Slide 39
	Slide 40
	Slide 41
	Slide 42
	Slide 43
	Slide 44
	Slide 45
	Slide 46
	Slide 47
	Slide 48
	Slide 49
	Slide 50
	Slide 51
	Slide 52
	Slide 53
	Slide 54
	Slide 55
	Slide 56
	Slide 57
	Slide 58
	Slide 59
	Slide 60
	Slide 61
	Slide 62
	Slide 63
	Slide 64
	Slide 65
	Slide 66
	Slide 67
	Slide 68
	Slide 69
	Slide 70
	Slide 71
	Slide 72
	Slide 73
	Slide 74
	Slide 75
	Slide 76
	Slide 77
	Slide 78
	Slide 79
	Slide 80
	Slide 81
	Slide 82
	Slide 83
	Slide 84
	Slide 85
	Slide 86
	Slide 87
	Slide 88
	Slide 89
	Slide 90
	Slide 91
	Slide 92
	Slide 93
	Slide 94
	Slide 96
	Slide 97
	Slide 98
	Slide 99
	Slide 100
	Slide 101
	Slide 102
	Slide 103
	Slide 104
	Slide 105
	Slide 106
	Slide 107
	Slide 108
	Slide 109
	Slide 110
	Slide 111
	Slide 112
	Slide 113
	Slide 114
	Slide 115
	Slide 116
	Slide 117
	Slide 118
	Slide 119
	Slide 120
	Slide 121
	Slide 122
	Slide 123
	Slide 124
	Slide 125
	Slide 126
	Slide 127
	Slide 128
	Slide 129
	Slide 130
	Slide 131
	Slide 132
	Slide 133
	Slide 134
	Slide 135
	Slide 136
	Slide 137
	Slide 138
	Slide 139
	Slide 140
	Slide 141
	Slide 142
	Slide 143
	Slide 144
	Slide 145
	Slide 146
	Slide 147
	Slide 148
	Slide 149
	Slide 150
	Slide 151
	Slide 152
	Slide 153
	Slide 154
	Slide 155
	Slide 156
	Slide 157
	Slide 158
	Slide 159
	Slide 160
	Slide 161
	Slide 162
	Slide 163
	Slide 164
	Slide 165
	Slide 166
	Slide 167
	Slide 168
	Slide 169
	Slide 170
	Slide 171
	Slide 172
	Slide 173
	Slide 174
	Slide 175
	Slide 176
	Slide 177
	Slide 178
	Slide 179
	Slide 180
	Slide 181
	Slide 182
	Slide 183
	Slide 184
	Slide 185
	Slide 186
	Slide 187
	Slide 188
	Slide 189
	Slide 190
	Slide 191
	Slide 192
	Slide 193
	Slide 194
	Slide 195
	Slide 196
	Slide 197
	Slide 198
	Slide 199
	Slide 200
	Slide 201
	Slide 202
	Slide 203
	Slide 204
	Slide 205
	Slide 206
	Slide 207
	Slide 208
	Slide 209
	Slide 210
	Slide 211
	Slide 212
	Slide 213
	Slide 214
	Slide 215
	Slide 216
	Slide 217
	Slide 218
	Slide 219
	Slide 220
	Slide 221
	Slide 222
	Slide 223
	Slide 224
	Slide 225
	Slide 226
	Slide 227
	Slide 228
	Slide 229
	Slide 230
	Slide 231
	Slide 232
	Slide 233
	Slide 234
	Slide 235
	Slide 237
	Slide 238
	Slide 239

Continue navegando