Para ativar uma base de dados standby Oracle siga os passos a seguir.
1. Inicie o banco de dados conforme os passos abaixo:
SQL> startup nomount
SQL> alter database mount standby database;
2. Ative o banco de dados:
SQL> alter database activate standby database;
Este processo pode demorar alguns minutos dependendo da velocidade do servidor.
3. Baixe o banco de dados em modo normal ou immediate e ative novamente:
SQL> shutdown immediate;
SQL> startup open
Crie as tabelas temporárias.
4. Verifique a base de dados:
SQL> select database_role from v$database;
5. Crie novamente os tempfiles.
Se tudo correu bem, a base de dados está ativa e funcionando.
21 de dez. de 2007
20 de dez. de 2007
Criando um Standby Oracle
Importante lembrar que um standby é uma cópia do banco de dados oficial, portanto, compatibilidade de hardware e software são essenciais para um bom desempenho do standby.
Simbologia
SQLPLUS> => indica que estou conectado através do SqlPlus
RMAN> => indica que estou conectado através do Rman
$ => indica que estou executando comandos no shell como usuário comum
# => indica que estou executando comandos no shell como superusuário
Para criar um Standby Oracle é necessário obter uma cópia física dos datafiles, controlfiles e do spfile.
Copiando o spfile
SQLPLUS> create pfile='/caminho/pfileSID.ora' from spfile
Copiando o controlfile
SQLPLUS> alter database create standby controlfile as '/caminho/control01.ctl';
Copiando os datafiles
RMAN> backup as copy database format '/caminho/%N_%f.dbf';
O comando utilizado no RMAN não copia os arquivos com seus nomes corretos, para verificar o nome correto dos datafiles, consulte a view v$dbfile.
SQLPLUS> select * from v$dbfile;
depois de conhecer o nome dos datafiles, renomeie todos para os nomes originais.
--
Todo o processo acima é efetuado com a base ativa.
Criando o Standby
Para criar o standby, como informado no início desta postagem, é necessário a cópia dos controlfiles, spfile e datafiles.
De posse destes arquivos é o momento de transferí-los para o host que hospedará o Standby não esquecendo de manter a estrutura do banco de dados oficial.
Quando todos os arquivos estiverem em seus locais, efetue uma conexão na instância através do SqlPlus e inicie o banco em modo mount.
SQLPLUS> startup mount
Se tudo correr bem, seu banco está preparado para um recover.
SQLPLUS> recover standby database;
O sistema informara qual archive está recuperando e solicitará a forma de recuperação (AUTO ou CANCEL), digite auto, e deixe a base standby atualizar.
Mantendo o Standby atualizado
Para mantê-lo atualizado é necessário a transferência dos archives, que podem ser efetuada de diversas maneiras.
Script de atualização dos Archives (Linux)
Este script utiliza rsync para manter o sincronismo dos archives e o protocolo de transferência ssh, não havendo necessidade de instalar um servidor rsync.
#!/bin/bash
# variaveis
ARCHIVEDIR=/diretorio/dos/archives
SSHSRV=[ip_do_servidor]
SSHUSR=[usuario_de_conexao_ssh]
rsync -ave "ssh" $SSHUSR@$SSHSRV:$ARCHIVEDIR/ $ARCHIVEDIR/
Adicione este script no crontab para automatizar este processo.
Automatizando transferência via SSH (sem autenticação)
O protocolo ssh trabalha com uma forma de autenticação e troca de chaves, para automatizar a autenticação através do ssh é necessário criar uma chave pública do host que irá conectar no servidor ssh e depois autorizá-la no servidor.
Segue abaixo uma forma prática de criar estas chaves.
$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/oracle/.ssh/id_rsa): [ENTER]
Enter passphrase (empty for no passphrase): [ENTER]
Enter same passphrase again: [ENTER]
Your identification has been saved in /home/oracle/.ssh/id_rsa.
Your public key has been saved in /home/oracle/.ssh/id_rsa.pub.
The key fingerprint is:
bb:66:6a:20:bc:ed:f6:e9:4b:2f:d6:36:a7:97:10:a4 oracle@standby
$
Chave pública gerada.
$ cat /home/oracle/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAuT7dvTa1hfGXbIuhQsjqRDVZAbDX8+emSGVrE2
Z91igPjT/4tODR9i4RHbFvXMhkvO+Nzant8XAoIhtGdU7XIwh88AlZK7c4MFyeLyw1UmT6bYeb
DwrMKclf5tdWuRjnD80i0xQclYHliz3rM6tZCh5sM+NdlRA9kNEJGNR6a4LiWLJS8sLry80OyP
41RWs1HoUiYwHNooDjgQ2jryKx92XAz4oLoUi9535a4Brq9D2LfZN3zqn/mVfuzSqioQpok3dg
RHlWziOqvLiDyETLpVeklDgJH6lu5/e2t2Fp+mq6nbISvDy9NmlROSq5c85LsylUwbxVqw9WJW
Dp5hrOjQ== oracle@standby
$
Agora copiaremos o conteúdo desta chave pública para o arquivo de chaves autorizadas do servidor ssh.
$ scp /home/oracle/.ssh/id_rda.pub oracle@oficial:/tmp/
$ ssh oracle@oficial
$ cat /tmp/id_rsa.pub >> /home/oracle/.ssh/authorized_keys
$ exit
Para testar a autenticação por chaves, tente efetuar uma conexão no servidor, se não for solicitado senha a autenticação funcionou corretamente.
Finalizando
Com estes passos, é possível criar um banco de dados standby Oracle, com atualização automática dos archives.
--
Abraços a todos e Sucesso,
Marcos Aurélio Braga
Simbologia
SQLPLUS> => indica que estou conectado através do SqlPlus
RMAN> => indica que estou conectado através do Rman
$ => indica que estou executando comandos no shell como usuário comum
# => indica que estou executando comandos no shell como superusuário
Para criar um Standby Oracle é necessário obter uma cópia física dos datafiles, controlfiles e do spfile.
Copiando o spfile
SQLPLUS> create pfile='/caminho/pfileSID.ora' from spfile
Copiando o controlfile
SQLPLUS> alter database create standby controlfile as '/caminho/control01.ctl';
Copiando os datafiles
RMAN> backup as copy database format '/caminho/%N_%f.dbf';
O comando utilizado no RMAN não copia os arquivos com seus nomes corretos, para verificar o nome correto dos datafiles, consulte a view v$dbfile.
SQLPLUS> select * from v$dbfile;
depois de conhecer o nome dos datafiles, renomeie todos para os nomes originais.
--
Todo o processo acima é efetuado com a base ativa.
Criando o Standby
Para criar o standby, como informado no início desta postagem, é necessário a cópia dos controlfiles, spfile e datafiles.
De posse destes arquivos é o momento de transferí-los para o host que hospedará o Standby não esquecendo de manter a estrutura do banco de dados oficial.
Quando todos os arquivos estiverem em seus locais, efetue uma conexão na instância através do SqlPlus e inicie o banco em modo mount.
SQLPLUS> startup mount
Se tudo correr bem, seu banco está preparado para um recover.
SQLPLUS> recover standby database;
O sistema informara qual archive está recuperando e solicitará a forma de recuperação (AUTO ou CANCEL), digite auto, e deixe a base standby atualizar.
Mantendo o Standby atualizado
Para mantê-lo atualizado é necessário a transferência dos archives, que podem ser efetuada de diversas maneiras.
Script de atualização dos Archives (Linux)
Este script utiliza rsync para manter o sincronismo dos archives e o protocolo de transferência ssh, não havendo necessidade de instalar um servidor rsync.
#!/bin/bash
# variaveis
ARCHIVEDIR=/diretorio/dos/archives
SSHSRV=[ip_do_servidor]
SSHUSR=[usuario_de_conexao_ssh]
rsync -ave "ssh" $SSHUSR@$SSHSRV:$ARCHIVEDIR/ $ARCHIVEDIR/
Adicione este script no crontab para automatizar este processo.
Automatizando transferência via SSH (sem autenticação)
O protocolo ssh trabalha com uma forma de autenticação e troca de chaves, para automatizar a autenticação através do ssh é necessário criar uma chave pública do host que irá conectar no servidor ssh e depois autorizá-la no servidor.
Segue abaixo uma forma prática de criar estas chaves.
$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/oracle/.ssh/id_rsa): [ENTER]
Enter passphrase (empty for no passphrase): [ENTER]
Enter same passphrase again: [ENTER]
Your identification has been saved in /home/oracle/.ssh/id_rsa.
Your public key has been saved in /home/oracle/.ssh/id_rsa.pub.
The key fingerprint is:
bb:66:6a:20:bc:ed:f6:e9:4b:2f:d6:36:a7:97:10:a4 oracle@standby
$
Chave pública gerada.
$ cat /home/oracle/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAuT7dvTa1hfGXbIuhQsjqRDVZAbDX8+emSGVrE2
Z91igPjT/4tODR9i4RHbFvXMhkvO+Nzant8XAoIhtGdU7XIwh88AlZK7c4MFyeLyw1UmT6bYeb
DwrMKclf5tdWuRjnD80i0xQclYHliz3rM6tZCh5sM+NdlRA9kNEJGNR6a4LiWLJS8sLry80OyP
41RWs1HoUiYwHNooDjgQ2jryKx92XAz4oLoUi9535a4Brq9D2LfZN3zqn/mVfuzSqioQpok3dg
RHlWziOqvLiDyETLpVeklDgJH6lu5/e2t2Fp+mq6nbISvDy9NmlROSq5c85LsylUwbxVqw9WJW
Dp5hrOjQ== oracle@standby
$
Agora copiaremos o conteúdo desta chave pública para o arquivo de chaves autorizadas do servidor ssh.
$ scp /home/oracle/.ssh/id_rda.pub oracle@oficial:/tmp/
$ ssh oracle@oficial
$ cat /tmp/id_rsa.pub >> /home/oracle/.ssh/authorized_keys
$ exit
Para testar a autenticação por chaves, tente efetuar uma conexão no servidor, se não for solicitado senha a autenticação funcionou corretamente.
Finalizando
Com estes passos, é possível criar um banco de dados standby Oracle, com atualização automática dos archives.
--
Abraços a todos e Sucesso,
Marcos Aurélio Braga
Assinar:
Postagens (Atom)