Your SlideShare is downloading. ×
0
DBA Júnior
Hugo Torralbo
hugo@nervinformatica.com.br
Esta obra está licenciada sob a licença
Creative Commons Atribuição-S...
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...
Instrutor
- Team Leader for Performance Testing - IBM
- DBA – IBM
- Bacharelado em Sistemas de Informação – Centro Univers...
Instrutor
Certificações
• Oracle Database 10g Administrator Certified Associate
• Oracle Database 10g Administrator Certif...
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âme...
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...
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...
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...
49
Prática: Manipulação de Arquivos
# cd
# pwd
Em que diretório você está?
# ls -lh
# file Desktop
# file install.log
# ca...
50
Prática: Manipulação de Arquivos
# cat install.log
# cat install.log.new > install.log
# cat install.log
# grep xorg in...
51
Prática: Gerenciamento de Pacotes
Coloque o DVD.
Verifique se o DVD já está montado.
# df -h
Se não estiver, monte-o:
#...
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...
54
Prática: Particionamento e Sistema de Arquivos
Crie um diretório, e monte o dispositivo nele.
# mkdir /u01
# mount /dev...
55
Prática: Services
Verifique se o Apache está configurado para iniciar automaticamente.
# chkconfig
# chkconfig | grep h...
56
Usuários, Grupos, Permissões
Verifique qual é o seu usuário, e que permissões ele tem.
# whoami
# id
# ls -lh /root/
# ...
57
Usuários, Grupos, Permissões
Torne-se o usuário oracle, e verifique suas permissões.
# su – oracle
$ whoami
$ id
$ pwd
...
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...
59
Shell
Execute-o diretamente desta vez.
$ /home/oracle/teste.sh
O que aconteceu?
Corrija e reexcute.
$ ls -lh
$ chmod +x...
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
$ ./te...
62
Prática: Processos
Verifique os processos em execução.
$ ps
$ ps a
$ ps aux
$ ps aux | grep gnome
$ pstree
Qual a difer...
63
Prática: Processos
Verifique seus caminhos de executáveis.
$ vi teste.sh &
$ fg
O que aconteceu?
$ vi teste.sh &
$ vi t...
64
Prática: Desempenho
$ free
$ vmstat
$ vmstat 2
$ vmstat 5
$ iostat
$ iostat 2
$ iostat 5
$ top
O que estes comandos faz...
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...
66
Teoria: Documentação / Livros
Livros livres
- The Art of Unix Programming
- Linux Device Drivers (O'Reilly)
- Linux Ker...
67
Teoria: Certificações / Mercado de Trabalho
- LPIC-1, LPIC-2, LPIC-3
- Red Hat Certified System Administrator — RHCSA
-...
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 su...
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
ht...
90
Teoria: Certificações / Mercado de Trabalho
VMware
VMware Certified Professional – Cloud (VCP-Cloud) NEW
VMware Certifi...
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 d...
97
Prática: mstsc / rdesktop / vnc
Execute logon remoto no Windows Server de sua VM.
# rdesktop <IP>
Por que não funciona?...
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 -...
100
Teoria: Documentação / Livros
Linux Network Administrators Guide
http://oreilly.com/openbook/linag2/book/index.html
Ci...
101
Teoria: Certificações / Mercado de Trabalho
CompTIA
CompTIA A+ / CompTIA Network+ / CompTIA Security+
ISC(2)
SSCP - Sy...
102
Teoria: Certificações / Mercado de Trabalho
Cisco
CCENT - Cisco Certified Entry Networking Technician
CCT - Cisco Cert...
Storage
103
103
104
Teoria: Produtos
IBM
DS8000 Series
- DS8100
- DS8300
- DS8700
- DS8800
- DS8870
XIV
SONAS
Storwize V7000
Storwize V700...
105
Teoria: Produtos
NetApp
FAS/V-Series Storage Systems
- FAS6200 Series
- FAS6000 Series
- FAS3200 Series
- FAS3100 Seri...
106
Teoria: Tecnologias
- IDE, ATA, SATA, SCSI
- SSD, Cache
- RAID (0, 1, 5 [50, 60], 1+0)
- SAN, NAS
- Cluster Filesystem...
Crie um diretório para o NFS Server.
# mkdir /shared_data
Adicionar no arquivo /etc/exports a linha abaixo.
/shared_data *...
Adicionar no arquivo /etc/fstab a linha abaixo.
nerv02:/shared_data /u01/oradata nfs
rw,bg,hard,nointr,tcp,vers=3,timeo=60...
109
Prática: iSCSI Initiator
Instale e ative o pacote iSCSI Initiator nos dois Nodes.
# rpm -Uvh iscsi-initiator-utils-*.x...
110
Particione o novo disco, na máquina nerv01.
# fdisk /dev/sdb
Digite: n
Digite: p
Digite: 1
<Enter>
<Enter>
Digite: w
P...
Deixe APENAS o novo disco no arquivo /etc/iscsi/initiatorname.iscsi, nos dois
Nodes.
InitiatorName=iqn.2010-10.com.nervinf...
112
Teoria: Documentação / Livros
http://en.wikipedia.org/wiki/SCSI
http://en.wikipedia.org/wiki/ISCSI
http://en.wikipedia...
113
Teoria: Certificações / Mercado de Trabalho
IBM
IBM Certified Specialist - Midrange Storage Sales V1
IBM Certified Spe...
MySQL
114
114
115
Teoria: Versões e Edições
Edições
MySQL Community Edition
MySQL Standard Edition
MySQL Enterprise Edition
MySQL Cluste...
116
Prática: Instalação
 yum
 Download de Pacotes RPMs
116
117
Prática: Instalação e inicialização
# rpm -Uvh MySQL-*
# service mysql start
# chkconfig mysql on
# /usr/bin/mysqladmi...
118
Prática: Programas Cliente
# mysql -u root -pNerv2013
mysql> exit;
# mysql -u root -pNerv2013 -e “SHOW STATUS”
# mysql...
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:...
121
Prática: Parâmetros de otimização
max_connections = 800
table_open_cache = 100
thread_cache_size = 16
innodb_buffer_po...
122
Prática: Parâmetros de recuperação
tmp_table_size = 8M
tmpdir = /tmp/
slow_query_log_file = /var/log/mysql-slow.log
lo...
123
Prática: Bancos de Dados
# mysql -u root -pNerv2013
mysql> show databases;
mysql> create database nerv;
mysql> show da...
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-...
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)) Engi...
127
Prática: INSERT, UPDATE, DELETE, SELECT
Exemplos
INSERT INTO Employee (EmployeeID, EmpName, DeptID)
VALUES (1, 'Ricard...
128
Prática: Transações e Isolamento
Execute um UPDATE de seu modelo de dados, em todas os registros da Employee.
Abra out...
129
Prática: System States
SHOW PROCESSLIST
SHOW FULL PROCESSLIST
After create
altering table
Analyzing
checking permissio...
130
Prática: Importação e Exportação
Exemplos
SELECT * FROM Cars INTO OUTFILE '/tmp/cars.txt';
LOAD DATA INFILE '/tmp/cars...
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 dir...
132
Prática: Backup MyISAM
Coloque uma tabela MyISAM em LOCK, e a copie para outro diretório.
LOCK TABLE <nome_tabela> WRI...
133
Prática: mysqldump
Execute um backup via mysqldump.
$ mysqldump -u root -pNerv2013 nerv > nerv.sql
Edite o arquivo ger...
134
Prática: INFORMATION_SCHEMA
Verifique as tabelas do banco de dados INFORMATION_SCHEMA.
Quantas tabelas você possui em ...
135
Prática: System Status
Execute no MySQL o comando abaixo.
SHOW STATUS;
Que informações que este comando gera são úteis...
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....
138
Teoria: Certificações / Mercado de Trabalho
 Oracle Certified Associate, MySQL 5
 Oracle Certified Professional, MyS...
Oracle
139
139
140
Teoria: Versões e Edições
 Oracle Database Standard Edition One
 Oracle Database Standard Edition
 Oracle Database ...
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 ...
Editar o arquivo /etc/sysctl.conf e ACRESCENTAR AO FINAL:
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmmni = 40...
Executar os comandos abaixo.
# mkdir -p /u01/app/oracle/product/11.2.0.3/db_1
# mkdir -p /u01/oradata
# chown -R oracle:oi...
Com o usuário oracle, ACRESCENTAR NO FINAL do arquivo
/home/oracle/.bash_profile as linhas abaixo.
export TMP=/tmp
export ...
146
Prática: Instalação
Execute logon como oracle no ambiente gráfico, e descompacte o instalador.
$ unzip -q p10404530_11...
147
Prática: Instalação
147
148
Prática: Instalação
148
149
Prática: Instalação
149
150
Prática: Instalação
150
151
Prática: Instalação
151
152
Prática: Instalação
152
153
Prática: Instalação
153
154
Prática: Instalação
154
155
Prática: Instalação
155
156
Prática: Instalação
156
157
Prática: Instalação
157
158
Prática: Instalação
158
159
Prática: Instalação
Execute, como root, os scripts indicados nesta tela, e depois clique em OK.
159
160
Prática: Instalação
160
161
Prática: Listener
Verifique se seu arquivo /etc/hosts está similar a este.
127.0.0.1 localhost.localdomain localhost
:...
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...
195
Prática: SQL*Plus
Execute logon no SQL*Plus via Sistema Operacional.
$ sqlplus / AS SYSDBA
Por que isto funcionou?
Exe...
196
Prática: SQL Developer
Execute o SQL Developer e crie uma conexão ao seu banco de dados.
$ sh /u01/app/oracle/product/...
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_s...
199
Teoria: STARTUP / SHUTDOWN
Estados da Instância
SHUTDOWN
STARTUP
MOUNT
OPEN
Comandos
SQL> STARTUP;
SQL> STARTUP NOMOUN...
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 ...
4 – Consulte a tablespace novamente;
5 - Reajuste o tamanho de um DATAFILE com a instrução abaixo, em seguida,
consulte no...
7 - Consultando o tamanho dos objetos (SEGMENTS), em cada tablespace.
SQL> SELECT tablespace_name, SUM(bytes/1024/1024) MB...
205
Prática: Estruturas físicas
 DATAFILEs
 TEMPFILEs
 UNDO DATAFILEs
 CONTROLFILEs
 REDO LOGs
 ARCHIVED REDO LOGs
...
206
Prática: Modo ARCHIVELOG
Altere o Banco de Dados para o modo NOARCHIVELOG.
SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP MOUNT...
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> A...
Usuários e privilégios
5. Alterando a quota de espaço do USUARIO1 na tablespace TBS_TESTE
SQL> ALTER USER usuario1 QUOTA 2...
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@ORCL
2. Conceda o pri...
Usuários e privilégios
7. Revogue os privilégios concedidos para o USUARIO, na tabela do schema
SCOTT.
SQL> REVOKE delete,...
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)
GRA...
216
Prática: Tabelas, Índices e Views
216
CREATE TABLE Employee (
EmployeeID int,
EmpName nvarchar2(100),
DeptID int);
CRE...
217
Prática: PK, FK, Unique, Check, NOT NULL
PK
CREATE TABLE Employee (EmployeeID int PRIMARY KEY CLUSTERED,
EmpName nvarc...
218
Prática: INSERT, UPDATE, DELETE, SELECT
Exemplos
INSERT INTO Employee (EmployeeID, EmpName, DeptID)
VALUES (1, 'Ricard...
219
Teoria PL/SQL: Procedures
Criação
CREATE PROCEDURE remove_emp (employee_id NUMBER)
AS tot_emps NUMBER;
BEGIN
DELETE FR...
220
Teoria PL/SQL: Functions
Criação
CREATE FUNCTION get_bal(acc_no IN NUMBER)
RETURN NUMBER IS acc_bal NUMBER(11,2);
BEGI...
221
Teoria: Triggers
Criação
CREATE TRIGGER hr.salary_check
BEFORE INSERT OR UPDATE OF salary, job_id ON
hr.employees FOR ...
222
Prática: Transações e Isolamento
Execute um UPDATE de seu modelo de dados, em todas os registros da Employee.
Abra out...
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>...
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 SI...
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> WH...
226
Prática: exp / imp e expdp / impdp
Exemplos
exp / imp
exp USERID=SCOTT/TIGER FULL=Y FILE=expSCOTT.dmp
imp SCOTT/TIGER ...
227
Prática: Configuração Básica RMAN
Execute os comandos abaixo no RMAN.
$ rman target /
RMAN> CONFIGURE BACKUP OPTIMIZAT...
228
Prática: Backup Básico RMAN
Execute os comandos abaixo no RMAN.
RMAN> BACKUP DATABASE;
RMAN> BACKUP DATABASE FORMAT '/...
229
Prática: Alert Log
Encontre o Alert Log.
SQL> show parameter dump
$ tail -f
/u01/app/oracle/diag/rdbms/orcl/orcl/trace...
230
Teoria: Alta Disponibilidade
 Oracle RAC
 Oracle Data Guard
 Oracle Golden Gate
 Oracle Streams
230
231
Teoria: Documentação / Livros
Documentação
 http://docs.oracle.com/
 http://profissionaloracle.com.br/
 http://br.g...
232
Teoria: Certificações / Mercado de Trabalho
 Oracle Real Application Clusters 11g Certified Implementation Specialist...
233
Teoria: Certificações / Mercado de Trabalho
- Oracle Database 11g Administrator Certified Associate
- Oracle Database ...
E agora?
234
234
235
Os 7 Passos do Troubleshooting
 Passo 0: Acredite.
 Passo 1: Redução.
 Passo 2: Isolamento.
 Passo 3: Reprodução.
...
236
Como aprender um novo SGBD
Fase 1
– Encontre a documentação oficial.
– Instale.
– Execute logon como administrador.
– ...
Treinamentos Nerv
- Oracle Performance Diagnostics & Tuning
- Oracle Backup & Recovery
- Oracle RAC
- Oracle Data Guard
237
Vagas
- APInfo
- Ceviu
- Catho
238
Upcoming SlideShare
Loading in...5
×

Treinamento DBA Júnior - Nerv Informática Ltda

2,452

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,452
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
137
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "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.

×