Baixe o app para aproveitar ainda mais
Prévia do material em texto
DBA Júnior Hugo Torralbo hugo@nervinformatica.com.br Esta obra está licenciada sob a licença Creative Commons Atribuição-SemDerivados 3.0 Brasil. Para ver uma cópia desta licença, visite http://creativecommons.org/licenses/by-nd/3.0/br/. 1 Aprendizado • Visão: 5% • Audição: 8% • Visão e Audição: 12% • Execução: 22% • Execução com erro: 42% E 50% é perdido em 2 anos... 2 Instrutor - Team Leader for Performance Testing - IBM - DBA – IBM - Bacharelado em Sistemas de Informação – Centro Universitário Fundação Santo André (2007) Empresas http://www.ibm.com.br http://www.nervinformatica.com.br Redes Sociais http://twitter.com/nervinformatica https://facebook.com/nervinformaticaltda http://facebook.com/hugotorralbo http://br.linkedin.com/in/hugotorralbo/ 3 Instrutor Certificações • Oracle Database 10g Administrator Certified Associate • Oracle Database 10g Administrator Certified Professional • ITIL Foundation V3 4 Alunos - Se apresente. - Trabalha, estuda? - Comente sua experiência com TI. 5 Introdução Linux Virtualização Redes Storage MySQL Oracle 6 Agenda 6 7 Formação DBAs Gradução / Pós-graduação / Doutorado. Certificação. Inglês. Múltiplos SGBD. 7 8 Júnior? 8 9 DBA Júnior, Pleno, e Sênior 9 10 Tarefas do DBA Júnior Instalação (mas não Upgrade). Criação de Bancos de Dados. Verificação e alteração de parâmetros. Execução de scripts. Manutenção de usuários e permissões. Manutenção de objetos (Tabelas, Índices, etc.). Manutenção de espaço. Execução de Backup físico e lógico (mas não Restore). Transporte de objetos entre servidores. Verificação de disponibilidade. Início de verificação de problemas (Troubleshooting). Início de análise de desempenho (Tuning). 10 11 Bancos de Dados 11 Linux 12 12 13 Teoria: Alta x Baixa plataforma 13 14 Teoria: Plataformas e Arquiteturas Alpha (64 bits) ARM 32 (32 bits) ARM 64 (64 bits) AVR32 (32 bits) Blackfin (32 bits) DLX (32 bits) ESi-RISC (16/32 bits) Itanium (IA-64) (64 bits) M32R (32 bits) m68k (16/32 bits) Mico32 (32 bits) MIPS (64 bits) MMIX (64 bits) PA-RISC (64 bits) PowerPC (32/64 bits) S+core (16/32 bits) Series 32000 (32 bits) SPARC (64 bits) SuperH (32 bits) System/360 / System/370 / z/Architecture (64 bits) VAX (32 bits) x86 (32 bits) x86-64 (64 bits) 14 15 Teoria: História do Unix 15 16 Teoria: Distribuições, Edições, Versões http://upload.wikimedia.org/wikipedia/commons/e/ed/LinuxDistroTimeline.png 16 17 Teoria: Distribuições, Edições, Versões RHEL 2, 3 e 4 Red Hat Enterprise Linux AS (mission-critical/enterprise computer systems) Red Hat Enterprise Linux ES (supported network servers) Red Hat Enterprise Linux WS (technical power user) Red Hat Desktop (single-user desktop) RHEL 5 Red Hat Enterprise Linux Advanced Platform (antigo AS) Red Hat Enterprise Linux (antigo ES) (limitado a 2 CPUs) Red Hat Enterprise Linux Desktop with Workstation and Multi-OS option Red Hat Enterprise Linux Desktop with Workstation option (antigo WS) Red Hat Enterprise Linux Desktop with Multi-OS option Red Hat Enterprise Linux Desktop (antigo Desktop) Fedora e RHEL Fedora Core 3 → Red Hat Enterprise Linux 4 Fedora Core 6 → Red Hat Enterprise Linux 5 Fedora 12, 13 → Red Hat Enterprise Linux 6 Linux homologados pela Oracle para Oracle Database 11gR2 Asianux Server 3 SP2 Red Hat Enterprise Linux / Oracle Enterprise Linux (4.7, 5.2, 6.1) SUSE Linux Enterprise Server 10 SP2 SUSE Linux Enterprise Server 11 17 18 Prática: Instalação OEL 6 18 19 Prática: Instalação OEL 6 19 20 Prática: Instalação OEL 6 20 21 Prática: Instalação OEL 6 21 22 Prática: Instalação OEL 6 22 23 Prática: Instalação OEL 6 23 24 Prática: Instalação OEL 6 24 25 Prática: Instalação OEL 6 25 26 Prática: Instalação OEL 6 26 27 Prática: Instalação OEL 6 27 28 Prática: Instalação OEL 6 28 29 Prática: Instalação OEL 6 29 30 Prática: Instalação OEL 6 30 31 Prática: Instalação OEL 6 31 32 Prática: Instalação OEL 6 32 33 Prática: Instalação OEL 6 33 34 Prática: Instalação OEL 6 34 35 Prática: Instalação OEL 6 35 36 Prática: Instalação OEL 6 36 37 Prática: Instalação OEL 6 37 38 Prática: Instalação OEL 6 38 39 Prática: Instalação OEL 6 39 40 Prática: Instalação OEL 6 40 41 Prática: Instalação OEL 6 41 42 Prática: Instalação OEL 6 42 43 Prática: Instalação OEL 6 43 44 Prática: Instalação OEL 6 44 45 Prática: Instalação OEL 6 45 46 Prática: Instalação OEL 6 46 47 Prática: Instalação OEL 6 47 48 Prática: Manipulação de Arquivos Execute logon como root. Habilite a rede (Clique com o botão esquerdo no ícone de rede, e em eth0). Abra um terminal (Clique com o botão direito no Desktop, e então em “Open In Terminal”.) Verifique os arquivos existentes no diretório: # ls # ls -l # pwd # cd .. # pwd # ls # ls -l # ls -lh # ls -lA # ls -lh *.log # cd .. # pwd # ls -lh # man ls 48 49 Prática: Manipulação de Arquivos # cd # pwd Em que diretório você está? # ls -lh # file Desktop # file install.log # cat install.log # head install.log # tail install.log # tail -f install.log O que aconteceu? # cp install.log install.log.backup # mv install.log install.log.new # rm install.log.backup # touch install.log O que estes comandos fizeram? 49 50 Prática: Manipulação de Arquivos # cat install.log # cat install.log.new > install.log # cat install.log # grep xorg install.log # grep xorg install.log | grep fonts # grep xorg install.log | grep -v fonts # watch ls -lh # vi install.log ESC e depois I --- insere texto. ESC e depois x --- remove uma letra. ESC e depois dd --- remove uma linha. ESC e depois :w --- salva as alterações. ESC e depois :q --- sai do vi. # clear O que as setas para cima e para baixo fazem? 50 51 Prática: Gerenciamento de Pacotes Coloque o DVD. Verifique se o DVD já está montado. # df -h Se não estiver, monte-o: # mount /dev/sr0 /mnt # df -h Vá até o diretório onde estão os pacotes no DVD. # cd /media/<...>/Packages Procure o Java Jdk e instale-o. # ls *java* # rpm -ivh java-1.7.0-openjdk* Tente instala-lo novamente, e remova-o. # rpm -ivh java-1.7.0-openjdk* # rpm -e java-1.7.0-openjdk 51 52 Prática: Gerenciamento de Pacotes Tente instalar o gcc. # rpm -ivh gcc-4.4* O que aconteceu? # yum install gcc 52 53 Prática: Particionamento e Sistema de Arquivos Crie uma partição com o espaço livre. # fdisk -l # fdisk /dev/sda Digite: p Digite: n <Enter> <Enter> Digite: p Digite: w # fdisk -l Formate esta partição com o Sistema de Arquivos ext4. # mkfs.ext4 /dev/sda8 O que aconteceu? 53 54 Prática: Particionamento e Sistema de Arquivos Crie um diretório, e monte o dispositivo nele. # mkdir /u01 # mount /dev/sda8 /u01 Faça este sistema de arquivos ser montado automaticamente. # vi /etc/fstab 54 55 Prática: Services Verifique se o Apache está configurado para iniciar automaticamente. # chkconfig # chkconfig | grep httpd # chkconfig --level 35 httpd on # chkconfig | grep httpd # chkconfig httpd on Inicie e teste o serviço do Apache. # service httpd status # firefox localhost # service httpd start # service httpd status # firefox localhost 55 56 Usuários, Grupos, Permissões Verifique qual éo seu usuário, e que permissões ele tem. # whoami # id # ls -lh /root/ # cat /etc/passwd # cat /etc/group Adicione grupos e o usuário oracle. # groupadd -g 1000 oinstall # groupadd -g 1200 dba # groupadd -g 1300 oper # useradd -u 1100 -g oinstall -G dba,oper oracle # passwd oracle # id oracle # cat /etc/passwd # cat /etc/group 56 57 Usuários, Grupos, Permissões Torne-se o usuário oracle, e verifique suas permissões. # su – oracle $ whoami $ id $ pwd $ ls -lh /root/ O que aconteceu? Dê permissão para um arquivo ao usuário oracle, e teste. $ exit # chown oracle:dba /root/install.log # su – oracle $ ls -lh /root/ $ ls -lh /root/install.log O que aconteceu? 57 58 Shell Com o usuário oracle, crie um script Bash. $ vi teste.sh <ESC> Digite: i ls –lh <ESC> Digite: :w <ESC> Digite: :q Execute-o: $ sh teste.sh Adicione a seguinte linha ao início deste arquivo: #!/bin/bash 58 59 Shell Execute-o diretamente desta vez. $ /home/oracle/teste.sh O que aconteceu? Corrija e reexcute. $ ls -lh $ chmod +x /home/oracle/teste.sh $ ls -lh $ /home/oracle/teste.sh Proteja o script contra alterações. $ chmod -w /home/oracle/teste.sh Como retirar esta proteção? Acrescente mais comandos ao script. 59 60 Prática: CRONTAB Agendador de tarefas. 60 61 Prática: Variáveis de ambiente Verifique seus caminhos de executáveis. $ echo $PATH $ teste.sh $ cd /home/oracle $ ./teste.sh $ export PATH=/home/oracle/:$PATH $ echo $PATH $ teste.sh O que aconteceu? Crie uma variável de ambiente. $ export MINHAVARIAVEL=Teste $ echo $MINHAVARIAVEL Adicione uma variável ao seu script, e utilize-a para algo útil. Agende seu script para ser executado via crontab. $ crontab -e 61 62 Prática: Processos Verifique os processos em execução. $ ps $ ps a $ ps aux $ ps aux | grep gnome $ pstree Qual a diferença entre estes comandos? Finalize o seu processo bash. $ ps a $ kill 2120 $ kill -9 2120 O que aconteceu? 62 63 Prática: Processos Verifique seus caminhos de executáveis. $ vi teste.sh & $ fg O que aconteceu? $ vi teste.sh & $ vi teste02.sh & $ fg $ fg O que aconteceu? 63 64 Prática: Desempenho $ free $ vmstat $ vmstat 2 $ vmstat 5 $ iostat $ iostat 2 $ iostat 5 $ top O que estes comandos fazem? 64 65 Prática: Logs Verifique os logs mais atuais, e que informação eles têm. $ ls -lh /var/log $ su - # ls -lh /var/log # ls -lhtr /var/log 65 66 Teoria: Documentação / Livros Livros livres - The Art of Unix Programming - Linux Device Drivers (O'Reilly) - Linux Kernel in a Nutshell (O'Reilly) - Linux Network Administrator's Guide (O'Reilly) Documentação Linux - http://www.tldp.org/ - https://access.redhat.com/knowledge/docs/ - https://www.suse.com/documentation/ AIX - http://pic.dhe.ibm.com/infocenter/aix/v6r1/index.jsp - http://www.ibm.com/developerworks/aix/ - http://www.redbooks.ibm.com/ 66 67 Teoria: Certificações / Mercado de Trabalho - LPIC-1, LPIC-2, LPIC-3 - Red Hat Certified System Administrator — RHCSA - Red Hat Certified Engineer — RHCE - Red Hat Certified Virtualization Administrator — RHCVA - Red Hat Certified Security Specialist — RHCSS - Red Hat Certified Datacenter Specialist — RHCDS - Red Hat Certified Architect — RHCA - IBM Certified Operator - IBM Certified System Administrator - IBM Certified System Administrator - AIX 7 - IBM Certified Advanced Technical Expert - IBM Certified Systems Expert - Enterprise Technical Support for AIX and Linux v2 - IBM Certified Systems Expert - Virtualization Technical Support for AIX and Linux v2 - IBM Certified Systems Expert - Virtualization Technical Support for IBM i -v1 - IBM Certified Systems Expert - High Availability for AIX Technical Support and Administration -v2 67 Virtualização 68 68 69 Teoria: Hard x Soft 69 70 Teoria: Hard x Soft 70 71 Prática: Instalação Oracle VirtualBox # ls -lh /root # rpm -ivh /root/VirtualBox* Verifique os erros do log, corrija sua causa, remova e reinstale o VirtualBox. 71 72 Prática: Criação VMs 72 73 Prática: Criação VMs 73 74 Prática: Criação VMs 74 75 Prática: Criação VMs 75 76 Prática: Criação VMs 76 77 Prática: Criação VMs 77 78 Prática: Criação VMs 78 79 Prática: Configuração VMs 79 80 Prática: Configuração VMs 80 81 Prática: Configuração VMs 81 82 Prática: Configuração VMs 82 83 Prática: Configuração VMs 83 84 Prática: Clone VMs 84 85 Prática: Clone VMs 85 86 Prática: Clone VMs 86 87 Prática: Snapshot VMs 87 88 Prática: Export / Import Appliance 88 89 Teoria: Documentação / Livros Documentação VMware http://www.vmware.com/support/pubs/ Documentação Microsoft Hyper-V http://technet.microsoft.com/pt-br/library/cc753637%28v=ws.10%29.aspx Documentação Oracle VM http://www.oracle.com/technetwork/documentation/vm-096300.html Documentação Oracle Solaris Zones http://docs.oracle.com/cd/E26502_01/html/E29024/index.html Documentação Oracle VirtualBox https://www.virtualbox.org/wiki/Documentation 89 90 Teoria: Certificações / Mercado de Trabalho VMware VMware Certified Professional – Cloud (VCP-Cloud) NEW VMware Certified Advanced Professional – Cloud Infrastructure Design (VCAP-CID) NEW VMware Certified Advanced Professional – Cloud Infrastructure Administration Coming Soon VMware Certified Advanced Professional – Cloud Governance Coming Soon VMware Certified Design Expert – Cloud (VCDX-Cloud) NEW VMware Certified Professional 5 – Datacenter Virtualization (VCP5-DV) VMware Certified Advanced Professional 5 - Datacenter Administration (VCAP5-DCA) VMware Certified Advanced Professional 5 - Datacenter Design (VCAP5-DCD) VMware Certified Design Expert 5 - Datacenter Virtualization (VCDX5-DV) NEW VMware Certified Associate 4 - Desktop (VCA4-DT) VMware Certified Professional 4 - Desktop (VCP4-DT) VMware Certified Professional 5 - Desktop (VCP5-DT) VMware Certified Advanced Professional - Desktop Design (VCAP-DTD) NEW VMware Certified Design Expert – Desktop (VCDX-DT) NEW Certified Spring Professional Certified Spring Web Application Developer Certified Spring Enterprise Integration Specialist Hyper-V MCITP: Virtualization Administrator 90 Redes 91 91 92 Teoria: TCP/IP 92 93 Teoria: TCP/IP IP Mask Gateway DNS Qual seu IP / Mask / Gateway / DNS? 93 94 Teoria: TCP/IP DHCP Routing Firewall Proxy IDS IPS VLAN 94 96 Prática: ssh / scp / ftp Execute logon remoto no computador do seu vizinho. # ssh root@192.168.0.102 Copie um arquivo do computador do seu vizinho para o seu. # scp root@192.168.0.102:/root/install.log /root Copie um arquivo de seu computador para o do seu vizinho. # scp /root/install.log root@192.168.0.102:/root/Desktop/install.log 96 97 Prática: mstsc / rdesktop / vnc Execute logon remoto no Windows Server de sua VM. # rdesktop <IP> Por que não funciona? Execute logon remoto gráfico no computador do seu vizinho. # vncviewer 192.168.0.102 Por que não funciona? 97 98 Prática: Xserver Execute logon remoto no computador do seu vizinho. # ssh -CX root@192.168.0.102 # firefox 98 99 Prática: Windows Share Crie um compartilhamento no Windows Server, em sua VM. Clique com o botão direito em uma pasta -> Share with -> Specifc people -> Share -> Yes -> Done. Instale a compatibilidade com Samba em seu computador. # yum -y install samba-client samba-common cifs-utils Monte este compartilhamento em seu computador.# mkdir /mnt/windows # mount -t cifs //192.168.56.101/Users/Administrator/Downloads -o username=Administrator,password=Nerv2014 /mnt/windows 99 100 Teoria: Documentação / Livros Linux Network Administrators Guide http://oreilly.com/openbook/linag2/book/index.html Cisco Documentation http://www.cisco.com/cisco/web/docs/iam/unified/ipt802/Cisco_Documentation.html 100 101 Teoria: Certificações / Mercado de Trabalho CompTIA CompTIA A+ / CompTIA Network+ / CompTIA Security+ ISC(2) SSCP - Systems Security Certified Practitioner CAP - Certified Authorization Professional CSSLP - Certified Secure Software Lifecycle Professional CISSP - Certified Information Systems Security Professional 101 102 Teoria: Certificações / Mercado de Trabalho Cisco CCENT - Cisco Certified Entry Networking Technician CCT - Cisco Certified Technicians CCDA - Cisco Certified Design Associate CCDP - Cisco Certified Design Professional CCDE - The Cisco Certified Design Expert CCNA - Cisco Certified Network Associate CCNP - Cisco Certified Network Professional CCNA Video CCNA / CCNP / CCIE - Data Center CCNA / CCNP / CCIE - Security CCNA / CCNP / CCIE - Service Provider CCNA / CCNP / CCIE - Service Provider Operations CCNA / CCNP / CCIE - Voice CCNA / CCNP / CCIE - Wireless CCIE Routing & Switching CCIE Storage Networking CCAr - Cisco Certified Architect 102 Storage 103 103 104 Teoria: Produtos IBM DS8000 Series - DS8100 - DS8300 - DS8700 - DS8800 - DS8870 XIV SONAS Storwize V7000 Storwize V7000 Unified Storwize V3700 DS3500 Series - DS3512/DS3524 DCS3700 DS5000 Series - DS5020 - DS5100 - DS5300 N Series 104 105 Teoria: Produtos NetApp FAS/V-Series Storage Systems - FAS6200 Series - FAS6000 Series - FAS3200 Series - FAS3100 Series - FAS2200 Series - V-Series E-Series Storage Technology - E5400 - E2600 Oracle / Sun Sun ZFS Storage 7120 Sun ZFS Storage 7320 Sun ZFS Storage 7420 Pillar Axiom 600 Storage System Pillar Axiom Software 105 106 Teoria: Tecnologias - IDE, ATA, SATA, SCSI - SSD, Cache - RAID (0, 1, 5 [50, 60], 1+0) - SAN, NAS - Cluster Filesystems - ISCSI, - Fiber Channel (FC) - ATA-over-Ethernet (AoE) - Fibre Channel over Ethernet (FCoE) - Fibre Channel over IP (FCIP) - HyperSCSI SCSI over Ethernet frames instead of IP (as iSCSI is) - ISCSI Extensions for RDMA (iSER) - Internet Fibre Channel Protocol (iFCP) - Internet Storage Name Service (iSNS) - The SCST Linux SCSI target software stack - Linux LIO Unified Target software stack - Service Location Protocol 106 Crie um diretório para o NFS Server. # mkdir /shared_data Adicionar no arquivo /etc/exports a linha abaixo. /shared_data *(rw,sync,no_wdelay,insecure_locks,no_root_squash) Inicie o serviço NFS Server. # chkconfig nfs on # service nfs restart 107 Prática: NFS Server 107 Adicionar no arquivo /etc/fstab a linha abaixo. nerv02:/shared_data /u01/oradata nfs rw,bg,hard,nointr,tcp,vers=3,timeo=600,rsize=32768,wsize=32768,a ctimeo=0 0 0 Monte o Filesystem NFS. # mkdir /u01/oradata # mount /u01/oradata # touch /u01/oradata/teste.txt O vizinho consegue vizualizar seu arquivo? O vizinho consegue alterar seu arquivo? 108 Prática: NFS Client 108 109 Prática: iSCSI Initiator Instale e ative o pacote iSCSI Initiator nos dois Nodes. # rpm -Uvh iscsi-initiator-utils-*.x86_64.rpm # service iscsid start # chkconfig iscsid on Verifique os Discos exportados no Storage, nos dois Nodes. # iscsiadm -m discovery -t sendtargets -p 192.168.0.202 # iscsiadm -m node -T iqn.2008-05.br.com.nervinformatica:asm.asm01 -p 192.168.0.202 -l Verifique se o disco foi configurado localmente, nos dois Nodes. # fdisk -l 109 110 Particione o novo disco, na máquina nerv01. # fdisk /dev/sdb Digite: n Digite: p Digite: 1 <Enter> <Enter> Digite: w Prática: iSCSI Initiator Deixe APENAS o novo disco no arquivo /etc/iscsi/initiatorname.iscsi. InitiatorName=iqn.2010-10.com.nervinformatica:storage.asm01 Crie um diretório, e monte-o na partição iSCSI. 111 Prática: iSCSI Initiator 111 112 Teoria: Documentação / Livros http://en.wikipedia.org/wiki/SCSI http://en.wikipedia.org/wiki/ISCSI http://en.wikipedia.org/wiki/RAID http://en.wikipedia.org/wiki/Storage_area_network http://en.wikipedia.org/wiki/Network-attached_storage 112 113 Teoria: Certificações / Mercado de Trabalho IBM IBM Certified Specialist - Midrange Storage Sales V1 IBM Certified Specialist - Enterprise Storage Sales V3 IBM Certified Specialist - High Volume Storage Fundamentals V2 IBM Certified Specialist - Midrange Storage Technical Support V3 IBM Certified Specialist - Enterprise Storage Technical Support V3 IBM Certified Specialist - Storwize V7000 Technical Solutions V2 IBM Certified Specialist - Storwize V7000 Technical Solutions V1 IBM Certified Specialist - XIV Storage System Technical Solutions Version 3 IBM Certified Specialist - System Storage DS8000 Technical Solutions V3 IBM Certified Specialist - High-End Disk for Open Systems V2 IBM Certified Specialist - High-End Tape Technical Solutions V7 IBM Certified Specialist - High-End Tape V6 NetApp NetApp Certified Data Management Administrator NetApp Certified Data Management Administrator NetApp Certified B & R Implementation Engineer NetApp Certified SAN Implementation Engineer 113 MySQL 114 114 115 Teoria: Versões e Edições Edições MySQL Community Edition MySQL Standard Edition MySQL Enterprise Edition MySQL Cluster Carrier Grade Edition http://www.mysql.com/products/ Versões 5.1 5.5 5.6 115 116 Prática: Instalação yum Download de Pacotes RPMs 116 117 Prática: Instalação e inicialização # cd # tar xf MySQL-5.6.20-1.el6.x86_64.rpm-bundle.tar # rpm -Uvh MySQL-* # service mysql start # chkconfig mysql on # /usr/bin/mysqladmin -u root password 'Nerv2014' # cat /var/log/mysqld.log # cat /etc/my.cnf 117 118 Prática: Programas Cliente # mysql -u root -pNerv2014 mysql> exit; # mysql -u root -pNerv2014 -e “SHOW STATUS” # mysql -u root -pNerv2014 -e “SHOW STATUS” > status.txt # cat status.txt # echo “SHOW STATUS” >> script.sql # cat script.sql # mysql -u root -pNerv2014 < script.sql # rm status.txt # mysql -u root -pNerv2014 < script.sql > status.txt O que este último comando fez? # mysqladmin -u root -pNerv2014 status O que mais o comando mysqladmin faz? 118 119 Teoria: Engines MyISAM InnoDB Memory CSV Archive Blackhole Merge Federated Example 119 120 Prática: Processos e Threads Abra o top em um terminal e altere sua visualização padrão. # top Pressione: 1 Pressione: c Pressione: T Pressione: W Abra outro terminal , e execute: # watch -d -–interval=1 mysqladmin -u root -pNerv2014 status No top, que comportamento é apresentado? Abra outros 3 terminais executando o mesmo comando do mysqladmin, e observer o top. 120 121 Prática: Parâmetros de otimização max_connections = 800 table_open_cache = 100 thread_cache_size = 16 innodb_buffer_pool_size = 128M innodb_thread_concurrency = 32 key_buffer = 128M read_buffer_size = 2M read_rnd_buffer_size = 2M query_cache_limit = 2M query_cache_min_res_unit = 4096 query_cache_size = 16M query_cache_type = 1 sort_buffer = 2M join_buffer_size = 2M 121 122 Prática: Parâmetros de recuperação tmp_table_size = 8M tmpdir = /tmp/ slow_query_log_file = /var/log/mysql-slow.log long_query_time = 5 innodb_log_file_size = 512M innodb_log_files_in_group = 7 innodb_log_buffer_size = 64M innodb_flush_log_at_trx_commit = 1 Altere todos os parâmetros abaixo no my.cnf, de acordo com sua máquina, e reinicie o mysql. 122 123 Prática:Bancos de Dados # mysql -u root -pNerv2014 mysql> show databases; mysql> create database nerv; mysql> show databases; mysql> use nerv; mysql> show tables; 123 124 Prática: Estruturas físicas # ls -lh /var/lib/mysql/ total 29M -rw-rw----. 1 mysql mysql 18M Jan 24 14:45 ibdata1 -rw-rw----. 1 mysql mysql 5.0M Jan 24 14:45 ib_logfile0 -rw-rw----. 1 mysql mysql 5.0M Jan 24 14:45 ib_logfile1 drwx--x--x. 2 mysql mysql 4.0K Jan 24 14:43 mysql srwxrwxrwx. 1 mysql mysql 0 Jan 24 14:45 mysql.sock drwx------. 2 mysql mysql 4.0K Jan 24 15:12 nerv drwx------. 2 mysql mysql 4.0K Jan 24 14:43 performance_schema -rw-rw----. 1 mysql mysql 6 Jan 24 14:45 Proni-PC.localdomain.pid -rw-r--r--. 1 root root 112 Jan 24 14:43 RPM_UPGRADE_HISTORY -rw-r--r--. 1 mysql mysql 112 Jan 24 14:43 RPM_UPGRADE_MARKER-LAST drwxr-xr-x. 2 mysql mysql 4.0K Jan 24 14:43 test # ls -lh /var/lib/mysql/nerv/ total 4.0K -rw-rw----. 1 mysql mysql 65 Jan 24 15:12 db.opt 124 125 Prática: Estruturas lógicas Tablespaces? Schemas? 125 126 Prática: Tabelas mysql> use nerv; mysql> CREATE TABLE teste (coluna1 int, coluna2 char(50), coluna3 varchar(255)) Engine=InnoDB; mysql> show tables; O que a criação desta tabela alterou nas estruturas físicas? mysql> CREATE TABLE teste2 (coluna1 int, coluna2 char(50), coluna3 varchar(255)) Engine=MyISAM; mysql> show tables; O que a criação desta tabela alterou nas estruturas físicas? 126 127 Prática: INSERT, UPDATE, DELETE, SELECT Exemplos INSERT INTO teste (coluna1, coluna2, coluna3) VALUES (1, 'Ricardo Portilho Proni', 'Instrutor'); UPDATE teste SET coluna2 = 'Portilho' WHERE coluna1 = 1; SELECT coluna2, coluna3 FROM teste WHERE coluna1 = 1; DELETE FROM teste WHERE coluna1 = 1; SELECT coluna2, coluna3 FROM teste WHERE coluna1 = 1; Execute INSERT de 10 registros, UPDATE de 2, DELETE de 2, e 2 SELECTs diferentes. 127 128 Prática: Transações e Isolamento Execute um UPDATE de seu modelo de dados, em todas os registros da Employee. Abra outra sessão, e execute SELECT em todos os dados da tabela. O que aconteceu? Repita a operação, mas antes do UPDATE, coloque como abaixo. START TRANSACTION; UPDATE ... O que aconteceu? COMMIT; ou ROLLBACK; 128 129 Prática: System States SHOW PROCESSLIST SHOW FULL PROCESSLIST After create altering table Analyzing checking permissions Checking table cleaning up closing tables committing alter table to storage engine converting HEAP to MyISAM copy to tmp table Copying to group table Copying to tmp table Copying to tmp table on disk Creating index Creating sort index Creating table Creating tmp table deleting from main table http://dev.mysql.com/doc/refman/5.6/en/general-thread-states.html 129 130 Prática: Importação e Exportação Exemplos SELECT * FROM Cars INTO OUTFILE '/tmp/cars.txt'; LOAD DATA INFILE '/tmp/cars.txt' INTO TABLE Cars; SELECT * FROM Cars INTO OUTFILE '/tmp/cars.csv' FIELDS TERMINATED BY ','; LOAD DATA INFILE '/tmp/cars.csv' INTO TABLE Cars FIELDS TERMINATED BY ','; Execute este procedimento para as tabelas que você criou. 130 131 Prática: Bin Logs Adicione no /etc/my.cnf a linha abaixo, e reinicie o mysql. log-bin=mysql-bin O que aconteceu no diretório de dados? 131 132 Prática: Backup MyISAM Coloque uma tabela MyISAM em LOCK, e a copie para outro diretório. LOCK TABLE <nome_tabela> WRITE; FLUSH TABLE <nome_tabela>; Cópia... cp -rf /var/lib/mysql/nerv /root FLUSH TABLE <nome_tabela>; UNLOCK TABLES; 132 133 Prática: mysqldump Execute um backup via mysqldump. $ mysqldump -u root -pNerv2014 nerv > nerv.sql Edite o arquivo gerado. O que ele contém? Como utilizar este backup? Quais suas desvantagens? 133 134 Prática: INFORMATION_SCHEMA Verifique as tabelas do banco de dados INFORMATION_SCHEMA. Quantas tabelas você possui em todo o MySQL? E em seu banco de dados? 134 135 Prática: System Status Execute no MySQL o comando abaixo. SHOW STATUS; Que informações que este comando gera são úteis? 135 136 Teoria: Alta Disponibilidade MySQL Replication MySQL Cluster 136 137 Teoria: Documentação / Livros Documentação oficial http://dev.mysql.com/doc/refman/5.0/en/index.html http://dev.mysql.com/doc/refman/5.1/en/index.html http://dev.mysql.com/doc/refman/5.5/en/index.html http://dev.mysql.com/doc/refman/5.6/en/index.html Livros MySQL 5.0 Certification Study Guide High Performance MySQL (O'Reilly) 137 138 Teoria: Certificações / Mercado de Trabalho Oracle Certified Associate, MySQL 5 Oracle Certified Professional, MySQL 5 Developer Oracle Certified Professional, MySQL 5 Database Administrator Oracle Certified Expert, MySQL 5.1 Cluster Database Administrator 138 Oracle 139 139 140 Teoria: Versões e Edições Oracle Database Standard Edition One Oracle Database Standard Edition Oracle Database Enterprise Edition Oracle Database Express Edition Oracle Database Personal Edition 140 141 Teoria: Versões e Edições 141 142 Prática: Instalação Instale os pacotes necessários para o Oracle Database. # yum -y install binutils # yum -y install compat-libcap1 # yum -y install compat-libstdc++-33 compat-libstdc++-33.i686 # yum -y install gcc # yum -y install gcc-c++ # yum -y install glibc glibc.i686 # yum -y install glibc-devel glibc-devel.i686 # yum -y install ksh # yum -y install libgcc.i686 # yum -y install libgcc # yum -y install libstdc++ libstdc++.i686 # yum -y install libstdc++-devel libstdc++-devel.i686 # yum -y install libaio libaio.i686 libaio-devel libaio-devel.i686 # yum -y install make # yum -y install sysstat # yum -y install elfutils-libelf-devel # yum -y install unixODBC unixODBC.i686 unixODBC-devel unixODBC-devel.i686 142 Editar o arquivo /etc/sysctl.conf e ACRESCENTAR AO FINAL: fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default=262144 net.core.rmem_max=4194304 net.core.wmem_default=262144 net.core.wmem_max=1048586 Em seguida, execute: # sysctl -p Editar o arquivo /etc/security/limits.conf e ACRESCENTAR AO FINAL: oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 143 Prática: Instalação 143 Executar os comandos abaixo. # mkdir -p /u01/app/oracle/product/11.2.0.4/db_1 # mkdir -p /u01/oradata # chown -R oracle:oinstall /u01 # chmod -R 775 /u01 144 Prática: Instalação 144 Com o usuário oracle, ACRESCENTAR NO FINAL do arquivo /home/oracle/.bash_profile as linhas abaixo. export TMP=/tmp export TMPDIR=$TMP export ORACLE_HOSTNAME=nerv01.localdomain export ORACLE_UNQNAME=ORCL export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/11.2.0.4/db_1 export ORACLE_SID=ORCL export ORACLE_TERM=xterm export PATH=/usr/sbin:$PATH export PATH=$ORACLE_HOME/bin:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi 145 Prática: Instalação 145 146 Prática: Instalação Execute logon como oracle no ambiente gráfico, e descompacte o instalador. $ unzip -q p13390677_112040_Linux-x86-64_1of7.zip $ unzip -q p13390677_112040_Linux-x86-64_2of7.zip Execute o instalador. $ cd database/ $ ./runInstaller 146 147 Prática: Instalação 147 148 Prática: Instalação 148 149 Prática: Instalação 149 150 Prática: Instalação 150 151 Prática: Instalação 151 152 Prática: Instalação 152153 Prática: Instalação 153 154 Prática: Instalação 154 155 Prática: Instalação 155 156 Prática: Instalação 156 157 Prática: Instalação 157 158 Prática: Instalação 158 159 Prática: Instalação Execute, como root, os scripts indicados nesta tela, e depois clique em OK. 159 160 Prática: Instalação 160 161 Prática: Listener Verifique se seu arquivo /etc/hosts está similar a este. 127.0.0.1 localhost.localdomain localhost ::1 localhost6.localdomain6 localhost6 192.168.0.101 nerv01.localdomain nerv01 Execute o Network Configuration Assistant. $ netca 161 162 Prática: Listener 162 163 Prática: Listener 163 164 Prática: Listener 164 165 Prática: Listener 165 166 Prática: Listener 166 167 Prática: Listener 167 168 Prática: Listener 168 169 Prática: Listener 169 170 Prática: Listener Verifique o estado o Listener. $ lsnrctl status $ lsnrctl stop $ lsnrctl start 170 171 Prática: Criação Banco de Dados 171 172 Prática: Criação Banco de Dados 172 173 Prática: Criação Banco de Dados 173 174 Prática: Criação Banco de Dados 174 175 Prática: Criação Banco de Dados 175 176 Prática: Criação Banco de Dados 176 177 Prática: Criação Banco de Dados 177 178 Prática: Criação Banco de Dados 178 179 Prática: Criação Banco de Dados 179 180 Prática: Criação Banco de Dados 180 181 Prática: Criação Banco de Dados 181 182 Prática: Criação Banco de Dados 182 183 Prática: Criação Banco de Dados 183 184 Prática: Criação Banco de Dados 184 185 Prática: Criação Banco de Dados 185 186 Prática: Criação Banco de Dados 186 187 Prática: Criação Banco de Dados 187 188 Prática: Criação Banco de Dados 188 189 Prática: Criação Banco de Dados 189 190 Prática: Criação Banco de Dados 190 191 Prática: Criação Banco de Dados 191 192 Prática: Criação Banco de Dados 192 193 Teoria: Arquitetura 193 194 Database Instance x Database Files 194 Instância: - estruturas de memórias (SGA, PGA, Log Buffer, Database Cache e etc); - Processos backgrounds (CKPT, LGWR, DWRn, SMON, PMON, MMON, RECO e outros) Arquivos: - data file e temp file; - online redo files; - archived redo files; - control files; 195 Prática: SQL*Plus Execute logon no SQL*Plus via Sistema Operacional. $ sqlplus / AS SYSDBA Por que isto funcionou? Execute logon no SQL*Plus via SQL*Net. $ sqlplus SYSTEM/Nerv2014@ORCL Por que isto funcionou? Como executar logon no computador do vizinho? 195 196 Prática: SQL Developer Execute o SQL Developer e crie uma conexão ao seu banco de dados. $ sh /u01/app/oracle/product/11.2.0.4/db_1/sqldeveloper/sqldeveloper.sh 196 197 Prática: Enterprise Manager Execute logon como SYS no Enterprise Manager. 197 198 Prática: Parâmetros de memória memory_max_target memory_target sga_max_size sga_target pga_aggregate_target db_cache_size (db_2k_cache_size, db_4k_cache_size, db_8k_cache_size...) buffer_pool_keep, buffer_pool_recycle shared_pool_size, shared_pool_reserved_size large_pool_size java_pool_size streams_pool_size log_buffer Aumente em 100MB a memória utilizada pelo Oracle. 198 199 Teoria: STARTUP / SHUTDOWN Estados da Instância SHUTDOWN STARTUP MOUNT OPEN Comandos SQL> STARTUP; SQL> STARTUP NOMOUNT; SQL> ALTER DATABASE MOUNT; SQL> STARTUP MOUNT; SQL> ALTER DATABASE OPEN; SQL> STARTUP RESTRICT; SQL> STARTUP FORCE; SQL> SHUTDOWN NORMAL; SQL> SHUTDOWN IMMEDIATE; SQL> SHUTDOWN TRANSACTIONAL; SQL> SHUTDOWN ABORT; 199 200 Database 200 Estruturas de Armazenamento: Lógica e Física 201 Teoria: Estruturas lógicas e físicas TABLESPACE SEGMENTS EXTENTS DATA BLOCKS 201 DATA FILE 1 - Criando uma tablespace: SQL> CREATE TABLESPACE tbs_teste DATAFILE '/u01/oradata/ORCL/teste01.dbf' SIZE 10M AUTOEXTEND ON SEGMENT SPACE MANAGEMENT AUTO EXTENT MANAGEMENT LOCAL; 2 - Consultando a tablespace e o datafile criado: SQL> SET PAGESIZE 1000 SQL> SET LINESIZE 300 SQL> SELECT tablespace_name, file_name, bytes/1024/1024 MB FROM dba_data_files WHERE tablespace_name='TBS_TESTE' ORDER BY 2; 3 - Alterando uma tablespace, adicionando um datafile: SQL> ALTER TABLESPACE TBS_TESTE ADD DATAFILE '/u01/oradata/ORCL/teste_02.dbf' SIZE 10M; Tablespaces e DatafilesPrática: Tablespaces e Datafiles 202 4 – Consulte a tablespace novamente; 5 - Reajuste o tamanho de um DATAFILE com a instrução abaixo, em seguida, consulte novamente a tablespace SQL> ALTER DATABASE DATAFILE '/u01/oradata/ORCL/teste_02.dbf' RESIZE 20M; 6 - Excluindo uma tablespace: SQL> DROP TABLESPACE TBS_TESTE; Novamente, execute o passo 1. O que aconteceu? Tablespaces e DatafilesPrática: Tablespaces e Datafiles 203 7 - Consultando o tamanho dos objetos (SEGMENTS), em cada tablespace. SQL> SELECT tablespace_name, SUM(bytes/1024/1024) MB FROM dba_segments GROUP BY tablespace_name ORDER BY 2 DESC; 8 – Consultando o tamanho dos objetos (SEGMENTS) do schema HR SQL> SELECT segment_name, segment_type, SUM(bytes/1024/1024) MB FROM dba_segments WHERE owner ='HR' GROUP BY segment_name, segment_type ORDER BY 3 DESC; Tablespaces e DatafilesPrática: Tablespaces e Datafiles 204 205 Prática: Estruturas físicas DATAFILEs TEMPFILEs UNDO DATAFILEs CONTROLFILEs REDO LOGs ARCHIVED REDO LOGs PFILE / SPFILE 205 206 Prática: Modo ARCHIVELOG Altere o Banco de Dados para o modo NOARCHIVELOG. SQL> SELECT LOG_MODE FROM V$DATABASE; SQL> SHUTDOWN IMMEDIATE; SQL> STARTUP MOUNT; SQL> ALTER DATABASE NOARCHIVELOG; SQL> ALTER DATABASE OPEN; SQL> SELECT LOG_MODE FROM V$DATABASE Altere o Banco de Dados para o modo ARCHIVELOG. SQL> SHUTDOWN IMMEDIATE; SQL> STARTUP MOUNT; SQL> ALTER DATABASE ARCHIVELOG; SQL> ALTER DATABASE OPEN; SQL> SELECT LOG_MODE FROM V$DATABASE 206 207 Database 207 Usuários, Schemas e privilégios Usuários e privilégiosTeoria: O que é um schema? 208 A coleção de objetos gerenciados por um usuário é um SCHEMA Usuários e privilégios 1. Crie um usuário SQL> CREATE USER usuario1 IDENTIFIED BY 123; 2. Altere a senha do usuário SQL> ALTER USER usuario1 IDENTIFIED BY minhasenha; 3. Consulte o usuário criado. SQL> SELECT username, account_status, default_tablespace FROM dba_users WHERE username='USUARIO1'; 4. Alterando a TABLESPACE padrão do USUARIO1 para TBS_TESTE SQL> ALTER USER usuario1 DEFAULT TABLESPACE TBS_TESTE; Prática: Usuários 209 Usuários e privilégios 5. Alterando a quota de espaço do USUARIO1 na tablespace TBS_TESTE SQL> ALTER USER usuario1 QUOTA 200M ON TBS_TESTE; 1. Alterando o usuário para conexão externa I. Altere o modo de autenticação do usuário SQL> ALTER USER usuario1 IDENTIFIED EXTERNALLY; II. Agora, crie um usuário no S.O como o mesmo nome do usuário do banco # useradd usuario1 # passwd usuario1 III. Abra uma sessão no Linux, com o usuario1 e exporte as variáveis de ambiente do Oracle $ export ORACLE_HOME=/u01/app/oracle/product/11.2.0.4/db_1 $ export ORACLE_SID=ORCL $ export PATH=$ORACLE_HOME/bin:$PATH Prática: Usuários 210 Usuários e privilégios IV. Tente conectar na instância ORCL. $ sqlplus / O que aconteceu? Prática: Usuários 211 Usuários e privilégios 1. Tente conectar no SQL*Plus com esse usuário: $ sqlplus usuario1/minhasenha@ORCL2. Conceda o privilégio de sistema CREATE SESSION para conectar na instância. Em seguida, tente se logar novamente no SQL*Plus com o usuário: SQL> GRANT create session TO usuario1; 3. Voltando no SQL*Plus como SYS, conceda privilégio de leitura, escrita, exclusão e alteração na tabela EMP do usuário SCOTT. SQL> GRANT insert, delete, update, select ON scott.emp TO usuario1; 4. Consulte os privilégios concedidos para o USUARIO1. SQL> SELECT grantee, owner, table_name, privilege, grantor FROM dba_tab_privs WHERE grantee='USUARIO1' AND owner='SCOTT' AND table_name='EMP'; Prática: Privilégios 212 Usuários e privilégios 7. Revogue os privilégios concedidos para o USUARIO, na tabela do schema SCOTT. SQL> REVOKE delete,insert,update,select ON scott.emp FROM usuario1; SQL> GRANT insert, delete, update, select ON scott.emp TO usuario1; Prática: Privilégios 213 214 Database 214 Linguagem SQL (Structured Query Language) 215 Teoria: Query, DML, DDL, DCL DDL (Data Definition Language) CREATE ALTER DROP TRUNCATE DCL (Data Control Language) GRANT REVOKE DML (Data Manipulation Language) SELECT INSERT UPDATE DELETE TCL (Transaction Control Language) COMMIT SAVEPOINT ROLLBACK SET TRANSACTION 215 216 Prática: Tabelas, Índices e Views 216 CREATE TABLE Employee ( EmployeeID int, EmpName nvarchar2(100), DeptID int); CREATE TABLE HR.Dept ( DeptID int, DeptName nvarchar2(100) ) TABLESPACE USERS; CREATE INDEX IX_Employee ON Employee (EmployeeID); CREATE VIEW EmployeesList AS SELECT EmpName FROM Employee; 217 Prática: PK, FK, Unique, Check, NOT NULL PK CREATE TABLE Employee (EmployeeID int PRIMARY KEY CLUSTERED, EmpName nvarchar(100), DeptID int); FK CREATE TABLE Employee (EmployeeID int, EmpName nvarchar(100), DeptID int REFERENCES Dept(DeptID); UNIQUE CREATE TABLE Employee (EmployeeID int PRIMARY KEY, EmpName nvarchar(100) NONCLUSTERED, DeptID int); CHECK CREATE TABLE Employee (EmployeeID int CHECK (EmployeeID >= 1), EmpName nvarchar(100), DeptID int); NOT NULL CREATE TABLE Employee (EmployeeID int, EmpName nvarchar(100) NOT NULL, DeptID int); Combine todos estes recursos em seu banco de dados de testes. 217 218 Prática: INSERT, UPDATE, DELETE, SELECT Exemplos INSERT INTO Employee (EmployeeID, EmpName, DeptID) VALUES (1, 'Ricardo Portilho Proni', 1); UPDATE Employee SET EmpName = 'Portilho' WHERE EmployeeID = 1; DELETE FROM Employee WHERE EmployeeID = 2; SELECT EmpName, DeptID FROM Employee WHERE EmployeeID = 1; Execute INSERT de 10 registros, UPDATE de 2, DELETE de 2, e 2 SELECTs diferentes. 218 219 Teoria PL/SQL: Procedures Criação CREATE PROCEDURE remove_emp (employee_id NUMBER) AS tot_emps NUMBER; BEGIN DELETE FROM hr.employees WHERE employees.employee_id = remove_emp.employee_id; tot_emps := tot_emps - 1; END; / Execução EXECUTE remove_emp(1); 219 220 Teoria PL/SQL: Functions Criação CREATE FUNCTION get_bal(acc_no IN NUMBER) RETURN NUMBER IS acc_bal NUMBER(11,2); BEGIN SELECT order_total INTO acc_bal FROM orders WHERE customer_id = acc_no; RETURN(acc_bal); END; / Execução SQL> SELECT get_bal(165) FROM DUAL; GET_BAL(165) ------------ 2519 220 221 Teoria: Triggers Criação CREATE TRIGGER hr.salary_check BEFORE INSERT OR UPDATE OF salary, job_id ON hr.employees FOR EACH ROW WHEN (new.job_id <> 'AD_VP') pl/sql_block (…) 221 222 Prática: Transações e Isolamento Execute um UPDATE de seu modelo de dados, em todas os registros da Employee. Abra outra sessão, e execute SELECT em todos os dados da tabela. O que aconteceu? Repita a operação, mas antes do UPDATE, coloque como abaixo. BEGIN TRANSACTION UPDATE ... GO O que aconteceu? 222 223 Prática: V$SESSION_WAIT Execute novamente o cenário de Transação e Isolamento, e veja o que há na V$SESSION_WAIT. SQL> SELECT SID, EVENT, SECONDS_IN_WAIT FROM V$SESSION_WAIT; SQL> SELECT SID, EVENT, SECONDS_IN_WAIT FROM V$SESSION_WAIT WHERE WAIT_CLASS != 'Idle'; Qual a diferença da V$SESSION_WAIT antes, durante e após a execução? 223 224 Prática: V$SESSION Execute novamente o cenário de Transação e Isolamento, e veja o que há na V$SESSION. SQL> SELECT SID, EVENT, SECONDS_IN_WAIT FROM V$SESSION WAIT; Qual a diferença da V$SESSION antes, durante e após a execução? Que colunas são importantes da V$SESSION? 224 225 Prática: V$SQL Encontre na V$SQL um SQL que você tenha executado. SQL> SELECT SQL_ID, SQL_TEXT FROM V$SQL WHERE SQL_TEXT LIKE '%SELECT FUNC FROM EMP%'; Que colunas são importantes na V$SQL? 225 226 Prática: exp / imp e expdp / impdp Exemplos exp / imp exp USERID=SCOTT/TIGER FULL=Y FILE=expSCOTT.dmp imp SCOTT/TIGER FILE=expSCOTT.dmp FROMUSER=SCOTT expdp / impdp expdp SCOTT/TIGER@ORCL tables=EMP,DEPT directory=TEST_DIR dumpfile=expdpSCOTT.dmp logfile=expdpSCOTT.log impdp SCOTT/TIGER@ORCL tables=EMP,DEPT directory=TEST_DIR dumpfile=expdpSCOTT.dmp logfile=impdpSCOTT.log Execute exp / imp e expdp / impdp das tabelas que você criou. 226 227 Prática: Configuração Básica RMAN Execute os comandos abaixo no RMAN. $ rman target / RMAN> SHOW All; RMAN> CONFIGURE BACKUP OPTIMIZATION ON; RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON; RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO COMPRESSED BACKUPSET; RMAN> CONFIGURE COMPRESSION ALGORITHM 'HIGH' OPTIMIZE FOR LOAD TRUE AS OF RELEASE 'DEFAULT'; O que estes comandos fazem? 227 228 Prática: Backup Básico RMAN Execute os comandos abaixo no RMAN. RMAN> BACKUP DATABASE; RMAN> BACKUP DATABASE FORMAT '/home/oracle/ORCL_%U.bkp'; RMAN> BACKUP DATABASE PLUS ARCHIVELOG DELETE INPUT ; Qual a diferença do resultado destes três comandos? 228 229 Prática: Alert Log Encontre o Alert Log. SQL> show parameter dump $ tail -f /u01/app/oracle/diag/rdbms/orcl/orcl/trace/alertORCL.log Encontre no Alert Log quando o banco de dados foi iniciado. 229 230 Teoria: Alta Disponibilidade Oracle RAC Oracle Data Guard Oracle Golden Gate Oracle Streams 230 231 Teoria: Documentação / Livros Documentação ● http://docs.oracle.com/ ● http://profissionaloracle.com.br/ ● http://certificacaobd.com.br/ ● http://br.groups.yahoo.com/group/oracle_br/ ● https://forums.oracle.com Livros Expert Oracle Database Architecture (Tom Kyte) Oracle Wait Interface: A Pratical Guide to Perform Performance Diagnostics & Tuning Oracle Insights: Tales Of The Oak Table 231 232 Teoria: Certificações / Mercado de Trabalho Oracle Real Application Clusters 11g Certified Implementation Specialist ORACLE MASTER Bronze Oracle Database 11g (Available only in Japan) Oracle Database 11g Security Certified Implementation Specialist Oracle Database 11g Performance Tuning Certified Expert Oracle Database 11g Certified Implementation Specialist Oracle Certified Expert, Oracle Real Application Clusters 11g and Grid Infrastructure Administrator Oracle Data Warehousing 11g Certified Implementation Specialist Oracle Database 11g Administrator Certified Master Oracle Database 11g Administrator Certified Professional Oracle Database 11g Administrator Certified Associate Oracle Database 10g Administrator Certified Master Oracle Database 10g Managing Oracle on Linux Certified Expert ORACLE MASTER Bronze Oracle Database 10g (Available only in Japan) Oracle Database 10g Real Applications Clusters Administrator Certified Expert Oracle Database 10g Administrator Certified Professional Oracle Database 10g Administrator Certified Associate Oracle Spatial 11g Certified Implementation Specialist Oracle9i Database Administrator Certified Associate Oracle9i Database Administrator Certified Professional Oracle Certified Professional, Database Cloud Administrator Oracle Certified Master, Database Cloud Administrator 232 233 Teoria: Certificações / Mercado de Trabalho - Oracle Database 11g Administrator Certified Associate - Oracle Database 11g Administrator Certified Professional - Oracle Database 11g Administrator Certified Master - ORACLE MASTER Bronze Oracle Database 11g (Available only in Japan) - Oracle Database 11g Certified Implementation Specialist - Oracle Database 11g Performance Tuning Certified Expert - Oracle Database 11g Security Certified Implementation Specialist - Oracle Data Warehousing 11g Certified Implementation Specialist - Oracle Spatial 11g Certified Implementation Specialist - Oracle Database 10g Managing Oracle on Linux Certified Expert - Oracle Database 10g Real Applications Clusters Administrator Certified Expert - Oracle Certified Expert, Oracle Real Application Clusters 11g and Grid Infrastructure Administrator - Oracle Real Application Clusters 11g Certified Implementation Specialist - Oracle Certified Professional, Database Cloud Administrator - Oracle Certified Master, Database Cloud Administrator - Oracle Enterprise Manager 12c Certified Implementation Specialist - Oracle Enterprise Manager 11g Application Quality Management Certified Implementation Specialist - Oracle Enterprise Manager 11g Certified Implementation Specialist - Oracle GoldenGate 10 Certified Implementation Specialist - Oracle Exadata 11g Certified Implementation Specialist - Oracle Certified Expert, Oracle Exadata Database Machine Administrator, Software Release 11.x - Exalogic Elastic Cloud X2-2 Certified Implementation Specialist 233 E agora? 234 234 235 Próximos passos Repita esta apostila. Use o Fórum Nerv se precisar de ajuda. Mantenha sempre um Linux com MySQL e Oracle, para praticar. Inscreva-se em grupos de usuários e listas de discussão. Aprimore seu inglês para leitura. Começe a ler os livros indicados. Continue com sua formação (Graduação, Pós, etc). Procure o Treinamento Workshop I, e talvez o e II. Prepare-se e obtenha a Certificação OCA. Não desista. http://nervinformatica.com.br/blog/2013/01/07/os-7-passos-do-troubleshooting-2/ 235 236 Os 7 Passos do Troubleshooting Passo 0: Acredite. Passo 1: Redução. Passo 2: Isolamento. Passo 3: Reprodução. Passo 4: Informação. Passo 5: Pesquisa. Passo 6: Correção & Validação. Passo 7: Documentação. http://nervinformatica.com.br/blog/2013/01/07/os-7-passos-do-troubleshooting-2/ 236 237 Como aprender um novo SGBD Fase 1 – Encontre a documentação oficial. – Instale. – Execute logon como administrador. – Crie um novo usuário, e conecte-se com ele. – Pare e inicie o SGBD, incluindo o sistema operacional. – Não entre em pânico. – Entenda e encontre sua estrutura física. – Entenda e encontre sua estrutura lógica. – Procure o log de erros. – Execute backup, físico e lógico. Fase 2 – Descubra como saber o que está acontecendo no SGBD. – Exporte e importe dados em arquivos texto. – Leia e entenda todos os parâmetros do SGBD. Fase 3 – Execute RESTORE. – Recupere o banco de dados em outro servidor. – Cause lentidão. – Implante Disaster Recovery. http://nervinformatica.com.br/blog/2013/01/07/como-aprender-um-novo-banco-de-dados/ 237 Treinamentos Nerv - Oracle Performance Diagnostics & Tuning - Oracle Backup & Recovery - Oracle RAC - Oracle Data Guard 238 Vagas - APInfo - Ceviu - Catho 239 Slide 1 Slide 2 Slide 3 Slide 4 Slide 5 Slide 6 Slide 7 Slide 8 Slide 9 Slide 10 Slide 11 Slide 12 Slide 13 Slide 14 Slide 15 Slide 16 Slide 17 Slide 18 Slide 19 Slide 20 Slide 21 Slide 22 Slide 23 Slide 24 Slide 25 Slide 26 Slide 27 Slide 28 Slide 29 Slide 30 Slide 31 Slide 32 Slide 33 Slide 34 Slide 35 Slide 36 Slide 37 Slide 38 Slide 39 Slide 40 Slide 41 Slide 42 Slide 43 Slide 44 Slide 45 Slide 46 Slide 47 Slide 48 Slide 49 Slide 50 Slide 51 Slide 52 Slide 53 Slide 54 Slide 55 Slide 56 Slide 57 Slide 58 Slide 59 Slide 60 Slide 61 Slide 62 Slide 63 Slide 64 Slide 65 Slide 66 Slide 67 Slide 68 Slide 69 Slide 70 Slide 71 Slide 72 Slide 73 Slide 74 Slide 75 Slide 76 Slide 77 Slide 78 Slide 79 Slide 80 Slide 81 Slide 82 Slide 83 Slide 84 Slide 85 Slide 86 Slide 87 Slide 88 Slide 89 Slide 90 Slide 91 Slide 92 Slide 93 Slide 94 Slide 96 Slide 97 Slide 98 Slide 99 Slide 100 Slide 101 Slide 102 Slide 103 Slide 104 Slide 105 Slide 106 Slide 107 Slide 108 Slide 109 Slide 110 Slide 111 Slide 112 Slide 113 Slide 114 Slide 115 Slide 116 Slide 117 Slide 118 Slide 119 Slide 120 Slide 121 Slide 122 Slide 123 Slide 124 Slide 125 Slide 126 Slide 127 Slide 128 Slide 129 Slide 130 Slide 131 Slide 132 Slide 133 Slide 134 Slide 135 Slide 136 Slide 137 Slide 138 Slide 139 Slide 140 Slide 141 Slide 142 Slide 143 Slide 144 Slide 145 Slide 146 Slide 147 Slide 148 Slide 149 Slide 150 Slide 151 Slide 152 Slide 153 Slide 154 Slide 155 Slide 156 Slide 157 Slide 158 Slide 159 Slide 160 Slide 161 Slide 162 Slide 163 Slide 164 Slide 165 Slide 166 Slide 167 Slide 168 Slide 169 Slide 170 Slide 171 Slide 172 Slide 173 Slide 174 Slide 175 Slide 176 Slide 177 Slide 178 Slide 179 Slide 180 Slide 181 Slide 182 Slide 183 Slide 184 Slide 185 Slide 186 Slide 187 Slide 188 Slide 189 Slide 190 Slide 191 Slide 192 Slide 193 Slide 194 Slide 195 Slide 196 Slide 197 Slide 198 Slide 199 Slide 200 Slide 201 Slide 202 Slide 203 Slide 204 Slide 205 Slide 206 Slide 207 Slide 208 Slide 209 Slide 210 Slide 211 Slide 212 Slide 213 Slide 214 Slide 215 Slide 216 Slide 217 Slide 218 Slide 219 Slide 220 Slide 221 Slide 222 Slide 223 Slide 224 Slide 225 Slide 226 Slide 227 Slide 228 Slide 229 Slide 230 Slide 231 Slide 232 Slide 233 Slide 234 Slide 235 Slide 237 Slide 238 Slide 239
Compartilhar