Você está na página 1de 4

Movendo um datafile

de extrema de importancia entender sobre os estgios envolvidos na abertura de um banco de dados Oracle, antes de efetuar a movimentao de um datafile.

Obs: Apenas para relembrar, uma instncia Oracle consiste na estrutura de memria SGA (System Global Area) e nos processos de segundo plano como SMON, PMON, DBWn, LGWR, CKPT, entre outros usados para gerenciar o banco dados. A instncia s pode abrir e usar um banco de dados por vez. Em resumo, um servidor Oracle consiste em uma instncia Oracle (estruturas de memria e processos) e um banco de dados Oracle (arquivos fsicos). NOMOUNT Este estgio inicializa a instncia sem montar o banco de dados. Isso significa que todas as estruturas de memria e os processos de segundo plano esto posicionados, mas ainda sem ter um banco de dados associado a essa instncia. atravs deste estgio que possvel criar um banco de dados Oracle. Portanto, uma instncia s dever ser iniciada no estgio NOMOUNT durante a criao do banco de dados ou na recriao de arquivos de controle (control files). Em resumo, a inicializao de uma instncia Oracle inclui as seguintes tarefas: 1.Leitura do arquivo de inicializao SPFILE_.ora ou SPFILE.ora ou init.ora exatamente nesta ordem porque, por padro a partir do Oracle 9i, primeiro ele tenta abrir o spfile.ora, se o arquivo no for encontrado ele tentar abrir o spfile.ora, se o mesmo no for encontrado ele tentar ler o arquivo init.ora. Se o Oracle no encontrar nenhum arquivo de inicializao ou se o DBA no fornecer um valor explcito para PFILE, a inicializao falhar. A especificao do parmetro PFILE com STARTUP sobrepe o comportamento default. 2.Alocao da SGA 3.Inicializao dos processos de segundo plano 4.Abertura do arquivo de alerta (ALERT_.ora) e dos arquivos de rastreamento Observe que nem os arquivos de controle nem os arquivos de dados e redo log on-line esto abertos neste estgio.

MOUNT Aps a instncia j ter sido inicializada pelo estgio anterior, ento realizada a leitura do arquivo de controle de modo a associar o banco de dados instncia j inicializada anteriormente. A opo startup mount muito til em situaes onde necessrio executar algumas operaes especficas de manuteno como renomeao de arquivos de dados, ativao e desativao de opes de arquivamento de redo log (ARCHIVELOG) e operaes de recuperao do banco de dados. importante salientar que se a instncia j estiver inicializada startup nomount, mas o banco no estiver montado, ento ser necessrio utilizar o comando alter database mount. Resumindo, montar o banco de dados inclui as tarefas a seguir: 1.Associao do banco de dados a uma instncia iniciada anteriormente 2.Localizao e abertura dos arquivos de controle (control files) especificados no arquivo de inicializao 3.Leitura dos arquivos de controle para obteno dos nomes e status dos arquivos de dados (data files) e arquivos de redo log on-line (log files)

importante salientar que neste estgio no verificada a existncia dos arquivos de dados e arquivos de redo log on-line, mas se os arquivos de controle no forem localizados conforme a localizao especificada no parmetro CONTROL_FILES no arquivo de inicializao, ento um erro ser retornado, o banco de dados no ser montado e a instncia permanecer no estado NOMOUNT. Se o DBA utilizar a opo startup mount para inicializar o Oracle e quiser abrir o banco de dados, ento ser necessrio utilizar o comando alter database open.

OPEN Neste terceiro e ltimo estgio, o banco de dados disponibilizado para acesso dos usurios. A operao normal de um banco de dados significa que uma instncia iniciada e o banco de dados montado e aberto. Portanto, qualquer usurio vlido pode conectar ao banco de dados e executar operaes comuns de acesso a dados. Durante esse estgio final, o servidor Oracle verifica se possvel abrir todos os arquivos de dados e arquivos de redo log on-line, alm de verificar a consistncia do banco de dados onde neste caso, o processo de segundo plano SMON (System Monitor) iniciar a recuperao da instncia se

necessrio. Resumindo, a abertura do banco de dados inclui as seguintes tarefas:

1.Abertura dos arquivos de dados (data files) 2.Abertura dos arquivos de redo log on-line (log files) 3.Chama o processo SMON se necessrio para a recuperao da instncia em caso de uma falha de instncia ocorrida enquanto o banco de dados estava aberto e em operao anteriormente. importante salientar que se algum arquivo de dados ou arquivo de redo log on-line no estiver presente, ento o banco de dados no abrir permanecendo no estado MOUNT e o servidor Oracle retornar um erro.

Movendo um datafile

Exemplo prtico para mover ou renomear datafiles.

Dica A maneira ideal de mover um datafile com o banco de dados em estado mount, porm possvel mover um datafile com o banco de dados no estado open e a tablespace que deseja mover o datafile no modo offline.

Mos a obra Suponhamos que o nosso datafile alvo est em: /u01/oradata/datafiles/orcl/datafile01.dbf

Pretendemos mov-lo para: /u01/oradata/datafiles/xe/datafile01.dbf

Procedimento

SQL> select name from v$dbfile; /u01/oradata/datafiles/orcl/datafile01.dbf SQL> shutdown immediate; host mv /u01/oradata/datafiles/orcl/datafile01.dbf /u01/oradata/datafiles/xe/datafile01.dbf SQL> startup mount SQL> alter database rename file '/u01/oradata/datafiles/orcl/datafile01.dbf' to '/u01/oradata/datafiles/xe/datafile01.dbf'; SQL> select name from v$dbfile; /u01/oradata/datafiles/xe/datafile01.dbf SQL> alter database open;

Você também pode gostar