Referencia: Blog da Lilian Barroso
Veja também:
SQL*Plus
Para conectar usando o sqlplus:
sqlplus USUARIO/SENHA@HOST/INSTANCIA
Exemplo: sqlplus SYSTEM/SENHA@192.168.0.2/ORCL
Abaixo, alguns comandos simples e poderosos para as coisas do dia-a-dia:
DATAFILES E TABLESPACES
Verificando o tamanho total de um banco de dados:
select sum(bytes)1024/1024 as tamanho_mb
from dba_segments;
Ver datafiles por Tablespace
column file_name format a70
select file_name, bytes/1024/1024
from dba_data_files
where tablespace_name = ‘XXXY’ /* substituir pelo nome da tablespace */
order by file_name;
Acrescentando datafiles
alter tablespace TABLESPACE /* substituir pela tablespace desejada */
add datafile ‘/diretorio/datafile.dbf’ /* substituir pelo endereço/datafile */
size 2000m;
Alterando o tamanho de um datafile:
alter database datafile ‘/desenv/data/u01/oradata/tbs_idx.dbf’ resize 1000m;
Verificando o tipo de informação que fica em uma determinada tablespace:
select DISTINCT (segment_name),
segment_type
from dba_segments
where tablespace_name = ‘&tablespace’;
DADOS DE SESSÕES
Ver tempo desde a última atividade:
set lines 100 pages 999
select username,
floor(last_call_et / 60) ‘minutos’,
status
from v$session
where username is not null
order by last_call_et
/
Ver sessões organizadas por tempo de logon:
set lines 100 pages 999
col ID format a15
col osuser format a15
col login_time format a14
select username,
osuser,
sid || ‘,’ || serial# ‘ID’,
status,
to_char(logon_time, ‘hh24:mi dd/mm/yy’) login_time,
last_call_et
from v$session
where username is not null
order by login_time
/
Mostrar o sql corrente do usuário:
Select t.sql_text
from v$sqltext t, v$sqlarea a
where (a.address, a.hash_value) in
(select sql_address, sql_hash_value
from v$session
where username like ‘&username’)
and a.HASH_VALUE = t.HASH_VALUE
order by t.piece
/
Visualizando as queries em execução no momento:
select sql_text
from v$sqltext
where hash_value in (select sql_hash_value
from v$session
WHERE SQL_HASH_VALUE <> 0
and schemaname <> ‘SYS’)
order by hash_value, piece
SENHAS
Salvar a senha dos system e sys:
select password, username from dba_users;
Recuperando a senha de um usuário
alter user lilian identified by values ‘E2D51514EXX0936D’; /* substituir pela senha recuperada pelo script anterior. */
ARCHIVES
Cancelar temporariamente a geração de archives
alter system set log_archive_dest_state_1 = ‘DEFER’;
Copiar os archives para outro destino:
ALTER SYSTEM SET log_archive_dest_2 = ‘LOCATION=/caminho’; /* onde /caminho deverá ser o caminho de destino dos logs */
Apagar a cópia dos archives para outro destino:
ALTER SYSTEM SET log_archive_dest_2 = ”;
Forçar a alternancia de log e o consequente archivamento
alter system switch logfile;
Ver as sequencias e o grupo de log ativo:
select sequence#, STATUs from v$log;
Ver alert_log e traces do banco:
show parameter background_dump_dest
Vendo a última sequencia de log arquivado:
select max( sequence#) from v$log_history
Verificar as sequências por data:
select * from v$log_history
where FIRST_TIME like ‘<data>’ /* substiutir pela data desejada */
and sequence# > <sequencia> /* substituir pela sequência desejada */
QUERIES
Encontrando o texto de uma query:
select s.SQL_FULLTEXT
from sys.v_$sqlarea s
where s.HASH_VALUE = &hash;