Como A Verificação de Banco de dados Oracle de Memória e Tamanho de Armazenamento
Em certas ocasiões, eu vou ser convidado para uma estimativa de requisitos de recursos de um banco de dados que será a instalação de um ambiente de desenvolvimento ou como um banco de dados em espera. A seguir estão meus métodos para calcular o tamanho da memória e do armazenamento com base no banco de dados de produção existente. O cálculo do tamanho do armazenamento é destinado ao UNIX e LINUX.
1. Obtenha a pegada de memória estimada de um banco de dados existente.
—- Obter o SGA pegada de uma instância de banco de dados:
SQL> SELECT sum(valor)/1024/1024 “TOTAL SGA (MB)” v$sga;
—- se a PGA consumo de uma instância de banco de dados:
select sum(pga_max_mem)/1024/1024 “máxima TOTAL PGA (MB)” v$process;
Uma análise mais detalhada da PGA uso de memória:
SELECIONE spid, programa,
pga_max_mem max,
pga_alloc_mem alocação,
pga_used_mem usado,
pga_freeable_mem livre
V$PROCESS;
NOTA: O programa resultante nome que não associada nome do processo (ex. PMON, SMON, RECO,..) é um processo de sessão.
dependendo das configurações dos processos do parâmetro init, pode ser que as consultas acima capturem apenas as conexões ativas.
—- obtenha o requisito de memória estimado para as sessões desconectadas:
a consulta abaixo fornece a memória máxima alocada por uma sessão do Usuário. Usaremos isso para calcular os requisitos de memória restantes para os processos desconectados.
select max(p.pga_max_mem)/1024/1024 “PGA MÁXIMO de MEMÓRIA DE SESSÃO de UTILIZADOR (MB)”
v$process p, v$session s
onde P. ADDR = S. paddr e s.nome de usuário não é nulo;
Obter o número máximo de processos que uma instância do Oracle pode manipular.
selecione nome, valor de V $ parâmetro
onde name = ‘processes’;
Vamos contar o número de sessões ligadas à:
select count(1) v$session
onde username é não nulo;
Obter o total de conexões disponíveis subtraindo-se a sessões ligadas à contagem de processos de valor do parâmetro.
o valor resultante deve ser multiplicado pela memória máxima alocada resultante por uma sessão feita pela consulta anterior.
isso lhe daria a quantidade estimada de memória de reserva necessária para acomodar conexões adicionais.
TOTAL ESTIMADO REQUISITO de MEMÓRIA
SGA + PGA = EST REQUISITO de MEMÓRIA PARA CONEXÕES ATUAIS
SGA + PGA + DESCONECTADOS SESSÕES = EST REQUISITO de MEMÓRIA de NO MÁXIMO o PROCESSO de UTILIZAÇÃO
onde:
Desconectados Sessões (MB) = (processos ligados sessões) * pga máximo de memória de sessão de utilizador
2. Obtenha os requisitos estimados de dimensionamento de armazenamento de um banco de dados.
o procedimento abaixo para determinar o tamanho do armazenamento é destinado ao ambiente UNIX e LINUX. Quanto ao windows, basta clicar com o botão direito e selecionar as propriedades em cada uma das letras da unidade fornecidas pelos resultados das consultas.
@servidor primário,
— copie e cole cada comando resultante em um script shell e execute no servidor primário para obter o tamanho do ponto de montagem
selecione único ‘ df-k | / / A.MTPOINT MOUNT_POINT
from ( select substr(FILE_NAME,0,instr(FILE_NAME,’/’,1,2)-1) MTPOINT
a partir de dba_data_files
união
select substr(FILE_NAME,0,instr(FILE_NAME,’/’,1,2)-1) MTPOINT
a partir de dba_temp_files
união
select substr(MEMBRO,0,instr(MEMBRO,’/’,1,2)-1) MTPOINT
v$logfile
união
select substr(NOME,0,instr(NOME,’/’,1,2)-1) MTPOINT
v$controlfile
) de um;
— consulte todo o destino do arquivo de parâmetro e determine se eles são de caminho diferente do ponto de montagem do arquivo de dados ou do diretório ORACLE_BASE.
obter o ponto de montagem tamanho do arquivo destinos
select name, value
from v$parameter
onde (regexp_like(nome, ‘^log_archive_(dest|dest\_())$’, ‘i’) ou nome like ‘%dump_dest’ ou nome like ‘%file_dest’ ou nome como “diag%dest’ ou nome =’utl_file_dir’) e o valor não é nulo;
— Consulta o banco de dados de diretórios para pontos de montagem
seleccione o comando ‘df -k ‘||substr(caminho do diretório,0,instr(caminho do diretório,’/’,1,2)-1) MTPOINT de dba_directories;
Uma alternativa para um df comando para grep todos os banco de dados válido, relacionadas com o ponto de montagem em uma única cadeia de caracteres para obter um máximo de relatório mais conciso.
exemplo:
$ df -k | grep -E ‘/u01|/u02|/utldir|/opt’