Instância do Oracle AI Database
Este capítulo explica a natureza de uma instância do banco de dados Oracle, os arquivos de parâmetro e diagnóstico associados a uma instância e o que ocorre durante a criação e a abertura e o fechamento de um banco de dados.
Observação: para os fins deste capítulo, o termo "banco de dados" refere-se a um banco de dados contêiner (CDB) multitenant, a menos que seja observado o contrário.
-
Introdução à Instância do Oracle AI Database Uma instância do banco de dados é um conjunto de estruturas de memória que gerenciam arquivos do banco de dados.
-
Visão Geral da Inicialização e do Shutdown da Instância do Banco de Dados Uma instância do banco de dados fornece ao usuário acesso a um banco de dados. A instância e o banco de dados podem estar em vários estados.
-
Visão Geral dos Pontos de Verificação Um ponto de verificação é um mecanismo crucial em shutdowns consistentes do banco de dados, recuperação de instância e operação do Oracle AI Database em geral.
-
Visão Geral da Recuperação de Instância
Recuperação de instância é o processo de aplicar registros no redo log on-line aos arquivos de dados para reconstruir as alterações feitas após o checkpoint mais recente.
-
Visão Geral dos Arquivos de Parâmetros Para iniciar uma instância do banco de dados, o Oracle AI Database deve ler um arquivo de parâmetros do servidor, recomendado, ou um arquivo de parâmetros de inicialização de texto, que é uma implementação legada. Esses arquivos contêm uma lista de parâmetros de configuração.
-
Visão Geral dos Arquivos de Diagnóstico O Oracle AI Database inclui uma infraestrutura de diagnosticabilidade de falha para prevenir, detectar, diagnosticar e resolver problemas de banco de dados. Os problemas incluem erros críticos, como bugs de código, corrupção de metadados e corrupção de dados do cliente.
Introdução à Instância do Oracle AI Database
Instância do banco de dados é um conjunto de estruturas de memória que gerenciam arquivos de banco de dados.
No nível físico, um CDB é um conjunto de arquivos em disco criados pela instrução CREATE DATABASE. Um CDB contém um ou mais PDBs criados pelo usuário. Um PDB contém seu próprio conjunto de arquivos de dados dentro do conjunto geral de arquivos de dados que pertencem ao CDB. A instância do banco de dados gerencia os dados associados ao CDB e seus PDBs e atende seus usuários.
Cada CDB em execução está associado a pelo menos uma instância do banco de dados Oracle. Como existe uma instância na memória e um banco de dados (no sentido mais restrito de termo) é um conjunto de arquivos em disco, uma instância pode existir sem um banco de dados e um banco de dados pode existir sem uma instância.
-
Estrutura da Instância do Banco de Dados Quando uma instância é iniciada, o Oracle AI Database aloca uma área de memória chamada Área Global do Sistema (SGA) e inicia um ou mais processos em segundo plano.
-
Configurações da Instância do Banco de Dados O Oracle AI Database é executado em uma configuração de instância única ou em uma configuração do Oracle Real Application Clusters (Oracle RAC). Essas configurações são mutuamente exclusivas.
-
Instâncias de Leitura/Gravação e Somente Leitura Cada instância de banco de dados é somente para leitura/gravação ou somente para leitura.
-
Duração de uma Instância do Banco de Dados Uma instância do banco de dados começa quando é criada com o comando
STARTUPe termina quando é encerrada. -
Identificação de uma Instância de Banco de Dados Várias instâncias de banco de dados podem residir em um único host. Portanto, é necessário ter um meio de especificar qual instância você deseja acessar.
Estrutura da Instância do Banco de Dados
Quando uma instância é iniciada, o Oracle AI Database aloca uma área de memória chamada SGA (System Global Area) e inicia um ou mais processos em segundo plano.
A SGA serve para várias finalidades, incluindo as seguintes:
-
Mantendo estruturas de dados internas que muitos processos e threads acessam simultaneamente
-
Armazenando blocos de dados em cache lidos do disco
-
Armazenando dados de redo em buffer antes de gravá-los nos arquivos de redo log on-line
-
Armazenando planos de execução de SQL
Os processos da Oracle executados em um único computador compartilham a SGA. A forma como os processos Oracle se associam à SGA varia de acordo com o sistema operacional.
Uma instância de banco de dados também inclui processos em segundo plano e processos de servidor. Cada processo tem sua própria memória dedicada considerada como parte da instância. A instância continua a funcionar quando os processos do servidor são encerrados.
O gráfico a seguir mostra os principais componentes de uma instância do banco de dados Oracle.
Figura 1: Instância do Banco de Dados

Descrição da ilustração cncpt325.png
Consulte Também:
Configurações da Instância do Banco de dados
O Oracle AI Database é executado em uma configuração de instância única ou em uma configuração do Oracle Real Application Clusters (Oracle RAC). Essas configurações são mutuamente exclusivas.
Em uma configuração de instância única, existe uma relação de um para um entre o banco de dados e uma instância do banco de dados. No Oracle RAC, existe um relacionamento de um para muitos entre o banco de dados e as instâncias do banco de dados.
A figura a seguir mostra possíveis configurações de instância de banco de dados.
Figura 2: Configurações da Instância do Banco de Dados

