Oi!
Uma tarefa importante, e simples, é o acompanhamento do crescimento das tablespaces do banco. Este trabalho fica um pouco mais complicado quando o DBA tem que acompanhar o crescimento de várias tablespaces ou, no meu caso, de várias instâncias: só um dos nossos clientes tem 25!
Por isso, ao invés de ficar conectando instância por instância, eu criei um script simples que tem ajudado bastante:
set trimspool on set feed off set head off - - spool d:\sum_segments.txt conn user/&&senha@instancia1 spool d:\sum_segments.txt select vi.instance_name instancia, round(sum(ds.bytes)/1024/1024) MB from dba_segments ds, v$instance vi group by vi.instance_name; spool off - - conn user/&senha@instancia2 spool d:\sum_segments.txt app select vi.instance_name instancia, round(sum(ds.bytes)/1024/1024) MB from dba_segments ds, v$instance vi group by vi.instance_name; spool off - - conn user/&senha@instancia3 spool d:\sum_segments.txt app select vi.instance_name instancia, round(sum(ds.bytes)/1024/1024) MB from dba_segments ds, v$instance vi group by vi.instance_name; spool off - -
O que este script faz: Ele armazena em um arquivo de texto o nome das instâncias (neste caso, apenas 3) e o tamanho, em megas, dos seus segmentos.
Para nao aparecer linhas em branco, o nº total de linhas e o cabeçalho da consulta, foram usados respectivamente os comandos
set trimspool on set feed off set head off
Para a senha do usuário ser digitada apenas 1 vez (no caso de uma senha única para o mesmo usuário em todas as instâncias)
&&senha – observe que há 2 “&”
Comandos de spool:
spool d:\sum_segments.txt – antes da consulta (cria o arquivo de spool “sum_segments.txt” na unidade D:)
spool off – logo após a consulta, para não aparecer o texto da consulta SQL (o “select”)
spool d:\sum_segments.txt app – abre o arquivo de spool e acrescenta o resultado da consulta abaixo do texto já existente (app – append)
Views
v$instance – Armazena informações sobre a instância. Neste caso, v$instance.instance_name retorna o nome da instância
dba_segments – Armazena informações sobre todos os sementos do banco (segmentos de índice, tabela, entre outros). A coluna bytes/1024/1024 traz o resultado em MB.
Este script ainda pode ser melhorado, como adicionando função para mascarar a senha durante a digitação. Mesmo assim, tem me ajudado muito!
Criatividade nota 10!
Show de bola!
Ei, Michel!
Não se esquece de postar aqui no blog o resultado, ein!!!
T+,
Lílian
Descobri como faz para mascarar a senha:
Colocar no começo do script:
ACCEPT senha CHAR PROMPT ‘Senha: ‘ HIDE
depois,
conn user/&senha@instancia1
Testado e aprovado!