Treinamento DBA Júnior - Nerv Informática Ltda

2,614
-1

Published on

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.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,614
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
146
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Treinamento DBA Júnior - Nerv Informática Ltda

  1. 1. 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
  2. 2. 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
  3. 3. 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
  4. 4. Instrutor Certificações • Oracle Database 10g Administrator Certified Associate • Oracle Database 10g Administrator Certified Professional • ITIL Foundation V3 4
  5. 5. Alunos - Se apresente. - Trabalha, estuda? - Comente sua experiência com TI. 5
  6. 6.  Introdução  Linux  Virtualização  Redes  Storage  MySQL  Oracle 6 Agenda 6
  7. 7. 7 Formação DBAs  Gradução / Pós-graduação / Doutorado.  Certificação.  Inglês.  Múltiplos SGBD. 7
  8. 8. 8 Júnior? 8
  9. 9. 9 DBA Júnior, Pleno, e Sênior 9
  10. 10. 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. 11. 11 Bancos de Dados 11
  12. 12. Linux 12 12
  13. 13. 13 Teoria: Alta x Baixa plataforma 13
  14. 14. 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. 15. 15 Teoria: História do Unix 15
  16. 16. 16 Teoria: Distribuições, Edições, Versões http://upload.wikimedia.org/wikipedia/commons/e/ed/LinuxDistroTimeline.png 16
  17. 17. 17 Teoria: Distribuições, Edições, Versões RHEL 2, 3 e 4 Red Hat Enterprise Linux AS (mission-critical/enterprise computer systems) Red Hat Enterprise Linux ES (supported network servers) Red Hat Enterprise Linux WS (technical power user) Red Hat Desktop (single-user desktop) RHEL 5 Red Hat Enterprise Linux Advanced Platform (antigo AS) Red Hat Enterprise Linux (antigo ES) (limitado a 2 CPUs) Red Hat Enterprise Linux Desktop with Workstation and Multi-OS option Red Hat Enterprise Linux Desktop with Workstation option (antigo WS) Red Hat Enterprise Linux Desktop with Multi-OS option Red Hat Enterprise Linux Desktop (antigo Desktop) Fedora e RHEL Fedora Core 3 → Red Hat Enterprise Linux 4 Fedora Core 6 → Red Hat Enterprise Linux 5 Fedora 12, 13 → Red Hat Enterprise Linux 6 Linux homologados pela Oracle para Oracle Database 11gR2 Asianux Server 3 SP2 Red Hat Enterprise Linux / Oracle Enterprise Linux (4.7, 5.2, 6.1) SUSE Linux Enterprise Server 10 SP2 SUSE Linux Enterprise Server 11 17
  18. 18. 18 Prática: Instalação OEL 6 18
  19. 19. 19 Prática: Instalação OEL 6 19
  20. 20. 20 Prática: Instalação OEL 6 20
  21. 21. 21 Prática: Instalação OEL 6 21
  22. 22. 22 Prática: Instalação OEL 6 22
  23. 23. 23 Prática: Instalação OEL 6 23
  24. 24. 24 Prática: Instalação OEL 6 24
  25. 25. 25 Prática: Instalação OEL 6 25
  26. 26. 26 Prática: Instalação OEL 6 26
  27. 27. 27 Prática: Instalação OEL 6 27
  28. 28. 28 Prática: Instalação OEL 6 28
  29. 29. 29 Prática: Instalação OEL 6 29
  30. 30. 30 Prática: Instalação OEL 6 30
  31. 31. 31 Prática: Instalação OEL 6 31
  32. 32. 32 Prática: Instalação OEL 6 32
  33. 33. 33 Prática: Instalação OEL 6 33
  34. 34. 34 Prática: Instalação OEL 6 34
  35. 35. 35 Prática: Instalação OEL 6 35
  36. 36. 36 Prática: Instalação OEL 6 36
  37. 37. 37 Prática: Instalação OEL 6 37
  38. 38. 38 Prática: Instalação OEL 6 38
  39. 39. 39 Prática: Instalação OEL 6 39
  40. 40. 40 Prática: Instalação OEL 6 40
  41. 41. 41 Prática: Instalação OEL 6 41
  42. 42. 42 Prática: Instalação OEL 6 42
  43. 43. 43 Prática: Instalação OEL 6 43
  44. 44. 44 Prática: Instalação OEL 6 44
  45. 45. 45 Prática: Instalação OEL 6 45
  46. 46. 46 Prática: Instalação OEL 6 46
  47. 47. 47 Prática: Instalação OEL 6 47
  48. 48. 48 Prática: Manipulação de Arquivos Execute logon como root. Habilite a rede (Clique com o botão esquerdo no ícone de rede, e em eth0). Abra um terminal (Clique com o botão direito no Desktop, e então em “Open In Terminal”.) Verifique os arquivos existentes no diretório: # ls # ls -l # pwd # cd .. # pwd # ls # ls -l # ls -lh # ls -lA # ls -lh *.log # cd .. # pwd # ls -lh # man ls 48
  49. 49. 49 Prática: Manipulação de Arquivos # cd # pwd Em que diretório você está? # ls -lh # file Desktop # file install.log # cat install.log # head install.log # tail install.log # tail -f install.log O que aconteceu? # cp install.log install.log.backup # mv install.log install.log.new # rm install.log.backup # touch install.log O que estes comandos fizeram? 49
  50. 50. 50 Prática: Manipulação de Arquivos # cat install.log # cat install.log.new > install.log # cat install.log # grep xorg install.log # grep xorg install.log | grep fonts # grep xorg install.log | grep -v fonts # watch ls -lh # vi install.log ESC e depois I --- insere texto. ESC e depois x --- remove uma letra. ESC e depois dd --- remove uma linha. ESC e depois :w --- salva as alterações. ESC e depois :q --- sai do vi. # clear O que as setas para cima e para baixo fazem? 50
  51. 51. 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. 52. 52 Prática: Gerenciamento de Pacotes Tente instalar o gcc. # rpm -ivh gcc-4.4* O que aconteceu? # yum install gcc 52
  53. 53. 53 Prática: Particionamento e Sistema de Arquivos Crie uma partição com o espaço livre. # fdisk -l # fdisk /dev/sda Digite: p Digite: n <Enter> <Enter> Digite: p Digite: w # fdisk -l Formate esta partição com o Sistema de Arquivos ext4. # mkfs.ext4 /dev/sda8 O que aconteceu? 53
  54. 54. 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. 55. 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. 56. 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. 57. 57 Usuários, Grupos, Permissões Torne-se o usuário oracle, e verifique suas permissões. # su – oracle $ whoami $ id $ pwd $ ls -lh /root/ O que aconteceu? Dê permissão para um arquivo ao usuário oracle, e teste. $ exit # chown oracle:dba /root/install.log # su – oracle $ ls -lh /root/ $ ls -lh /root/install.log O que aconteceu? 57
  58. 58. 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. 59. 59 Shell Execute-o diretamente desta vez. $ /home/oracle/teste.sh O que aconteceu? Corrija e reexcute. $ ls -lh $ chmod +x /home/oracle/teste.sh $ ls -lh $ /home/oracle/teste.sh Proteja o script contra alterações. $ chmod -w /home/oracle/teste.sh Como retirar esta proteção? Acrescente mais comandos ao script. 59
  60. 60. 60 Prática: CRONTAB Agendador de tarefas. 60
  61. 61. 61 Prática: Variáveis de ambiente Verifique seus caminhos de executáveis. $ echo $PATH $ teste.sh $ cd /home/oracle $ ./teste.sh $ export PATH=/home/oracle/:$PATH $ echo $PATH $ teste.sh O que aconteceu? Crie uma variável de ambiente. $ export MINHAVARIAVEL=Teste $ echo $MINHAVARIAVEL Adicione uma variável ao seu script, e utilize-a para algo útil. Agende seu script para ser executado via crontab. $ crontab -e 61
  62. 62. 62 Prática: Processos Verifique os processos em execução. $ ps $ ps a $ ps aux $ ps aux | grep gnome $ pstree Qual a diferença entre estes comandos? Finalize o seu processo bash. $ ps a $ kill 2120 $ kill -9 2120 O que aconteceu? 62
  63. 63. 63 Prática: Processos Verifique seus caminhos de executáveis. $ vi teste.sh & $ fg O que aconteceu? $ vi teste.sh & $ vi teste02.sh & $ fg $ fg O que aconteceu? 63
  64. 64. 64 Prática: Desempenho $ free $ vmstat $ vmstat 2 $ vmstat 5 $ iostat $ iostat 2 $ iostat 5 $ top O que estes comandos fazem? 64
  65. 65. 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. 66. 66 Teoria: Documentação / Livros Livros livres - The Art of Unix Programming - Linux Device Drivers (O'Reilly) - Linux Kernel in a Nutshell (O'Reilly) - Linux Network Administrator's Guide (O'Reilly) Documentação Linux - http://www.tldp.org/ - https://access.redhat.com/knowledge/docs/ - https://www.suse.com/documentation/ AIX - http://pic.dhe.ibm.com/infocenter/aix/v6r1/index.jsp - http://www.ibm.com/developerworks/aix/ - http://www.redbooks.ibm.com/ 66
  67. 67. 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
  68. 68. Virtualização 68 68
  69. 69. 69 Teoria: Hard x Soft 69
  70. 70. 70 Teoria: Hard x Soft 70
  71. 71. 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. 72. 72 Prática: Criação VMs 72
  73. 73. 73 Prática: Criação VMs 73
  74. 74. 74 Prática: Criação VMs 74
  75. 75. 75 Prática: Criação VMs 75
  76. 76. 76 Prática: Criação VMs 76
  77. 77. 77 Prática: Criação VMs 77
  78. 78. 78 Prática: Criação VMs 78
  79. 79. 79 Prática: Configuração VMs 79
  80. 80. 80 Prática: Configuração VMs 80
  81. 81. 81 Prática: Configuração VMs 81
  82. 82. 82 Prática: Configuração VMs 82
  83. 83. 83 Prática: Configuração VMs 83
  84. 84. 84 Prática: Clone VMs 84
  85. 85. 85 Prática: Clone VMs 85
  86. 86. 86 Prática: Clone VMs 86
  87. 87. 87 Prática: Snapshot VMs 87
  88. 88. 88 Prática: Export / Import Appliance 88
  89. 89. 89 Teoria: Documentação / Livros Documentação VMware http://www.vmware.com/support/pubs/ Documentação Microsoft Hyper-V http://technet.microsoft.com/pt-br/library/cc753637%28v=ws.10%29.aspx Documentação Oracle VM http://www.oracle.com/technetwork/documentation/vm-096300.html Documentação Oracle Solaris Zones http://docs.oracle.com/cd/E26502_01/html/E29024/index.html Documentação Oracle VirtualBox https://www.virtualbox.org/wiki/Documentation 89
  90. 90. 90 Teoria: Certificações / Mercado de Trabalho VMware VMware Certified Professional – Cloud (VCP-Cloud) NEW VMware Certified Advanced Professional – Cloud Infrastructure Design (VCAP-CID) NEW VMware Certified Advanced Professional – Cloud Infrastructure Administration Coming Soon VMware Certified Advanced Professional – Cloud Governance Coming Soon VMware Certified Design Expert – Cloud (VCDX-Cloud) NEW VMware Certified Professional 5 – Datacenter Virtualization (VCP5-DV) VMware Certified Advanced Professional 5 - Datacenter Administration (VCAP5-DCA) VMware Certified Advanced Professional 5 - Datacenter Design (VCAP5-DCD) VMware Certified Design Expert 5 - Datacenter Virtualization (VCDX5-DV) NEW VMware Certified Associate 4 - Desktop (VCA4-DT) VMware Certified Professional 4 - Desktop (VCP4-DT) VMware Certified Professional 5 - Desktop (VCP5-DT) VMware Certified Advanced Professional - Desktop Design (VCAP-DTD) NEW VMware Certified Design Expert – Desktop (VCDX-DT) NEW Certified Spring Professional Certified Spring Web Application Developer Certified Spring Enterprise Integration Specialist Hyper-V MCITP: Virtualization Administrator 90
  91. 91. Redes 91 91
  92. 92. 92 Teoria: TCP/IP 92
  93. 93. 93 Teoria: TCP/IP  IP  Mask  Gateway  DNS Qual seu IP / Mask / Gateway / DNS? 93
  94. 94. 94 Teoria: TCP/IP  DHCP  Routing  Firewall  Proxy  IDS  IPS  VLAN 94
  95. 95. 96 Prática: ssh / scp / ftp Execute logon remoto no computador do seu vizinho. # ssh root@192.168.0.102 Copie um arquivo do computador do seu vizinho para o seu. # scp root@192.168.0.102:/root/install.log /root Copie um arquivo de seu computador para o do seu vizinho. # scp /root/install.log root@192.168.0.102:/root/Desktop/install.log 96
  96. 96. 97 Prática: mstsc / rdesktop / vnc Execute logon remoto no Windows Server de sua VM. # rdesktop <IP> Por que não funciona? Execute logon remoto gráfico no computador do seu vizinho. # vncviewer 192.168.0.102 Por que não funciona? 97
  97. 97. 98 Prática: Xserver Execute logon remoto no computador do seu vizinho. # ssh -CX root@192.168.0.102 # firefox 98
  98. 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
  99. 99. 100 Teoria: Documentação / Livros Linux Network Administrators Guide http://oreilly.com/openbook/linag2/book/index.html Cisco Documentation http://www.cisco.com/cisco/web/docs/iam/unified/ipt802/Cisco_Documentation.html 100
  100. 100. 101 Teoria: Certificações / Mercado de Trabalho CompTIA CompTIA A+ / CompTIA Network+ / CompTIA Security+ ISC(2) SSCP - Systems Security Certified Practitioner CAP - Certified Authorization Professional CSSLP - Certified Secure Software Lifecycle Professional CISSP - Certified Information Systems Security Professional 101
  101. 101. 102 Teoria: Certificações / Mercado de Trabalho Cisco CCENT - Cisco Certified Entry Networking Technician CCT - Cisco Certified Technicians CCDA - Cisco Certified Design Associate CCDP - Cisco Certified Design Professional CCDE - The Cisco Certified Design Expert CCNA - Cisco Certified Network Associate CCNP - Cisco Certified Network Professional CCNA Video CCNA / CCNP / CCIE - Data Center CCNA / CCNP / CCIE - Security CCNA / CCNP / CCIE - Service Provider CCNA / CCNP / CCIE - Service Provider Operations CCNA / CCNP / CCIE - Voice CCNA / CCNP / CCIE - Wireless CCIE Routing & Switching CCIE Storage Networking CCAr - Cisco Certified Architect 102
  102. 102. Storage 103 103
  103. 103. 104 Teoria: Produtos IBM DS8000 Series - DS8100 - DS8300 - DS8700 - DS8800 - DS8870 XIV SONAS Storwize V7000 Storwize V7000 Unified Storwize V3700 DS3500 Series - DS3512/DS3524 DCS3700 DS5000 Series - DS5020 - DS5100 - DS5300 N Series 104
  104. 104. 105 Teoria: Produtos NetApp FAS/V-Series Storage Systems - FAS6200 Series - FAS6000 Series - FAS3200 Series - FAS3100 Series - FAS2200 Series - V-Series E-Series Storage Technology - E5400 - E2600 Oracle / Sun Sun ZFS Storage 7120 Sun ZFS Storage 7320 Sun ZFS Storage 7420 Pillar Axiom 600 Storage System Pillar Axiom Software 105
  105. 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
  106. 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
  107. 107. Adicionar no arquivo /etc/fstab a linha abaixo. nerv02:/shared_data /u01/oradata nfs rw,bg,hard,nointr,tcp,vers=3,timeo=600,rsize=32768,wsize=32768,a ctimeo=0 0 0 Monte o Filesystem NFS. # mkdir /u01/oradata # mount /u01/oradata # touch /u01/oradata/teste.txt O vizinho consegue vizualizar seu arquivo? O vizinho consegue alterar seu arquivo? 108 Prática: NFS Client 108
  108. 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
  109. 109. 110 Particione o novo disco, na máquina nerv01. # fdisk /dev/sdb Digite: n Digite: p Digite: 1 <Enter> <Enter> Digite: w Prática: iSCSI Initiator
  110. 110. 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
  111. 111. 112 Teoria: Documentação / Livros http://en.wikipedia.org/wiki/SCSI http://en.wikipedia.org/wiki/ISCSI http://en.wikipedia.org/wiki/RAID http://en.wikipedia.org/wiki/Storage_area_network http://en.wikipedia.org/wiki/Network-attached_storage 112
  112. 112. 113 Teoria: Certificações / Mercado de Trabalho IBM IBM Certified Specialist - Midrange Storage Sales V1 IBM Certified Specialist - Enterprise Storage Sales V3 IBM Certified Specialist - High Volume Storage Fundamentals V2 IBM Certified Specialist - Midrange Storage Technical Support V3 IBM Certified Specialist - Enterprise Storage Technical Support V3 IBM Certified Specialist - Storwize V7000 Technical Solutions V2 IBM Certified Specialist - Storwize V7000 Technical Solutions V1 IBM Certified Specialist - XIV Storage System Technical Solutions Version 3 IBM Certified Specialist - System Storage DS8000 Technical Solutions V3 IBM Certified Specialist - High-End Disk for Open Systems V2 IBM Certified Specialist - High-End Tape Technical Solutions V7 IBM Certified Specialist - High-End Tape V6 NetApp NetApp Certified Data Management Administrator NetApp Certified Data Management Administrator NetApp Certified B & R Implementation Engineer NetApp Certified SAN Implementation Engineer 113
  113. 113. MySQL 114 114
  114. 114. 115 Teoria: Versões e Edições Edições MySQL Community Edition MySQL Standard Edition MySQL Enterprise Edition MySQL Cluster Carrier Grade Edition http://www.mysql.com/products/ Versões 5.0 5.1 5.5 115
  115. 115. 116 Prática: Instalação  yum  Download de Pacotes RPMs 116
  116. 116. 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
  117. 117. 118 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? 118
  118. 118. 119 Teoria: Engines  MyISAM  InnoDB  Memory  CSV  Archive  Blackhole  Merge  Federated  Example 119
  119. 119. 120 Prática: Processos e Threads Abra o top em um terminal e altere sua visualização padrão. # top Pressione: 1 Pressione: c Pressione: T Pressione: W Abra outro terminal , e execute: # watch -d –interval=1 mysqladmin -u root -pNerv2013 status No top, que comportamento é apresentado? Abra outros 3 terminais executando o mesmo comando do mysqladmin, e observer o top. 120
  120. 120. 121 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 = 4096 query_cache_size = 1G query_cache_type = 1 sort_buffer = 2M join_buffer_size = 2M 121
  121. 121. 122 Prática: Parâmetros de recuperação tmp_table_size = 8M tmpdir = /tmp/ slow_query_log_file = /var/log/mysql-slow.log long_query_time = 5 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 122
  122. 122. 123 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; 123
  123. 123. 124 Prática: Estruturas físicas # ls -lh /var/lib/mysql/ total 29M -rw-rw----. 1 mysql mysql 18M Jan 24 14:45 ibdata1 -rw-rw----. 1 mysql mysql 5.0M Jan 24 14:45 ib_logfile0 -rw-rw----. 1 mysql mysql 5.0M Jan 24 14:45 ib_logfile1 drwx--x--x. 2 mysql mysql 4.0K Jan 24 14:43 mysql srwxrwxrwx. 1 mysql mysql 0 Jan 24 14:45 mysql.sock drwx------. 2 mysql mysql 4.0K Jan 24 15:12 nerv drwx------. 2 mysql mysql 4.0K Jan 24 14:43 performance_schema -rw-rw----. 1 mysql mysql 6 Jan 24 14:45 Proni-PC.localdomain.pid -rw-r--r--. 1 root root 112 Jan 24 14:43 RPM_UPGRADE_HISTORY -rw-r--r--. 1 mysql mysql 112 Jan 24 14:43 RPM_UPGRADE_MARKER-LAST drwxr-xr-x. 2 mysql mysql 4.0K Jan 24 14:43 test # ls -lh /var/lib/mysql/nerv/ total 4.0K -rw-rw----. 1 mysql mysql 65 Jan 24 15:12 db.opt 124
  124. 124. 125 Prática: Estruturas lógicas  Tablespaces?  Schemas? 125
  125. 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
  126. 126. 127 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. 127
  127. 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 TRANSACTION UPDATE ... GO O que aconteceu? 128
  128. 128. 129 Prática: System States SHOW PROCESSLIST SHOW FULL PROCESSLIST After create altering table Analyzing checking permissions Checking table cleaning up closing tables committing alter table to storage engine converting HEAP to MyISAM copy to tmp table Copying to group table Copying to tmp table Copying to tmp table on disk Creating index Creating sort index Creating table Creating tmp table deleting from main table http://dev.mysql.com/doc/refman/5.6/en/general-thread-states.html 129
  129. 129. 130 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. 130
  130. 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
  131. 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
  132. 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
  133. 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
  134. 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
  135. 135. 136 Teoria: Alta Disponibilidade  MySQL Replication  MySQL Cluster 136
  136. 136. 137 Teoria: Documentação / Livros Documentação oficial http://dev.mysql.com/doc/refman/5.0/en/index.html http://dev.mysql.com/doc/refman/5.1/en/index.html http://dev.mysql.com/doc/refman/5.5/en/index.html http://dev.mysql.com/doc/refman/5.6/en/index.html Livros MySQL 5.0 Certification Study Guide High Performance MySQL (O'Reilly) 137
  137. 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
  138. 138. Oracle 139 139
  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
  140. 140. 141 Teoria: Versões e Edições 141
  141. 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
  142. 142. Editar o arquivo /etc/sysctl.conf e ACRESCENTAR AO FINAL: fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default=262144 net.core.rmem_max=4194304 net.core.wmem_default=262144 net.core.wmem_max=1048586 Em seguida, execute: # sysctl -p Editar o arquivo /etc/security/limits.conf e ACRESCENTAR AO FINAL: oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 143 Prática: Instalação 143
  143. 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
  144. 144. Com o usuário oracle, ACRESCENTAR NO FINAL do arquivo /home/oracle/.bash_profile as linhas abaixo. export TMP=/tmp export TMPDIR=$TMP export ORACLE_HOSTNAME=nerv01.localdomain export ORACLE_UNQNAME=ORCL export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/11.2.0.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 145 Prática: Instalação 145
  145. 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
  146. 146. 147 Prática: Instalação 147
  147. 147. 148 Prática: Instalação 148
  148. 148. 149 Prática: Instalação 149
  149. 149. 150 Prática: Instalação 150
  150. 150. 151 Prática: Instalação 151
  151. 151. 152 Prática: Instalação 152
  152. 152. 153 Prática: Instalação 153
  153. 153. 154 Prática: Instalação 154
  154. 154. 155 Prática: Instalação 155
  155. 155. 156 Prática: Instalação 156
  156. 156. 157 Prática: Instalação 157
  157. 157. 158 Prática: Instalação 158
  158. 158. 159 Prática: Instalação Execute, como root, os scripts indicados nesta tela, e depois clique em OK. 159
  159. 159. 160 Prática: Instalação 160
  160. 160. 161 Prática: Listener Verifique se seu arquivo /etc/hosts está similar a este. 127.0.0.1 localhost.localdomain localhost ::1 localhost6.localdomain6 localhost6 192.168.0.101 nerv01.localdomain nerv01 Execute o Network Configuration Assistant. $ netca 161
  161. 161. 162 Prática: Listener 162
  162. 162. 163 Prática: Listener 163
  163. 163. 164 Prática: Listener 164
  164. 164. 165 Prática: Listener 165
  165. 165. 166 Prática: Listener 166
  166. 166. 167 Prática: Listener 167
  167. 167. 168 Prática: Listener 168
  168. 168. 169 Prática: Listener 169
  169. 169. 170 Prática: Listener Verifique o estado o Listener. $ lsnrctl status $ lsnrctl stop $ lsnrctl start 170
  170. 170. 171 Prática: Criação Banco de Dados 171
  171. 171. 172 Prática: Criação Banco de Dados 172
  172. 172. 173 Prática: Criação Banco de Dados 173
  173. 173. 174 Prática: Criação Banco de Dados 174
  174. 174. 175 Prática: Criação Banco de Dados 175
  175. 175. 176 Prática: Criação Banco de Dados 176
  176. 176. 177 Prática: Criação Banco de Dados 177
  177. 177. 178 Prática: Criação Banco de Dados 178
  178. 178. 179 Prática: Criação Banco de Dados 179
  179. 179. 180 Prática: Criação Banco de Dados 180
  180. 180. 181 Prática: Criação Banco de Dados 181
  181. 181. 182 Prática: Criação Banco de Dados 182
  182. 182. 183 Prática: Criação Banco de Dados 183
  183. 183. 184 Prática: Criação Banco de Dados 184
  184. 184. 185 Prática: Criação Banco de Dados 185
  185. 185. 186 Prática: Criação Banco de Dados 186
  186. 186. 187 Prática: Criação Banco de Dados 187
  187. 187. 188 Prática: Criação Banco de Dados 188
  188. 188. 189 Prática: Criação Banco de Dados 189
  189. 189. 190 Prática: Criação Banco de Dados 190
  190. 190. 191 Prática: Criação Banco de Dados 191
  191. 191. 192 Prática: Criação Banco de Dados 192
  192. 192. 193 Teoria: Arquitetura 193
  193. 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;
  194. 194. 195 Prática: SQL*Plus Execute logon no SQL*Plus via Sistema Operacional. $ sqlplus / AS SYSDBA Por que isto funcionou? Execute logon no SQL*Plus via SQL*Net. $ sqlplus SYSTEM/Nerv2013@ORCL Por que isto funcionou? Como executar logon no computador do vizinho? 195
  195. 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
  196. 196. 197 Prática: Enterprise Manager Execute logon como SYS no Enterprise Manager. 197
  197. 197. 198 Prática: Parâmetros de memória memory_max_target memory_target sga_max_size sga_target pga_aggregate_target db_cache_size (db_2k_cache_size, db_4k_cache_size, db_8k_cache_size...) buffer_pool_keep, buffer_pool_recycle shared_pool_size, shared_pool_reserved_size large_pool_size java_pool_size streams_pool_size log_buffer Aumente em 100MB a memória utilizada pelo Oracle. 198
  198. 198. 199 Teoria: STARTUP / SHUTDOWN Estados da Instância SHUTDOWN STARTUP MOUNT OPEN Comandos SQL> STARTUP; SQL> STARTUP NOMOUNT; SQL> ALTER DATABASE MOUNT; SQL> STARTUP MOUNT; SQL> ALTER DATABASE OPEN; SQL> STARTUP RESTRICT; SQL> STARTUP FORCE; SQL> SHUTDOWN NORMAL; SQL> SHUTDOWN IMMEDIATE; SQL> SHUTDOWN TRANSACTIONAL; SQL> SHUTDOWN ABORT; 199
  199. 199. 200 Database 200 Estruturas de Armazenamento: Lógica e Física
  200. 200. 201 Teoria: Estruturas lógicas e físicas  TABLESPACE  SEGMENTS EXTENTS DATA BLOCKS 201  DATA FILE
  201. 201. 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
  202. 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
  203. 203. 7 - Consultando o tamanho dos objetos (SEGMENTS), em cada tablespace. SQL> SELECT tablespace_name, SUM(bytes/1024/1024) MB FROM dba_segments GROUP BY tablespace_name ORDER BY 2 DESC; 8 – Consultando o tamanho dos objetos (SEGMENTS) do schema HR SQL> SELECT segment_name, segment_type, SUM(bytes/1024/1024) MB FROM dba_segments WHERE owner =‘HR’ GROUP BY segment_name, segment_type ORDER BY 3 DESC; Tablespaces e DatafilesPrática: Tablespaces e Datafiles 204
  204. 204. 205 Prática: Estruturas físicas  DATAFILEs  TEMPFILEs  UNDO DATAFILEs  CONTROLFILEs  REDO LOGs  ARCHIVED REDO LOGs  PFILE / SPFILE 205
  205. 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
  206. 206. 207 Database 207 Usuários, Schemas e privilégios
  207. 207. Usuários e privilégiosTeoria: O que é um schema? 208 A coleção de objetos gerenciados por um usuário é um SCHEMA
  208. 208. Usuários e privilégios 1. Crie um usuário SQL> CREATE USER usuario1 IDENTIFIED BY 123; 2. Altere a senha do usuário SQL> ALTER USER usuario1 IDENTIFIED BY minhasenha; 3. Consulte o usuário criado. SQL> SELECT username, account_status, default_tablespace FROM dba_users WHERE username='USUARIO1'; 4. Alterando a TABLESPACE padrão do USUARIO1 para TBS_TESTE SQL> ALTER USER usuario1 DEFAULT TABLESPACE tbs_teste; Prática: Usuários 209
  209. 209. Usuários e privilégios 5. Alterando a quota de espaço do USUARIO1 na tablespace TBS_TESTE SQL> ALTER USER usuario1 QUOTA 200M ON tbs_teste; 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
  210. 210. Usuários e privilégios IV. Tente conectar na instância ORCL. $ sqlplus / O que aconteceu? Prática: Usuários 211
  211. 211. Usuários e privilégios 1. Tente conectar no SQL*Plus com esse usuário: $ sqlplus usuario1/minhasenha@ORCL 2. Conceda o privilégio de sistema CREATE SESSION para conectar na instância. Em seguida, tente se logar novamente no SQL*Plus com o usuário: SQL> GRANT create session TO usuario1; 3. Voltando no SQL*Plus como SYS, conceda privilégio de leitura, escrita, exclusão e alteração na tabela EMP do usuário SCOTT. SQL> GRANT insert, delete, update, select ON scott.emp TO usuario1; 4. Consulte os privilégios concedidos para o USUARIO1. SQL> SELECT grantee, owner, table_name, privilege, grantor SQL> FROM dba_tab_privs SQL> WHERE grantee='USUARIO1' SQL> AND owner='SCOTT' SQL> AND table_name='EMP'; Prática: Privilégios 212
  212. 212. Usuários e privilégios 7. Revogue os privilégios concedidos para o USUARIO, na tabela do schema SCOTT. SQL> REVOKE delete,insert,update,select ON scott.emp FROM usuario1; Prática: Privilégios 213
  213. 213. 214 Database 214 Linguagem SQL (Structured Query Language)
  214. 214. 215 Teoria: Query, DML, DDL, DCL DDL (Data Definition Language) CREATE ALTER DROP TRUNCATE DCL (Data Control Language) GRANT REVOKE DML (Data Manipulation Language) SELECT INSERT UPDATE DELETE TCL (Transaction Control Language) COMMIT SAVEPOINT ROLLBACK SET TRANSACTION 215
  215. 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;
  216. 216. 217 Prática: PK, FK, Unique, Check, NOT NULL PK CREATE TABLE Employee (EmployeeID int PRIMARY KEY CLUSTERED, EmpName nvarchar(100), DeptID int); FK CREATE TABLE Employee (EmployeeID int, EmpName nvarchar(100), DeptID int REFERENCES Dept(DeptID); UNIQUE CREATE TABLE Employee (EmployeeID int PRIMARY KEY, EmpName nvarchar(100) NONCLUSTERED, DeptID int); CHECK CREATE TABLE Employee (EmployeeID int CHECK (EmployeeID >= 1), EmpName nvarchar(100), DeptID int); NOT NULL CREATE TABLE Employee (EmployeeID int, EmpName nvarchar(100) NOT NULL, DeptID int); Combine todos estes recursos em seu banco de dados de testes. 217
  217. 217. 218 Prática: INSERT, UPDATE, DELETE, SELECT Exemplos INSERT INTO Employee (EmployeeID, EmpName, DeptID) VALUES (1, 'Ricardo Portilho Proni', 1); UPDATE Employee SET EmpName = 'Portilho' WHERE EmployeeID = 1; DELETE FROM Employee WHERE EmployeeID = 2; SELECT EmpName, DeptID FROM Employee WHERE EmployeeID = 1; Execute INSERT de 10 registros, UPDATE de 2, DELETE de 2, e 2 SELECTs diferentes. 218
  218. 218. 219 Teoria PL/SQL: Procedures Criação CREATE PROCEDURE remove_emp (employee_id NUMBER) AS tot_emps NUMBER; BEGIN DELETE FROM hr.employees WHERE employees.employee_id = remove_emp.employee_id; tot_emps := tot_emps - 1; END; / Execução EXECUTE remove_emp(1); 219
  219. 219. 220 Teoria PL/SQL: Functions Criação CREATE FUNCTION get_bal(acc_no IN NUMBER) RETURN NUMBER IS acc_bal NUMBER(11,2); BEGIN SELECT order_total INTO acc_bal FROM orders WHERE customer_id = acc_no; RETURN(acc_bal); END; / Execução SQL> SELECT get_bal(165) FROM DUAL; GET_BAL(165) ------------ 2519 220
  220. 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
  221. 221. 222 Prática: Transações e Isolamento Execute um UPDATE de seu modelo de dados, em todas os registros da Employee. Abra outra sessão, e execute SELECT em todos os dados da tabela. O que aconteceu? Repita a operação, mas antes do UPDATE, coloque como abaixo. BEGIN TRANSACTION UPDATE ... GO O que aconteceu? 222
  222. 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
  223. 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
  224. 224. 225 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? 225
  225. 225. 226 Prática: exp / imp e expdp / impdp Exemplos exp / imp exp USERID=SCOTT/TIGER FULL=Y FILE=expSCOTT.dmp imp SCOTT/TIGER FILE=expSCOTT.dmp FROMUSER=SCOTT expdp / impdp expdp SCOTT/TIGER@ORCL tables=EMP,DEPT directory=TEST_DIR dumpfile=expdpSCOTT.dmp logfile=expdpSCOTT.log impdp SCOTT/TIGER@ORCL tables=EMP,DEPT directory=TEST_DIR dumpfile=expdpSCOTT.dmp logfile=impdpSCOTT.log Execute exp / imp e expdp / impdp das tabelas que você criou. 226
  226. 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
  227. 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
  228. 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
  229. 229. 230 Teoria: Alta Disponibilidade  Oracle RAC  Oracle Data Guard  Oracle Golden Gate  Oracle Streams 230
  230. 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
  231. 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
  232. 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
  233. 233. E agora? 234 234
  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
  235. 235. 236 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/ 236
  236. 236. Treinamentos Nerv - Oracle Performance Diagnostics & Tuning - Oracle Backup & Recovery - Oracle RAC - Oracle Data Guard 237
  237. 237. Vagas - APInfo - Ceviu - Catho 238
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×