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
Agenda Introdução Linux Virtualização Windows Server Redes Storage SQL Server MySQL Oracle 6 6
Formação DBAs Gradução / Pós-graduação / Doutorado. Certificação. Inglês. Múltiplos SGBD. Experiência: o ovo e a galinha. 7 7
Júnior? 8 8
DBA Júnior, Pleno, e Sênior 9 9
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 10
Bancos de Dados 11 11
Linux 12 12
Teoria: Alta x Baixa plataforma 13 13
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 14
Teoria: História do Unix 15 15
Teoria: Distribuições, Edições, Versões http://upload.wikimedia.org/wikipedia/commons/e/ed/linuxdistrotimeline.png 16 16
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 17
Prática: Instalação OEL 6 18 18
Prática: Instalação OEL 6 19 19
Prática: Instalação OEL 6 20 20
Prática: Instalação OEL 6 21 21
Prática: Instalação OEL 6 22 22
Prática: Instalação OEL 6 23 23
Prática: Instalação OEL 6 24 24
Prática: Instalação OEL 6 25 25
Prática: Instalação OEL 6 26 26
Prática: Instalação OEL 6 27 27
Prática: Instalação OEL 6 28 28
Prática: Instalação OEL 6 29 29
Prática: Instalação OEL 6 30 30
Prática: Instalação OEL 6 31 31
Prática: Instalação OEL 6 32 32
Prática: Instalação OEL 6 33 33
Prática: Instalação OEL 6 34 34
Prática: Instalação OEL 6 35 35
Prática: Instalação OEL 6 36 36
Prática: Instalação OEL 6 37 37
Prática: Instalação OEL 6 38 38
Prática: Instalação OEL 6 39 39
Prática: Instalação OEL 6 40 40
Prática: Instalação OEL 6 41 41
Prática: Instalação OEL 6 42 42
Prática: Instalação OEL 6 43 43
Prática: Instalação OEL 6 44 44
Prática: Instalação OEL 6 45 45
Prática: Instalação OEL 6 46 46
Prática: Instalação OEL 6 47 47
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 48
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 49
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 ESC e depois x ESC e depois dd ESC e depois :w ESC e depois :q --- insere texto. --- remove uma letra. --- remove uma linha. --- salva as alterações. --- sai do vi. # clear O que as setas para cima e para baixo fazem? 50 50
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 51
Prática: Gerenciamento de Pacotes Tente instalar o gcc. # rpm -ivh gcc-4.4* O que aconteceu? # yum install gcc 52 52
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 53
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 54
Prática: Services Verifique se o Apache está configurado para iniciar automaticamente. # # # # # chkconfig chkconfig chkconfig chkconfig chkconfig grep httpd --level 35 httpd on grep httpd httpd on Inicie e teste o serviço do Apache. # # # # # service firefox service service firefox httpd status localhost httpd start httpd status localhost 55 55
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 56
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 57
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 58
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 59
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. 60 60
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? 61 61
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? 62 62
Prática: Desempenho $ free $ vmstat $ vmstat 2 $ vmstat 5 $ iostat $ iostat 2 $ iostat 5 $ top O que estes comandos fazem? 63 63
Prática: Logs Verifique os logs mais atuais, e que informação eles têm. $ $ # # ls su ls ls -lh /var/log -lh /var/log -lhtr /var/log 64 64
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/ 65 65
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 66 66
Virtualização 67 67
Teoria: Hard x Soft 68 68
Teoria: Hard x Soft 69 69
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. 70 70
Prática: Criação VMs 71 71
Prática: Criação VMs 72 72
Prática: Criação VMs 73 73
Prática: Criação VMs 74 74
Prática: Criação VMs 75 75
Prática: Criação VMs 76 76
Prática: Criação VMs 77 77
Prática: Configuração VMs 78 78
Prática: Configuração VMs 79 79
Prática: Configuração VMs 80 80
Prática: Configuração VMs 81 81
Prática: Configuração VMs 82 82
Prática: Clone VMs 83 83
Prática: Clone VMs 84 84
Prática: Clone VMs 85 85
Prática: Snapshot VMs 86 86
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 87 87
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 88 88
Windows Server 89 89
Teoria: Versões e Edições Versões - Windows NT 3.5 - Windows NT 4 - Windows 2000 Server - Windows Server 2003 - Windows Server 2003 R2 - Windows Server 2008 - Windows Server 2008 R2 - Windows Server 2012 Edições Windows 2012 - Foundation - Essentials - Standard - Datacenter 90 90
Prática: Instalação Windows 2008 R2 91 91
Prática: Instalação Windows 2008 R2 92 92
Prática: Instalação Windows 2008 R2 93 93
Prática: Instalação Windows 2008 R2 94 94
Prática: Instalação Windows 2008 R2 95 95
Prática: Instalação Windows 2008 R2 96 96
Prática: Instalação Windows 2008 R2 97 97
Prática: Instalação Windows 2008 R2 98 98
Prática: Instalação Windows 2008 R2 99 99
Prática: Instalação Windows 2008 R2 100 100
Prática: Instalação Windows 2008 R2 101 101
Prática: Instalação Windows 2008 R2 102 102
Prática: Particionamento e Filesystem 103 103
Prática: Particionamento e Filesystem 104 104
Prática: Particionamento e Filesystem 105 105
Prática: Particionamento e Filesystem 106 106
Prática: Particionamento e Filesystem 107 107
Prática: Particionamento e Filesystem 108 108
Prática: Particionamento e Filesystem 109 109
Prática: Particionamento e Filesystem 110 110
Prática: Particionamento e Filesystem 111 111
Prática: Particionamento e Filesystem 112 112
Prática: Particionamento e Filesystem 113 113
Prática: Particionamento e Filesystem 114 114
Prática: Particionamento e Filesystem 115 115
Prática: Particionamento e Filesystem 116 116
Prática: Particionamento e Filesystem 117 117
Prática: Services 118 118
Prática: Services 119 119
Prática: Services 120 120
Prática: CMD 121 121
Prática: CMD C:\Users\Administrator> cd.. C:\Users> cd Adm<TAB> C:\Users\Administrator> cd \ C:\> mkdir teste C:\> dir C:\> cd teste C:\teste> notepad teste.txt Escreva algo no arquivo e salve-o. C:\teste> copy teste.txt teste02.txt C:\teste> more teste02.txt C:\teste> type teste02.txt C:\teste> cd.. C:\> dir C:\> xcopy teste C:\> dir C:\> del teste.txt C:\> help 122 122
Prática: CMD C:\Users\Administrator> NET STOP Spooler C:\Users\Administrator> NET START Spooler C:\Users\Administrator> HOSTNAME C:\Users\Administrator> TASKLIST C:\Users\Administrator> DISKPART DISKPART> LIST DISKPART> LIST DISK DISKPART> EXIT 123 123
Prática: Programação BAT C:\> set MEUDIRETORIO=C:\teste C:\> set C:\> echo %MEUDIRETORIO% C:\> cd %MEUDIRETORIO% C:\teste> notepad teste02.txt Deixe apenas estas duas linhas no arquivo teste02.txt e salve-o. set MEUDIRETORIO=C:\teste dir %MEUDIRETORIO% C:\teste> REN teste02.txt teste.bat C:\teste> teste.bat Acrescente esta linha no final do arquivo teste.bat e salve-o. teste C:\teste> teste.bat O que aconteceu? 124 124
Prática: Agendamento de Tarefas Abra o Task Scheduler. Start -> Administrative Tools -> Task Scheduler Em Create Basic Task, crie um agendamento para executar diariamente o programa teste.bat. 125 125
Prática: Usuários, Grupos, Domínios 126 126
Prática: Verificação de Desempenho Inicie o Task Manager. Start, Run, taskmgr Clique em Resource Monitor. Que informações o Resource Monitor possui, e o Task Manager não? Inicie o Performance Monitor. Start -> Administrative Tools -> Performance Monitor Adicione 5 contadores úteis ao Performance Monitor. 127 127
Prática: Event Viewer Inicie o Event Viewer. Start -> Administrative Tools -> Event Viewer Analisando o Event Viewer, quando o computador foi inicializado? Analisando o Event Viewer, quando o segundo disco foi adicionado? 128 128
Teoria: Documentação / Livros Documentação Windows Server http://technet.microsoft.com/en-us/library/bb625087.aspx Livro Windows Internals http://technet.microsoft.com/en-us/sysinternals/bb963901.aspx 129 129
Teoria: Certificações / Mercado de Trabalho - Microsoft Certified Solutions Associate (MCSA) - Microsoft Certified Solutions Expert (MCSE) - Microsoft Certified Solutions Master (MCSM) 130 130
Redes 131 131
Teoria: TCP/IP 132 132
Teoria: TCP/IP IP Mask Gateway DNS Qual seu IP / Mask / Gateway / DNS? 133 133
Teoria: TCP/IP DHCP Routing Firewall Proxy IDS IPS VLAN 134 134
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 136 136
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? 137 137
Prática: Xserver Execute logon remoto no computador do seu vizinho. # ssh -CX root@192.168.0.102 # firefox 138 138
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 139 139
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 140 140
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 141 141
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 142 142
Storage 143 143
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 144 144
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 145 145
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 146 146
Prática: NFS Server 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 147 147
Prática: NFS Client 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? 148 148
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 149 149
Prática: iscsi Initiator Particione o novo disco, na máquina nerv01. # fdisk /dev/sdb Digite: n Digite: p Digite: 1 <Enter> <Enter> Digite: w 150
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. 151 151
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 152 152
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 153 153
SQL Server 154 154
Teoria: Versões e Edições Edições - Compact - Developer - Express - Standard - Business Intelligence - Enterprise Versões 1.0 (OS/2) 1.1 (OS/2) 4.21 (WinNT) 6.0 6.5 7.0 8.0 8.0 9.0 10.0 10.5 11.0 1989 1991 1993 1995 1996 1998 2000 2003 2005 2008 2010 2012 SQL Server 1.0 SQL Server 1.1 SQL Server 4.21 SQL Server 6.0 SQL Server 6.5 SQL Server 7.0 SQL Server 2000 SQL Server 2000 64-bit Edition SQL Server 2005 SQL Server 2008 SQL Server 2008 R2 SQL Server 2012 155 155
Prática: Instalação SQL Server 156 156
Prática: Instalação SQL Server 157 157
Prática: Instalação SQL Server 158 158
Prática: Instalação SQL Server Habilite o Network Discovery. Pressione a tecla F5 no ambiente de rede, até VBOXSRV aparecer. Copie o instalador do SQL Server para a VM, e execute-o. Após a finalização da extração, execute o programa setup. 159 159
Prática: Instalação SQL Server 160 160
Prática: Instalação SQL Server Inicie o PowerShell. Start -> All Programs -> Acessories -> Windows PowerShell Habilite o.net 3.5. PS C:\Users\Administrator> Import-Module ServerManager PS C:\Users\Administrator> Add-WindowsFeature as-net-framework Reexecute o programa setup. 161 161
Prática: Instalação SQL Server 162 162
Prática: Instalação SQL Server 163 163
Prática: Instalação SQL Server 164 164
Prática: Instalação SQL Server 165 165
Prática: Instalação SQL Server 166 166
Prática: Instalação SQL Server 167 167
Prática: Instalação SQL Server 168 168
Prática: Instalação SQL Server 169 169
Prática: Instalação SQL Server 170 170
Prática: Instalação SQL Server 171 171
Prática: Instalação SQL Server 172 172
Prática: Instalação SQL Server 173 173
Prática: Instalação SQL Server 174 174
Prática: Instalação SQL Server 175 175
Prática: Instalação SQL Server 176 176
Prática: Instalação SQL Server 177 177
Prática: Instalação SQL Server 178 178
Prática: Instalação SQL Server 179 179
Prática: Instalação SQL Server 180 180
Prática: Serviços 181 181
Prática: Conexão Inicie o Microsoft SQL Server Management Studio (SSMS). Efetue logon com SQL Server Authentication, e com o usuário sa. O que deve ser colocado em Server Name? Como você pode se conectar no SQL Server do vizinho? Clique em New Query. Na tela que se abrir, digite sp_who, e depois pressione F5. Inicie o CMD. C:\Users\Administrator> sqlcmd -e 1> sp_who 2> go Como você pode se conectar no SQL Server com sa via sqlcmd? Como você pode se conectar no SQL Server do vizinho via sqlcmd? C:\Users\Administrator> sqlcmd -? 182 182
Teoria: Arquitetura 183 183
Prática: Parâmetros Instância No SSMS, clique com o botão direito na instância e selecione Properties. 184 184
Prática: Parâmetros Instância 185 185
Prática: Parâmetros Instância 186 186
Prática: Parâmetros Instância 187 187
Prática: Parâmetros Instância 188 188
Prática: Parâmetros Instância 189 189
Prática: Parâmetros Instância 190 190
Prática: Parâmetros Instância 191 191
Prática: Banco de Dados 192 192
Prática: Banco de Dados 193 193
Prática: Parâmetros Banco de Dados 194 194
Prática: Parâmetros Banco de Dados 195 195
Prática: Modos de Proteção Simple Recovery Model Bulk-logged Recovery Model Full Recovery Model Altere o modo de Proteção do banco de dados que você criou para Full. 196 196
Teoria: Estruturas físicas File Group Primary data files Secondary data files Log files Logical File Name OS File Name 197 197
Teoria: Estruturas lógicas Database File Group (Tablespace) Schema Objects (Tables, Indexes, Views, Procedures, Functions, Triggers, etc.) 198 198
Prática: Segurança User Login Roles 199 199
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 200 200
Prática: Tabelas, Índices, Views CREATE TABLE Employee (EmployeeID int, EmpName nvarchar(100), DeptID int); CREATE TABLE Dept (DeptID int, DeptName nvarchar(100)); CREATE CLUSTERED INDEX IX_Employee ON Employee (EmployeeID); CREATE NONCLUSTERED INDEX IX_EmployeeName ON Employee (EmpName); CREATE VIEW EmployeesList AS SELECT EmpName FROM Employee; 201 201
Teoria: Procedures Criação USE Nerv; GO CREATE PROCEDURE uspgetemployeename @EmployeeID int AS SET NOCOUNT ON; SELECT Name FROM Employee WHERE EmployeeID = @EmployeeID; GO Execução USE Nerv; EXECUTE uspgetemployeename @EmployeeID = 1 GO 202 202
Teoria: Functions Criação USE Nerv; GO CREATE FUNCTION NumberOfEmployees (@DeptID int) RETURNS @TotalOfEmployees int AS BEGIN DECLARE @TotalOfEmployees AS int ; SELECT @TotalOfEmployees = SUM(EmployeeID) FROM Employee WHERE DeptID = @DeptID; RETURN @TotalOfEmployees; END; GO Execução SELECT * FROM NumberOfEmployees (2) GO 203 203
Teoria: Triggers Criação USE Nerv; CREATE TRIGGER Reminder ON Dept AFTER INSERT, UPDATE AS RAISERROR ('Notify Manager', 16, 10); GO 204 204
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. 205 205
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. 206 206
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? 207 207
Prática: Activity Monitor Pressione Control + Alt + A Esta visualização é similar a que outra ferramenta? Execute novamente o cenário de concorrência, e observe o Activity Monitor. Execute a procedure sp_who. Execute a procedure sp_who2. Qual a diferença das duas procedures? Que informações estas duas procedures possem do Activity Monitor? 208 208
Prática: Backup Clique com o botão direito no banco de dados de testes, e execute um backup. Execute o backup também via linha de comando. BACKUP DATABASE Nerv TO DISK = 'C:\temp\Nerv.BAK' GO BACKUP LOG Nerv TO DISK = 'C:\temp\Nerv.TRN' GO 209 209
Prática: Rotinas de Manutenção No SSMS, clique em Management -> Maintenance Plans. Crie um Plano que faça um backup e valide a estrutura do banco de dados de teste. 210 210
Prática: Error Log 211 211
Prática: Error Log 212 212
Teoria: Alta Disponibilidade Backup e Restore Log Shipping Database Mirroring (async e sync) AlwaysOn Failover Cluster AlwaysOn Availability Group (async e sync) 213 213
Teoria: Documentação / Livros Livros SQL Server Internals http://www.red-gate.com/community/books/index SQL Server Blogs http://technet.microsoft.com/en-us/sqlserver/bb671052.aspx 214 214
Teoria: Certificações / Mercado de Trabalho Atuais Microsoft Certified Solutions Associate (MCSA) Microsoft Certified Solutions Expert - Data Platform (MCSE) Microsoft Certified Solutions Expert - Business Intelligence (MCSE) Microsoft Certified Solutions Master - Data Platform(MCSM) Antigos MCTS: SQL Server 2008, Implementation and Maintenance MCTS: SQL Server 2008, Database Development MCTS: SQL Server 2008, Business Intelligence Development and Maintenance MCITP: Database Administrator 2008 MCITP: Database Developer 2008 MCITP: Business Intelligence Developer 2008 Microsoft Certified Master (MCM) Microsoft Certified Architect (MCA) MCTS: SQL Server 2005 MCTS: Microsoft SQL Server 2005, Business Intelligence Development MCITP: Database Developer on SQL Server 2005 MCITP: Database Administrator on SQL Server 2005 MCITP: Business Intelligence Developer on SQL Server 2005 Microsoft Certified Database Administrator SQL Server 2000 215 215
MySQL 216 216
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.0 5.1 5.5 217 217
Prática: Instalação yum Download de Pacotes RPMs 218 218
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 219 219
Prática: Programas Cliente # mysql -u root -pnerv2013 mysql> 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.txt O que este último comando fez? # mysqladmin -u root -pnerv2013 status O que mais o comando mysqladmin faz? 220 220
Teoria: Engines MyISAM InnoDB Memory CSV Archive Blackhole Merge Federated Example 221 221
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 -pnerv2013 status No top, que comportamento é apresentado? Abra outros 3 terminais executando o mesmo comando do mysqladmin, e observer o top. 222 222
Prática: Parâmetros de otimização max_connections = 800 table_open_cache = 100 thread_cache_size = 16 innodb_buffer_pool_size = 1G 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 query_cache_size = 1G query_cache_type = 1 = 4096 sort_buffer = 2M join_buffer_size = 2M 223 223
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 Altere todos os parâmetros abaixo no my.cnf, de acordo com sua máquina, e reinicie o mysql. innodb_log_file_size = 512M innodb_log_files_in_group = 7 innodb_log_buffer_size = 64M innodb_flush_log_at_trx_commit = 1 224 224
Prática: Bancos de Dados # mysql -u root -pnerv2013 mysql> show databases; mysql> create database nerv; mysql> show databases; mysql> use nerv; mysql> show tables; 225 225
Prática: Estruturas físicas # ls -lh /var/lib/mysql/ total 29M -rw-rw----. 1 mysql mysql -rw-rw----. 1 mysql mysql -rw-rw----. 1 mysql mysql drwx--x--x. 2 mysql mysql srwxrwxrwx. 1 mysql mysql drwx------. 2 mysql mysql drwx------. 2 mysql mysql -rw-rw----. 1 mysql mysql -rw-r--r--. 1 root root -rw-r--r--. 1 mysql mysql drwxr-xr-x. 2 mysql mysql 18M 5.0M 5.0M 4.0K 0 4.0K 4.0K 6 112 112 4.0K Jan Jan Jan Jan Jan Jan Jan Jan Jan Jan Jan 24 24 24 24 24 24 24 24 24 24 24 14:45 14:45 14:45 14:43 14:45 15:12 14:43 14:45 14:43 14:43 14:43 ibdata1 ib_logfile0 ib_logfile1 mysql mysql.sock nerv performance_schema Proni-PC.localdomain.pid RPM_UPGRADE_HISTORY RPM_UPGRADE_MARKER-LAST test # ls -lh /var/lib/mysql/nerv/ total 4.0K -rw-rw----. 1 mysql mysql 65 Jan 24 15:12 db.opt 226 226
Prática: Estruturas lógicas Tablespaces? Schemas? 227 227
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? 228 228
Prática: Objetos Recrie seu modelo de dados do SQL Server no MySQL. 229 229
Prática: INSERT, UPDATE, DELETE, SELECT Execute os mesmos comandos que fez no SQL Server. 230 230
Prática: Transações e Isolamento Execute os mesmos comandos que fez no SQL Server. Quais as diferenças de comportamento com o SQL Server? 231 231
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 232 232
Prática: Importação e Exportação Exemplos SELECT * 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. 233 233
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? 234 234
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; 235 235
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? 236 236
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? 237 237
Prática: System Status Execute no MySQL o comando abaixo. SHOW STATUS; Que informações que este comando gera são úteis? 238 238
Teoria: Alta Disponibilidade MySQL Replication MySQL Cluster 239 239
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) 240 240
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 241 241
Oracle 242 242
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 243 243
Teoria: Versões e Edições 244 244
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 245 245
Prática: Instalação 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 oracle oracle oracle soft hard soft hard nproc nproc nofile nofile 2047 16384 1024 65536 246 246
Prática: Instalação Executar os comandos abaixo. # # # # mkdir mkdir chown chmod -p -p -R -R /u01/app/oracle/product/11.2.0.3/db_1 /u01/oradata oracle:oinstall /u01 775 /u01 247 247
Prática: Instalação 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.3/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 248 248
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 249 249
Prática: Instalação 250 250
Prática: Instalação 251 251
Prática: Instalação 252 252
Prática: Instalação 253 253
Prática: Instalação 254 254
Prática: Instalação 255 255
Prática: Instalação 256 256
Prática: Instalação 257 257
Prática: Instalação 258 258
Prática: Instalação 259 259
Prática: Instalação 260 260
Prática: Instalação 261 261
Prática: Instalação Execute, como root, os scripts indicados nesta tela, e depois clique em OK. 262 262
Prática: Instalação 263 263
Prática: Listener Verifique se seu arquivo /etc/hosts está similar a este. 127.0.0.1 ::1 192.168.0.101 localhost.localdomain localhost6.localdomain6 nerv01.localdomain localhost localhost6 nerv01 Execute o Network Configuration Assistant. $ netca 264 264
Prática: Listener 265 265
Prática: Listener 266 266
Prática: Listener 267 267
Prática: Listener 268 268
Prática: Listener 269 269
Prática: Listener 270 270
Prática: Listener 271 271
Prática: Listener 272 272
Prática: Listener Verifique o estado o Listener. $ lsnrctl status $ lsnrctl stop $ lsnrctl start 273 273
Prática: Criação Banco de Dados 274 274
Prática: Criação Banco de Dados 275 275
Prática: Criação Banco de Dados 276 276
Prática: Criação Banco de Dados 277 277
Prática: Criação Banco de Dados 278 278
Prática: Criação Banco de Dados 279 279
Prática: Criação Banco de Dados 280 280
Prática: Criação Banco de Dados 281 281
Prática: Criação Banco de Dados 282 282
Prática: Criação Banco de Dados 283 283
Prática: Criação Banco de Dados 284 284
Prática: Criação Banco de Dados 285 285
Prática: Criação Banco de Dados 286 286
Prática: Criação Banco de Dados 287 287
Prática: Criação Banco de Dados 288 288
Prática: Criação Banco de Dados 289 289
Prática: Criação Banco de Dados 290 290
Prática: Criação Banco de Dados 291 291
Prática: Criação Banco de Dados 292 292
Prática: Criação Banco de Dados 293 293
Prática: Criação Banco de Dados 294 294
Prática: Criação Banco de Dados 295 295
Teoria: Processos Background 296 296
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/Nerv2013@ORCL Por que isto funcionou? Como executar logon no computador do vizinho? 297 297
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. 298 298
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> SQL> SQL> SQL> SHUTDOWN SHUTDOWN SHUTDOWN SHUTDOWN NORMAL; IMMEDIATE; TRANSACTIONAL; ABORT; 299 299
Prática: Modo ARCHIVELOG Altere o Banco de Dados para o modo NOARCHIVELOG. SQL> SQL> SQL> SQL> SHUTDOWN IMMEDIATE; STARTUP MOUNT; ALTER DATABASE NOARCHIVELOG; ALTER DATABASE OPEN; Altere o Banco de Dados para o modo ARCHIVELOG. SQL> SQL> SQL> SQL> SHUTDOWN IMMEDIATE; STARTUP MOUNT; ALTER DATABASE ARCHIVELOG; ALTER DATABASE OPEN; 300 300
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 301 301
Prática: Enterprise Manager Execute logon como SYS no Enterprise Manager. 302 302
Prática: Estruturas físicas DATAFILEs TEMPFILEs UNDO DATAFILEs CONTROLFILEs REDO LOGs ARCHIVED REDO LOGs PFILE / SPFILE 303 303
Teoria: Estruturas físicas SEGMENTs EXTENTs BLOCKs 304 304
Teoria: Estruturas lógicas TABLESPACEs SEGMENTs SCHEMAs (USERs) 305 305
Prática: Tablespaces Tablespaces e Datafiles e Datafiles 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> SQL> SQL> 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; 306
Prática: Tablespaces Tablespaces e Datafiles e Datafiles 4 - Reajustando o tamanho de um DATAFILE: SQL> ALTER DATABASE DATAFILE '/u01/oradata/orcl/teste_02.dbf' RESIZE 20M; 5 - Excluindo uma tablespace: SQL> DROP TABLESPACE TBS_TESTE; Novamente, execute o passo 1. O que aconteceu? 307
Prática: Objetos Recrie seu modelo de dados do SQL Server no Oracle. 308 308
Prática: INSERT, UPDATE, DELETE, SELECT Execute os mesmos comandos que fez no SQL Server. 309 309
Prática: Transações e Isolamento Execute os mesmos comandos que fez no SQL Server e MySQL. Quais as diferenças de comportamento com o SQL Server e MySQL? 310 310
Prática: e privilégios. UsuáriosUsuários e privilégios 1. Crie um usuário CREATE USER usuario1 IDENTIFIED BY 123; 2. Altere a senha do usuário ALTER USER usuario1 IDENTIFIED BY minhasenha; 3. Consulte o usuário criado. SELECT username, account_status, default_tablespace FROM dba_users WHERE username='usuario1'; 4. Tente conectar no SQL*Plus com esse usuário: $ sqlplus usuario1/minhasenha@orcl O que aconteceu? 311
Prática: e privilégios. UsuáriosUsuários e privilégios 4. 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; 5. 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; 6. Consulte os privilégios concedidos para o USUARIO1. SQL> SELECT grantee, owner, table_name, privilege, grantor SQL> FROM dba_tab_privs SQL> WHERE grantee='usuario1' SQL> AND owner='scott' SQL> AND table_name='emp'; 312
Prática: e privilégios. UsuáriosUsuá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; 313
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? 314 314
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? 315 315
Prática: V$SQL Encontre na V$SQL um SQL que você tenha executado. SQL> SELECT SQL_ID, SQL_TEXT SQL> FROM V$SQL SQL> WHERE SQL_TEXT LIKE '%SELECT FUNC FROM EMP%'; Que colunas são importantes na V$SQL? 316 316
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. 317 317
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? 318 318
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? 319 319
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. 320 320
Teoria: Alta Disponibilidade Oracle RAC Oracle Data Guard Oracle Golden Gate Oracle Streams 321 321
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 322 322
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 323 323
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 324 324
E agora? 325 325
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/ 326 326
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/ 327 327
Treinamentos Nerv - Oracle Performance Diagnostics & Tuning - Oracle Backup & Recovery - Oracle RAC - Oracle Data Guard 328
Vagas - APInfo - Ceviu - Catho 329