Oracle – Iniciar o banco de dados

Aqui você aprenderá como usar o comando Oracle STARTUP para iniciar uma instância do banco de dados Oracle.

Para iniciar o banco de dados Oracle é usado o comando STARTUP.

As etapas quanto o banco de dados Oracle inicia um instância é: NOMOUNTMOUNT, e OPEN. Veja na ilustração abaixo:

O comando STARTUP permite controlar o estágio da instância do banco de dados.

1) Estágio NOMOUNT

No estágio NOMOUNT, a Oracle realiza as seguintes etapas:

  • Primeiro, procura um arquivo de parâmetro do servidor no local padrão. Você pode substituir o comportamento padrão usando os parâmetros SPFILE ou PFILE no comando STARTUP.
    startup pfile='arquivo'
  • Em seguida, ler o arquivo de parâmetro para obter os valores dos parâmetros de inicialização.
  • Em seguida, aloca a área global do sistema (SGA) com base nas configurações dos parâmetros de inicialização.
  • Depois disso, inicia os processos background do Oracle, como SMONPMON, e LGWR.
  • Por fim, abre o alert log e as trace e registra todos os parâmetros explícitos no log de alerta na sintaxe de parâmetro válida.

Nesse estágio NOMOUNT, o Oracle não associa o banco de dados à instância.

2) Estágio MOUNT

No estágio MOUNT, o Oracle associa um banco de dados a uma instância. Em outras palavras, a instância monta o banco de dados.

A instância executa as seguintes etapas para montar um banco de dados:

  • Primeiro, obtém o nome dos arquivos de database control files especificados no parâmetro de inicialização CONTROL_FILE.
  • Em segundo lugar, abre os control files (arquivos de controle).
  • Terceiro, encontra o nome dos arquivos de dados e os arquivos de redo log online.

Quando um banco de dados é montado, ele fica disponível apenas para administradores de banco de dados, não para todos os usuários.

3) Estágio OPEN

No estágio OPEN, o Oracle realiza as seguintes ações:

  • Primeiro, abre os arquivos de dados online em tablespaces diferentes dos undo tablespaces.
  • Em seguida, seleciona uma undo tablespace. A instância usa o undo tablespace padrão se uma undo tablespace for especificado no parâmetro de inicialização UNDO_TABLESPACE. Caso contrário, ele selecionará a primeira undo tablespace disponível.
  • Finalmente, abre os arquivos de redo log online.

Quando o Oracle abre um banco de dados montado, o banco de dados fica disponível para operações normais.

A imagem abaixo ilustra o processo de inicialização do banco de dados Oracle:

Comando Oracle STARTUP

A sintaxe básica do comando STARTUP é a seguinte:

STARTUP;

É equivalente a iniciar a instância do banco de dados no estágio OPEN:

STARTUP OPEN;

Se você deseja iniciar a instância do banco de dados em um estágio específico, pode usar a seguinte sintaxe:

STARTUP stage;

Por exemplo, para iniciar uma instância de banco de dados no estágio NOMOUNT, você usa o seguinte comando:

STARTUP NOMOUNT;

Para levar o banco de dados ao próximo estágio, você usa a instrução ALTER DATABASE. Por exemplo, esta instrução traz o banco de dados do estágio NOMOUNT para estágio MOUNT:

ALTER DATABASE MOUNT;

Exemplo do comando Oracle STARTUP

1. inicie o programa SQL * Plus e faça login no banco de dados Oracle como o usuário SYS.

2. Depois, emita o comando SHUTDOWN IMMEDIATE para desligar o banco de dados:

shutdown immediate;

O resultado deverá ser o seguinte:

Database closed.
Database dismounted.
ORACLE instance shut down.

3. Em seguida, inicie a instância do banco de dados como no estágio OPEN:

startup

Aqui está o resultado:

Esta imagem possuí um atributo alt vazio; O nome do arquivo é image.png

4. desligue a instância novamente:

shutdown immediate;

5. inicie a instância do banco de dados no estado MOUNT:

startup mount;

O resultado deve ser:

ORACLE instance started.

Total System Global Area 2550136832 bytes
Fixed Size                  3835304 bytes
Variable Size             738200152 bytes
Database Buffers         1795162112 bytes
Redo Buffers               12939264 bytes

6. verifique o status atual da instância do banco de dados consultando a view v$instance :

SELECT 
    instance_name, 
    status 
FROM 
    v$instance;

O resultado deve ser assim:

INSTANCE_NAME    STATUS
---------------- ------------
orcl             MOUNTED

7. Traga o banco de dados para o estagio OPEN usando o comando ALTER DATABASE:

ALTER DATABASE OPEN;

O resultado deve ser assim:

Database altered.

Por fim, verifique o status do banco de dados executando a seguinte instrução:

SELECT 
    instance_name, 
    status 
FROM 
    v$instance;

Agora, o banco de dados está aberto e disponível para operações normais.

INSTANCE_NAME    STATUS
---------------- ------------
orcl             OPEN

Nesta postagem, foi mostrado como iniciar uma instância de banco de dados usando o comando Oracle STARTUP.