Descrição da ilustração cncpt296.gif
Seja em uma configuração de instância única ou do Oracle RAC, uma instância de banco de dados está associada a apenas um banco de dados por vez. Você pode iniciar uma instância de banco de dados e montar (associar a instância a) um banco de dados, mas não montar dois bancos de dados simultaneamente com a mesma instância. Observação: Este capítulo discute uma configuração de banco de dados de instância única, a menos que seja observado o contrário.
Várias instâncias podem ser executadas simultaneamente no mesmo computador, cada uma acessando seu próprio banco de dados. Por exemplo, um computador pode hospedar dois bancos de dados distintos: prod1 e prod2. Uma instância de banco de dados gerencia prod1, enquanto outra gerencia prod2.
Consulte Também: Oracle Real Application Clusters Administration and Deployment Guide para obter informações específicas do Oracle RAC
Instâncias de Leitura/Gravação e Leitura Somente
Cada instância de banco de dados é somente para leitura/gravação ou somente para leitura.
Uma instância de banco de dados de leitura/gravação, que é o padrão, pode processar DML e suportar conexões diretas de aplicativos cliente. Por outro lado, uma instância de banco de dados somente leitura pode processar consultas, mas não suporta conexões DML de modificação (UPDATE, DELETE, INSERT e MERGE) ou conexões diretas com o cliente.
Observação: Salvo indicação em contrário neste manual, todas as referências às instâncias do banco de dados são para ler/gravar instâncias.
Nas releases anteriores, todas as instâncias de banco de dados, a menos que acessassem um banco de dados stand-by, eram de leitura/gravação. A partir do Oracle Database 12c Release 2 (12.2), as instâncias somente para leitura e leitura/gravação podem coexistir em um único banco de dados. Essa configuração é útil para instruções SQL paralelas que consultam e modificam dados, porque as instâncias de leitura/gravação e somente leitura podem consultar, enquanto as instâncias de leitura/gravação modificam.
Ao contrário das instâncias de leitura/gravação, as instâncias somente para leitura têm as seguintes características:
-
Só é possível abrir um banco de dados que já tenha sido aberto por uma instância de leitura/gravação
-
Desativar muitos processos em segundo plano, incluindo os processos de checkpoint e archiver, que não são necessários
-
Pode montar um thread de redo desativado ou um thread sem qualquer redo log on-line
Para designar uma instância como somente para leitura, defina o parâmetro de inicialização INSTANCE_MODE como READ_ONLY. O valor padrão do parâmetro é READ_WRITE.
Consulte Também:
-
"Visão Geral de Processos em Segundo Plano" para saber mais sobre os processos em segundo plano do checkpoint e do arquivador
-
Oracle AI Database Reference para saber mais sobre o parâmetro de inicialização
INSTANCE_MODE
Duração de uma Instância do Banco de Dados
Uma instância de banco de dados começa quando é criada com o comando STARTUP e termina quando é encerrada.
Durante esse período, uma instância de banco de dados pode se associar a um e somente um banco de dados. Além disso, a instância pode montar um banco de dados apenas uma vez, fechá-lo apenas uma vez e abri-lo apenas uma vez. Depois que um banco de dados tiver sido fechado ou encerrado, você deverá iniciar uma instância diferente para montar e abrir esse banco de dados.
A tabela a seguir ilustra uma instância do banco de dados tentando reabrir um banco de dados que ele fechou anteriormente.
Tabela 1 Duração de uma Instância
| Instrução | Explicação |
|---|---|
|
O comando STARTUP cria uma instância, que monta e abre o banco de dados. |
|
Esta consulta mostra a hora em que a instância atual foi iniciada. |
|
A instância fecha o banco de dados e é encerrada, encerrando a vida útil dessa instância. |
|
O comando STARTUP cria uma nova instância e monta e abre o banco de dados. |
|
Esta consulta mostra a hora em que a instância atual foi iniciada. O horário inicial diferente mostra que essa instância é diferente da que faz shutdown do banco de dados. |
Identificação de uma Instância do Banco de Dados
Várias instâncias de banco de dados podem residir em um único host. Portanto, é necessário ter um meio de especificar qual instância você deseja acessar. As regras OFA (Oracle Optimal Flexible Architecture) são um conjunto de diretrizes de configuração criadas para garantir instalações Oracle bem organizadas. Os exemplos nesta seção pressupõem uma arquitetura OFA.
Essa seção contém os seguintes tópicos:
-
Diretório do Oracle Base O diretório do Oracle base armazena os binários para produtos Oracle.
-
Diretório do Oracle Home O Oracle home é o local do software para um banco de dados Oracle.
-
Identificador de Sistema (SID) Oracle O identificador de sistema (SID) é um nome exclusivo para uma instância de banco de dados Oracle em um host específico. Consulte Também: Oracle AI Database Installation Guide for Linux para obter uma visão geral do OFA
Diretório do Oracle Base
O diretório do Oracle base armazena os binários para produtos Oracle.
O diretório do Oracle Base é o diretório home do banco de dados para proprietários de instalação do Oracle AI Database. Pode haver muitas instalações do Oracle AI Database em um host e muitos proprietários de instalação de software do Oracle AI Database.
O exemplo a seguir mostra o diretório do Oracle base da conta de usuário do sistema operacional oracle:
/u01/app/oracle
No caminho anterior, /u01/ é o ponto de montagem e /u01/app/ é a subárvore do software aplicativo.
Consulte Também: Oracle AI Database Installation Guide for Linux para obter uma visão geral do Oracle base
Diretório Oracle Home
O Oracle home é o local do software para um banco de dados Oracle.
Especifique um novo diretório do Oracle home para cada nova instalação do software Oracle AI Database. A partir do Oracle Database 21c, o Oracle home é somente para leitura. O Oracle home armazena arquivos estáticos, como binários.
Por padrão, o diretório do Oracle home é um descendente dentro da árvore de diretórios do Oracle base (ORACLE_BASE). Você pode instalar esta release ou releases anteriores do software de banco de dados, mais de uma vez no mesmo host, em diferentes diretórios do Oracle home dentro de um único Oracle base. Vários bancos de dados, de diferentes versões e de propriedade de diferentes contas de usuário, podem coexistir simultaneamente.
O exemplo a seguir mostra os nomes de caminho completos de três Oracle homes diferentes, todos dentro do mesmo diretório do Oracle base de /u01/app/oracle/:
/u01/app/oracle/product/19.3.0/dbhome_1
/u01/app/oracle/product/19.3.0/dbhome_2
/u01/app/oracle/product/20.1.0/dbhome_1
A parte do nome do caminho após o Oracle base (/u01/app/oracle/) inclui o número da release do produto (por exemplo, 19.3.0) e o diretório relativo do Oracle home (por exemplo, dbhome_1). O diretório /u01/app/oracle/product/19.3.0/ contém dois Oracle homes separados: dbhome_1 e dbhome_2.
O diretório Oracle base home (ORACLE_BASE_HOME), localizado em ORACLE_BASE/homes/home_name, armazena arquivos dinâmicos específicos de um Oracle home. O diretório de configuração do Oracle base (ORACLE_BASE_CONFIG), que é compartilhado por todos os Oracle homes em um Oracle base, armazena arquivos dinâmicos específicos da instância.
No exemplo a seguir, o primeiro caminho é um Oracle home e o segundo caminho é o Oracle base home para este Oracle home:
/u01/app/oracle/product/20.1.0/dbhome_1
/u01/app/oracle/homes/dbhome_1
Consulte Também: Oracle AI Database Installation Guide for Linux para obter uma visão geral do Oracle home
Oracle System Identifier (SID)
O Identificador do Sistema (SID) é um nome exclusivo para uma instância de banco de dados Oracle em um host específico.
No UNIX e Linux, o Oracle AI Database usa os valores do SID e do Oracle home para criar uma chave para a memória compartilhada. Além disso, o Oracle AI Database usa o SID por padrão para localizar o arquivo de parâmetros de inicialização, que localiza arquivos relevantes, como os arquivos de controle do banco de dados.
Na maioria das plataformas, a variável de ambiente ORACLE_SID define o SID e a variável ORACLE_HOME define o Oracle home. Ao estabelecer conexão com uma instância de banco de dados, os clientes podem especificar o SID em uma conexão do Oracle Net ou usar um nome de serviço de rede. O Oracle AI Database converte um nome de serviço de rede em ORACLE_HOME e ORACLE_SID.
Os arquivos específicos da instância são armazenados separadamente no Oracle base. Os arquivos cujos nomes incluem o SID residem no subdiretório dbs do diretório de configuração do Oracle base (ORACLE_BASE_CONFIG). Por causa dessa separação, você pode criar um banco de dados usando o software em um Oracle home existente e, em seguida, iniciar uma instância desse banco de dados usando o software que reside em um novo Oracle home.
Consulte Também:
-
Oracle AI Database Administrator's Guide para saber como especificar um Oracle SID
Visão Geral do Serviço Database Instance Startup and Shutdown
Uma instância do banco de dados fornece ao usuário acesso a um banco de dados. A instância e o banco de dados podem estar em vários estados.
-
Visão Geral da Inicialização da Instância e do Banco de Dados Normalmente, você inicia manualmente uma instância e, em seguida, monta e abre o banco de dados, disponibilizando-o para os usuários. Você pode usar o comando
STARTUPdo SQL*Plus, o Oracle Enterprise Manager (Enterprise Manager) ou o utilitário SRVCTL para executar essas etapas. -
Visão Geral do Shutdown do Banco de Dados e da Instância Em um caso de uso típico, você faz shutdown manualmente do banco de dados, tornando-o indisponível para os usuários enquanto executa a manutenção ou outras tarefas administrativas. Você pode usar o comando
SHUTDOWNdo SQL*Plus ou o Enterprise Manager para executar essas etapas.
Visão Geral da Inicialização de Instância e Banco de Dados
Normalmente, você inicia manualmente uma instância e, em seguida, monta e abre o banco de dados, tornando-o disponível para os usuários. Você pode usar o comando STARTUP do SQL*Plus, o Oracle Enterprise Manager (Enterprise Manager) ou o utilitário SRVCTL para executar essas etapas.
Para iniciar uma instância de banco de dados usando o Oracle Net, o seguinte deve ser verdadeiro:
-
O banco de dados é registrado estaticamente com um listener do Oracle Net.
-
O cliente está conectado ao banco de dados com o privilégio
SYSDBA.
O listener cria um servidor dedicado, que pode iniciar a instância do banco de dados.
O gráfico a seguir mostra o banco de dados que está progredindo de um estado de shutdown para um estado de open.
Figura 3: Sequência de Inicialização de Instância e Banco de Dados

