• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >oracle > oracle中如何获得数据库的DBID信息

oracle中如何获得数据库的DBID信息

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了oracle dbid,oracle 查询dbid,oracle 查看dbid,dbid,dbid是什么等相关知识,希望本文的分享对您有所帮助

1.查询v$database获得

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

2.在nomount状态时

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

这里的3152029224就是DBID。在10g中,使用Flash Recovery Area,则没有这个命名规则。

3.从自动备份中恢复

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

Recovery Manager: Release 9.2.0.4.0 - Production

Copyright (c) 1995, 2002, Oracle Corporation.  All rights reserved.

connected to target database: conner (not mounted)

RMAN> restore controlfile from autobackup;

Starting restore at 05-FEB-06

using target database controlfile instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=11 devtype=DISK
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
</div>

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

Starting restore at 05-FEB-06

using channel ORA_DISK_1
channel ORA_DISK_1: restoring controlfile
channel ORA_DISK_1: restore complete
replicating controlfile
input filename=/opt/oracle/oradata/conner/control01.ctl
output filename=/opt/oracle/oradata/conner/control02.ctl
output filename=/opt/oracle/oradata/conner/control03.ctl
Finished restore at 05-FEB-06
</div>

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

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

EYGLE.GET_DBID('/OPT/ORACLE/OR
------------------------------
3152029224
SQL> select dbid from v$database;
DBID
----------
3152029224
</div>

其实更简单的,用BBED就好了。

这种方法仅为测试兴趣所致,不被推荐.

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • oracle中如何获得数据库的DBID信息

相关文章

  • 2017-05-11ORACLE应用经验(2)
  • 2017-05-11ORACLE常见错误代码的分析与解决(一)
  • 2017-05-11Oracle 11g Release (11.1) 索引底层的数据结构
  • 2017-05-11Oracle数学相关函数小结
  • 2017-05-11oracle单库彻底删除干净的执行步骤
  • 2017-05-11关于ORACLE通过file_id与block_id定位数据库对象遇到的问题引发的思考
  • 2017-05-11优化Oracle停机时间及数据库恢复
  • 2017-05-11CentOS 6.3下安装部署Oracle服务器图文教程
  • 2017-05-11Oracle客户端与plsql查询数据乱码修改成中文的快速解决方法
  • 2017-05-11Oracle数据库下载及安装图文操作步骤

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • PL/SQL Dev连接Oracle弹出空白提示框的解决方法分享
    • 深入Oracle的left join中on和where的区别详解
    • Oracle数据表中的死锁情况解决方法
    • oracle ORA-00031:session marked for kill(标记要终止的会话)解决方法
    • oracle while的用法示例分享
    • Oracle性能究极优化 下
    • oralce 计算时间差的实现
    • Oracle 用户权限管理方法
    • Oracle parameter可能值获取方法
    • 快速查出Oracle数据库中锁等待的方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有