DBA Júnior Hugo Torralbo hugo@nervinformatica.com.br Esta obra está licenciada sob a licença Creative Commons Atribuição-SemDerivados 3.0 Brasil. Para ver uma cópia desta licença, visite http://creativecommons.org/licenses/by-nd/3.0/br/. 1
Aprendizado Visão: 5% Audição: 8% Visão e Audição: 12% Execução: 22% Execução com erro: 42% E 50% é perdido em 2 anos... 2
Instrutor - Team Leader for Performance Testing - IBM - DBA IBM - Bacharelado em Sistemas de Informação Centro Universitário Fundação Santo André (2007) Empresas http://www.ibm.com.br http://www.nervinformatica.com.br Redes Sociais http://twitter.com/nervinformatica https://facebook.com/nervinformaticaltda http://facebook.com/hugotorralbo http://br.linkedin.com/in/hugotorralbo/ 3
Instrutor Certificações Oracle Database 10g Administrator Certified Associate Oracle Database 10g Administrator Certified Professional ITIL Foundation V3 4
Alunos - Se apresente. - Trabalha, estuda? - Comente sua experiência com TI. 5
Agenda Introdução Linux Virtualização Windows Server Redes Storage SQL Server MySQL Oracle 6 6
Formação DBAs Gradução / Pós-graduação / Doutorado. Certificação. Inglês. Múltiplos SGBD. Experiência: o ovo e a galinha. 7 7
Júnior? 8 8
DBA Júnior, Pleno, e Sênior 9 9
Tarefas do DBA Júnior Instalação (mas não Upgrade). Criação de Bancos de Dados. Verificação e alteração de parâmetros. Execução de scripts. Manutenção de usuários e permissões. Manutenção de objetos (Tabelas, Índices, etc.). Manutenção de espaço. Execução de Backup físico e lógico (mas não Restore). Transporte de objetos entre servidores. Verificação de disponibilidade. Início de verificação de problemas (Troubleshooting). Início de análise de desempenho (Tuning). 10 10
Bancos de Dados 11 11
Linux 12 12
Teoria: Alta x Baixa plataforma 13 13
Teoria: Plataformas e Arquiteturas Alpha (64 bits) ARM 32 (32 bits) ARM 64 (64 bits) AVR32 (32 bits) Blackfin (32 bits) DLX (32 bits) ESi-RISC (16/32 bits) Itanium (IA-64) (64 bits) M32R (32 bits) m68k (16/32 bits) Mico32 (32 bits) MIPS (64 bits) MMIX (64 bits) PA-RISC (64 bits) PowerPC (32/64 bits) S+core (16/32 bits) Series 32000 (32 bits) SPARC (64 bits) SuperH (32 bits) System/360 / System/370 / z/architecture (64 bits) VAX (32 bits) x86 (32 bits) x86-64 (64 bits) 14 14
Teoria: História do Unix 15 15
Teoria: Distribuições, Edições, Versões http://upload.wikimedia.org/wikipedia/commons/e/ed/linuxdistrotimeline.png 16 16
Teoria: Distribuições, Edições, Versões RHEL 2, 3 e 4 Red Hat Enterprise Linux AS (mission-critical/enterprise computer systems) Red Hat Enterprise Linux ES (supported network servers) Red Hat Enterprise Linux WS (technical power user) Red Hat Desktop (single-user desktop) RHEL 5 Red Hat Enterprise Linux Advanced Platform (antigo AS) Red Hat Enterprise Linux (antigo ES) (limitado a 2 CPUs) Red Hat Enterprise Linux Desktop with Workstation and Multi-OS option Red Hat Enterprise Linux Desktop with Workstation option (antigo WS) Red Hat Enterprise Linux Desktop with Multi-OS option Red Hat Enterprise Linux Desktop (antigo Desktop) Fedora e RHEL Fedora Core 3 Red Hat Enterprise Linux 4 Fedora Core 6 Red Hat Enterprise Linux 5 Fedora 12, 13 Red Hat Enterprise Linux 6 Linux homologados pela Oracle para Oracle Database 11gR2 Asianux Server 3 SP2 Red Hat Enterprise Linux / Oracle Enterprise Linux (4.7, 5.2, 6.1) SUSE Linux Enterprise Server 10 SP2 SUSE Linux Enterprise Server 11 17 17
Prática: Instalação OEL 6 18 18
Prática: Instalação OEL 6 19 19
Prática: Instalação OEL 6 20 20
Prática: Instalação OEL 6 21 21
Prática: Instalação OEL 6 22 22
Prática: Instalação OEL 6 23 23
Prática: Instalação OEL 6 24 24
Prática: Instalação OEL 6 25 25
Prática: Instalação OEL 6 26 26
Prática: Instalação OEL 6 27 27
Prática: Instalação OEL 6 28 28
Prática: Instalação OEL 6 29 29
Prática: Instalação OEL 6 30 30
Prática: Instalação OEL 6 31 31
Prática: Instalação OEL 6 32 32
Prática: Instalação OEL 6 33 33
Prática: Instalação OEL 6 34 34
Prática: Instalação OEL 6 35 35
Prática: Instalação OEL 6 36 36
Prática: Instalação OEL 6 37 37
Prática: Instalação OEL 6 38 38
Prática: Instalação OEL 6 39 39
Prática: Instalação OEL 6 40 40
Prática: Instalação OEL 6 41 41
Prática: Instalação OEL 6 42 42
Prática: Instalação OEL 6 43 43
Prática: Instalação OEL 6 44 44
Prática: Instalação OEL 6 45 45
Prática: Instalação OEL 6 46 46
Prática: Instalação OEL 6 47 47
Prática: Manipulação de Arquivos Execute logon como root. Habilite a rede (Clique com o botão esquerdo no ícone de rede, e em eth0). Abra um terminal (Clique com o botão direito no Desktop, e então em Open In Terminal.) Verifique os arquivos existentes no diretório: # ls # ls -l # pwd # cd.. # pwd # ls # ls -l # ls -lh # ls -la # ls -lh *.log # cd.. # pwd # ls -lh # man ls 48 48
Prática: Manipulação de Arquivos # cd # pwd Em que diretório você está? # ls -lh # file Desktop # file install.log # cat install.log # head install.log # tail install.log # tail -f install.log O que aconteceu? # cp install.log install.log.backup # mv install.log install.log.new # rm install.log.backup # touch install.log O que estes comandos fizeram? 49 49
Prática: Manipulação de Arquivos # # # # # # cat install.log cat install.log.new > install.log cat install.log grep xorg install.log grep xorg install.log grep fonts grep xorg install.log grep -v fonts # watch ls -lh # vi install.log ESC e depois I ESC e depois x ESC e depois dd ESC e depois :w ESC e depois :q --- insere texto. --- remove uma letra. --- remove uma linha. --- salva as alterações. --- sai do vi. # clear O que as setas para cima e para baixo fazem? 50 50
Prática: Gerenciamento de Pacotes Coloque o DVD. Verifique se o DVD já está montado. # df -h Se não estiver, monte-o: # mount /dev/sr0 /mnt # df -h Vá até o diretório onde estão os pacotes no DVD. # cd /media/<...>/packages Procure o Java Jdk e instale-o. # ls *java* # rpm -ivh java-1.7.0-openjdk* Tente instala-lo novamente, e remova-o. # rpm -ivh java-1.7.0-openjdk* # rpm -e java-1.7.0-openjdk 51 51
Prática: Gerenciamento de Pacotes Tente instalar o gcc. # rpm -ivh gcc-4.4* O que aconteceu? # yum install gcc 52 52
Prática: Particionamento e Sistema de Arquivos Crie uma partição com o espaço livre. # fdisk -l # fdisk /dev/sda Digite: p Digite: n <Enter> <Enter> Digite: p Digite: w # fdisk -l Formate esta partição com o Sistema de Arquivos ext4. # mkfs.ext4 /dev/sda8 O que aconteceu? 53 53
Prática: Particionamento e Sistema de Arquivos Crie um diretório, e monte o dispositivo nele. # mkdir /u01 # mount /dev/sda8 /u01 Faça este sistema de arquivos ser montado automaticamente. # vi /etc/fstab 54 54
Prática: Services Verifique se o Apache está configurado para iniciar automaticamente. # # # # # chkconfig chkconfig chkconfig chkconfig chkconfig grep httpd --level 35 httpd on grep httpd httpd on Inicie e teste o serviço do Apache. # # # # # service firefox service service firefox httpd status localhost httpd start httpd status localhost 55 55
Usuários, Grupos, Permissões Verifique qual é o seu usuário, e que permissões ele tem. # # # # # whoami id ls -lh /root/ cat /etc/passwd cat /etc/group Adicione grupos e o usuário oracle. # # # # # # # # groupadd -g 1000 oinstall groupadd -g 1200 dba groupadd -g 1300 oper useradd -u 1100 -g oinstall -G dba,oper oracle passwd oracle id oracle cat /etc/passwd cat /etc/group 56 56
Usuários, Grupos, Permissões Torne-se o usuário oracle, e verifique suas permissões. # su oracle $ whoami $ id $ pwd $ ls -lh /root/ O que aconteceu? Dê permissão para um arquivo ao usuário oracle, e teste. $ exit # chown oracle:dba /root/install.log # su oracle $ ls -lh /root/ $ ls -lh /root/install.log O que aconteceu? 57 57
Shell Com o usuário oracle, crie um script Bash. $ vi teste.sh <ESC> Digite: i ls lh <ESC> Digite: :w <ESC> Digite: :q Execute-o: $ sh teste.sh Adicione a seguinte linha ao início deste arquivo: #!/bin/bash 58 58
Shell Execute-o diretamente desta vez. $ /home/oracle/teste.sh O que aconteceu? Corrija e reexcute. $ ls -lh $ chmod +x /home/oracle/teste.sh $ ls -lh $ /home/oracle/teste.sh Proteja o script contra alterações. $ chmod -w /home/oracle/teste.sh Como retirar esta proteção? Acrescente mais comandos ao script. 59 59
Prática: Variáveis de ambiente Verifique seus caminhos de executáveis. $ echo $PATH $ teste.sh $ cd /home/oracle $./teste.sh $ export PATH=/home/oracle/:$PATH $ echo $PATH $ teste.sh O que aconteceu? Crie uma variável de ambiente. $ export MINHAVARIAVEL=Teste $ echo $MINHAVARIAVEL Adicione uma variável ao seu script, e utilize-a para algo útil. Agende seu script para ser executado via crontab. $ crontab -e 60 60
Prática: Processos Verifique os processos em execução. $ ps $ ps a $ ps aux $ ps aux grep gnome $ pstree Qual a diferença entre estes comandos? Finalize o seu processo bash. $ ps a $ kill 2120 $ kill -9 2120 O que aconteceu? 61 61
Prática: Processos Verifique seus caminhos de executáveis. $ vi teste.sh & $ fg O que aconteceu? $ vi teste.sh & $ vi teste02.sh & $ fg $ fg O que aconteceu? 62 62
Prática: Desempenho $ free $ vmstat $ vmstat 2 $ vmstat 5 $ iostat $ iostat 2 $ iostat 5 $ top O que estes comandos fazem? 63 63
Prática: Logs Verifique os logs mais atuais, e que informação eles têm. $ $ # # ls su ls ls -lh /var/log -lh /var/log -lhtr /var/log 64 64
Teoria: Documentação / Livros Livros livres - The Art of Unix Programming - Linux Device Drivers (O'Reilly) - Linux Kernel in a Nutshell (O'Reilly) - Linux Network Administrator's Guide (O'Reilly) Documentação Linux - http://www.tldp.org/ - https://access.redhat.com/knowledge/docs/ - https://www.suse.com/documentation/ AIX - http://pic.dhe.ibm.com/infocenter/aix/v6r1/index.jsp - http://www.ibm.com/developerworks/aix/ - http://www.redbooks.ibm.com/ 65 65
Teoria: Certificações / Mercado de Trabalho - LPIC-1, LPIC-2, LPIC-3 - Red Hat Certified System Administrator RHCSA - Red Hat Certified Engineer RHCE - Red Hat Certified Virtualization Administrator RHCVA - Red Hat Certified Security Specialist RHCSS - Red Hat Certified Datacenter Specialist RHCDS - Red Hat Certified Architect RHCA - IBM Certified Operator - IBM Certified System Administrator - IBM Certified System Administrator - AIX 7 - IBM Certified Advanced Technical Expert - IBM Certified Systems Expert - Enterprise Technical Support for AIX and Linux v2 - IBM Certified Systems Expert - Virtualization Technical Support for AIX and Linux v2 - IBM Certified Systems Expert - Virtualization Technical Support for IBM i -v1 - IBM Certified Systems Expert - High Availability for AIX Technical Support and Administration -v2 66 66
Virtualização 67 67
Teoria: Hard x Soft 68 68
Teoria: Hard x Soft 69 69
Prática: Instalação Oracle VirtualBox # ls -lh /root # rpm -ivh /root/virtualbox* Verifique os erros do log, corrija sua causa, remova e reinstale o VirtualBox. 70 70
Prática: Criação VMs 71 71
Prática: Criação VMs 72 72
Prática: Criação VMs 73 73
Prática: Criação VMs 74 74
Prática: Criação VMs 75 75
Prática: Criação VMs 76 76
Prática: Criação VMs 77 77
Prática: Configuração VMs 78 78
Prática: Configuração VMs 79 79
Prática: Configuração VMs 80 80
Prática: Configuração VMs 81 81
Prática: Configuração VMs 82 82
Prática: Clone VMs 83 83
Prática: Clone VMs 84 84
Prática: Clone VMs 85 85
Prática: Snapshot VMs 86 86
Prática: Export / Import Appliance 87 87
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 88 88
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 89 89
Redes 90 90
Teoria: TCP/IP 91 91
Teoria: TCP/IP IP Mask Gateway DNS Qual seu IP / Mask / Gateway / DNS? 92 92
Teoria: TCP/IP DHCP Routing Firewall Proxy IDS IPS VLAN 93 93
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 95 95
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? 96 96
Prática: Xserver Execute logon remoto no computador do seu vizinho. # ssh -CX root@192.168.0.102 # firefox 97 97
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 98 98
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 99 99
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 100 100
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 101 101
Storage 102 102
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 103 103
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 104 104
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 105 105
Prática: NFS Server Crie um diretório para o NFS Server. # mkdir /shared_data Adicionar no arquivo /etc/exports a linha abaixo. /shared_data *(rw,sync,no_wdelay,insecure_locks,no_root_squash) Inicie o serviço NFS Server. # chkconfig nfs on # service nfs restart 106 106
Prática: NFS Client Adicionar no arquivo /etc/fstab a linha abaixo. nerv02:/shared_data /u01/oradata nfs rw,bg,hard,nointr,tcp,vers=3,timeo=600,rsize=32768,wsize=32768,a ctimeo=0 0 0 Monte o Filesystem NFS. # mkdir /u01/oradata # mount /u01/oradata # touch /u01/oradata/teste.txt O vizinho consegue vizualizar seu arquivo? O vizinho consegue alterar seu arquivo? 107 107
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 108 108
Prática: iscsi Initiator Particione o novo disco, na máquina nerv01. # fdisk /dev/sdb Digite: n Digite: p Digite: 1 <Enter> <Enter> Digite: w 109
Prática: iscsi Initiator Deixe APENAS o novo disco no arquivo /etc/iscsi/initiatorname.iscsi, nos dois Nodes. InitiatorName=iqn.2010-10.com.nervinformatica:storage.asm01 Crie um diretório, e monte-o na partição iscsi. 110 110
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 111 111
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 112 112
MySQL 113 113
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 114 114
Prática: Instalação yum Download de Pacotes RPMs 115 115
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 116 116
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? 117 117
Teoria: Engines MyISAM InnoDB Memory CSV Archive Blackhole Merge Federated Example 118 118
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. 119 119
Prática: Parâmetros de otimização max_connections = 800 table_open_cache = 100 thread_cache_size = 16 innodb_buffer_pool_size = 1G innodb_thread_concurrency = 32 key_buffer = 128M read_buffer_size = 2M read_rnd_buffer_size = 2M query_cache_limit = 2M query_cache_min_res_unit query_cache_size = 1G query_cache_type = 1 = 4096 sort_buffer = 2M join_buffer_size = 2M 120 120
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 121 121
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; 122 122
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 123 123
Teoria: Procedures Criação USE Nerv; GO CREATE PROCEDURE uspgetemployeename @EmployeeID int AS SET NOCOUNT ON; SELECT Name FROM Employee WHERE EmployeeID = @EmployeeID; GO Execução USE Nerv; EXECUTE uspgetemployeename @EmployeeID = 1 GO 124 124
Teoria: Functions Criação USE Nerv; GO CREATE FUNCTION NumberOfEmployees (@DeptID int) RETURNS @TotalOfEmployees int AS BEGIN DECLARE @TotalOfEmployees AS int ; SELECT @TotalOfEmployees = SUM(EmployeeID) FROM Employee WHERE DeptID = @DeptID; RETURN @TotalOfEmployees; END; GO Execução SELECT * FROM NumberOfEmployees (2) GO 125 125
Teoria: Triggers Criação USE Nerv; CREATE TRIGGER Reminder ON Dept AFTER INSERT, UPDATE AS RAISERROR ('Notify Manager', 16, 10); GO 126 126
Teoria: 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. 127 127
Prática: Estruturas físicas # ls -lh /var/lib/mysql/ total 29M -rw-rw----. 1 mysql mysql -rw-rw----. 1 mysql mysql -rw-rw----. 1 mysql mysql drwx--x--x. 2 mysql mysql srwxrwxrwx. 1 mysql mysql drwx------. 2 mysql mysql drwx------. 2 mysql mysql -rw-rw----. 1 mysql mysql -rw-r--r--. 1 root root -rw-r--r--. 1 mysql mysql drwxr-xr-x. 2 mysql mysql 18M 5.0M 5.0M 4.0K 0 4.0K 4.0K 6 112 112 4.0K Jan Jan Jan Jan Jan Jan Jan Jan Jan Jan Jan 24 24 24 24 24 24 24 24 24 24 24 14:45 14:45 14:45 14:43 14:45 15:12 14:43 14:45 14:43 14:43 14:43 ibdata1 ib_logfile0 ib_logfile1 mysql mysql.sock nerv performance_schema Proni-PC.localdomain.pid RPM_UPGRADE_HISTORY RPM_UPGRADE_MARKER-LAST test # ls -lh /var/lib/mysql/nerv/ total 4.0K -rw-rw----. 1 mysql mysql 65 Jan 24 15:12 db.opt 128 128
Prática: Estruturas lógicas Tablespaces? Schemas? 129 129
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? 130 130
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. 131 131
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? 132 132
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 133 133
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. 134 134
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? 135 135
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; 136 136
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? 137 137
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? 138 138
Prática: System Status Execute no MySQL o comando abaixo. SHOW STATUS; Que informações que este comando gera são úteis? 139 139
Teoria: Alta Disponibilidade MySQL Replication MySQL Cluster 140 140
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) 141 141
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 142 142
Oracle 143 143
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 144 144
Teoria: Versões e Edições 145 145
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 146 146
Prática: Instalação Editar o arquivo /etc/sysctl.conf e ACRESCENTAR AO FINAL: fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default=262144 net.core.rmem_max=4194304 net.core.wmem_default=262144 net.core.wmem_max=1048586 Em seguida, execute: # sysctl -p Editar o arquivo /etc/security/limits.conf e ACRESCENTAR AO FINAL: oracle oracle oracle oracle soft hard soft hard nproc nproc nofile nofile 2047 16384 1024 65536 147 147
Prática: Instalação Executar os comandos abaixo. # # # # mkdir mkdir chown chmod -p -p -R -R /u01/app/oracle/product/11.2.0.3/db_1 /u01/oradata oracle:oinstall /u01 775 /u01 148 148
Prática: Instalação Com o usuário oracle, ACRESCENTAR NO FINAL do arquivo /home/oracle/.bash_profile as linhas abaixo. export TMP=/tmp export TMPDIR=$TMP export ORACLE_HOSTNAME=nerv01.localdomain export ORACLE_UNQNAME=ORCL export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/11.2.0.3/db_1 export ORACLE_SID=ORCL export ORACLE_TERM=xterm export PATH=/usr/sbin:$PATH export PATH=$ORACLE_HOME/bin:$PATH export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi 149 149
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 150 150
Prática: Instalação 151 151
Prática: Instalação 152 152
Prática: Instalação 153 153
Prática: Instalação 154 154
Prática: Instalação 155 155
Prática: Instalação 156 156
Prática: Instalação 157 157
Prática: Instalação 158 158
Prática: Instalação 159 159
Prática: Instalação 160 160
Prática: Instalação 161 161
Prática: Instalação 162 162
Prática: Instalação Execute, como root, os scripts indicados nesta tela, e depois clique em OK. 163 163
Prática: Instalação 164 164
Prática: Listener Verifique se seu arquivo /etc/hosts está similar a este. 127.0.0.1 ::1 192.168.0.101 localhost.localdomain localhost6.localdomain6 nerv01.localdomain localhost localhost6 nerv01 Execute o Network Configuration Assistant. $ netca 165 165
Prática: Listener 166 166
Prática: Listener 167 167
Prática: Listener 168 168
Prática: Listener 169 169
Prática: Listener 170 170
Prática: Listener 171 171
Prática: Listener 172 172
Prática: Listener 173 173
Prática: Listener Verifique o estado o Listener. $ lsnrctl status $ lsnrctl stop $ lsnrctl start 174 174
Prática: Criação Banco de Dados 175 175
Prática: Criação Banco de Dados 176 176
Prática: Criação Banco de Dados 177 177
Prática: Criação Banco de Dados 178 178
Prática: Criação Banco de Dados 179 179
Prática: Criação Banco de Dados 180 180
Prática: Criação Banco de Dados 181 181
Prática: Criação Banco de Dados 182 182
Prática: Criação Banco de Dados 183 183
Prática: Criação Banco de Dados 184 184
Prática: Criação Banco de Dados 185 185
Prática: Criação Banco de Dados 186 186
Prática: Criação Banco de Dados 187 187
Prática: Criação Banco de Dados 188 188
Prática: Criação Banco de Dados 189 189
Prática: Criação Banco de Dados 190 190
Prática: Criação Banco de Dados 191 191
Prática: Criação Banco de Dados 192 192
Prática: Criação Banco de Dados 193 193
Prática: Criação Banco de Dados 194 194
Prática: Criação Banco de Dados 195 195
Prática: Criação Banco de Dados 196 196
Teoria: Processos Background 197 197
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? 198 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. 199 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> SQL> SQL> SQL> SHUTDOWN SHUTDOWN SHUTDOWN SHUTDOWN NORMAL; IMMEDIATE; TRANSACTIONAL; ABORT; 200 200
Prática: Modo ARCHIVELOG Altere o Banco de Dados para o modo NOARCHIVELOG. SQL> SQL> SQL> SQL> SHUTDOWN IMMEDIATE; STARTUP MOUNT; ALTER DATABASE NOARCHIVELOG; ALTER DATABASE OPEN; Altere o Banco de Dados para o modo ARCHIVELOG. SQL> SQL> SQL> SQL> SHUTDOWN IMMEDIATE; STARTUP MOUNT; ALTER DATABASE ARCHIVELOG; ALTER DATABASE OPEN; 201 201
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 202 202
Prática: Enterprise Manager Execute logon como SYS no Enterprise Manager. 203 203
Prática: Estruturas físicas DATAFILEs TEMPFILEs UNDO DATAFILEs CONTROLFILEs REDO LOGs ARCHIVED REDO LOGs PFILE / SPFILE 204 204
Teoria: Estruturas físicas SEGMENTs EXTENTs BLOCKs 205 205
Teoria: Estruturas lógicas TABLESPACEs SEGMENTs SCHEMAs (USERs) 206 206
Prática: Tablespaces Tablespaces e Datafiles e Datafiles 1 - Criando uma tablespace: SQL> CREATE TABLESPACE tbs_teste DATAFILE '/u01/oradata/orcl/teste01.dbf' SIZE 10M AUTOEXTEND ON SEGMENT SPACE MANAGEMENT AUTO EXTENT MANAGEMENT LOCAL; 2 - Consultando a tablespace e o datafile criado: SQL> SQL> SQL> SQL> SELECT tablespace_name, file_name, bytes/1024/1024 MB FROM dba_data_files WHERE tablespace_name='tbs_teste' ORDER BY 2; 3 - Alterando uma tablespace, adicionando um datafile: SQL> ALTER TABLESPACE TBS_TESTE ADD DATAFILE '/u01/oradata/orcl/teste_02.dbf' SIZE 10M; 207
Prática: Tablespaces Tablespaces e Datafiles e Datafiles 4 - Reajustando o tamanho de um DATAFILE: SQL> ALTER DATABASE DATAFILE '/u01/oradata/orcl/teste_02.dbf' RESIZE 20M; 5 - Excluindo uma tablespace: SQL> DROP TABLESPACE TBS_TESTE; Novamente, execute o passo 1. O que aconteceu? 208
Prática: Objetos Recrie seu modelo de dados do MySQL no Oracle. 209 209
Prática: INSERT, UPDATE, DELETE, SELECT Execute os mesmos comandos que fez no MySQL. 210 210
Prática: Transações e Isolamento Execute os mesmos comandos que fez no MySQL. Quais as diferenças de comportamento com o MySQL? 211 211
Prática: e privilégios. UsuáriosUsuários e privilégios 1. Crie um usuário CREATE USER usuario1 IDENTIFIED BY 123; 2. Altere a senha do usuário ALTER USER usuario1 IDENTIFIED BY minhasenha; 3. Consulte o usuário criado. SELECT username, account_status, default_tablespace FROM dba_users WHERE username='usuario1'; 4. Tente conectar no SQL*Plus com esse usuário: $ sqlplus usuario1/minhasenha@orcl O que aconteceu? 212
Prática: e privilégios. UsuáriosUsuários e privilégios 4. Conceda o privilégio de sistema CREATE SESSION para conectar na instância. Em seguida, tente se logar novamente no SQL*Plus com o usuário: SQL> GRANT create session TO usuario1; 5. Voltando no SQL*Plus como SYS, conceda privilégio de leitura, escrita, exclusão e alteração na tabela EMP do usuário SCOTT. SQL> GRANT insert, delete, update, select ON scott.emp TO usuario1; 6. Consulte os privilégios concedidos para o USUARIO1. SQL> SELECT grantee, owner, table_name, privilege, grantor SQL> FROM dba_tab_privs SQL> WHERE grantee='usuario1' SQL> AND owner='scott' SQL> AND table_name='emp'; 213
Prática: e privilégios. UsuáriosUsuários e privilégios 7. Revogue os privilégios concedidos para o USUARIO, na tabela do schema SCOTT. SQL> REVOKE delete,insert,update,select ON scott.emp FROM usuario1; 214
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? 215 215
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? 216 216
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? 217 217
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. 218 218
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? 219 219
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? 220 220
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. 221 221
Teoria: Alta Disponibilidade Oracle RAC Oracle Data Guard Oracle Golden Gate Oracle Streams 222 222
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 223 223
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 224 224
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 225 225
E agora? 226 226
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/ 227 227
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/ 228 228
Treinamentos Nerv - Oracle Performance Diagnostics & Tuning - Oracle Backup & Recovery - Oracle RAC - Oracle Data Guard 229
Vagas - APInfo - Ceviu - Catho 230