Descrição da ilustração cncpt212.gif
Um banco de dados passa pelas fases a seguir quando passa de um estado de shutdown para um estado de banco de dados aberto.
Tabela 2 Etapas na Inicialização da Instância
| Fase | Estado de Montagem | Descrição | Para Saber Mais |
|---|---|---|---|
| 1 | Instância iniciada sem montar o banco de dados | A instância foi iniciada, mas ainda não está associada a um banco de dados. | "Como uma Instância é Iniciada" |
| 2 | Banco de dados montado | A instância é iniciada e associada a um banco de dados por meio da leitura de seu arquivo de controle. O banco de dados é fechado para os usuários. | "Como um Banco de Dados É Montado" |
| 3 | Abertura do banco de dados | A instância é iniciada e associada a um banco de dados aberto. Os dados contidos nos arquivos de dados podem ser acessados por usuários autorizados. | "Como um Banco de Dados É Aberto" |
-
Conexão com Privilégios de Administrador A inicialização e o shutdown do banco de dados são opções administrativas avançadas que se restringem aos usuários que se conectam ao Oracle AI Database com privilégios de administrador.
-
Como uma Instância é Iniciada Quando o Oracle AI Database inicia uma instância, ela passa por estágios.
-
Como um Banco de Dados É Montado A instância monta um banco de dados para associar o banco de dados a essa instância.
-
Como um Banco de Dados É Aberto A abertura de um banco de dados montado o torna disponível para operação normal do banco de dados.
Consulte Também:
-
Oracle AI Database Administrator's Guide para saber como iniciar uma instância
-
Oracle AI Database Administrator's Guide para saber como usar o SRVCTL
Conexão com Privilégios de Administrador
A inicialização e o shutdown do banco de dados são opções administrativas avançadas restritas a usuários que se conectam ao Oracle AI Database com privilégios de administrador.
Os usuários normais não têm controle sobre o status atual de um banco de dados Oracle. Dependendo do sistema operacional, uma das seguintes condições estabelece privilégios de administrador para um usuário:
-
Os privilégios do sistema operacional do usuário permitem que o usuário se conecte usando privilégios de administrador.
-
O usuário recebe privilégios especiais de sistema e o banco de dados usa arquivos de senha para autenticar administradores de banco de dados na rede.
Os seguintes privilégios especiais de sistema permitem o acesso a uma instância de banco de dados mesmo quando o banco de dados não está aberto:
-
SYSDBA -
SYSOPER -
SYSBACKUP -
SYSDG -
SYSKM
O controle dos privilégios anteriores está fora do próprio banco de dados. Quando você se conecta a um banco de dados com o privilégio de sistema SYSDBA, está no esquema de propriedade de SYS. Quando você se conecta como SYSOPER, está no esquema público. Os privilégios SYSOPER são um subconjunto de privilégios SYSDBA.
Consulte Também:
-
Oracle AI Database Security Guide para saber mais sobre contas administrativas predefinidas
-
Oracle AI Database Administrator's Guide para saber mais sobre privilégios de sistema
-
Oracle AI Database Installation Guide para saber mais sobre grupos de privilégios do sistema operacional
Como uma Instância é Iniciada
Quando o Oracle AI Database inicia uma instância, ela passa por estágios.
As etapas são as seguintes:
-
Pesquisa um arquivo de parâmetros do servidor em um local padrão específico da plataforma e, se não for encontrado, um arquivo de parâmetros de inicialização de texto (especificar
STARTUPcom os parâmetrosSPFILEouPFILEsubstitui o comportamento padrão) -
Lê o arquivo de parâmetros para determinar os valores dos parâmetros de inicialização
-
Aloca a SGA com base nas definições do parâmetro de inicialização
-
Inicia os processos em segundo plano da Oracle
-
Abre o log de alerta e os arquivos de rastreamento e grava todas as definições de parâmetro explícitas na sintaxe de parâmetro válida do log de alerta
Nesse estágio, nenhum banco de dados está associado à instância. Os cenários que exigem um estado NOMOUNT incluem a criação do banco de dados e determinadas operações de backup e recuperação.
Consulte Também: Oracle AI Database Administrator's Guide para saber como gerenciar parâmetros de inicialização usando um arquivo de parâmetros do servidor
Como um Banco de Dados é Montado
A instância monta um banco de dados para associar o banco de dados a essa instância.
Para montar o banco de dados, a instância obtém os nomes dos arquivos de controle do banco de dados especificados no parâmetro de inicialização do CONTROL_FILES e abre os arquivos. O Oracle AI Database lê os arquivos de controle para localizar os nomes dos arquivos de dados e os arquivos de redo log on-line que ele tentará acessar ao abrir o banco de dados.
Em um banco de dados montado, o banco de dados é fechado e pode ser acessado apenas por administradores de banco de dados. Os administradores podem manter o banco de dados fechado durante a conclusão de operações de manutenção específicas. No entanto, o banco de dados não está disponível para operações normais.
Se o Oracle AI Database permitir que várias instâncias montem o mesmo banco de dados simultaneamente, a definição do parâmetro de inicialização CLUSTER_DATABASE poderá disponibilizar o banco de dados para várias instâncias. O comportamento do banco de dados depende da definição:
-
Se
CLUSTER_DATABASEforfalse(padrão) para a primeira instância que monta um banco de dados, somente essa instância poderá montar o banco de dados. -
Se
CLUSTER_DATABASEfortruepara a primeira instância, outras instâncias poderão montar o banco de dados se suas definições de parâmetroCLUSTER_DATABASEforem definidas comotrue. O número de instâncias que podem montar o banco de dados está sujeito a um máximo predeterminado especificado ao criar o banco de dados.
Consulte Também:
-
Oracle AI Database Administrator's Guide para saber como montar um banco de dados
-
Oracle Real Application Clusters Administration and Deployment Guide para obter mais informações sobre o uso de várias instâncias com um único banco de dados
Como um Banco de Dados É Aberto
A abertura de um banco de dados montado o disponibiliza para a operação normal do banco de dados.
Qualquer usuário válido pode se conectar a um banco de dados aberto e acessar suas informações. Normalmente, um administrador de banco de dados abre o banco de dados para disponibilizá-lo para uso geral.
Quando você abre o banco de dados, o Oracle AI Database executa as seguintes ações:
-
Abre os arquivos de dados on-line em tablespaces diferentes de tablespaces de undo
Se um tablespace estiver off-line quando o banco de dados tiver sido submetido a shutdown anteriormente, o tablespace e seus arquivos de dados correspondentes ficarão off-line quando o banco de dados for reaberto.
-
Adquire um tablespace de undo
Se houver vários tablespaces de undo, o parâmetro de inicialização
UNDO_TABLESPACEdesignará o tablespace de undo a ser usado. Se esse parâmetro não for definido, o primeiro tablespace de undo disponível será escolhido. -
Abre os arquivos de redo log on-line
-
Modo Somente Leitura Por padrão, o banco de dados é aberto no modo de leitura/gravação. Nesse modo, os usuários podem fazer alterações nos dados, gerando redo no redo log on-line. Como alternativa, você pode abrir no modo somente leitura para evitar a modificação de dados por transações do usuário.
-
Verificações de Arquivo de Banco de Dados Se algum dos arquivos de dados ou arquivos de redo log não estiver presente quando a instância tentar abrir o banco de dados ou se os arquivos estiverem presentes, mas falharem nos testes de consistência, o banco de dados retornará um erro. A recuperação de mídia pode ser necessária.
Consulte Também:
-
Oracle AI Database Backup and Recovery User's Guide para saber mais sobre reparo de dados
Modo Somente para Leitura
Por padrão, o banco de dados é aberto no modo de leitura/gravação. Nesse modo, os usuários podem fazer alterações nos dados, gerando redo no redo log on-line. Como alternativa, você pode abrir no modo somente leitura para evitar a modificação de dados por transações do usuário. Observação: Por padrão, um banco de dados stand-by físico é aberto no modo somente leitura.
O modo somente leitura restringe o acesso do banco de dados a transações somente leitura, que não podem ser gravadas em arquivos de dados ou em arquivos de redo log on-line. No entanto, o banco de dados pode executar a recuperação ou operações que alteram o estado do banco de dados sem gerar o redo. Por exemplo, no modo somente leitura:
-
Os arquivos de dados podem ser colocados offline e on-line. No entanto, você não pode colocar tablespaces permanentes off-line.
-
Arquivos de dados off-line e tablespaces podem ser recuperados.
-
O arquivo de controle permanece disponível para atualizações sobre o estado do banco de dados.
-
Os tablespaces temporários criados com a instrução
CREATE TEMPORARY TABLESPACEsão de leitura/gravação. -
As gravações em trilhas de auditoria do sistema operacional, arquivos de rastreamento e logs de alerta podem continuar.
Consulte Também:
-
Oracle AI Database Administrator's Guide para saber como abrir um banco de dados no modo somente leitura
Verificações de Arquivo de Banco de Dados
Se algum dos arquivos de dados ou arquivos de redo log não estiver presente quando a instância tentar abrir o banco de dados ou se os arquivos estiverem presentes, mas falharem nos testes de consistência, o banco de dados retornará um erro. A recuperação de mídia pode ser necessária.
Consulte Também: Oracle AI Database Backup and Recovery User's Guide para obter uma visão geral do backup e da recuperação
Visão Geral do Shutdown do Banco de Dados e da Instância
Em um caso de uso típico, você faz shutdown manualmente do banco de dados, tornando-o indisponível para os usuários enquanto executa tarefas de manutenção ou outras tarefas administrativas. Você pode usar o comando SHUTDOWN do SQL*Plus ou o Enterprise Manager para executar essas etapas.
A figura a seguir mostra a progressão de um estado aberto para um desligamento consistente.
Figura 4: Sequência de Shutdown da Instância e do Banco de Dados

