网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > 数据库技术 > Oracle > 备份与恢复 > Oracle-如何获得数据库的DBID  

Oracle-如何获得数据库的DBID

2006-02-08  作者:BitsCN整理  来源:中国网管联盟  点评 投稿 收藏

在进行数据库恢复的过程中,很多时候我们需要知道Oracle数据库的DBID,通常有以下几种方法可以获得数据库的DBID. 网管下载dl.bitscn.com

1.查询v$database获得 网管u家u.bitscn@com

由于DBID在控制文件和数据文件中都存在记录,所以如果能够mount数据库就可以查询v$database视图获得. 网管u家u.bitsCN.com

SQL> alter database mount;

中国网管联盟bitsCN.com

Database altered.

中国网管联盟bitsCN.com

SQL> select dbid from v$database; 网管u家u.bitscn@com

      DBID 网管联盟bitsCN_com

---------- 网管bitscn_com

3152029224

中国网管联盟bitsCN.com

SQL>   中国网管论坛bbs.bitsCN.com

2.在nomount状态时

网管论坛bbs_bitsCN_com

如果数据库配置了自动控制文件备份(Oracle9i),并且名称是缺省的,那么我们可以从自动备份文件获得DBID.

网管网www_bitscn_com

[oracle@jumper dbs]$ cd $ORACLE_HOME/dbs
[oracle@jumper dbs]$ ll c-*
-rw-r----- 1 oracle dba 3375104 Dec 21 11:13 c-3152029224-20051221-00
-rw-r----- 1 oracle dba 3358720 Jan 21 14:03 c-3152029224-20060121-00
-rw-r----- 1 oracle dba 3358720 Jan 21 14:08 c-3152029224-20060121-01

网管下载dl.bitscn.com

这里的3152029224就是DBID.

网管联盟bitsCN_com

3.从自动备份中恢复

网管bitscn_com

需要或缺DBID进行恢复通常是因为丢失了所有的控制文件.在恢复时会遇到错误. 网管u家u.bitsCN.com

[oracle@jumper dbs]$ rman target  /

网管论坛bbs_bitsCN_com

Recovery Manager: Release 9.2.0.4.0 - Production

网管联盟bitsCN@com

Copyright (c) 1995, 2002, Oracle Corporation.  All rights reserved. 网管网www.bitscn.com

connected to target database: conner (not mounted) 网管u家u.bitsCN.com

RMAN> restore controlfile from autobackup; 中国网管联盟bitsCN.com

Starting restore at 05-FEB-06 网管联盟bitsCN@com

using target database controlfile instead of recovery catalog 中国网管联盟bitsCN.com

allocated channel: ORA_DISK_1 网管下载dl.bitscn.com

channel ORA_DISK_1: sid=11 devtype=DISK

网管下载dl.bitscn.com

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 02/05/2006 20:47:25
RMAN-06495: must explicitly specify DBID with SET DBID command 网管bitscn_com

如果存在自动备份,我们通常可以直接恢复控制文件,mount数据库之后就好办了: 网管联盟bitsCN@com

RMAN> restore controlfile from '/opt/oracle/product/9.2.0/dbs/c-3152029224-20051221-00';Starting restore at 05-FEB-06using channel ORA_DISK_1channel ORA_DISK_1: restoring controlfilechannel ORA_DISK_1: restore completereplicating controlfileinput filename=/opt/oracle/oradata/conner/control01.ctloutput filename=/opt/oracle/oradata/conner/control02.ctloutput filename=/opt/oracle/oradata/conner/control03.ctlFinished restore at 05-FEB-06 

网管联盟bitsCN@com

4.直接从幸存的文件中读取

网管u家u.bitscn@com

由于DBID存在于数据文件及控制文件中,所以我们可以通过PL/SQL程序直接从文件中读取:

中国网管论坛bbs.bitsCN.com

SQL> select eygle.get_dbid('/opt/oracle/oradata/conner','user02.dbf') from dual;
EYGLE.GET_DBID('/OPT/ORACLE/OR
------------------------------
3152029224

网管bitscn_com

SQL> select dbid from v$database;

网管bitscn_com

DBID
----------
3152029224  网管bitscn_com

这种方法仅为测试兴趣所致,不被推荐. 网管论坛bbs_bitsCN_com

  网管网www.bitscn.com


TAGs数据库   获得   如何   DBID   恢复   备份   控制    
 上一篇:oracle数据库运算:intersect和minus运算   下一篇:数据库备份与恢复测试(5)
相关文章列表
Oracle-如何获得数据库的DBID 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
1.扫盲行动之:如何刻录ISO文件!(附多媒
2.如何使用iso文件?
3.简单的Oracle存储过程的创建方法
4.Oracle冷备份的不完全恢复
5.在LINUX下配置DNS
6.Oracle数据库备份与恢复的三种方法
7.设置TOMCAT PATH,CLASSPATH变量
8.linux下如何搜索文件?
9.专家在线:全面介绍恢复Oracle数据库
10..bz2文件如何解压缩
最新推荐文章:
1.容灾项目需要注意的几大问题
2.系统损坏情况下恢复 Oracle 10g 数据库
3.使用RMAN进行基于表空间的恢复
4.Oracle数据库常见错误操作及解决方案
5.专家在线:全面介绍恢复Oracle数据库
6.包含复制环境的数据库迁移
7.FLASHBACK TABLE对全文索引的影响
8.在Flashback数据库上获得较高可用性
9.Oracle数据库备份与恢复的三种方法
10.Oracle常用数据字典
网管论坛交流:
·不疯魔不成活
·令你大开眼界的真正标准化机房,已整理重
·为赈灾,女孩舍身拍“裸照”
·Windows Server 2003服务器群集创建和配
·exchange2k3全套官方资料
·双儿一周岁了。。。特殊的礼物来啦。。
·存储备份技术版块守则
·无盘技术交流区守则
·DOS命令基础大全之命令详解<作者吐血
·Windows XP 操作系统默认设置需要注意的