Olá!

Olá para todos,

Para aqueles que não me conhecem, eu sou Ronan e estou escrevendo este blog com o intuito de reunir informações daquilo que eu gosto de fazer. Sou formado em computação e gosto de ler e escrever sobre Liderança, Desenvolvimento Pessoal, Motivação e assuntos na minha área. Pretendo colocar aqui aquilo que é interessante pra mim. Se você gostar do conteúdo, ótimo!
Atualmente estou conhecendo um mundo novo, que é o mundo do empreendedorismo e que está me fascinando. Hoje eu prezo muito pela liberdade! Palavra forte que me faz acordar todos os dias pensando no quê fazer alcançá-la. Afinal, o que é liberdade? Aos poucos vou aprendendo o significado desta palavra e acho que muito poucas pessoas sabem o significado. Para aqueles que já sabem, meus parabéns! Um grande mentor deu um significado para esta palavra e que gostei: "Liberdade não é a ausência de regras e sim usufruir da disciplina." Eu gostei deste significado, mas acho que tem mais. Como não sei o que é ao certo ainda, vou tentando aprender o que é para mim. Ano passado fui apresentado ao Marketing de Rede e acreditem, mudei totalmente a minha concepção em relação ao mercado. Hoje eu acredito muito que este é o Negócio do Século XXI. Um mercado onde se encontra pessoas positivas, alto astral e todas lutam por seus ideais e acreditam num mundo melhor. É uma família de empreendedores de diversas áreas onde o sucesso de todos é interessante para todos! Vou escrever sobre isso também, afinal, tenho lido demais sobre este assunto.
Mostrando postagens com marcador rman. Mostrar todas as postagens
Mostrando postagens com marcador rman. Mostrar todas as postagens

quarta-feira, 23 de junho de 2010

Duplicando Base no Oracle 10g - rman

Documento com o objetivo de comentar o processo que tive em duplicar um banco de dados usando rman

Cenário:

O cliente possui um banco de produção e precisa configurar um banco de homologação.
A base de produção não pode parar.

Informações:

Nome da máquina: oel5u432bits.virtual
DB Produção: db10g
senha oracle: oracle

DB Teste: teste
senha oracle: oracle

Vamos aos passos:


Criar os diretórios adump, bdump, cdump e udump
$ mkdir -p /u01/app/oracle/oradata/teste/{adump,bdump,cdump,udump}

Criar password file para o novo banco.
$orapwd file=$ORACLE_HOME/dbs/orapwteste password=password entries=5

Alterar os arquivos listener.ora e tnsnames.ora para "escutarem" o novo Banco:
# No arquivo listener.ora

(SID_DESC =
(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)
(SID_NAME = teste)
)

# No arquivo tnsnames.ora
TESTE =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = oel5u432bits)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = teste)
)
)

Fazer o reload do listener:
$ lsnrctl reload

Para verificar se funcionou execute um tnsping
$ tnsping teste

Criar um arquivo init.ora para o novo banco:
SQL> create pfile='/u01/app/oracle/product/10.2.0/db_1/dbs/initteste.ora' from spfile;

Incluir ou alterar os parâmetros
*.DB_NAME=teste
*.CONTROL_FILES=(/u01/app/oracle/oradata/teste/control01.ctl, /u01/app/oracle/oradata/teste/control02.ctl,/u01/app/oracle/oradata/teste/control03.ctl)

# Parâmetros para conversão dos diretórios dos datafiles e redo log files
*.DB_FILE_NAME_CONVERT=(/u01/app/oracle/oradata/db10g,/u01/app/oracle/oradata/teste/)
*.LOG_FILE_NAME_CONVERT=(/u01/app/oracle/oradata/db10g,/u01/app/oracle/oradata/db10g/teste/)

# Verificar o tamanho do bloco e o parâmetro compatible
*.DB_BLOCK_SIZE=8192
*.COMPATIBLE=10.2.0.3.0

Exportar a variável de ambiente do ORACLE_SID
$ export ORACLE_SID=teste

Conectar ao novo banco e iniciá-lo:
$ sqlplus /nolog
SQL> conn / as sysdba
SQL> STARTUP NOMOUNT

Sair da conexão e conectar-se ao RMAN para duplicar o Banco:
$ export ORACLE_SID=db10g
$ rman TARGET / AUXILIARY sys/oracle@teste

Duplicar o Banco ORIGINAL para o TESTE:
SQL> DUPLICATE TARGET DATABASE TO teste;

O próprio RMAN vai criar um script e o executará para gerar o novo Banco.

Caso queira criar um dbconsole no enterprise manager para este banco, execute os passos:


Aqui você deve passar as informações do banco como, sid do banco, porta, senhas, etc.
$ emca -repos recreate

No passo acima, vai dar erro uma vez que o caminho acima não existe. Isso será resolvido com este passo para que reconfigure todo o banco. Será necessário passar toda a informação conforme descrito no passo acima.
$ emca -config dbcontrol db