Descrição da ilustração cncpt281.gif
O Oracle AI Database executa automaticamente as etapas a seguir sempre que um banco de dados aberto é submetido a shutdown consistente.
Tabela 3 Etapas no Shutdown Consistente
| Fase | Estado de Montagem | Descrição | Para Saber Mais |
|---|---|---|---|
| 1 | Banco de dados fechado | O banco de dados é montado, mas os arquivos de dados on-line e os arquivos de redo log são fechados. | "Como um Banco de Dados Está Fechado" |
| 2 | Banco de dados desmontado | A instância foi iniciada, mas não está mais associada ao arquivo de controle do banco de dados. | "Como um Banco de Dados É Desmontado" |
| 3 | Shutdown da instância do banco de dados | A instância do banco de dados não foi mais iniciada. | "Como uma Instância é Shutdown" |
O Oracle AI Database não passa por todas as etapas anteriores em uma falha de instância ou pelo SHUTDOWN ABORT, que encerra imediatamente a instância.
-
Modos de Shutdown Um administrador de banco de dados com privilégios
SYSDBAouSYSOPERpode fazer shutdown do banco de dados usando o comandoSHUTDOWNdo SQL*Plus ou o Enterprise Manager. O comandoSHUTDOWNtem opções que determinam o comportamento de shutdown. -
Como um Banco de Dados É Fechado A operação de fechamento do banco de dados está implícita em um shutdown do banco de dados. A natureza da operação depende se o shutdown do banco de dados é normal ou anormal.
-
Como um Banco de Dados É Desmontado Após o fechamento do banco de dados, o Oracle AI Database desmonta o banco de dados para desassociá-lo da instância.
-
Como uma Instância é Encerrada A etapa final no shutdown do banco de dados é fazer shutdown da instância. Quando a instância do banco de dados é encerrada, a SGA deixa de ocupar memória e os processos em segundo plano são encerrados. Consulte Também: Oracle AI Database Administrator's Guide para saber como fazer shutdown de um banco de dados
Modos de Shutdown
Um administrador de banco de dados com privilégios SYSDBA ou SYSOPER pode fazer shutdown do banco de dados usando o comando SQL*Plus SHUTDOWN ou o Enterprise Manager. O comando SHUTDOWN tem opções que determinam o comportamento de shutdown.
A tabela a seguir resume o comportamento dos diferentes modos de desligamento.
Tabela 4 Modos de Shutdown do Banco de Dados
| Comportamento do Banco de Dados | ABORTAR | IMMEDIATE | TRANSACIONAL | NORMAL |
|---|---|---|---|---|
| Permite novas conexões de usuário | Não | Não | Não | Não |
| Aguarda até o término das sessões atuais | Não | Não | Não | Sim |
| Esperas até o fim das transações atuais | Não | Não | Sim | Sim |
| Executa um ponto de verificação e fecha arquivos abertos | Não | Sim | Sim | Sim |
As instruções SHUTDOWN possíveis são:
-
SHUTDOWN ABORTEste modo destina-se a situações de emergência, como quando nenhuma outra forma de desligamento é bem sucedida. Este modo de desligamento é o mais rápido. No entanto, uma abertura subsequente deste banco de dados pode levar muito mais tempo porque a recuperação da instância deve ser executada para tornar os arquivos de dados consistentes.
Como o
SHUTDOWN ABORTnão faz checkpoint dos arquivos de dados abertos, a recuperação da instância é necessária para que o banco de dados possa ser reaberto. Os outros modos de shutdown não exigem recuperação de instância para que o banco de dados possa ser reaberto.Observação: Em um PDB, a emissão de
SHUTDOWN ABORTé equivalente à emissão deSHUTDOWN IMMEDIATEno nível do CDB. -
SHUTDOWN IMMEDIATEEste modo é normalmente o mais rápido ao lado de
SHUTDOWN ABORT. O Oracle AI Database encerra todas as instruções SQL em execução e desconecta os usuários. As transações ativas são encerradas e as alterações não confirmadas com commit são revertidas. -
SHUTDOWN TRANSACTIONALEsse modo impede que os usuários iniciem novas transações, mas aguarda a conclusão de todas as transações atuais antes do encerramento. Este modo pode levar uma quantidade significativa de tempo, dependendo da natureza das transações atuais.
-
SHUTDOWN NORMALEste é o modo padrão de desligamento. O banco de dados aguarda que todos os usuários conectados se desconectem antes de fazer shutdown.
Consulte Também:
-
Oracle AI Database Administrator's Guide para saber mais sobre os diferentes modos de shutdown
-
SQL*Plus User's Guide and Reference para saber mais sobre o comando
SHUTDOWN
Como um Banco de Dados É Fechado
A operação de fechamento do banco de dados está implícita em um shutdown do banco de dados. A natureza da operação depende se o shutdown do banco de dados é normal ou anormal.
-
Como um Banco de Dados é Fechado Durante o Shutdown Normal Quando um banco de dados é fechado como parte de um
SHUTDOWNcom qualquer opção diferente deABORT, o Oracle AI Database grava dados na SGA nos arquivos de dados e nos arquivos de redo log on-line. -
Como um Banco de Dados é Fechado Durante Shutdown Anormal Se ocorrer um
SHUTDOWN ABORTou desligamento anormal, então a instância de um banco de dados aberto fecha e desliga o banco de dados instantaneamente.
Como um Banco de Dados É Fechado Durante o Shutdown Normal
Quando um banco de dados é fechado como parte de uma SHUTDOWN com qualquer opção diferente de ABORT, o Oracle AI Database grava dados na SGA nos arquivos de dados e nos arquivos de redo log on-line.
Depois, o banco de dados fecha os arquivos de dados on-line e os arquivos de redo log on-line. Todos os arquivos de dados off-line de tablespaces off-line já foram fechados. Quando o banco de dados é reaberto, qualquer tablespace que estava off-line permanece off-line.
Nesse estágio, o banco de dados está fechado e inacessível para operações normais. Os arquivos de controle permanecem abertos após o banco de dados ser fechado.
Como um Banco de Dados é Fechado Durante um Shutdown Anormal
Caso ocorra um encerramento anormal ou SHUTDOWN ABORT, a instância de um banco de dados aberto fecha e fecha o banco de dados instantaneamente.
Em um shutdown anormal, o Oracle AI Database não grava dados nos buffers da SGA nos arquivos de dados e arquivos de redo log. A reabertura subsequente da base de dados requer a recuperação de instância, que o Oracle AI Database executa automaticamente.
Como um Banco de Dados É Desmontado
Após o banco de dados ser fechado, o Oracle AI Database desmonta o banco de dados para desassociá-lo da instância.
Depois que um banco de dados é desmontado, o Oracle AI Database fecha os arquivos de controle do banco de dados. Nesse ponto, a instância do banco de dados permanece na memória.
Como uma Instância é Shutdown
A etapa final no shutdown do banco de dados está fazendo shutdown da instância. Quando a instância do banco de dados é encerrada, a SGA deixa de ocupar memória e os processos em segundo plano são encerrados.
Em circunstâncias incomuns, o shutdown de uma instância do banco de dados pode não ocorrer corretamente. Estruturas de memória não podem ser removidas da memória ou um dos processos em segundo plano não pode ser encerrado. Quando existirem remanescentes de uma instância anterior, uma inicialização de instância subsequente poderá falhar. Nessas situações, você pode forçar a nova instância a começar removendo os remanescentes da instância anterior e, em seguida, iniciando uma nova instância ou emitindo uma instrução SHUTDOWN ABORT.
Em alguns casos, a própria limpeza do processo pode encontrar erros, o que pode resultar no encerramento do PMON (process monitor) ou da instância. O parâmetro de inicialização dinâmica INSTANCE_ABORT_DELAY_TIME especifica quantos segundos atrasar uma falha de instância gerada internamente. Esse atraso lhe dá a chance de responder. O banco de dados grava uma mensagem no log de alerta quando o encerramento atrasado é iniciado. Em algumas circunstâncias, ao permitir que determinados recursos do banco de dados sejam colocados em quarentena, a instância pode evitar o encerramento.
Consulte Também:
-
Oracle AI Database Administrator's Guide para obter informações mais detalhadas sobre o shutdown do banco de dados
-
Oracle AI Database Reference para saber mais sobre o parâmetro de inicialização
INSTANCE_ABORT_DELAY_TIME
Visão Geral de Pontos de Verificação
Um ponto de verificação é um mecanismo crucial em shutdowns consistentes do banco de dados, recuperação de instância e operação do Oracle AI Database em geral.
O termo tem os seguintes significados relacionados:
-
Uma estrutura de dados que indica a posição do ponto de verificação, que é o SCN no fluxo de redo no qual a recuperação da instância deve começar
A posição do checkpoint é determinada pelo buffer sujo mais antigo no cache de buffer do banco de dados. A posição do ponto de verificação atua como um ponteiro para o fluxo de redo e é armazenada no arquivo de controle e em cada cabeçalho do arquivo de dados.
-
A gravação de buffers de banco de dados modificados no cache de buffer do banco de dados para o disco
-
Finalidade dos Checkpoints O Oracle AI Database usa checkpoints para atingir vários objetivos.
-
Quando o Oracle AI Database Inicia Pontos de Verificação O processo de ponto de verificação (CKPT) é responsável por gravar pontos de verificação nos cabeçalhos do arquivo de dados e no arquivo de controle. Consulte Também: "Sistemas de Números de Alteração (SCNs)"
Finalidade dos Pontos de Verificação
O Oracle AI Database usa pontos de verificação para atingir vários objetivos.
As metas incluem o seguinte:
-
Reduzir o tempo necessário para recuperação em caso de falha de uma instância ou mídia
-
Certifique-se de que o banco de dados grave regularmente buffers sujos no cache de buffer no disco
-
Certifique-se de que o banco de dados grave todos os dados submetidos a commit no disco durante um shutdown consistente
Quando o Oracle AI Database Inicia Pontos de Verificação
O processo de checkpoint (CKPT) é responsável por gravar checkpoints nos cabeçalhos do arquivo de dados e no arquivo de controle.
Pontos de verificação ocorrem em uma variedade de situações. Por exemplo, o Oracle AI Database usa os seguintes tipos de pontos de verificação:
-
Pontos de verificação de thread
O banco de dados grava em disco todos os buffers modificados pelo redo em um thread específico antes de um determinado destino. O conjunto de checkpoints de thread em todas as instâncias de um banco de dados é um checkpoint de banco de dados. Os pontos de verificação de thread ocorrem nas seguintes situações:
-
Shutdown consistente do banco de dados
-
Instrução
ALTER SYSTEM CHECKPOINT -
Chave de redo log on-line
-
Instrução
ALTER DATABASE BEGIN BACKUP
-
-
Checkpoints de tablespace e arquivo de dados
O banco de dados grava em disco todos os buffers modificados pelo redo antes de um destino específico. Um checkpoint de tablespace é um conjunto de checkpoints de arquivo de dados, um para cada arquivo de dados no tablespace. Esses pontos de verificação ocorrem em várias situações, incluindo tornar um tablespace somente para leitura ou colocá-lo off-line normal, reduzir um arquivo de dados ou executar
ALTER TABLESPACE BEGIN BACKUP. -
Pontos de verificação incrementais
Um checkpoint incremental é um tipo de checkpoint de thread parcialmente destinado a evitar a gravação de grandes números de blocos em switches de redo log on-line. O DBW verifica pelo menos a cada três segundos para determinar se tem trabalho a fazer. Quando o DBW grava buffers sujos, ele avança a posição do checkpoint, fazendo com que o CKPT grave a posição do checkpoint no arquivo de controle, mas não nos cabeçalhos do arquivo de dados.
Outros tipos de checkpoints incluem checkpoints de recuperação de instância e mídia e checkpoints quando objetos de esquema são eliminados ou truncados.
Consulte Também:
-
Oracle Real Application Clusters Administration and Deployment Guide para obter informações sobre checkpoints globais no Oracle RAC
Visão Geral da Recuperação de Instância
Recuperação de instância é o processo de aplicar registros no redo log on-line aos arquivos de dados para reconstruir as alterações feitas após o checkpoint mais recente.
A recuperação de instância ocorre automaticamente quando um administrador tenta abrir um banco de dados que foi submetido a shutdown inconsistente anteriormente.
-
A recuperação da instância Finalidade da Recuperação da Instância garante que o banco de dados esteja em um estado consistente após uma falha na instância. Os arquivos de um banco de dados podem ser deixados em um estado inconsistente por causa de como o Oracle AI Database gerencia alterações no banco de dados.
-
Quando o Oracle AI Database Executa a Recuperação da Instância A necessidade de recuperação da instância depende do estado dos threads de redo.
-
Importância de Checkpoints para Recuperação de Instância A recuperação de instância usa checkpoints para determinar quais alterações devem ser aplicadas aos arquivos de dados. A posição do ponto de verificação garante que cada alteração confirmada com um SCN menor que o SCN do ponto de verificação seja salva nos arquivos de dados.
-
Fases de Recuperação da Instância A primeira fase de recuperação da instância é chamada de recuperação em cache ou avançando e reaplica todas as alterações registradas no redo log on-line aos arquivos de dados.
Finalidade da Recuperação da Instância
A recuperação da instância garante que o banco de dados esteja em um estado consistente após uma falha na instância. Os arquivos de um banco de dados podem ser deixados em um estado inconsistente por causa de como o Oracle AI Database gerencia alterações no banco de dados.
Um thread de refazer é um registro de todas as alterações geradas por uma instância. Um banco de dados de instância única tem um thread de redo, enquanto um banco de dados Oracle RAC tem vários threads de redo, um para cada instância do banco de dados.
Quando uma transação é submetida a commit, o processo de gravação de log (LGWR) grava as entradas de redo restantes na memória e o SCN da transação no redo log on-line. No entanto, o processo de gravador de banco de dados (DBW) grava blocos de dados modificados nos arquivos de dados sempre que é mais eficiente. Por este motivo, as alterações não confirmadas podem existir temporariamente nos arquivos de dados enquanto as alterações confirmadas ainda não existem nos arquivos de dados.
Se uma instância de um banco de dados aberto falhar, por causa de uma instrução SHUTDOWN ABORT ou de um encerramento anormal, as seguintes situações poderão resultar:
-
Os blocos de dados submetidos a commit por uma transação não são gravados nos arquivos de dados e aparecem apenas no redo log on-line. Essas alterações devem ser reaplicadas aos arquivos de dados.
-
Os arquivos de dados contêm alterações que não foram confirmadas quando a instância falhou. Essas alterações devem ser submetidas a rollback para garantir a consistência transacional.
A recuperação de instância usa somente arquivos de redo log on-line e arquivos de dados on-line atuais para sincronizar os arquivos de dados e garantir que eles sejam consistentes.
Consulte Também:
Quando o Oracle AI Database Executa a Recuperação de Instâncias
A necessidade de recuperação da instância depende do estado dos threads de redo.
Um thread de redo é marcado como aberto no arquivo de controle quando uma instância do banco de dados é aberta no modo de leitura/gravação e é marcado como fechado quando a instância é submetida a shutdown consistentemente. Se os threads de redo forem marcados como abertos no arquivo de controle, mas nenhuma instância ativa conter os enfileiramentos de thread correspondentes a esses threads, o banco de dados exigirá a recuperação da instância.
O Oracle AI Database executa a recuperação da instância automaticamente nas seguintes situações:
-
O banco de dados é aberto pela primeira vez após a falha de um banco de dados de instância única ou de todas as instâncias de um banco de dados Oracle RAC. Essa forma de recuperação de instância também é chamada de recuperação de pane. O Oracle AI Database recupera os threads de redo on-line das instâncias encerradas juntas.
-
Algumas, mas não todas, instâncias de um banco de dados Oracle RAC falham. A recuperação da instância é executada automaticamente por uma instância restante na configuração.
O processo em segundo plano SMON executa a recuperação da instância, aplicando o redo on-line automaticamente. Nenhuma intervenção do usuário é necessária.
Consulte Também:
-
Oracle Real Application Clusters Administration and Deployment Guide para saber mais sobre a recuperação de instâncias em um banco de dados Oracle RAC
Importância dos Checkpoints para Recuperação de Instância
A recuperação de instância usa pontos de verificação para determinar quais alterações devem ser aplicadas aos arquivos de dados. A posição do ponto de verificação garante que cada alteração confirmada com um SCN menor que o SCN do ponto de verificação seja salva nos arquivos de dados.
A figura a seguir ilustra o thread de redo no redo log on-line.
Figura 5: Posição do Checkpoint no Redo Log On-line

