Click here to load reader

DBA Júnior - NERV

  • View
    0

  • Download
    0

Embed Size (px)

Text of DBA Júnior - NERV

Slide 1Esta 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/.
2
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
3
Agenda
4
Produtos utilizados no Treinamento
Oracle Enterprise Linux x64 6.10 Oracle VirtualBox x64 6.1.2 Windows Server 2008 x32 MySQL Community Server x64 5.7 Oracle Database Enterprise Edition x64 12cR2
5
6
DBA Júnior, Pleno, e Sênior
Não é apenas uma questão de tempo. Concurso Público? Empresa? DataCenter? Consultoria? Tenho X anos, posso começar agora?
7
Tarefas do DBA Júnior
Extração simples de dados (SELECT). Manipulação simples de dados (INSERT, UPDATE, DELETE) Instalação do SGBD (mas não Upgrade). Criação de Bancos de Dados. Verificação e alteração de parâmetros (mas não a decisão a respeito). 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).
8
Me envie seu CV.
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
10
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
- Espere um ano pelo menos... - E então se candidatar a vagas com maior possibilidade de crescimento.
11
GPO https://www.profissionaloracle.com.br
Glufke http://glufke.net/
GUOB http://www.guob.com.br/
15
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
16
16
Certificação
17
Certificação
- Suas Certificações devem seguir sua carreira. - Não passar na prova faz parte do jogo.
18
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
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)
25 25
29
68
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
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
69
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?
70
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
71
Gerenciamento de Pacotes
Coloque 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++
72
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
Formate esta partição com o Sistema de Arquivos ext4. # mkfs.ext4 /dev/sda8
O que aconteceu?
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 ... /dev/sda8 /u01 ext4 defaults 1 2 ...
Teste se o arquivo /etc/fstab está correto. # umount /u01 # mount /u01
74
Services
Verifique 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
75
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
76
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?
77
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
78
Shell
79
crontab
Agende o script na crontab. $ crontab -l $ crontab -e ... * * * * * /home/oracle/teste.sh >> /home/oracle/teste.log ...
$ crontab -l
80
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?
81
Desempenho
82
Desempenho
$ free
$ vmstat $ vmstat -w $ vmstat 2 $ vmstat -w 2 $ vmstat -w 5
$ iostat -xd $ iostat -xd 2 $ iostat -xd 5
$ top
83
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
84
89
Redes TCP/IP
IP / Mask / Gateway / DNS – ifconfig / route / /etc/resolv.conf DHCP WAN / LAN / VLAN Routing / Firewall / Proxy / IDS / IPS Qual seu IP / Mask / Gateway / DNS?
128
Configuração de Rede
ssh / scp / ftp
Execute 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
Copie um arquivo de seu vizinho para outro vizinho. # scp [email protected]:/root/install.log [email protected]:/tmp/install.new
mstsc / rdesktop
Execute logon remoto no Windows Server de sua VM. # rdesktop IpDaVMWindows Por que não funciona?
131
Execute logon remoto gráfico no computador do seu vizinho. # vncviewer 192.168.0.102:1 Por que não funciona?
E’xecute logon remoto no computador do seu vizinho. # ssh -CX [email protected] # firefox
132
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.
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.99/temp -o username=Administrator,password=Nerv2021 /mnt/windows
133
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
134
RAID
135
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
NFS Server
... 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 ...
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?
NFS Client
iSCSI Initiator
Instale e ative o pacote iSCSI Initiator. # yum -y install iscsi-initiator-utils # service iscsi start # chkconfig iscsi on
Verifique os Discos exportados no Storage. # iscsiadm -m discovery -t sendtargets -p 192.168.0.201 -l
Verifique se o disco foi configurado localmente. # fdisk -l
138
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.
iSCSI Initiator
145
Instalação
146
Instalação
147
Instalação
# /usr/bin/mysqladmin -p -u root password 'Nerv2021.' # mysql -u root -pNerv2021.
Acesse o MySQL. # mysql -u root -pNerv2021. mysql> exit;
Verifique se o MySQL está ativo. # mysqladmin -u root -pNerv2021. status
Verifique o Log do MySQL. # tail /var/log/mysqld.log
149
# mysql -u root -pNerv2021. -e "SHOW STATUS"
# mysql -u root -pNerv2021. -e "SHOW STATUS" > status.txt # cat status.txt # mysql -t -u root -pNerv2021. -e "SHOW STATUS" > status.txt # cat status.txt # mysql -E -u root -pNerv2021. -e "SHOW STATUS" > status.txt # cat status.txt
# echo "SHOW STATUS" >> script.sql # cat script.sql # mysql -t -u root -pNerv2021. < script.sql # mysql -t -u root -pNerv2021. < script.sql > status.txt # cat status.txt
150
Engines
MyISAM InnoDB Memory Archive CSV Merge Federated NDB Blackhole Example MariaDB / Aria Percona XtraDB Percona XtraDB Cluster Percona TokuDB
mysql> CREATE DATABASE test; mysql> USE test; mysql> CREATE TABLE teste (coluna1 int) Engine=InnoDB; mysql> CREATE TABLE teste2 (coluna1 int) Engine=MyISAM;
151
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
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 -pNerv2021. status
# mysql -u root -pNerv2021. mysql> SHOW PROCESSLIST; mysql> SHOW FULL PROCESSLIST;
http://dev.mysql.com/doc/refman/5.7/en/general-thread-states.html
152
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
153
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
Verificar parâmetros: mysql> SHOW VARIABLES LIKE 'read%buffer_size';
154
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;
155
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
156
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?
157
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;
Execute um UPDATE em todos 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?
158
159
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
O que aconteceu no diretório de dados?
160
mysqldump
Execute um backup via mysqldump. # mysqldump -u root -pNerv2021. nerv > nerv.sql # mysqldump -u root -pNerv2021. --all-databases > nerv01.sql
# mysqldump -u root -pNerv2021. --single-transaction -- master-data=2 --all-databases > nerv01.sql
Edite o arquivo gerado. O que ele contém? Como utilizar este backup? Quais suas desvantagens?
161
Oracle Database Express Edition Oracle Database Personal Edition Oracle Database Standard Edition One (<= 11gR2) Oracle Database Standard Edition (<= 11gR2) Oracle Database Standard Edition 2 Oracle Database Enterprise Edition
168
ulimit -u 16384 -n 65536
Instalação Oracle
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
182
192
193
194
195
196
/u01/oradata/nerv01/FRA/{DB_UNIQUE_NAME}
198
199
200
201
202
203
204
205
206
207
208
209
SQL*Plus
Verifique o LISTENER. $ lsnrctl status $ lsnrctl stop $ lsnrctl status $ lsnrctl start $ lsnrctl status
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/[email protected] Por 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
210
SQL*Plus
Verifique 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=vi SQL> EDIT ... SELECT STATUS, HOST_NAME FROM V$INSTANCE / ...
Execute o arquivo no SQL*Plus. SQL> HOST OU SQL> ! SQL> HOST vi verifica_host.sql OU SQL> !vi verifica_host.sql ... SELECT STATUS, HOST_NAME FROM V$INSTANCE; ...
SQL> START verifica_host.sql OU SQL> @verifica_host.sql
211
Execute o SQL abaixo: SQL> SELECT FILE_ID, FILE_NAME FROM DBA_DATA_FILES;
Crie o arquivo abaixo, com os seguintes comandos. $ORACLE_HOME/sqlplus/admin/glogin.sql
SET LINESIZE 300 SET PAGESIZE 1000 COLUMN FILE_NAME FORMAT A40 SET TIMING ON SET TIME ON SET SQLPROMPT '&[email protected]&_connect_identifier> ' DEFINE _EDITOR=vi
Execute logon no SQL*Plus, e verifique o que mudou.
212
$ORACLE_BASE/diag/rdbms/<BancoEmMinúsculo>/<Instância>/trace/alert_<Instância>.log
213
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; SQL> ALTER SYSTEM SET SGA_MAX_SIZE=5G SCOPE=SPFILE; SQL> SHOW PARAMETER SGA
214
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;
215
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;
216
DATAFILE
218
Verifique o Espaço Lógico. SQL> SELECT TABLESPACE_NAME, TO_CHAR(SUM(BYTES)/1024/1024) MB 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;
Crie uma tabela na TABLESPACE, e verifique novamente os Espaços Físico e Lógico. SQL> CREATE TABLE TESTE TABLESPACE TESTE AS SELECT * FROM ALL_OBJECTS; O que aconteceu?
Tablespaces e Datafiles
220
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…

Search related