Upload
ricardo-portilho-proni
View
2.449
Download
42
Embed Size (px)
DESCRIPTION
Neste Treinamento, com o balanceamento adequado entre rápidas teorias que reforçam o que foi aprendido na faculdade, com laborários práticos intensivos, o aluno será preparado para executar tarefas administrativas básicas em bancos de dados Oracle, SQL Server e MySQL, além de ser corretamente orientado a respeito da carreira e seus futuros focos de aprendizado.
DBA Júnior
Hugo [email protected]
Esta obra está licenciada sob a licençaCreative Commons Atribuição-SemDerivados 3.0 Brasil.
Para ver uma cópia desta licença, visite http://creativecommons.org/licenses/by-nd/3.0/br/.
1
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 [email protected]
Copie um arquivo do computador do seu vizinho para o seu.
# scp [email protected]:/root/install.log /root
Copie um arquivo de seu computador para o do seu vizinho.
# scp /root/install.log [email protected]:/root/Desktop/install.log
96
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 [email protected]# 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=Nerv2013 /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, nos dois Nodes.
InitiatorName=iqn.2010-10.com.nervinformatica:storage.asm01
Crie um diretório, e monte-o na partição iSCSI.
111
Prática: iSCSI Initiator
111
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.05.15.5
115
117
Prática: Instalação e inicialização
# rpm -Uvh MySQL-*# service mysql start# chkconfig mysql on# /usr/bin/mysqladmin -u root password 'Nerv2013'
# cat /var/log/mysqld.log
# cat /etc/my.cnf
117
118
Prática: Programas Cliente
# mysql -u root -pNerv2013mysql> exit;
# mysql -u root -pNerv2013 -e “SHOW STATUS”
# mysql -u root -pNerv2013 -e “SHOW STATUS” > status.txt# cat status.txt
# echo “SHOW STATUS” >> script.sql# cat script.sql# mysql -u root -pNerv2013 < script.sql# rm status.txt# mysql -u root -pNerv2013 < script.sql > status.txtO que este último comando fez?
# mysqladmin -u root -pNerv2013 statusO que mais o comando mysqladmin faz?
118
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 -pNerv2013 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 = 1Ginnodb_thread_concurrency = 32
key_buffer = 128Mread_buffer_size = 2Mread_rnd_buffer_size = 2M
query_cache_limit = 2Mquery_cache_min_res_unit = 4096query_cache_size = 1Gquery_cache_type = 1
sort_buffer = 2Mjoin_buffer_size = 2M
121
122
Prática: Parâmetros de recuperação
tmp_table_size = 8Mtmpdir = /tmp/
slow_query_log_file = /var/log/mysql-slow.loglong_query_time = 5
Altere todos os parâmetros abaixo no my.cnf, de acordo com sua máquina, e reinicie o mysql.
innodb_log_file_size = 512Minnodb_log_files_in_group = 7innodb_log_buffer_size = 64Minnodb_flush_log_at_trx_commit = 1
122
123
Prática: Bancos de Dados
# mysql -u root -pNerv2013mysql> show databases;mysql> create database nerv;mysql> show databases;mysql> use nerv;mysql> show tables;
123
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 Employee (EmployeeID, EmpName, DeptID)VALUES (1, 'Ricardo Portilho Proni', 1);
UPDATE Employee SET EmpName = 'Portilho' WHERE EmployeeID = 1;
DELETE FROM Employee WHERE EmployeeID = 2;
SELECT EmpName, DeptID FROM Employee WHERE EmployeeID = 1;
Execute INSERT de 10 registros, UPDATE de 2, DELETE de 2, e 2 SELECTs diferentes.
127
128
Prática: Transações e Isolamento
Execute um UPDATE de seu modelo de dados, em todas os registros da Employee.Abra outra sessão, e execute SELECT em todos os dados da tabela.O que aconteceu?
Repita a operação, mas antes do UPDATE, coloque como abaixo.
BEGIN TRANSACTIONUPDATE ...GO
O que aconteceu?
128
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' 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...
FLUSH TABLE <nome_tabela>;UNLOCK TABLES;
132
133
Prática: mysqldump
Execute um backup via mysqldump.
$ mysqldump -u root -pNerv2013 nerv > nerv.sql
Edite o arquivo gerado.O que ele contém?Como utilizar este backup?Quais suas desvantagens?
133
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.3/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.3/db_1export ORACLE_SID=ORCLexport ORACLE_TERM=xtermexport PATH=/usr/sbin:$PATHexport PATH=$ORACLE_HOME/bin:$PATHexport LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/libexport CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlibif [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fifi
145
Prática: Instalação
145
146
Prática: Instalação
Execute logon como oracle no ambiente gráfico, e descompacte o instalador.$ unzip -q p10404530_112030_Linux-x86-64_1of7.zip $ unzip -q p10404530_112030_Linux-x86-64_2of7.zip
Execute o instalador.$ cd database/$ ./runInstaller
146
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/Nerv2013@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.3/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> SELECT tablespace_name, file_name, bytes/1024/1024 MB SQL> FROM dba_data_files SQL> WHERE tablespace_name='TBS_TESTE' SQL> ORDER BY 2;
3 - Alterando uma tablespace, adicionando um datafile:
SQL> ALTER TABLESPACE TBS_TESTE ADD DATAFILE '/u01/oradata/ORCL/teste_02.dbf' SIZE 10M;
Tablespaces e DatafilesPrática: Tablespaces e Datafiles
202
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> SHUTDOWN IMMEDIATE;SQL> STARTUP MOUNT;SQL> ALTER DATABASE NOARCHIVELOG;SQL> ALTER DATABASE OPEN;
Altere o Banco de Dados para o modo ARCHIVELOG.
SQL> SHUTDOWN IMMEDIATE;SQL> STARTUP MOUNT;SQL> ALTER DATABASE ARCHIVELOG;SQL> ALTER DATABASE OPEN;
206
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ário
SQL> CREATE USER usuario1 IDENTIFIED BY 123;
2. Altere a senha do usuárioSQL> ALTER USER usuario1 IDENTIFIED BY minhasenha;
3. Consulte o usuário criado.SQL> SELECT username, account_status, default_tablespace
FROM dba_usersWHERE username='USUARIO1';
4. Alterando a TABLESPACE padrão do USUARIO1 para TBS_TESTESQL> ALTER USER usuario1 DEFAULT TABLESPACE tbs_teste;
Prática: Usuários
209
Usuários e privilégios5. Alterando a quota de espaço do USUARIO1 na tablespace TBS_TESTE
SQL> ALTER USER usuario1 QUOTA 200M ON tbs_teste;
6. Alterando o usuário para conexão externa
I. Altere o modo de autenticação do usuário
SQL> ALTER USER usuario1 IDENTIFIED EXTERNALLY;
II. Agora, crie um usuário no S.O como o mesmo nome do usuário do banco
# useradd usuario1# passwd Nerv2014
III. Abra uma sessão no Linux, com o usuario1 e exporte as variáveis de ambiente do Oracle
$ export ORACLE_HOME= /u01/app/oracle/product/11.2.0.3/db_1 $ export ORACLE_SID=ORCL $ export PATH=$ORACLE_HOME/bin:$PATH
Prática: Usuários
210
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, grantorSQL> FROM dba_tab_privsSQL> WHERE grantee='USUARIO1'SQL> AND owner='SCOTT'SQL> 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;
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_TEXTSQL> FROM V$SQL 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> CONFIGURE BACKUP OPTIMIZATION ON;RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO COMPRESSED BACKUPSET;RMAN> CONFIGURE COMPRESSION ALGORITHM 'HIGH' OPTIMIZE FOR LOAD TRUE AS OF RELEASE 'DEFAULT';
O que estes três comandos fazem?
227
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://br.groups.yahoo.com/group/GPOracle/ http://br.groups.yahoo.com/group/oracle_br/ https://forums.oracle.com
Livros Expert Oracle Database Architecture (Tom Kyte) Oracle Wait Interface: A Pratical Guide to Perform Performance Diagnostics & Tuning Oracle Insights: Tales Of The Oak Table
231
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
Os 7 Passos do Troubleshooting
Passo 0: Acredite. Passo 1: Redução. Passo 2: Isolamento. Passo 3: Reprodução. Passo 4: Informação. Passo 5: Pesquisa. Passo 6: Correção & Validação. Passo 7: Documentação.
http://nervinformatica.com.br/blog/2013/01/07/os-7-passos-do-troubleshooting-2/
235
236
Como aprender um novo SGBDFase 1 – Encontre a documentação oficial. – Instale. – Execute logon como administrador. – Crie um novo usuário, e conecte-se com ele. – Pare e inicie o SGBD, incluindo o sistema operacional. – Não entre em pânico. – Entenda e encontre sua estrutura física. – Entenda e encontre sua estrutura lógica. – Procure o log de erros. – Execute backup, físico e lógico.
Fase 2 – Descubra como saber o que está acontecendo no SGBD. – Exporte e importe dados em arquivos texto. – Leia e entenda todos os parâmetros do SGBD.
Fase 3 – Execute RESTORE. – Recupere o banco de dados em outro servidor. – Cause lentidão. – Implante Disaster Recovery.
http://nervinformatica.com.br/blog/2013/01/07/como-aprender-um-novo-banco-de-dados/
236
Treinamentos Nerv
- Oracle Performance Diagnostics & Tuning - Oracle Backup & Recovery - Oracle RAC - Oracle Data Guard
237
Vagas
- APInfo - Ceviu - Catho
238