Descrição da ilustração cncpt282.gif
Durante a recuperação da instância, o banco de dados deve aplicar as alterações que ocorrem entre a posição do checkpoint e o final do thread de redo. Conforme mostrado na Figura 16-5, algumas alterações podem já ter sido gravadas nos arquivos de dados. No entanto, somente as alterações com SCNs inferiores à posição do ponto de verificação são garantidas em disco.
Consulte Também: Guia de Ajuste de Desempenho do Oracle AI Database para saber como limitar o tempo de recuperação da instância
Fases de Recuperação de Instância
A primeira fase da recuperação da instância é chamada de recuperação em cache ou avançando e reaplica todas as alterações registradas no redo log on-line aos arquivos de dados.
Como o redo log on-line contém dados de undo, o roll forward também gera novamente os segmentos de undo correspondentes. A transferência continua por meio de quantos arquivos de redo log on-line forem necessários para antecipar o banco de dados no tempo. Após a transferência, os blocos de dados contêm todas as alterações confirmadas registradas nos arquivos de redo log on-line. Esses arquivos também podem conter alterações não confirmadas que foram salvas nos arquivos de dados antes da falha ou que foram gravadas no redo log on-line e introduzidas durante a recuperação do cache.
Após a transferência, as alterações com commit não deverão ser desfeitas. O Oracle AI Database usa a posição do checkpoint, que garante que todas as alterações confirmadas com um SCN inferior ao SCN do checkpoint sejam salvas no disco. O Oracle AI Database aplica blocos de undo para fazer rollback de alterações não confirmadas em blocos de dados que foram gravados antes da falha ou introduzidos durante a recuperação do cache. Essa fase é chamada de reversão ou recuperação de transação.
A figura a seguir ilustra o rollback e o rollback, as duas etapas necessárias para se recuperar de uma falha na instância do banco de dados.
Figura 6: Etapas Básicas de Recuperação de Instância: Fazendo Roll Forward e Fazendo Roll Back

