RMAN – Encontrando o DBID do banco de dados
by Rodrigo Almeida on jan.18, 2010, under RMAN
Olá,
Uma dos maiores problemas de realizar uma recuperação completa ou uma restauração de um banco de dados para um novo servidor, é o problema de mencionar o DBID (Database Identifier – Identificação do banco de dados) para o catálogo do RMAN.
Pois, para conseguir uma restauração da base, é necessário mencionar o DBID ao catálogo de recuperação para conseguir associar o banco de dados no catálogo e posteriormente restaurar e recuperar seus backups sets.
Agora, vamos mencionar quais os meios que podemos encontrar o DBID de um banco de dados.
1. Dicionário de dados
Podemos realizar um simples select na view v$database para conseguir a informação, veja.
select dbid from v$database;
DBID ---------- 4263396950 1 linha selecionada.
2. RMAN – Inicío de sessão
O DBID também é informado quando você conecta ao RMAN, lembrando, que o DBID será informado se o banco de dados estiver em MOUNT ou OPEN, se apenas com NOMOUNT, não será informado, pois não irá ler o arquivo de controle, ou control file. Exemplo.
[oracle@PELSPOWMS2 ~]$ rman
Recovery Manager: Release 10.2.0.1.0 – Production on Thu Oct 23 17:15:23 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
RMAN> connect target 'rman/##########@wmssp.world';
connected to target database: WMSSP (DBID=4263396950)
3. RMAN – Usando o comando List incarnation
Outro modo de se conseguir o DBID do banco de dados, é após logar-se no banco de dados target e estar conectado ao catálogo de recuperação, utilizar o comando LIST INCARNATION, exemplo:
RMAN> list incarnation;
List of Database Incarnations
DB Key Inc Key DB Name DB ID STATUS Reset SCN Reset Time
——- ——- ——– —————- — ———- ———-
8451 8458 WMSSP 4263396950 PARENT 1 30/06/2005 19:09:40
8451 8452 WMSSP 4263396950 CURRENT 446075 27/02/2008 09:03:20
Uma dica muito importante é sempre manter uma planilha com todos os bancos de dados, senhas e seus respectivos DBID armazenados após as criação do banco de dados para não correr risco de não saber o DBID do banco de dados criado.
Abraços,











janeiro 25th, 2010 on 15:47
Não, tá tudo certo. É só curiosidade mesmo!
Brigadão!!
janeiro 18th, 2010 on 22:42
Vitor,
Mas está com problemas para encontrar o DBID? E não os possui ele armazenado nos modos mencionados.
Abraços,
Rodrigo Almeida
janeiro 18th, 2010 on 16:27
Entendi, vou tentar verificar se encontro o DBID em algum lugar dos meus datafiles, controlfiles etc… Descobrindo o local exato te falo! Estou criando Backupset compactado, vou ver se descubro!!
Obrigado!
janeiro 18th, 2010 on 15:13
Olá Vitor,
Tudo bem! Bom, o DBID para voltar o seu backup em outro servidor será ULTRA importante, pois sem ele, seu controlfile não irá se achar! Isso é fato. Porém, como dito no post existe os 3 modos descritos. Porém, senão existir nenhum deles, é importante ver o LOG gerado pelo RMAN que está no seu backup, lá tem o DBID, e senão estiver com o LOG, o modo que existe é restaurar o backupset que contém algum datafile e fazer um HACK do datafile, ou seja, atráves do LINUX/UNIX é possível verificar o cabeçalho do datafile e conseguir encontrar o DBID do banco de dados.
Abraços,
Rodrigo Almeida
janeiro 18th, 2010 on 13:13
Rodrigo,
Digamos que seu backup é através do RMAN e seu servidor parou por completo, e você terá que restaurar o banco em outro servidor. Se você não tiver o DBID, como você consegue recupera-lo, sem que o banco possa ser montado?