Escolar Documentos
Profissional Documentos
Cultura Documentos
Comando no MySQL:
mysql> show databases;
Comando no Oracle:
SQL> SELECT STATUS FROM V$INSTANCE;
2
Agenda
● Mercado de Trabalho
● Linux - Sistema Operacional, Virtualização, Redes, Storage
● MySQL
● Oracle
3 3
Produtos utilizados no Treinamento
● Oracle Enterprise Linux x64 6.10
● Oracle VirtualBox x64 6.1.2
4
Por que é difícil tornar-se DBA?
5
DBA Júnior, Pleno, e Sênior
6
Tarefas do DBA Júnior
● Extração simples de dados (SELECT).
● Manipulação simples de dados (INSERT, UPDATE, DELETE)
● Execução de scripts.
● Manutenção de espaço.
● Verificação de disponibilidade.
7
Formação DBAs: CVs
● Gradução / Pós-graduação / etc.
● Treinamentos.
● Experiência.
● Conhecimentos
● Certificação.
● Inglês.
● Linguagem SQL.
8
Planejamento: Quero ser um DBA
- Ter um ambiente de estudo
- Ter uma rotina de estudo
- Prosseguir com Formação (Graduação, Pós, MBA, etc)
- Fazer um Treinamento Oficial (mais teoria)
- Fazer um Treinamento não Oficial (mais prática)
- Aperfeiçoar Inglês (Leitura)
- Ler, ler, ler.
- Participar de Grupos de Discussão
- Acompanhar Blogs
- Ir a Eventos (Networking)
- Estudar e tirar primeiro nível de Certificação
- Se candidatar a vagas de DBA Júnior
- Se candidatar a vagas de Infraestrutura
- Se candidatar a vagas de Programação
9
Planejamento: Já sou um DBA
- Ter um ambiente de estudo
- Ter uma rotina de estudo
- Prosseguir com Formação (Graduação, Pós, MBA, etc)
- Fazer um Treinamento Oficial (mais teoria)
- Fazer um Treinamento não Oficial (mais prática)
- Aperfeiçoar Inglês (Escrita e Conversação)
- Ler, ler, ler.
- Participar de Grupos de Discussão
- Acompanhar Blogs
- Ir a Eventos (Networking)
- Estudar e tirar segundo nível de Certificação
10
Livros: Oracle
11
Livros: Oracle
12
Comunidades
List Yahoo Oracle Br
https://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
GPO
https://www.profissionaloracle.com.br
Glufke
http://glufke.net/
GUOB
http://www.guob.com.br/
Database Cast
http://databasecast.com.br/wp/
Certificação BD
http://certificacaobd.com.br/
DBA Brasil
https://dbabrasil.net.br/
13
Treinamentos Oficiais
Oracle Database Administration Workshop
14
Treinamentos Nerv
Quero ser um DBA
Treinamento DBA Júnior
Treinamento DBA Júnior II
Treinamento Oracle Backup e Recovery
Já trabalho como DBA e enfrento problemas de desempenho:
Treinamento Oracle Performance Diagnostic e Tuning
Treinamento Oracle Performance Tuning – SQL
Já sou um DBA, e usamos RAC:
Treinamento Oracle RAC
Já sou um DBA, e usamos Data Guard:
Treinamento Oracle Data Guard
Já sou um DBA, e usamos MySQL:
Treinamento MySQL
15
Certificação
16
16
Certificação
Infraestrutura
Linux: LPIC-1
Linux: Red Hat Certified System Administrator
AIX: IBM Certified Operator
Virtualização: VMware Certified Associate
Virtualização: Hyper-V: MCITP: Virtualization Administrator
Windows Server: Microsoft Certified Solutions Associate
CISCO: CCENT Cisco Certified Entry Networking Technician
Storage: IBM Certified Specialist - High Volume Storage Fundamentals
Storage: NetApp Certified Data Management Administrator
Gerenciamento
ITIL
18
Brain Dumps
19
Múltiplos Bancos de Dados
20
Múltiplos Bancos de Dados
21
Linux
Sistema Operacional, Virtualização, Redes, Storage
22
Alta x Baixa plataforma
23
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)
24
História do Unix
25
25
Distribuições, Edições, Versões
https://upload.wikimedia.org/wikipedia/commons/1/1b/Linux_Distribution_Timeline.svg
http://upload.wikimedia.org/wikipedia/commons/e/ed/LinuxDistroTimeline.png
26
Distribuições, Edições, Versões
27
Linux Homologados para Oracle Database 12cR2
28
Download OEL 6
29
Download OEL 6
30
Download OEL 6
31
Download OEL 6
32
Instalação OEL 6
33
Instalação OEL 6
34
Instalação OEL 6
35
Instalação OEL 6
36
Instalação OEL 6
37
Instalação OEL 6
38
Instalação OEL 6
39
Instalação OEL 6
40
Instalação OEL 6
41
Instalação OEL 6
42
Instalação OEL 6
43
Instalação OEL 6
44
Instalação OEL 6
45
Instalação OEL 6
46
Instalação OEL 6
47
Instalação OEL 6
48
Instalação OEL 6
49
49
Instalação OEL 6
50
Instalação OEL 6
51
Instalação OEL 6
52
Instalação OEL 6
53
Instalação OEL 6
54
Diretórios Linux
55
Instalação OEL 6
56
Instalação OEL 6
57
Instalação OEL 6
58
Instalação OEL 6
59
Instalação OEL 6
60
Instalação OEL 6
61
Instalação OEL 6
62
Instalação OEL 6
63
Instalação OEL 6
64
Instalação OEL 6
65
Instalação OEL 6
66
Instalação OEL 6
67
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”.)
# yum -y update
68
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
# cp install.log install.log.backup
# mv install.log install.log.new
# rm install.log.backup
# touch install.log
# mkdir teste
# cp install.log teste
# ls -lh teste
O que estes comandos fizeram?
69
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
# grep -E 'fonts|gedit' install.log
# 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.
ESC e depois :wq --- salva as alterações, e sai do vi.
ESC e depois :q! --- sai do vi sem salvar as alterações.
# clear
O que a seta para cima faz?
# cat .bash_history
70
Gerenciamento de Pacotes
Coloque o DVD. Verifique se o DVD já está montado.
# df -h
O que aconteceu?
# yum install gcc-c++
71
Particionamento e Sistema de Arquivos
Crie uma partição com o espaço livre.
# findmnt
# findmnt -l
# fdisk -l
# fdisk /dev/sda
Digite: p <Enter>
Digite: n <Enter>
<Enter>
<Enter>
Digite: p <Enter>
Digite: w <Enter>
# fdisk -l
O que aconteceu?
72
Particionamento e Sistema de Arquivos
Crie um diretório, e monte o dispositivo nele.
# mkdir /u01
# mount /dev/sda8 /u01
73
Services
Verifique se o Apache está configurado para iniciar automaticamente.
# chkconfig
# chkconfig | grep httpd
# chkconfig --level 35 httpd on
# chkconfig | grep httpd
74
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
75
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?
76
Shell
Com o usuário oracle, crie um script Bash.
$ vi teste.sh
...
#!/bin/bash
date
echo “Teste”
...
Execute-o:
$ teste.sh
O que aconteceu?
$ sh teste.sh
$ /home/oracle/teste.sh
$ ./teste.sh
O que aconteceu?
$ chmod +x /home/oracle/teste.sh
$ /home/oracle/teste.sh
$ ./teste.sh
77
Shell
Execute-o diretamente desta vez.
$ teste.sh
$ echo $PATH
$ export PATH=/home/oracle/:$PATH
$ echo $PATH
$ teste.sh
O que aconteceu?
78
crontab
Agende o script na crontab.
$ crontab -l
$ crontab -e
...
* * * * * /home/oracle/teste.sh >> /home/oracle/teste.log
...
$ crontab -l
$ tail /home/oracle/teste.log
$ tail -f /home/oracle/teste.log
79
Processos
Verifique os processos em execução.
$ ps
$ ps a
$ ps aux
$ ps aux | grep gnome
$ pstree
Qual a diferença entre estes comandos?
80
Desempenho
81
Desempenho
$ free
$ vmstat
$ vmstat -w
$ vmstat 2
$ vmstat -w 2
$ vmstat -w 5
$ iostat -xd
$ iostat -xd 2
$ iostat -xd 5
$ top
82
Logs
Verifique os logs mais atuais, e que informação eles têm.
$ ls -lh /var/log
$ cat /var/log/messages
$ su -
# ls -lh /var/log
# ls -lhtr /var/log
# cat /var/log/messages
83
Virtualização Hard x Soft
84
Produtos de Virtualização Oracle
85
VMs e Containers
86
Produtos de Virtualização Oracle
87
Instalação Oracle VirtualBox
# ls -lh /root/
# rpm -ivh /root/VirtualBox*
88
Criação VMs
89
Criação VMs
90
Criação VMs
91
Criação VMs
92
Criação VMs
93
Criação VMs
94
Criação VMs
95
Configuração VMs
96
Configuração VMs
97
Configuração VMs
98
Configuração VMs
99
Configuração VMs
100
Configuração VMs
101
Configuração VMs
102
Configuração VMs
103
Configuração VMs
104
Configuração VMs
105
Configuração VMs
106
Configuração VMs
107
Configuração VMs
108
Configuração VMs
109
Configuração VMs
110
Configuração VMs
111
Configuração VMs
112
Configuração VMs
113
Pause VMs
114
Clone VMs
115
Clone VMs
116
Clone VMs
117
Clone VMs
118
Snapshot VMs
119
Snapshot VMs
120
Snapshot VMs
121
Export / Import Appliance
122
Export / Import Appliance
123
Export / Import Appliance
124
Export / Import Appliance
125
Export / Import Appliance
126
Redes TCP/IP
● IP / Mask / Gateway / DNS – ifconfig / route / /etc/resolv.conf
● DHCP
127
Configuração de Rede
Configure as placas de rede.
128
ssh / scp / ftp
Execute logon remoto no computador do seu vizinho.
# ssh root@192.168.0.102
# exit
129
mstsc / rdesktop
Execute logon remoto no Windows Server de sua VM.
# rdesktop IpDaVMWindows
Por que não funciona?
130
VNC / Xserver
Execute logon remoto gráfico no computador do seu vizinho.
# vncviewer 192.168.0.102:1
Por que não funciona?
131
Windows Share
Crie um compartilhamento no Windows Server, em sua VM.
Crie uma pasta (sem espaços no nome) no C:\.
Clique com o botão direito em uma pasta -> Share -> Share → Yes -> Done.
132
Tecnologias Storage
- IDE, ATA, SATA, SCSI
- SSD, Cache
- RAID (próxima página)
- SAN (Storage Area Network), NAS (Network Attached Storage)
- Cluster Filesystems
- LUN
Protocolos
- 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
133
RAID
134
NFS Server
Crie um diretório para o NFS Server.
# yum install nfs-utils
135
NFS Client
Adicionar no arquivo /etc/fstab a linha abaixo.
# vi /etc/fstab
...
192.168.0.201:/shared_data /u01/oradata nfs
rw,bg,hard,nointr,tcp,vers=3,timeo=600,rsize=32768,wsize=32768,actimeo=0
0 0
...
136
iSCSI Initiator
Instale e ative o pacote iSCSI Initiator.
# yum -y install iscsi-initiator-utils
# service iscsi start
# chkconfig iscsi on
137
iSCSI Initiator
Particione o novo disco.
# fdisk /dev/sdb
Digite: n <Enter>
Digite: p <Enter>
Digite: 1 <Enter>
<Enter>
<Enter>
Digite: w <Enter>
Formate, crie o ponto de montagem /u02, e monte a partição deste novo disco.
138
MySQL
139
Por que MySQL?
140
Evolução MySQL
141
Edições - Community
142
Edições - Enterprise
143
Instalação
[root@Melquior ~]# yum -y install mysql-server
...
[root@Melquior ~]# rpm -qa | grep mysql
mysql-server-5.1.73-3.el6_5.x86_64
mysql-libs-5.1.73-3.el6_5.x86_64
mysql-5.1.73-3.el6_5.x86_64
[root@Melquior ~]#
144
Instalação
145
Instalação
146
Instalação
Instale o MySQL.
# yum -y install
https://dev.mysql.com/get/mysql57-community-release-el6-11.noarch.rpm
# yum install mysql-server
# chkconfig mysqld on
# service mysqld start
147
Verificação
Acesse o MySQL.
# mysql -u root -pNerv2021.
mysql> exit;
148
Programas Cliente
# mysql -u root -pNerv2021.
mysql> SHOW STATUS;
mysql> EXIT;
149
Engines
● MyISAM
● InnoDB
● Memory
● Archive
● CSV
● Merge
● Federated
● NDB
● Blackhole
● Example
● MariaDB / Aria
● Percona XtraDB
● Percona TokuDB
150
Processos e Threads
Execute um teste de carga no MySQL.
# yum -y install mysql-test
# mysqlslap --user=root --password=Nerv2021. --auto-generate-sql --
concurrency=10 --iterations=10 --number-char-cols=10 --number-int-
cols=5 --engine=innodb
http://dev.mysql.com/doc/refman/5.7/en/general-thread-states.html
151
Parâmetros de otimização
Altere todos os parâmetros abaixo no arquivo de parâmetros, e reinicie o MySQL.
# vi /etc/my.cnf
...
[mysqld]
max_connections = 800
thread_cache_size = 100
innodb_buffer_pool_size = 512M
key_buffer_size = 128M
read_buffer_size = 2M
read_rnd_buffer_size = 2M
short_bufer_size = 2M
join_bufer_size = 2M
152
Parâmetros de recuperação
Altere todos os parâmetros abaixo no arquivo de parâmetros, e reinicie o MySQL.
tmp_table_size = 8M
tmpdir = /tmp/
slow_query_log_file = /var/log/mysql-slow.log
long_query_time = 5
innodb_log_file_size = 32M
innodb_log_files_in_group = 7
innodb_log_buffer_size = 64M
innodb_flush_log_at_trx_comit = 1
Verificar parâmetros:
mysql> SHOW VARIABLES LIKE 'read%buffer_size';
153
Bancos de Dados
Crie um novo banco de dados.
# mysql -u root -pNerv2021.
mysql> show databases;
mysql> create database nerv;
mysql> show databases;
mysql> use nerv;
mysql> show tables;
154
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
155
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?
156
Transações e Isolamento
Execute INSERT de 10 registros na tabela teste.
mysql> INSERT INTO teste VALUES (1, 'A', 'AAAAAAAAAA');
mysql> INSERT INTO teste VALUES (1, 'A', 'AAAAAAAAAA');
mysql> INSERT INTO teste VALUES (1, 'A', 'AAAAAAAAAA');
mysql> INSERT INTO teste VALUES (1, 'A', 'AAAAAAAAAA');
mysql> INSERT INTO teste VALUES (1, 'A', 'AAAAAAAAAA');
mysql> INSERT INTO teste VALUES (1, 'A', 'AAAAAAAAAA');
mysql> INSERT INTO teste VALUES (1, 'A', 'AAAAAAAAAA');
mysql> INSERT INTO teste VALUES (1, 'A', 'AAAAAAAAAA');
mysql> INSERT INTO teste VALUES (1, 'A', 'AAAAAAAAAA');
mysql> INSERT INTO teste2 SELECT * from teste;
mysql> SELECT * FROM teste;
mysql> SELECT * FROM teste2;
157
Importação e Exportação
Exemplos
mysql> SELECT * FROM t1 INTO OUTFILE '/var/lib/mysql-files/t1.txt';
mysql> LOAD DATA INFILE '/var/lib/mysql-files/t1.txt' INTO TABLE t1;
158
Bin Logs
Adicione no /etc/my.cnf a linha abaixo, e reinicie o mysql.
server-id=1
log-bin=mysql-bin
expire_logs_days=7
159
mysqldump
Execute um backup via mysqldump.
# mysqldump -u root -pNerv2021. nerv > nerv.sql
# mysqldump -u root -pNerv2021. --all-databases > nerv01.sql
160
Alta Disponibilidade
MySQL Replication
161
Alta Disponibilidade
DRBD / Pacemaker / Corosync
162
Alta Disponibilidade
Windows Server Failover Clustering
163
Alta Disponibilidade
MySQL Cluster
164
Alta Disponibilidade
InnoDB Cluster
165
Oracle
166
Versões e Edições
● Oracle Database Express Edition
● Oracle Database Personal Edition
167
Versões e Edições
168
Instalação Oracle
169
Instalação Oracle
Com o usuário oracle, acrescenter ao 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/12.2.0.1/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
170
Instalação Oracle
Com o usuário root, execute os pré-requisitos de instalação.
# yum -y install oracle-database-server-12cR2-preinstall
# mkdir -p /u01/app/oracle/product/12.2.0.1/db_1
# chown -R oracle:oinstall /u01
# chmod -R 775 /u01
171
Instalação Oracle
172
Instalação Oracle
173
Instalação Oracle
174
Instalação Oracle
175
Instalação Oracle
176
Instalação Oracle
177
Instalação Oracle
178
Instalação Oracle
179
Instalação Oracle
180
Instalação Oracle
# /u01/app/oraInventory/orainstRoot.sh
# /u01/app/oracle/product/12.2.0.1/db_1/root.sh
Enter the full pathname of the local bin directory: [/usr/local/bin]:
<ENTER>
...
Do you want to setup Oracle Trace File Analyzer (TFA) now ? yes|[no] :
yes
...
181
Instalação Oracle
182
Configuração Listener - netca
183
Configuração Listener
184
Configuração Listener
185
Configuração Listener
186
Configuração Listener
187
Configuração Listener
188
Configuração Listener
189
Configuração Listener
190
Criação do Banco de Dados - dbca
191
Criação do Banco de Dados
192
Criação do Banco de Dados
193
Criação do Banco de Dados
194
Criação do Banco de Dados
195
Criação do Banco de Dados
/u01/oradata/nerv01/FRA/{DB_UNIQUE_NAME}
196
Criação do Banco de Dados
197
Criação do Banco de Dados
198
Criação do Banco de Dados
199
Criação do Banco de Dados
200
Criação do Banco de Dados
201
Criação do Banco de Dados
202
Criação do Banco de Dados
203
Criação do Banco de Dados
204
Criação do Banco de Dados
205
Criação do Banco de Dados
206
Criação do Banco de Dados
207
Criação do Banco de Dados
208
SQL*Plus
Verifique o LISTENER.
$ lsnrctl status
$ lsnrctl stop
$ lsnrctl status
$ lsnrctl start
$ lsnrctl status
209
SQL*Plus
Verifique o status da instância.
SQL> SELECT STATUS FROM V$INSTANCE;
SQL> SELECT HOST_NAME FROM V$INSTANCE;
SQL> /
SQL> LIST
210
SQL*Plus
Execute o SQL abaixo:
SQL> SELECT FILE_ID, FILE_NAME FROM DBA_DATA_FILES;
211
Alert Log
Verifique o Alert Log.
$ tail -f /u01/app/oracle/diag/rdbms/orcl/ORCL/trace/alert_ORCL.log
$ORACLE_BASE/diag/rdbms/<BancoEmMinúsculo>/<Instância>/trace/alert_<Instância>.log
212
Parâmetros de memória
Verificando parâmetros:
SQL> SHOW PARAMETER SGA
213
STARTUP / SHUTDOWN
Estados da Instância
SHUTDOWN
STARTUP
MOUNT
OPEN
Comandos START
SQL> STARTUP;
SQL> STARTUP NOMOUNT;
SQL> ALTER DATABASE MOUNT;
SQL> STARTUP MOUNT;
SQL> ALTER DATABASE OPEN;
SQL> STARTUP RESTRICT;
SQL> STARTUP FORCE;
Comandos SHUTDOWN
SQL> SHUTDOWN NORMAL;
SQL> SHUTDOWN TRANSACTIONAL;
SQL> SHUTDOWN IMMEDIATE;
SQL> SHUTDOWN ABORT;
214
Modo ARCHIVELOG
Altere o Banco de Dados para o modo NOARCHIVELOG.
SQL> SELECT LOG_MODE FROM V$DATABASE;
SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP MOUNT;
SQL> ALTER DATABASE NOARCHIVELOG;
SQL> ALTER DATABASE OPEN;
SQL> SELECT LOG_MODE FROM V$DATABASE
215
Estruturas Físicas e Lógicas
216
Estruturas lógicas e físicas
TABLESPACE DATAFILE
SEGMENTS
EXTENTS
DATA BLOCKS
217
Estruturas lógicas e físicas
218
Tablespaces e Datafiles
Verifique o Espaço Físico.
SQL> SELECT TABLESPACE_NAME, FILE_NAME, TO_CHAR(BYTES/1024/1024) MB
FROM DBA_DATA_FILES ORDER BY 1;
219
Tablespaces e Datafiles
Aumente o DATAFILE, crie a tabela, insira dados nela, e verifique novamente os Espaços
Físico e Lógico.
SQL> ALTER DATABASE DATAFILE '/u01/app/oracle/oradata/ORCL/teste01.dbf'
RESIZE 100M;
SQL> CREATE TABLE TESTE TABLESPACE TESTE AS SELECT * FROM ALL_OBJECTS;
SQL> INSERT INTO TESTE SELECT * FROM TESTE;
SQL> INSERT INTO TESTE SELECT * FROM TESTE;
SQL> INSERT INTO TESTE SELECT * FROM TESTE;
...
SQL> COMMIT;
O que aconteceu?
Altere o DATAFILE, crie a tabela, insira mais dados nela, e verifique novamente os Espaços
Físico e Lógico.
SQL> ALTER DATABASE DATAFILE '/u01/app/oracle/oradata/ORCL/teste01.dbf'
AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED;
Adicione um DATAFILE, insira mais dados na tabela, e verifique novamente os Espaços Físico
e Lógico.
SQL> ALTER TABLESPACE TESTE ADD DATAFILE
'/u01/app/oracle/oradata/ORCL/teste_02.dbf'
SIZE 10M AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED;
220
O que é um schema?
221
Usuários e Permissões
Como SYSTEM, crie o usuário TESTE.
SQL> CREATE USER TESTE IDENTIFIED BY MinhaSenha;
222
Usuários e Permissões
Com o usuário TESTE, insira dados na tabela.
SQL> INSERT INTO TABELA_TESTE VALUES (1);
O que aconteceu?
223
Usuários e Permissões
Como SYSTEM, conceda privilégios em uma tabela se outro SCHEMA ao usuário TESTE.
SQL> GRANT INSERT, DELETE, UPDATE, SELECT ON SYSTEM.HELP TO TESTE;
224
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';
225
exp / imp e expdp / impdp
Exemplos
exp / imp
$ exp '"/ AS SYSDBA"' FULL=Y FILE=/home/oracle/FULL.dmp
$ exp '"/ AS SYSDBA"' OWNER=HR FILE=HR.dmp
$ imp '"/ AS SYSDBA"' FILE=HR.dmp FROMUSER=HR TOUSER=TESTE
226
Estruturas físicas
SQL> SELECT FILE_NAME FROM DBA_DATA_FILES;
SQL> SELECT FILE_NAME FROM DBA_TEMP_FILES;
SQL> SELECT FILE_NAME FROM DBA_DATA_FILES WHERE TABLESPACE_NAME =
'UNDOTBS1';
SQL> SELECT NAME FROM V$CONTROLFILE;
SQL> SELECT MEMBER FROM V$LOGFILE;
SQL> SHOW PARAMETER SPFILE;
$ rman target /
RMAN> LIST ARCHIVELOG ALL;
227
Configuração Básica RMAN
Execute os comandos abaixo no RMAN.
$ rman target /
RMAN> SHOW All;
RMAN> CONFIGURE RETENTION POLICY TO REDUNDANCY 7;
RMAN> CONFIGURE BACKUP OPTIMIZATION ON;
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;
RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM 2 BACKUP TYPE TO
COMPRESSED BACKUPSET;
RMAN> CONFIGURE COMPRESSION ALGORITHM 'HIGH' OPTIMIZE FOR LOAD TRUE AS
OF RELEASE 'DEFAULT';
RMAN> SHOW All;
228
Backup Básico RMAN
Execute os comandos abaixo no RMAN.
RMAN> BACKUP DATABASE;
229
Alta Disponibilidade
• Oracle RAC
• Oracle Data Guard
• Oracle Golden Gate
• Oracle Streams
230
Perguntas?