Descrição da ilustração cncpt196.gif
O Oracle AI Database pode fazer rollback de várias transações simultaneamente, conforme necessário. Todas as transações que estavam ativas no momento da falha são marcadas como encerradas. Em vez de aguardar que o processo SMON reverta as transações encerradas, novas transações podem reverter blocos individuais para obter os dados necessários.
Consulte Também:
-
"Desfazer Segmentos" para saber mais sobre desfazer dados
-
Guia de Ajuste de Desempenho do Oracle AI Database para uma discussão sobre mecanismos e ajustes de recuperação de instâncias
Visão Geral de Arquivos de Parâmetros
Para iniciar uma instância de banco de dados, o Oracle AI Database deve ler um arquivo de parâmetro do servidor, que é recomendado, ou um arquivo de parâmetro de inicialização de texto, que é uma implementação legada. Esses arquivos contêm uma lista de parâmetros de configuração.
Para criar um banco de dados manualmente, inicie uma instância com um arquivo de parâmetros e emita uma instrução CREATE DATABASE. Assim, o arquivo de instância e parâmetro pode existir mesmo quando o próprio banco de dados não existe.
-
Parâmetros de inicialização são parâmetros de configuração que afetam a operação básica de uma instância. A instância lê os parâmetros de inicialização de um arquivo na inicialização.
-
Arquivos de Parâmetros do Servidor Um arquivo de parâmetros do servidor é um repositório para parâmetros de inicialização.
-
Arquivos de Parâmetros de Inicialização de Texto Um arquivo de parâmetros de inicialização de texto é um arquivo de texto que contém uma lista de parâmetros de inicialização.
-
Modificação de Valores de Parâmetro de Inicialização Você pode ajustar parâmetros de inicialização para modificar o comportamento de um banco de dados. A classificação de parâmetros como estáticos ou dinâmicos determina como eles podem ser modificados.
Parâmetros de Inicialização
Parâmetros de inicialização são parâmetros de configuração que afetam a operação básica de uma instância. A instância lê os parâmetros de inicialização de um arquivo na inicialização.
O Oracle AI Database fornece muitos parâmetros de inicialização para otimizar sua operação em diversos ambientes. Apenas alguns desses parâmetros devem ser definidos explicitamente porque os valores padrão são geralmente adequados.
-
Grupos Funcionais de Parâmetros de Inicialização Os parâmetros de inicialização se enquadram em diferentes grupos funcionais.
-
Os parâmetros de inicialização Parâmetros Básicos e Avançados de Inicialização são divididos em dois grupos: básico e avançado.
Grupos Funcionais de Parâmetros de Inicialização
Os parâmetros de inicialização se enquadram em diferentes grupos funcionais.
A maioria dos parâmetros de inicialização pertence a um dos seguintes grupos:
-
Parâmetros que nomeiam entidades como arquivos ou diretórios
-
Parâmetros que definem limites para um processo, recurso de banco de dados ou o próprio banco de dados
-
Parâmetros que afetam a capacidade, como o tamanho da SGA (esses parâmetros são chamados de parâmetros variáveis)
Os parâmetros variáveis são de particular interesse para os administradores de banco de dados porque eles podem usar esses parâmetros para melhorar o desempenho do banco de dados.
Parâmetros Básicos e Avançados de Inicialização
Os parâmetros de inicialização são divididos em dois grupos: básico e avançado.
Normalmente, você deve definir e ajustar apenas os aproximadamente 30 parâmetros básicos para obter um desempenho razoável. Os parâmetros básicos definem características como o nome do banco de dados, os locais dos arquivos de controle, o tamanho do bloco do banco de dados e o tablespace de undo.
Em situações raras, a modificação dos parâmetros avançados pode ser necessária para o desempenho ideal. Os parâmetros avançados permitem que DBAs especialistas adaptem o comportamento do Oracle AI Database para atender a requisitos exclusivos.
O Oracle AI Database fornece valores no arquivo de parâmetros de inicialização inicial fornecido com o software de banco de dados ou conforme criado para você pelo DBCA (Database Configuration Assistant). Você pode editar esses parâmetros de inicialização fornecidos pela Oracle e adicionar outros, dependendo da sua configuração e de como planeja ajustar o banco de dados. Para parâmetros de inicialização relevantes não incluídos no arquivo de parâmetros, o Oracle AI Database fornece padrões.
Consulte Também:
-
Oracle AI Database Administrator's Guide para saber como especificar parâmetros de inicialização
-
Oracle AI Database Reference para obter uma explicação dos tipos de parâmetros de inicialização
-
Oracle AI Database Reference para obter uma descrição do
V$PARAMETERe do SQL*Plus User's Guide and Reference para obter a sintaxeSHOW PARAMETER
Arquivos de Parâmetros do Servidor
Um arquivo de parâmetros do servidor é um repositório para parâmetros de inicialização.
Um arquivo de parâmetros do servidor tem as seguintes características principais:
-
Somente o Oracle AI Database lê e grava no arquivo de parâmetros do servidor.
-
Existe apenas um arquivo de parâmetros de servidor para um banco de dados. Este arquivo deve residir no host do banco de dados.
-
O arquivo de parâmetros do servidor é binário e não pode ser modificado por um editor de texto.
-
Os parâmetros de inicialização armazenados no arquivo de parâmetros do servidor são persistentes. Quaisquer alterações feitas nos parâmetros enquanto uma instância do banco de dados está em execução podem persistir durante o shutdown e a inicialização da instância.
Um arquivo de parâmetros do servidor elimina a necessidade de manter vários arquivos de parâmetros de inicialização de texto para aplicativos cliente. Um arquivo de parâmetros do servidor é inicialmente criado com base em um arquivo de parâmetros de inicialização de texto usando a instrução CREATE SPFILE. Ele também pode ser criado diretamente pelo Assistente de Configuração de Banco de Dados.
Consulte Também:
-
Oracle AI Database Administrator's Guide para saber mais sobre arquivos de parâmetros do servidor
-
Oracle AI Database SQL Language Reference para saber mais sobre
CREATE SPFILE
Arquivos de Parâmetros de Inicialização de Texto
Um arquivo de parâmetros de inicialização de texto é um arquivo de texto que contém uma lista de parâmetros de inicialização.
Esse tipo de arquivo de parâmetros, que é uma implementação legada do arquivo de parâmetros, tem as seguintes características principais:
-
Ao iniciar ou desligar um banco de dados, o arquivo de parâmetro de inicialização de texto deve residir no mesmo host que o aplicativo cliente que se conecta ao banco de dados.
-
Um arquivo de parâmetros de inicialização de texto é baseado em texto, não binário.
-
O Oracle AI Database pode ler, mas não gravar no arquivo de parâmetros de inicialização de texto. Para alterar os valores de parâmetro, você deve alterar manualmente o arquivo com um editor de texto.
-
As alterações nos valores do parâmetro de inicialização por
ALTER SYSTEMsó estão em vigor para a instância atual. Atualize manualmente o arquivo de parâmetros de inicialização de texto e reinicie a instância para que as alterações sejam conhecidas.
O arquivo de parâmetros de inicialização de texto contém uma série de pares key=value, um por linha. Por exemplo, uma parte de um arquivo de parâmetro de inicialização pode ter a seguinte aparência:
db_name=sample
control_files=/disk1/oradata/sample_cf.dbf
db_block_size=8192
open_cursors=52
undo_management=auto
shared_pool_size=280M
pga_aggregate_target=29M
.
.
.
Para ilustrar os problemas de gerenciabilidade que os arquivos de parâmetros de texto podem criar, suponha que você use computadores clienta e clientb e deve ser capaz de iniciar o banco de dados com o SQL*Plus em qualquer computador. Nesse caso, dois arquivos de parâmetros de inicialização de texto separados devem existir, um em cada computador, conforme mostrado na Figura 16-7. Um arquivo de parâmetros de servidor resolve o problema da proliferação de arquivos de parâmetros.
Figura 7: Vários Arquivos de Parâmetros de Inicialização

