Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
DBA Júnior
Ricardo Portilho [email protected]
Esta obra está licenciada sob a licençaCreative 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/.
2
Comandos no TreinamentoComando com o usuário root:# ls -lh
Comando com um usuário normal:$ ls -lh
Adicionar texto a um arquivo:# vi /etc/my.cnf...log-bin=mysql-bin...
Comando no MySQL:mysql> show databases;
Comando no Oracle:SQL> SELECT STATUS FROM V$INSTANCE;
Quando algo dá errado propositalmente:O que aconteceu?
3
● Linux (Sistema Operacional, Virtualização, Redes, Storage)● MySQL● Oracle
3
Agenda
4
Produtos utilizados no Treinamento● Oracle Enterprise Linux x64 6● Oracle VirtualBox x64 5.2● Windows Server 2008 x32● MySQL Community Server x64 5.6● Oracle Database Enterprise Edition x64 12cR2
5
LinuxSistema Operacional, Virtualização, Redes, Storage
5
6
6
Alta x Baixa plataforma
7
7
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)
8
8
História do Unix
9
9
Distribuições, Edições, Versões
https://upload.wikimedia.org/wikipedia/commons/1/1b/Linux_Distribution_Timeline.svghttp://upload.wikimedia.org/wikipedia/commons/e/ed/LinuxDistroTimeline.png
10
10
Distribuições, Edições, Versões
11
11
Linux Homologados para Oracle Database 12cR2
12
12
Download OEL 6
13
13
Download OEL 6
14
14
Download OEL 6
15
15
Download OEL 6
16
16
Instalação OEL 6
17
17
Instalação OEL 6
18
18
Instalação OEL 6
19
19
Instalação OEL 6
20
20
Instalação OEL 6
21
21
Instalação OEL 6
22
22
Instalação OEL 6
23
23
Instalação OEL 6
24
24
Instalação OEL 6
25
25
Instalação OEL 6
26
26
Instalação OEL 6
27
27
Instalação OEL 6
28
28
Instalação OEL 6
29
29
Instalação OEL 6
30
30
Instalação OEL 6
31
31
Instalação OEL 6
32
32
Instalação OEL 6
33
33
Instalação OEL 6
34
34
Instalação OEL 6
35
35
Instalação OEL 6
36
36
Instalação OEL 6
37
37
Instalação OEL 6
38
38
Instalação OEL 6
39
39
Instalação OEL 6
40
40
Instalação OEL 6
41
41
Instalação OEL 6
42
42
Instalação OEL 6
43
43
Instalação OEL 6
44
44
Instalação OEL 6
45
45
Instalação OEL 6
46
46
Instalação OEL 6
47
47
Instalação OEL 6
48
48
Instalação OEL 6
49
49
Instalação OEL 6
50
50
Instalação OEL 6
51
51
Manipulação de ArquivosExecute 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
Abra outro terminal, e 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
52
52
Manipulação de Arquivos# cd# pwdEm 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 testeO que estes comandos fizeram?
53
53
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.logESC 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.
# clearO que a seta para cima faz?# cat .bash_history
54
54
Gerenciamento de PacotesColoque o DVD. Verifique se o DVD já está montado.# df -h
Vá até o diretório onde estão os pacotes no DVD.# cd /media//Packages
Tente instalar o gcc.# rpm -ivh gcc-c++*
O que aconteceu?# yum install gcc-c++
55
55
Particionamento e Sistema de ArquivosCrie uma partição com o espaço livre.# fdisk -l# fdisk /dev/sdaDigite: p Digite: n
Digite: p Digite: w
# fdisk -l
Formate esta partição com o Sistema de Arquivos ext4.# mkfs.ext4 /dev/sda8
O que aconteceu?
56
56
Particionamento e Sistema de ArquivosCrie 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.../dev/sda8 /u01 ext4 defaults 1 2...
Teste se o arquivo /etc/fstab está correto.# umount /u01# mount /u01
57
57
ServicesVerifique se o Apache está configurado para iniciar automaticamente.# chkconfig# chkconfig | grep httpd# chkconfig --level 35 httpd on# chkconfig | grep httpd
Inicie e teste o serviço do Apache.# service httpd status# firefox localhost# service httpd start# service httpd status# firefox localhost
58
58
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
59
59
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.logO que aconteceu?
60
60
Shell
Com o usuário oracle, crie um script Bash.$ vi teste.sh...#!/bin/bashdateecho “Teste”...
Execute-o:$ teste.shO que aconteceu?
$ sh teste.sh$ /home/oracle/teste.sh$ ./teste.shO que aconteceu?
$ chmod +x /home/oracle/teste.sh$ /home/oracle/teste.sh$ ./teste.sh
61
61
Shell
Execute-o diretamente desta vez.$ teste.sh$ echo $PATH$ export PATH=/home/oracle/:$PATH$ echo $PATH$ teste.shO que aconteceu?
62
62
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
63
63
Processos
Verifique os processos em execução.$ ps$ ps a$ ps aux$ ps aux | grep gnome$ pstreeQual a diferença entre estes comandos?
Finalize o seu processo bash.$ ps a$ kill 2120$ kill -9 2120O que aconteceu?
64
64
Desempenho
65
65
Desempenho
$ free
$ vmstat$ vmstat 2$ vmstat 5
$ iostat -xd$ iostat -xd 2$ iostat -xd 5
$ top
66
66
Logs
Verifique os logs mais atuais, e que informação eles têm.$ ls -lh /var/log$ su -# ls -lh /var/log# cat /var/log/messages
67
67
Virtualização Hard x Soft
68
68
Produtos de Virtualização Oracle
69
69
Produtos de Virtualização Oracle
70
70
Instalação Oracle VirtualBox
# ls -lh /root/Downloads# rpm -ivh /root/Downloads/VirtualBox*
71
71
Criação VMs
72
72
Criação VMs
73
73
Criação VMs
74
74
Criação VMs
75
75
Criação VMs
76
76
Criação VMs
77
77
Criação VMs
78
78
Configuração VMs
79
79
Configuração VMs
80
80
Configuração VMs
81
81
Configuração VMs
82
82
Configuração VMs
83
83
Configuração VMs
84
84
Configuração VMs
85
85
Configuração VMs
86
86
Configuração VMs
87
87
Configuração VMs
88
88
Configuração VMs
89
89
Configuração VMs
90
90
Configuração VMs
91
91
Configuração VMs
92
92
Configuração VMs
93
93
Configuração VMs
94
94
Configuração VMs
95
95
Clone VMs
96
96
Clone VMs
97
97
Clone VMs
98
98
Clone VMs
99
99
Snapshot VMs
100
100
Snapshot VMs
101
101
Snapshot VMs
102
102
Export / Import Appliance
103
103
Export / Import Appliance
104
104
Export / Import Appliance
105
105
Export / Import Appliance
106
106
Export / Import Appliance
107
107
Redes TCP/IP● IP / Mask/ Gateway / DNS● DHCP● Routing / Firewall / Proxy● IDS / IPS● VLAN
Qual seu IP / Mask / Gateway / DNS?
108
Configure as placas de rede.
108
Configuração de Rede
109
109
ssh / scp / ftpExecute logon remoto no computador do seu vizinho.# ssh [email protected]# exit
Copie um arquivo do computador do seu vizinho para o seu.# scp [email protected]:/root/install.log /tmp/# scp [email protected]:/root/install.log /tmp/install.log# scp [email protected]:/root/install.log /tmp/install.tmp# scp [email protected]:/root/install.log .
Copie um arquivo de seu computador para o do seu vizinho.# scp /root/install.log [email protected]:/root/Desktop/install.log
110
110
mstsc / rdesktopExecute logon remoto no Windows Server de sua VM.# rdesktop IpDaVMWindowsPor que não funciona?
111
111
VNC / XserverExecute logon remoto gráfico no computador do seu vizinho.# vncviewer 192.168.0.102:1Por que não funciona?
Execute logon remoto no computador do seu vizinho.# ssh -CX [email protected]# firefox
112
112
Windows ShareCrie 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.
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.0.40/temp -o username=Administrator,password=Nerv2018 /mnt/windows
113
113
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
114
114
RAID
115
Crie um diretório para o NFS Server.# yum install nfs-utils
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
115
NFS Server
116
Adicionar no arquivo /etc/fstab a linha abaixo.192.168.15.201:/shared_data /u01/oradata nfs rw,bg,hard,nointr,tcp,vers=3,timeo=600,rsize=32768,wsize=32768,actimeo=0 0 0
Monte o Filesystem NFS.# mkdir /u01/oradata# mount /u01/oradata# touch /u01/oradata/teste-nerv01.txt
O vizinho consegue vizualizar seu arquivo?O vizinho consegue alterar seu arquivo?
116
NFS Client
117
117
iSCSI InitiatorInstale e ative o pacote iSCSI Initiator.# yum -y install iscsi-initiator-utils# service iscsid start# chkconfig iscsid on
Verifique os Discos exportados no Storage.# iscsiadm -m discovery -t sendtargets -p 192.168.15.201 -l
Verifique se o disco foi configurado localmente.# fdisk -l
118
Particione o novo disco.# fdisk /dev/sdbDigite: n Digite: p Digite: 1
Digite: w
Formate, crie um ponto de montagem, e monte a partição deste novo disco.
iSCSI Initiator
119
MySQL
119
120
120
Por que MySQL?
121
121
Evolução MySQL
122
122
Edições - Community
123
123
Edições - Enterprise
124
124
Instalação
[root@Melquior ~]# yum -y install mysql-server...[root@Melquior ~]# rpm -qa | grep mysqlmysql-server-5.1.73-3.el6_5.x86_64mysql-libs-5.1.73-3.el6_5.x86_64mysql-5.1.73-3.el6_5.x86_64[root@Melquior ~]#
125
125
Instalação
126
126
Instalação
127
127
InstalaçãoInstale o MySQL.# yum -y install https://dev.mysql.com/get/mysql57-community-release-el6-11.noarch.rpm# yum -y install mysql-server# chkconfig mysqld on# service mysqld start
# grep password /var/log/mysqld.log
# /usr/bin/mysqladmin -p -u root password 'Nerv2018.'# mysql -u root -pNerv2018.
https://dev.mysql.com/get/mysql57-community-release-el6-11.noarch.rpm
128
128
Verificação
Acesse o MySQL.# mysql -u root -pNerv2018.mysql> exit;
Verifique se o MySQL está ativo.# mysqladmin -u root -pNerv2018. status
Verifique o Log do MySQL.# tail /var/log/mysqld.log
129
129
Programas Cliente
# mysql -u root -pNerv2018.mysql> SHOW STATUS;mysql> EXIT;
# mysql -u root -pNerv2018. -e “SHOW STATUS”
# mysql -u root -pNerv2018. -e “SHOW STATUS” > status.txt# cat status.txt# mysql -t -u root -pNerv2018. -e “SHOW STATUS” > status.txt# cat status.txt# mysql -E -u root -pNerv2018. -e “SHOW STATUS” > status.txt# cat status.txt
# echo “SHOW STATUS” >> script.sql# cat script.sql# mysql -t -u root -pNerv2018. < script.sql# mysql -u root -pNerv2018. < script.sql > status.txt# cat status.txt
130
130
Engines● MyISAM● InnoDB● Memory● Archive● CSV● Merge● Federated● NDB● Blackhole● Example● MariaDB / Aria● Percona XtraDB● Percona XtraDB Cluster● Percona TokuDB
mysql> CREATE TABLE teste (coluna1 int) Engine=InnoDB;mysql> CREATE TABLE teste2 (coluna1 int) Engine=MyISAM;
131
131
Processos e ThreadsExecute um teste de carga no MySQL.# yum -y install mysql-test# mysqlslap --user=root --password=Nerv2018. --auto-generate-sql --concurrency=10 --iterations=10 --number-char-cols=10 --number-int-cols=5 --engine=innodb
Durante a execução do teste, acompanhe no Linux, via top.
Durante a execução do teste, acompanhe no MySQL, via mysqladmin.# mysqladmin -u root -pNerv2018. status
# mysql -u root -pNerv2018.mysql> SHOW PROCESSLIST;mysql> SHOW FULL PROCESSLIST;
http://dev.mysql.com/doc/refman/5.6/en/general-thread-states.html
132
132
Parâmetros de otimizaçãoAltere todos os parâmetros abaixo no arquivo de parâmetros, e reinicie o MySQL.# vi /etc/my.cnf...[mysqld]max_connections = 800thread_cache_size = 100
innodb_buffer_pool_size = 512Mkey_buffer_size = 128M
read_buffer_size = 2Mread_rnd_buffer_size = 2Msort_bufer_size = 2Mjoin_bufer_size = 2M
133
133
Parâmetros de recuperaçãoAltere todos os parâmetros abaixo no arquivo de parâmetros, e reinicie o MySQL.tmp_table_size = 8Mtmpdir = /tmp/
slow_query_log_file = /var/log/mysql-slow.loglong_query_time = 5
innodb_log_file_size = 32Minnodb_log_files_in_group = 7innodb_log_buffer_size = 64Minnodb_flush_log_at_trx_comit = 1
Verificar parâmetros:mysql> SHOW VARIABLES LIKE 'read%buffer_size';
134
134
Bancos de DadosCrie um novo banco de dados.# mysql -u root -pNerv2018.mysql> show databases;mysql> create database nerv;mysql> show databases;mysql> use nerv;mysql> show tables;
135
135
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_logfile1drwx--x--x. 2 mysql mysql 4.0K Jan 24 14:43 mysqlsrwxrwxrwx. 1 mysql mysql 0 Jan 24 14:45 mysql.sockdrwx------. 2 mysql mysql 4.0K Jan 24 15:12 nervdrwx------. 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-LASTdrwxr-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
136
136
Tabelasmysql> 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?
137
137
Transações e IsolamentoExecute INSERT de 10 registros em cada uma das tabelas que você criou.
Execute um UPDATE em todas os registros da teste.
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.mysql> START TRANSACTION;mysql> UPDATE ...O que aconteceu?
138
138
Importação e Exportação
Exemplosmysql> SELECT * FROM t1 INTO OUTFILE '/var/lib/mysql-files/t1.txt';mysql> LOAD DATA INFILE '/var/lib/mysql-files/t1.txt' INTO TABLE t1;
Execute este procedimento para as tabelas que você criou.
139
139
Bin LogsAdicione no /etc/my.cnf a linha abaixo, e reinicie o mysql.server-id=1log-bin=mysql-binexpire_logs_days=7
O que aconteceu no diretório de dados?
140
140
mysqldumpExecute um backup via mysqldump.# mysqldump -u root -pNerv2018. nerv > nerv.sql# mysqldump -u root -pNerv2018. --all-databases > nerv01.sql
Edite o arquivo gerado.O que ele contém?Como utilizar este backup?Quais suas desvantagens?
141
141
INFORMATION_SCHEMAVerifique as tabelas do banco de dados INFORMATION_SCHEMA.Quantas tabelas você possui em todo o MySQL?E em seu banco de dados?
142
142
Alta DisponibilidadeMySQL Replication
143
Alta DisponibilidadeDRBD / Pacemaker / Corosync
144
Alta DisponibilidadeWindows Server Failover Clustering
145
Alta DisponibilidadeMySQL Cluster
146
Alta DisponibilidadeMySQL Fabric
147
Oracle
147
148
148
Versões e Edições● Oracle Database Express Edition● Oracle Database Personal Edition● Oracle Database Standard Edition One (
149
149
Versões e Edições
150
150
Versões e Edições
151
Instalação Oracle
152
Com o usuário oracle, acrescenter ao final do arquivo /home/oracle/.bash_profile as linhas abaixo.export TMP=/tmpexport TMPDIR=$TMPexport ORACLE_HOSTNAME=nerv01.localdomainexport ORACLE_UNQNAME=ORCLexport ORACLE_BASE=/u01/app/oracleexport ORACLE_HOME=$ORACLE_BASE/product/12.2.0.1/db_1export ORACLE_SID=ORCLexport ORACLE_TERM=xtermexport PATH=/usr/sbin:$PATHexport PATH=$ORACLE_HOME/bin:$PATHexport LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/libexport CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlibif [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fifi
152
Instalação Oracle
153
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
Com o usuário oracle, descompacte e execute o instalador do Oracle Database Software.$ cd /home/oracle$ unzip -q linuxx64_12201_database.zip$ cd database$ ./runInstaller
Instalação Oracle
154
Instalação Oracle
155
Instalação Oracle
156
Instalação Oracle
157
Instalação Oracle
158
Instalação Oracle
159
Instalação Oracle
160
Instalação Oracle
161
Instalação Oracle
162
Instalação Oracle
163
Instalação Oracle
# /u01/app/oraInventory/orainstRoot.sh# /u01/app/oracle/product/12.2.0.1/db_1/root.shEnter the full pathname of the local bin directory: [/usr/local/bin]:
...Do you want to setup Oracle Trace File Analyzer (TFA) now ? yes|[no] :yes...
164
Instalação Oracle
165
Configuração Listener - netca
166
Configuração Listener
167
Configuração Listener
168
Configuração Listener
169
Configuração Listener
170
Configuração Listener
171
Configuração Listener
172
Configuração Listener
173
Criação do Banco de Dados - dbca
174
Criação do Banco de Dados
175
Criação do Banco de Dados
176
Criação do Banco de Dados
177
Criação do Banco de Dados
178
Criação do Banco de Dados
179
Criação do Banco de Dados
180
Criação do Banco de Dados
181
Criação do Banco de Dados
182
Criação do Banco de Dados
183
Criação do Banco de Dados
184
Criação do Banco de Dados
185
Criação do Banco de Dados
186
Criação do Banco de Dados
187
Criação do Banco de Dados
188
Criação do Banco de Dados
189
Criação do Banco de Dados
190
Criação do Banco de Dados
191
191
Arquitetura Oracle
192
192
Enterprise Manager
193
193
Enterprise Manager
194
194
Enterprise Manager Express
Execute logon no Enterprise Manager Express como SYSTEM.
195
195
Enterprise Manager Express
Execute logon no Enterprise Manager Express como SYSTEM.
196
196
SQL DeveloperExecute o SQL Developer, e crie uma conexão ao seu banco de dados.$ $ORACLE_HOME/sqldeveloper/sqldeveloper.sh
197
197
SQL Developer
198
198
SQL*PlusVerifique o LISTENER.$ lsnrctl status$ lsnrctl stop$ lsnrctl status$ lsnrctl start$ lsnrctl status
Execute logon no SQL*Plus via Sistema Operacional.$ sqlplus / AS SYSDBAPor que isto funcionou?
Execute logon no SQL*Plus via SQL*Net.$ sqlplus SYSTEM/Nerv2018@ORCLPor que isto funcionou?Como executar logon no computador do vizinho?
Crie uma entrada no arquivo tnsnames.ora para executar logon no computador do vizinho.$ vi $ORACLE_HOME/network/admin/tnsnames.ora
199
199
SQL*PlusVerifique o status da instância.SQL> SELECT STATUS FROM V$INSTANCE;SQL> SELECT HOST_NAME FROM V$INSTANCE;SQL> /SQL> LIST
Salve o SQL de verificação da instância em um arquivo.SQL> DEFINE _EDITOR=viSQL> EDIT
Execute o arquivo no SQL*Plus.SQL> HOST vi verifica_host.sqlSQL> !vi verifica_host.sqlSQL> @verifica_host.sqlSQL> START verifica_host.sql
200
200
SQL*PlusCrie o arquivo abaixo, com os seguintes comandos.$ORACLE_HOME/sqlplus/admin/glogin.sql
SET LINESIZE 300SET PAGESIZE 1000COLUMN FILE_NAME FORMAT A40SET TIMING ONSET TIME ONSET SQLPROMPT '&_user@&_connect_identifier> 'DEFINE _EDITOR=vi
Execute logon no SQL*Plus, e verifique o que mudou.
201
201
Alert LogVerifique o Alert Log.$ vi /u01/app/oracle/diag/rdbms/orcl/ORCL/trace/alert_ORCL.log$ tail -f /u01/app/oracle/diag/rdbms/orcl/ORCL/trace/alert_ORCL.log$ tail -f $ORACLE_BASE/diag/rdbms///trace/alert_.log
202
SGA Manual e PGA Manual (< 9i)db_cache_size = 10Gshared_pool_size = 2Glarge_pool_size = 128Mjava_pool_size = 128Mstreams_pool_size = 128Msort_area_size = 1M / sort_area_retained_size = 1M / hash_area_size = 1M / bitmap_merge_area_size = 1M / create_bitmap_area_size = 1M
SGA Manual e PGA Automática (>= 9i)sga_max_size = 15Gdb_cache_size = 10Gshared_pool_size = 2Glarge_pool_size = 128Mjava_pool_size = 128Mstreams_pool_size = 128Mpga_aggregate_target = 1G
Configuração de Memória
203
Semi-automático – ASMM (Automatic Segment Memory Management) (>= 10g)sga_max_size = 15Gsga_target = 15Gpga_aggregate_target = 1Gpga_aggregate_limit = 2G (>= 12c)db_cache_size = 10G
Automático – ASMM (Automatic Segment Memory Management) (>= 11g)memory_max_target = 0memory_target = 0sga_max_size = 15Gsga_target = 15Gpga_aggregate_target = 1Gpga_aggregate_limit = 2G (>= 12c)
Automático – AMM (Automatic Memory Management) (>= 11g)memory_max_target = 16Gmemory_target = 16Gsga_target = 0pga_aggregate_target = 0pga_aggregate_limit = 2G (>= 12c)
203
Configuração de Memória
204
204
Parâmetros de memóriaVerificando parâmetros:SQL> SHOW PARAMETER SGA
Alterando parâmetro dinâmico:SQL> ALTER SYSTEM SET SGA_TARGET=3G;
Alterando parâmetro estático:SQL> ALTER SYSTEM SET SGA_MAX_SIZE=5G SCOPE=SPFILE;
205
205
STARTUP / SHUTDOWNEstados da InstânciaSHUTDOWNSTARTUPMOUNTOPEN
ComandosSQL> 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;
206
206
Modo ARCHIVELOG
Altere o Banco de Dados para o modo NOARCHIVELOG.SQL> SELECT LOG_MODE FROM V$DATABASE;SQL> SHUTDOWN IMMEDIATE;SQL> STARTUP MOUNT;SQL> ALTER DATABASE NOARCHIVELOG;SQL> ALTER DATABASE OPEN;SQL> SELECT LOG_MODE FROM V$DATABASE
Altere o Banco de Dados para o modo ARCHIVELOG.SQL> SHUTDOWN IMMEDIATE;SQL> STARTUP MOUNT;SQL> ALTER DATABASE ARCHIVELOG;SQL> ALTER DATABASE OPEN;SQL> SELECT LOG_MODE FROM V$DATABASE;
207
207
Estruturas Físicas e Lógicas
208
208
Estruturas lógicas e físicasTABLESPACE SEGMENTSEXTENTS DATA BLOCKS
DATAFILE
209
Verifique o Espaço Físico.SQL> SELECT TABLESPACE_NAME, FILE_NAME, TO_CHAR(BYTES) FROM DBA_DATA_FILES ORDER BY 1;
Verifique o Espaço Lógico.SQL> SELECT TABLESPACE_NAME, TO_CHAR(SUM(BYTES))FROM DBA_SEGMENTS GROUP BY TABLESPACE_NAME ORDER BY 1;
Crie uma TABLESPACE, e verifique novamente os Espaços Físico e Lógico.SQL> CREATE TABLESPACE TESTE DATAFILE '/u01/app/oracle/oradata/ORCL/teste01.dbf'SIZE 10M AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED;
Adicione um DATAFILE, 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;
Tablespaces e Datafiles
210
Reajuste o tamanho de um DATAFILE, e verifique novamente os Espaços Físico e Lógico.SQL> ALTER DATABASE DATAFILE '/u01/app/oracle/oradata/ORCL/teste_02.dbf' RESIZE 20M;
Exclua a TABLESPACE.SQL> DROP TABLESPACE TESTE INCLUDING CONTENTS AND DATAFILES;
Crie novamente a TABLESPACE.
Tablespaces e Datafiles
211
O que é um schema?
A coleção de objetos gerenciados por um usuário é um SCHEMA
212
Como SYSTEM, crie o usuário TESTE.SQL> CREATE USER TESTE IDENTIFIED BY MinhaSenha;
Como SYSTEM, altere a senha do usuário TESTE.SQL> ALTER USER TESTE ACCOUNT UNLOCK IDENTIFIED BY Nerv2018;
Tente conectar com o usuário TESTE.$ sqlplus TESTE/Nerv2018O que aconteceu?
Como SYSTEM, Conceda o privilégio CREATE SESSION para o usuário TESTE.Em seguida, tente se logar novamente no SQL*Plus com o usuário TESTE.SQL> GRANT CREATE SESSION TO TESTE;
Crie uma tabela com o usuário TESTE.SQL> CREATE TABLE TABELA_TESTE (C1 NUMBER);O que aconteceu?
Como SYSTEM, conceda o privilégio de sistema RESOURCE para o usuário TESTE.Em seguida, tente criar novamente a tabela com o usuário TESTE.SQL> GRANT RESOURCE TO TESTE;
Usuários e Permissões
213
Com o usuário TESTE, insira dados na tabela.SQL> INSERT INTO TABELA_TESTE VALUES (1);O que aconteceu?
Como SYSTEM, consulte o usuário criado.SQL> SELECT DEFAULT_TABLESPACE FROM DBA_USERS WHERE USERNAME='TESTE';
Como SYSTEM, altere a TABLESPACE padrão do usuário TESTE.SQL> ALTER USER TESTE DEFAULT TABLESPACE TESTE;SQL> ALTER USER TESTE QUOTA 200M ON TESTE;
Como usuário TESTE, mova a Tabela para a TABLESPACE TESTE.SQL> ALTER TABLE TABELA_TESTE MOVE TABLESPACE TESTE;
Com o usuário TESTE, insira dados na tabela.SQL> INSERT INTO TABELA_TESTE VALUES (1);
Como SYSTEM, consulte os Segmentos do usuário TESTE.SQL> SELECT SEGMENT_NAME, SEGMENT_TYPE, sum(BYTES) FROM DBA_SEGMENTSWHERE OWNER ='TESTE'GROUP BY SEGMENT_NAME, SEGMENT_TYPEORDER BY 3 DESC;
Usuários e Permissões
214
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;
Como TESTE, consulte a tabela SYSTEM.HELP.SQL> SELECT * FROM SYSTEM.HELP;
Como SYSTEM, consulte os privilégios concedidos para o TESTE.SQL> SELECT GRANTEE, OWNER, TABLE_NAME, PRIVILEGE, GRANTORFROM DBA_TAB_PRIVS WHERE GRANTEE='TESTE' AND OWNER='SYSTEM' AND TABLE_NAME='HELP';
Como SYSTEM, revogue os privilégios concedidos para o usuário TESTE, e verifique.SQL> REVOKE DELETE,INSERT,UPDATE,SELECT ON SYSTEM.HELP FROM TESTE;
Usuários e Permissões
215
215
V$SESSION_WAITExecute 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?
216
216
exp / imp e expdp / impdp
Exemplosexp / 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
expdp / impdp (Data Pump: >= 10g)$ expdp '"/ AS SYSDBA"' FULL=Y DUMPFILE=FULL.dump$ expdp '"/ AS SYSDBA"' SCHEMAS=HR DUMPFILE=HR.dump$ impdp '"/ AS SYSDBA"' REMAP_SCHEMA=HR:TESTE DUMPFILE=HR.dump
217
217
Estruturas físicasSQL> 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;RMAN> LIST ARCHIVELOG ALL;SQL> SHOW PARAMETER SPFILE;
218
218
Configuração Básica RMANExecute 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';
219
219
Backup Básico RMAN
Execute os comandos abaixo no RMAN.RMAN> BACKUP DATABASE;
RMAN> LIST ARCHIVELOG ALL;RMAN> BACKUP ARCHIVELOG ALL;RMAN> LIST ARCHIVELOG ALL;RMAN> BACKUP ARCHIVELOG ALL DELETE INPUT;RMAN> LIST ARCHIVELOG ALL;
RMAN> LIST ARCHIVELOG ALL;RMAN> BACKUP DATABASE PLUS ARCHIVELOG DELETE INPUT;RMAN> LIST ARCHIVELOG ALL;
220
220
Alta Disponibilidade• Oracle RAC• Oracle Data Guard• Oracle Golden Gate• Oracle Streams
221
Perguntas?
Ricardo Portilho [email protected]
Slide 1Slide 2Slide 3Slide 4Slide 5Slide 6Slide 7Slide 8Slide 9Slide 10Slide 11Slide 12Slide 13Slide 14Slide 15Slide 16Slide 17Slide 18Slide 19Slide 20Slide 21Slide 22Slide 23Slide 24Slide 25Slide 26Slide 27Slide 28Slide 29Slide 30Slide 31Slide 32Slide 33Slide 34Slide 35Slide 36Slide 37Slide 38Slide 39Slide 40Slide 41Slide 42Slide 43Slide 44Slide 45Slide 46Slide 47Slide 48Slide 49Slide 50Slide 51Slide 52Slide 53Slide 54Slide 55Slide 56Slide 57Slide 58Slide 59Slide 60Slide 61Slide 62Slide 63Slide 64Slide 65Slide 66Slide 67Slide 68Slide 69Slide 70Slide 71Slide 72Slide 73Slide 74Slide 75Slide 76Slide 77Slide 78Slide 79Slide 80Slide 81Slide 82Slide 83Slide 84Slide 85Slide 86Slide 87Slide 88Slide 89Slide 90Slide 91Slide 92Slide 93Slide 94Slide 95Slide 96Slide 97Slide 98Slide 99Slide 100Slide 101Slide 102Slide 103Slide 104Slide 105Slide 106Slide 107Slide 108Slide 109Slide 110Slide 111Slide 112Slide 113Slide 114Slide 115Slide 116Slide 117Slide 118Slide 119Slide 120Slide 121Slide 122Slide 123Slide 124Slide 125Slide 126Slide 127Slide 128Slide 129Slide 130Slide 131Slide 132Slide 133Slide 134Slide 135Slide 136Slide 137Slide 138Slide 139Slide 140Slide 141Slide 142Slide 143Slide 144Slide 145Slide 146Slide 147Slide 148Slide 149Slide 150Slide 151Slide 152Slide 153Slide 154Slide 155Slide 156Slide 157Slide 158Slide 159Slide 160Slide 161Slide 162Slide 163Slide 164Slide 165Slide 166Slide 167Slide 168Slide 169Slide 170Slide 171Slide 172Slide 173Slide 174Slide 175Slide 176Slide 177Slide 178Slide 179Slide 180Slide 181Slide 182Slide 183Slide 184Slide 185Slide 186Slide 187Slide 188Slide 189Slide 190Slide 191Slide 192Slide 193Slide 194Slide 195Slide 196Slide 197Slide 198Slide 199Slide 200Slide 201Slide 202Slide 203Slide 204Slide 205Slide 206Slide 207Slide 208Slide 209Slide 210Slide 211Slide 212Slide 213Slide 214Slide 215Slide 216Slide 217Slide 218Slide 219Slide 220Slide 221