domingo, 27 de março de 2016

Oracle - Procedimentos, Comandos e Selects Úteis



Post Oracle - Procedimentos, Comandos e Selects Úteis Resenha feita por Breny Ricardo Martins Coelho em 28/03/2016. Muito útil no dia a dia Conteúdo deste post foi validado! Classificação: 5

ASM:


- Verificar espaço disponível dentro do ASM

Data Base:

- Identificando a versão do banco de dados Oracle Server

Funções:

- Deletando uma função

Tablespaces:

- Dropar uma Tablespace
- Informa as Tablespaces existentes
- Verifica o Tamanho das Tablespaces
- Informa o espaço ocupado nas Tablespaces system e sysaux
- Colocar Tablespace em modo off line
- Verifica quais objetos estão crescendo
- Verifica o espaço livre nas Tablespaces
- Verifica se a Tablespace está gerenciada localmente
- Gerenciando Tablespace TEMP

ASM

Verificar espaço disponível dentro do ASM

Logar com o usuário: grid para executar o comando abaixo:
asmcmd lsdg


Data Base

Identificando a versão do banco de dados Oracle Server

COL PRODUCT FORMAT A35
COL VERSION FORMAT A15
COL STATUS FORMAT A15
SELECT * FROM PRODUCT_COMPONENT_VERSION;


Funções

Deletando uma função

Execute o comando abaixo para deletar uma função específica.


DROP FUNCTION OWNER_FUNCTION.FUNCTION_NAME;

Tablespaces

Dropar uma Tablespace

DROP TABLESPACE TABLESPACE_NAME INCLUDING CONTENTS AND DATAFILES;

Informa as Tablespaces existentes

SELECT TABLESPACE_NAME FROM DBA_TABLESPACES;

Verifica o Tamanho das Tablespaces

SET LINESIZE 100
COLUMN TABLESPACE FORMAT A15
select
t.tablespace,
t.totalspace as " Totalspace(MB)",
round((t.totalspace-fs.freespace),2) as "Used Space(MB)",
fs.freespace as "Freespace(MB)",
round(((t.totalspace-fs.freespace)/t.totalspace)*100,2) as "% Used",
round((fs.freespace/t.totalspace)*100,2) as "% Free"
from
(select round(sum(d.bytes)/(1024*1024)) as totalspace,
d.tablespace_name tablespace
from
dba_data_files d group by d.tablespace_name) t,
(select round(sum(f.bytes)/(1024*1024)) as freespace,
f.tablespace_name tablespace
from dba_free_space f group by f.tablespace_name) fs
where
t.tablespace=fs.tablespace order by t.tablespace;

Informa o espaço ocupado nas Tablespaces system e sysaux

Observação

  • As colunas USED_SPACE e TABLESPACE_SIZE são mostrados em blocos de dados, devido a isso, é necessário multiplicar o valor informado nas duas colunas pelo valor padrão do tamanho do bloco Oracle, que é normalmente 8192.
  • O interessante a ser notar nos resultados da view DBA_TABLESPACE_USAGE_METRICS é que ela não leva em conta somente a soma do tamanho atual dos arquivos de dados que compõem uma tablespace, mas o tamanho máximo que eles poderão atingir de acordo com a configurações de cada um, ou seja, dependerá também do valor de MAXSIZE caso a opção AUTOEXTEND do arquivo de dados esteja habilitada.
Na instrução abaixo, notar que foi selecionada somente duas tablespaces (system, sysaux), mas poderia ser qualquer uma existente no Oracle.

SELECT *
FROM dba_tablespace_usage_metrics
WHERE tablespace_name in ('SYSTEM', 'SYSAUX')
ORDER BY 1;



Colocar Tablespace em modo off line

ALTER TABLESPACE TABLESPACE_NAME OFFLINE;

Verifica quais objetos estão crescendo

Observação

A instrução abaixo deve ser executada a cada hora para se ter a idéia do que está crescendo.

SELECT SEGMENT_NAME, EXTENTS, BYTES, MAX_EXTENTS, NEXT_EXTENT, SEGMENT_TYPE FROM DBA_SEGMENTS WHERE OWNER = 'SYS' ORDER BY BYTES DESC;

Verifica o espaço livre nas Tablespaces

SELECT TABLESPACE_NAME, SUM(BYTES) FREE_SPACE
FROM DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME;


Verifica se a Tablespace está gerenciada localmente

SELECT TABLESPACE_NAME, EXTENT_MANAGEMENT FROM DBA_TABLESPACES WHERE TABLESPACE_NAME = 'SYSTEM';

Gerenciando Tablespace TEMP

Adicionando um tempfiles

ALTER TABLESPACE TABLEPSACE_TEMP_NAME ADD TEMPFILE 'ENDEREÇO_DATA_FILE' SIZE 50M AUTOEXTEND ON NEXT 50M MAXSIZE 512M;

Deletando um tempfile

ALTER DATABASE TEMPFILE 'ENDEREÇO_DATA_FILE' OFFLINE;
ALTER DATABASE TEMPFILE 'ENDEREÇO_DATA_FILE' DROP;
SELECT FILE_NAME, TABLESPACE_NAME FROM DBA_TEMP_FILES

O datafile que você excluiu, não pode ser mais listado
Acesse o diretório no sistema operacional onde o datafile está armazenado e a princípio mova-o para outro diretório;
Se possível, realize um shutdown, seguido de um startup na instância com o objetivo de verificar se o Oracle retornará algum erro, caso não retorne, delete o arquivo movido.

Nenhum comentário:

Postar um comentário