Descrição da ilustração cncpt247.gif
Consulte Também:
-
Oracle AI Database Administrator's Guide para saber mais sobre arquivos de parâmetros de inicialização de texto
-
Oracle AI Database SQL Language Reference para saber mais sobre
CREATE PFILE
Modificação dos Valores do Parâmetro de Inicialização
Você pode ajustar os parâmetros de inicialização para modificar o comportamento de um banco de dados. A classificação de parâmetros como estáticos ou dinâmicos determina como eles podem ser modificados.
A tabela a seguir resume as diferenças.
Tabela 5 - Parâmetros de Inicialização Estática e Dinâmica
| Característica | Estático | Dinâmico |
|---|---|---|
| Requer modificação do arquivo de parâmetros (texto ou servidor) | Sim | Não |
| Requer reinicialização da instância do banco de dados antes que a definição entre em vigor | Sim | Não |
| Descrito como "Modificável" na entrada do parâmetro de inicialização do Oracle AI Database Reference | Não | Sim |
| Modificável somente para o banco de dados ou a instância | Sim | Não |
Os parâmetros estáticos incluem DB_BLOCK_SIZE, DB_NAME e COMPATIBLE. Os parâmetros dinâmicos são agrupados em parâmetros de nível de sessão, que afetam somente a sessão de usuário atual, e parâmetros de nível de sistema, que afetam o banco de dados e todas as sessões. Por exemplo, MEMORY_TARGET é um parâmetro no nível do sistema, enquanto NLS_DATE_FORMAT é um parâmetro no nível da sessão.
O escopo de uma alteração de parâmetro depende de quando a alteração entra em vigor. Quando uma instância tiver sido iniciada com um arquivo de parâmetros do servidor, você poderá usar a instrução ALTER SYSTEM SET para alterar valores para parâmetros no nível do sistema da seguinte forma:
-
SCOPE=MEMORYAs alterações só se aplicam à instância do banco de dados. A alteração não persistirá se o banco de dados for encerrado e reiniciado.
-
SCOPE=SPFILEAs alterações se aplicam ao arquivo de parâmetros do servidor, mas não afetam a instância atual. Portanto, as alterações não terão efeito até que a instância seja reiniciada.
Observação: Você deve especificar
SPFILEao alterar o valor de um parâmetro descrito como não modificável em Oracle AI Database Reference. -
SCOPE=BOTHO Oracle AI Database grava alterações na memória e no arquivo de parâmetros do servidor. Este é o escopo padrão quando o banco de dados está usando um arquivo do parâmetro do servidor.
O banco de dados imprime o novo valor e o valor antigo de um parâmetro de inicialização no log de alerta. Como medida preventiva, o banco de dados valida as alterações do parâmetro básico para evitar que valores inválidos sejam gravados no arquivo de parâmetros do servidor.
Consulte Também:
-
Guia de Suporte à Globalização do Oracle AI Database para saber como escolher uma localidade com a variável de ambiente
NLS_LANG -
Oracle AI Database Administrator's Guide para saber como alterar as definições do parâmetro de inicialização
-
Oracle AI Database Reference para obter descrições de todos os parâmetros de inicialização
-
Oracle AI Database SQL Language Reference para sintaxe e semântica do
ALTER SYSTEM
Visão Geral dos Arquivos de Diagnóstico
O Oracle AI Database inclui uma infraestrutura de capacidade de diagnóstico de falhas para prevenir, detectar, diagnosticar e resolver problemas de banco de dados. Os problemas incluem erros críticos, como bugs de código, corrupção de metadados e corrupção de dados do cliente.
Os objetivos da infraestrutura avançada de diagnóstico de falhas são os seguintes:
-
Detectando problemas proativamente
-
Limitar danos e interrupções após a detecção de um problema
-
Reduzindo o tempo de diagnóstico e resolução de problemas
-
Melhorando a capacidade de gerenciamento, permitindo que os arquivos de rastreamento sejam particionados, permitindo que o usuário defina o tamanho por peça e o número máximo de peças a serem retidas e desativando o rastreamento após um limite de espaço em disco especificado pelo usuário ser atingido
-
Simplificando a interação do cliente com o Oracle Support
-
O Automatic Diagnostic Repository Automatic Diagnostic Repository (ADR) é um repositório baseado em arquivo que armazena dados de diagnóstico de banco de dados, como arquivos de rastreamento, log de alerta, log de DDL e relatórios do Health Monitor.
-
Log de Alertas Cada banco de dados tem um log de alertas, que é um arquivo que contém um log cronológico de mensagens e erros do banco de dados.
-
Log de Atenção Cada banco de dados tem um log de atenção, contendo eventos críticos e altamente visíveis do banco de dados.
-
Log DDL O log DDL tem o mesmo formato e comportamento básico do log de alerta, mas contém apenas instruções DDL e detalhes. O banco de dados grava informações DDL em seu próprio arquivo para reduzir a desordem no log de alertas.
-
Arquivos de Rastreamento Um arquivo de rastreamento é um arquivo que contém dados de diagnóstico usados para investigar problemas. Além disso, os arquivos de rastreamento podem fornecer orientação para ajustar aplicativos ou uma instância.
-
Despejos de Diagnóstico Um arquivo de dump de diagnóstico é um tipo especial de arquivo de rastreamento que contém informações detalhadas pontuais sobre um estado ou uma estrutura. Consulte Também: Oracle AI Database Administrator's Guide para saber como gerenciar arquivos de diagnóstico
Repositório de Diagnóstico Automático
O ADR (Automatic Diagnostic Repository) é um repositório baseado em arquivo que armazena dados de diagnóstico de banco de dados, como arquivos de rastreamento, log de alerta, log DDL e relatórios do Health Monitor.
As principais características do ADR incluem:
-
Estrutura de diretórios unificada
-
Formatos de dados de diagnóstico consistentes
-
Conjunto de ferramentas unificado
As características precedentes permitem que os clientes e o Suporte da Oracle correlacionem e analisem dados de diagnóstico em várias instâncias, componentes e produtos da Oracle.
O ADR está localizado fora do banco de dados, o que permite que o Oracle AI Database acesse e gerencie o ADR quando o banco de dados físico estiver indisponível. Uma instância de banco de dados pode criar o ADR antes de um banco de dados ter sido criado.
-
O ADR de Problemas e Incidentes rastreia proativamente problemas, que são erros críticos no banco de dados.
-
Estrutura ADR A base ADR é o diretório raiz ADR.
Problemas e Incidentes
O ADR rastreia proativamente problemas, que são erros críticos no banco de dados.
Erros críticos manifestam-se como erros internos, como ORA-600, ou outros erros graves. Cada problema tem uma chave de problema, que é uma string de texto que descreve o problema.
Quando um problema ocorre várias vezes, o ADR cria um incidente com marca de data/hora para cada ocorrência. Um incidente é identificado exclusivamente por um ID do incidente numérico. Quando ocorre um incidente, o ADR envia um alerta de incidente ao Enterprise Manager. O diagnóstico e a resolução de um erro crítico geralmente começa com um alerta de incidente.
Como um problema pode gerar muitos incidentes em um curto período de tempo, o ADR aplica o controle de inundação à geração de incidentes após determinados limites serem atingidos. Um incidente controlado por inundação gera uma entrada de log de alerta, mas não gera despejos de incidentes. Dessa forma, o ADR informa que um erro crítico está em andamento sem sobrecarregar o sistema com dados de diagnóstico.
Consulte Também: Oracle AI Database Administrator's Guide para obter informações detalhadas sobre a infraestrutura de diagnóstico de falhas
Estrutura ADR
A base ADR é o diretório raiz ADR.
A base do ADR pode conter vários homes do ADR, em que cada home do ADR é o diretório raiz de todos os rastreamentos de dados de diagnóstico, dumps, o log de alerta etc. para uma instância de um produto ou componente Oracle. Por exemplo, em um ambiente Oracle RAC com armazenamento compartilhado e Oracle ASM, cada instância do banco de dados e cada instância do Oracle ASM tem seu próprio home do ADR. A Figura 16-8 ilustra a hierarquia de diretórios ADR de uma instância do banco de dados. Outros homes do ADR para outros produtos ou componentes Oracle, como Oracle ASM ou Oracle Net Services, podem existir nessa hierarquia, na mesma base do ADR.
Figura 8: Estrutura de Diretórios ADR para uma Instância do Oracle AI Database

