Criando e gerenciando arquivos de configuração do Banco de Dados
Revisado por Marcelo Pivovar - Solution Architect,
Postado em Fevereiro 2016
Por Alex Zaballa
Este é mais um artigo da série que irei escrever enquanto me preparo para o exame de atualização do OCM para a versão 12c. Estes artigos serão criados antes da prova e serão baseados apenas nos tópicos do exame.
Indice de artigos do tema General Database and Network Administration, and Backup Strategy:
- Diversas possibilidades de criação de banco de dados
- Criando e gerenciando usuários, roles e privilégios
- Configurando o ambiente para acessar diversos bancos de dados
- Criando e gerenciando arquivos de configuração do Banco de Dados
- Protegendo o Banco de Dados de possíveis falhas
O Oracle Database 12c oferece uma nova opção chamada Oracle Multitenant, que permite a consolidação de forma simplificada.
Neste artigo, iremos verificar como criar e gerenciar os arquivos de configuração do banco de dados.
Arquivo de Parâmetros do Oracle
Para ambientes Linux, o arquivo de parâmetros do banco de dados fica em:
$ORACLE_HOME/dbs
Podemos confirmar que este arquivo de parâmetros está em uso pelo banco de dados:
Para alterar os parâmetros de um CDB, basicamente procedemos da mesma forma utilizada anteriormente nos bancos non-CDB. Adicionalmente podemos utilizar a cláusula container.
ALTER SYSTEM SET parameter_name=value;
ALTER SYSTEM SET parameter_name=value
CONTAINER=CURRENT;
ALTER SYSTEM SET parameter_name=value
CONTAINER=ALL;
Vale lembrar que na arquitetura Multitenant, o SPFILE está “ligado” ao CDB. Os valores dos parâmetros estão associados ao CDB e servem como valores padrão para todos os outros PDBs. Valor default do parâmetro no CDB:
Valor default do parâmetro no PDB:
Alterando o parâmetro em todos os containers:
Podemos verificar que o valor do parâmetro também for alterado no PDB:
É possível ter valores de parâmetros diferentes para um PDB. Para isso, consultamos a view V$PARAMETER ou V$SYSTEM_PARAMETER verificando a coluna ISPDB_MODIFIABLE.
SQL> select name,ispdb_modifiable from v$system_parameter
where ispdb_modifiable='TRUE';
Alterando o valor somente no PDB:
No CDB o valor não foi alterado:
Verificando o valor setado em cada container:
Os parâmetros alterados a nível de PDB:
- São carregados na memória após o close do PDB
- São armazenados no dicionário após o close do CDB
- Aplica-se apenas para os parâmetros ISPDB_MODIFIABLE=TRUE
A persistência dos parâmetros no CDB e PDB possuem as mesmas implicações de antes. Os parâmetros estáticos só terão efeito se você reiniciar o banco de dados enquanto parâmetros dinâmicos entrarão em vigor imediatamente. Além disso, se você desplugar um PDB e depois replugar em outro CDB, os parâmetros alterados serão transferidos também. Uma observação importante, é que ao utilizar CONTAINER=ALL na alteração do parâmetro no CDB, o valor desse parâmetro também será alterado em todos os PDBs, mesmo que ele já tenha sido alterado no PDB.
Alex Zaballa, formado em Análise de Sistemas, é especialista em Banco de Dados Oracle com sólidos conhecimentos em Servidores de Aplicação e Sistemas Operacionais; trabalha com Oracle há 16 anos, é Oracle ACE Director, certificado OCM Database 11G/Cloud e conta com mais de 200 outras certificações em produtos da Oracle.
Este artigo foi revisto pela equipe de produtos Oracle e está em conformidade com as normas e práticas para o uso de produtos Oracle.