**Oracle恢复管理之重要参数DBID**
DBID,是数据库标识符。每个数据库都拥有一个编号,称为数据库标识符(DBID).该编号是在创建数据库时自动生成的,且Oracle不保证两个同名的数据库的DBID必然唯一的。所以Oracle提供$oracle_home/bin/nid命令,该命令能够在修改数据库名的同时自动生成新的DBID。在创建数据库之后,DBID一般都是不会变的,除非使用命令nid修改。
下面是查询DBID的方法:
1.查询v$DATABASE.DBID字段
在数据库正常工作时,查询v$database.DBID字段是获取DBID的最简单方法,此方法必须先将实例至少启动至MOUNT状态。
SQL> select dbid from v$database;
2.查看控制文件自动备份的文件名
通过控制文件自动备份的文件名获取,前提条件是没有利用快速恢复区放置自动备份
确认是否使用快速恢复区,查询语句(即db_recovery_file_dest参数为空):
SQL > show parameter db_recovery_file_dest
打开控制文件自动备份功能:
RMAN>configure controlfile autobackup on;
根据默认设置,控制文件自动备份的路径为¥oracle_home/dbs目录。备份文件的格式为c-<DBID>-<YYYYMMDD>-<CC>,最后的<CC>代表一天中第几次(十六进制)备份。发起备份,然后观察控制文件自动备份的文件名,留意"Starting Control File and SPFILE Autobackup at"
4.3.执行相应的转储命令,查看数据库各种文件的头部
利用"alter system dump logfile"命令转储某个归档日志至当前会话的追踪文件:
获取当前的会话跟踪文件的路径:
SQL> select value from v$diag_info where name='Default Trace File';
SQL> alter system dump logfile '/home/oracle/1_218_748028104.dbf';
根据查找出来的追踪文件,通过grep命令,过滤出'db id'
grep -i 'db id' /u01/app/oracle/diag/rdbms/br/br/trace/br_ora_5301.trc
4.启用了恢复编录,通过查询恢复编录中的名为DB的表
使用编录方法,暂时不介绍,以后单独一篇文章来说。