Descrição da ilustração admin077.gif
Como o exemplo do Linux a seguir mostra, quando você inicia uma instância com um SID exclusivo e um nome de banco de dados antes de criar um banco de dados, o Oracle AI Database cria o ADR por padrão como uma estrutura de diretório no sistema de arquivos do host. O SID e o nome do banco de dados fazem parte do nome do caminho para arquivos no Home do ADR.
Exemplo 16-1 Criação de ADR
% setenv ORACLE_SID osi
% echo "DB_NAME=dbn" > init.ora
% sqlplus / as sysdba
.
.
.
Connected to an idle instance.
SQL> STARTUP NOMOUNT PFILE="./init.ora"
ORACLE instance started.
Total System Global Area 146472960 bytes
Fixed Size 1317424 bytes
Variable Size 92276176 bytes
Database Buffers 50331648 bytes
Redo Buffers 2547712 bytes
SQL> COL NAME FORMAT a21
SQL> COL VALUE FORMAT a60
SQL> SELECT NAME, VALUE FROM V$DIAG_INFO;
NAME VALUE
--------------------- --------------------------------------------------------
Diag Enabled TRUE
ADR Base /d1/3910926111/oracle/log
ADR Home /d1/3910926111/oracle/log/diag/rdbms/dbn/osi
Diag Trace /d1/3910926111/oracle/log/diag/rdbms/dbn/osi/trace
Diag Alert /d1/3910926111/oracle/log/diag/rdbms/dbn/osi/alert
Diag Incident /d1/3910926111/oracle/log/diag/rdbms/dbn/osi/incident
Diag Cdump /d1/3910926111/oracle/log/diag/rdbms/dbn/osi/cdump
Health Monitor /d1/3910926111/oracle/log/diag/rdbms/dbn/osi/hm
Default Trace File /d1/3910926111/oracle/log/diag/rdbms/dbn/osi/trace/osi_ora_29229.trc
Active Problem Count 0
Active Incident Count 0
ORACLE_HOME /d1/3910926111/oracle
Attention Log /d1/3910926111/oracle/log/diag/rdbms/dbn/osi/trace/attention_osi.log
13 rows selected.
Log de Alertas
Cada banco de dados tem um log de alerta, que é um arquivo que contém um log cronológico de mensagens e erros do banco de dados.
O conteúdo do log de alerta inclui o seguinte:
-
Todos os erros internos (
ORA-600), erros de corrupção de bloco (ORA-1578) e erros de deadlock (ORA-60) -
Operações administrativas, como os comandos
STARTUP,SHUTDOWN,ARCHIVE LOGeRECOVERdo SQL*Plus -
Várias mensagens e erros relacionados às funções dos processos compartilhados de servidor e despachador
-
Erros durante a atualização automática de uma view materializada
Se uma operação administrativa for bem-sucedida, o Oracle AI Database gravará uma mensagem no log de alerta como "concluída" junto com um timestamp.
O Oracle AI Database cria um log de alerta no subdiretório alert mostrado na Figura 16-8 quando você inicia uma instância de banco de dados pela primeira vez, mesmo que nenhum banco de dados tenha sido criado ainda. Este arquivo está no formato XML. O subdiretório trace contém um log de alerta somente texto.
Consulte V$DIAG_INFO para localizar o log de alertas.
Log de Atenção
Cada banco de dados tem um log de atenção, contendo eventos críticos e altamente visíveis do banco de dados.
O log de atenção inclui apenas eventos críticos e altamente visíveis do banco de dados, permitindo que você identifique um alerta e execute a ação apropriada. Cada mensagem de log de atenção tem vários atributos, incluindo público-alvo, causa e uma ação a ser tomada. O log de atenção fornece informações no seguinte formato:
-
ID da mensagem de atenção
-
Tipo de mensagem de atenção: erro, notificação, aviso
-
Urgência da mensagem de atenção: DEFERABLE, IMMEDIATE, INFO, SOON
-
Escopo da mensagem de atenção: CDB, cluster do CDB, instância do CDB, PDB, sessão, instância do PDB, processo, sessão
-
Texto da mensagem de atenção
-
Usuário de destino da mensagem de atenção: Administrador do CDB, Administrador do Clusterware, Administrador do PDB
-
Causa
-
Ação
O Oracle AI Database cria um log de atenção chamado attention_ORACLE_SID.log no subdiretório trace mostrado na Figura 16-8. Você também pode consultar V$DIAG_INFO para localizar o log de atenção.
Log DDL
O log DDL tem o mesmo formato e comportamento básico do log de alerta, mas contém apenas instruções DDL e detalhes. O banco de dados grava informações DDL em seu próprio arquivo para reduzir a desordem no log de alertas.
Os registros de log DDL são textos DDL, opcionalmente aumentados com informações complementares. Existe um registro de log para cada instrução DDL. O log DDL é armazenado no subdiretório log/ddl do home do ADR.
Arquivos de Rastreamento
Um arquivo trace é um arquivo que contém dados de diagnóstico usados para investigar problemas. Além disso, os arquivos de rastreamento podem fornecer orientação para ajustar aplicativos ou uma instância.
-
Tipos de Arquivos de Rastreamento Cada processo de servidor e em segundo plano pode gravar periodicamente em um arquivo de rastreamento associado. Os arquivos contêm informações sobre o ambiente de processo, status, atividades e erros.
-
O ADR Localizações de Arquivos de Rastreamento armazena arquivos de rastreamento no subdiretório
trace. Os nomes dos arquivos de rastreamento dependem da plataforma e usam a extensão.trc. -
Segmentação de Arquivos de Rastreamento Quando o tamanho do arquivo de rastreamento é limitado, o banco de dados pode dividi-lo automaticamente em no máximo cinco segmentos. Os segmentos são arquivos separados com o mesmo nome do arquivo de rastreamento ativo, mas com um número de segmento anexado, como em
ora_1234_2.trc. Consulte Também: Oracle AI Database Conceitos Básicos do Ajuste de Desempenho
Tipos de Arquivos de Rastreamento
Cada servidor e processo em segundo plano podem gravar periodicamente em um arquivo de rastreamento associado. Os arquivos contêm informações sobre o ambiente de processo, status, atividades e erros.
O recurso de rastreamento SQL também cria arquivos de rastreamento, que fornecem informações de desempenho sobre instruções SQL individuais. Você pode ativar o rastreamento de um identificador de cliente, serviço, módulo, ação, sessão, instância ou banco de dados de várias maneiras. Por exemplo, você pode executar os procedimentos apropriados no pacote DBMS_MONITOR ou definir eventos.
Consulte Também:
-
Oracle AI Database Administrator's Guide para aprender sobre arquivos de rastreamento, dumps e arquivos de núcleo
-
Guia de Ajuste do Oracle AI Database SQL para saber mais sobre rastreamento de aplicações
Locais dos Arquivos de Rastreamento
O ADR armazena arquivos de rastreamento no subdiretório trace. Os nomes dos arquivos de rastreamento dependem da plataforma e usam a extensão .trc.
Normalmente, os nomes dos arquivos de rastreamento do processo em segundo plano do banco de dados contêm o Oracle SID, o nome do processo em segundo plano e o número do processo do sistema operacional. Um exemplo de arquivo de rastreamento para o processo RECO é mytest_reco_10355.trc.
Os nomes dos arquivos de rastreamento do processo do servidor contêm o Oracle SID, a string ora e o número do processo do sistema operacional. Um exemplo de nome de arquivo de rastreamento de processo do servidor é mytest_ora_10304.trc.
Às vezes, os arquivos de rastreamento têm arquivos de metadados de rastreamento correspondentes, que terminam com a extensão .trm. Esses arquivos contêm informações estruturais chamadas mapas de rastreamento que o banco de dados usa para pesquisa e navegação.
Consulte Também:
-
Oracle AI Database Administrator's Guide para saber como localizar arquivos de rastreamento
Segmentação de arquivos de rastreamento
Quando o tamanho do arquivo de rastreamento é limitado, o banco de dados pode dividi-lo automaticamente em um máximo de cinco segmentos. Os segmentos são arquivos separados com o mesmo nome do arquivo de rastreamento ativo, mas com um número de segmento anexado, como em ora_1234_2.trc.
Cada segmento é normalmente 20% do limite definido por MAX_DUMP_FILE_SIZE. Quando o tamanho combinado de todos os segmentos excede o limite, o banco de dados exclui o segmento mais antigo (embora nunca o primeiro segmento, que pode conter informações relevantes sobre o estado inicial do processo) e, em seguida, cria um novo segmento vazio.
Consulte Também: Oracle AI Database Administrator's Guide para saber como controlar o tamanho dos arquivos de rastreamento
Dumps de Diagnóstico
Um arquivo de dump de diagnóstico é um tipo especial de arquivo de rastreamento que contém informações detalhadas pontuais sobre um estado ou uma estrutura.
Um traço tende a ser a saída contínua de dados de diagnóstico. Em contraste, um dump é normalmente uma saída única de dados de diagnóstico em resposta a um evento.
- Rastrear Dumps e Incidentes A maioria dos dumps ocorre devido a incidentes.
Rastrear Despejos e Incidentes
A maioria dos despejos ocorre por causa de incidentes.
Quando um incidente ocorre, o banco de dados grava um ou mais dumps no diretório de incidentes criado para o incidente. Os despejos de incidentes também contêm o número do incidente no nome do arquivo.
Durante a criação do incidente, um aplicativo pode executar um despejo de estado de heap ou do sistema como parte de uma ação. Nesses casos, o banco de dados anexa o nome do dump ao nome do arquivo de incidente em vez do nome do arquivo de rastreamento padrão. Por exemplo, devido a um incidente em um processo, o banco de dados cria o arquivo prod_ora_90348.trc. Um dump no incidente gera o arquivo prod_ora_90348_incident_id.trc, em que incident_id é o ID numérico do incidente. Uma ação de dump de heap criada como parte do incidente gera o arquivo de dump de heap prod_ora_90348_incident_id_dump_id.trc, em que dump_id é o ID numérico do dump de rastreamento.