terça-feira, 22 de setembro de 2015

shared pool free

select round ((sum (decode(name,'freee memory',bytes,0))/sum(bytes))*100,2)from v$sgastat

sorts in memory

select round((mem.value/(mem.value+dsk.value))*100,2)
from v$sysstat mem, v$sysstat dsk
where mem.name = 'sorts (memory)'
and dsk.name = 'sorts (disk)'

LIBRARY CACHE HIT RATIO

select sum (pinhits)/sum (pins)"hit ratio",
sum(reloads)/sum (pins) "reload percent"
from v$librarycache
where namespace in
('SQL AREA','TABLE/PROCEDURE','BODY','TRIGGER')

dictionary cache hit ratio

select sum (gets-getmisses)*100/sum(gets)
from v$rowcache

Buffer cache hit ratios

select round ((1-(pr.value/(bg.value+cG.value)))*100,2)
from v$sysstat pr,v$sysstat bg,v$sysstat cg
where pr.name='physical reads'
and bg.name='db block gets'
and cg.name='consistent gets';

Alterar tamanho da memória


alter system set shared_pool_size=200m

Pesquisar tamanho da memoria

show parameter shared_pool_size

Avaliação da Memória

select shared_pool_size_for_estimate tamanho_em_mb,
shared_pool_size_factor fator,
estd_lc_time_saved tempo
from v$shared_pool_advice
/

quarta-feira, 9 de setembro de 2015

Exercício ; simulação ' locks '

Passo 1 – Criando um perfil de usuário.



Create profile = Cria um perfil novo;
Perfil_Padrão = Nome do perfil (pode ser qualquer nome);
Limit sessions_per_user 1= Estipula um limite de um acesso por usuário.



Passo 2 – Criando usuário novo



Create user usr1 = Cria um novo usuário chamado usr1;
Profile perfil_padrão = Atribui a esse usuário o perfil criado no script
acima;
Identified by = Atribui uma senha para esse usuário (nesse caso a senha
é oracle);
Quota unlimited on users = O usuário pode usar memoria ilimitada da
table space;
Account unlock = A conta de usuário inicia desbloqueada;


Passo 3 – Criar um segundo usuário:



Identified by = Atribui uma senha para esse usuário (nesse caso a senha
é oracle);
Quota unlimited on users = O usuário pode usar memoria ilimitada da
table space;
Account unlock = A conta de usuário inicia desbloqueada;


Passo 4 – Dar autorização p/ os dois usuários:


Grant = Concede permissão;
Create table = criar tabela
Connect = conectar
Resource = recursos


Passo 5 – Em usr1 conectar, criar uma nova tabela e inserir dados.




Passo 6 – Em usr1 efetivar as transações.



Passo 7 – Dar permissão para o usuário 2 efetivar update na tabela
produto.


Passo 8 – Fazer um update na tabela produto


Passo 9 – Fazer um update na tabela produto.


Obs.: Sistema está em Lock pois o usr1 não commitou a primeira
transação.


Passo 10 – Entrar no usuário administrador e rodar o comando para ver
quem está travando a operação.



Passo 11 – Entrar no usuário administrador e rodar o comando para ver
quem está sendo travado na operação.



Passo 12 – Identificando a sessão que está causando o lock



Passo 13 – Finalizando a sessão que está causando o lock pelo modo kill