在数据库各种状态下查询DBID的五大类十种方法汇总
关于DBID:
DBID是DataBase IDentifier的缩写,意思就是数据库的唯一标识符。
这个DBID在数据文件头和控制文件都是存在的,可以用于标示数据文件的归属。
对于不同数据库来说,DBID应当不同,而db_name则可能是相同的。
但是DBID是可变的,在进行数据库Clone等操作时,DBID可以被重置。
dbid是一个根据db_name \ db create time等hash出来的值
NOMOUNT/MOUNT/OPEN及未打开数据库等状态时,查询或获取数据库DBID的方法汇总:五大种类合计10种方法
一、数据库MOUNT/OPEN时,从v$database查询获得
1.由于DBID在控制文件和数据文件中都存在记录,所以如果能够mount数据库就可以查询v$database视图获得.
BYS@ bys3>select dbid,open_mode from v$database;
DBID OPEN_MODE
---------- --------------------
3358363031 READ WRITE
SYS@ bys3>select dbid,open_mode from v$database;
DBID OPEN_MODE
---------- --------------------
3358363031 MOUNTED
二、使用RMAN的自动备份或日志来获取:
2.从自动备份控制文件集的名字查询DBID,详见:http://blog.csdn.net/q947817003/article/details/16370735
3.从RMAN备份时产生的日志文件查询DBID,与上一步在同一篇博客。详见:http://blog.csdn.net/q947817003/article/details/16370735
三、通过oracle event来dump数据文件头、日志文件头、控制文件头信息来获取DBID
下面三种方法都
要求数据库在MOUNT或OPEN状态,且只能DUMP自己数据库的文件。
4.通过oracle event来dump数据文件头来获取DBID,详见:http://blog.csdn.net/q947817003/article/details/16369041
5.通过oracle event来dump控制文件头来获取DBID,详见:http://blog.csdn.net/q947817003/article/details/16370273
6.通过oracle event来dump REDO日志文件头来获取DBID,详见:http://blog.csdn.net/q947817003/article/details/16370539
四、通过alter system dump logfile命令来DUMP REDO及归档日志
这种方法数据库可以在NOMOUNT/MOUNT/OPEN阶段,只用指定文件名,就可以DUMP自己数据库或其它数据库的文件(传到当前库)。
个人见解:
在需要DBID才能进行数据恢复时,alter system dump logfile 'filename';明显适应更多更复杂的场景,因为REDO日志或归档日志总会剩一个两个的,凭此就可以找到DBID了,哈哈。
7.通过alter system dump logfile命令来DUMP REDO日志文件头来获取DBID,详见:http://blog.csdn.net/q947817003/article/details/16370203
8.通过alter system dump logfile命令来DUMP 归档日志文件头来获取DBID,方法了上一步完全一样。详见:http://blog.csdn.net/q947817003/article/details/16370203
五.用BBED--未使用过,暂时不实验了。
六、不是技术的技术---安装完成库后及时记录DBID、DB_NAME等信息--管理的数据库多可以打印成表格或者可以记录在本子上之类哈哈。
在数据库各种状态下查询DBID的五大类十种方法汇总的更多相关文章
- Linux下查看线程数的几种方法汇总
Linux下查看线程数的几种方法汇总 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Linux下查看某个进程的线程数量 pstree命令以树状图显示进程间的关系(display ...
- 无索引状态下比较DataTable的几种过滤方法效率
先构造一个DataTable: public DataTable GetDataTable() { DataTable dtTmp = new DataTable(); dtTmp.Columns.A ...
- CMD下查询Mysql中文乱码的解决方法
我的MySQL是默认utf8编码的,所建数据库也是设置utf8编码,使用程序可以新增中文数据,在cmd中使用SQL语句新增数据则报类似Incorrect string value: '\xB2\xE2 ...
- 安卓开发笔记(十三):SQLite数据库储存(下)数据的增添,更改,删除,查询
SQLite数据库存储(下) 1.增添数据 对于添加数据的话我们只需要在主活动当中import新的包以及在主活动当中写上适当的代码就可以了,不需要在我们之前创建新的类当中书写新的代码.现在的主活动 ...
- Oracle数据库的状态查询
本文来源:huang_xw 的<Oracle数据库的状态查询> 1 状态查询 启动状态 SQL语句 结果 nomount select status from v$instance; ST ...
- 根据sys.database_mirroring查询镜像数据库同步状态
SELECT * FROM sys.database_mirroring WHERE database_id =DB_ID('dbname') 主要查看mirroring_state字段和值和mirr ...
- oracle数据库实例状态
1.已启动/不装载(NOMOUNT).启动实例,但不装载数据库. 该模式用于重新创建控制文件,对控制文件进行恢复或重新创建数据库.2.已装载(MOUNT).装载数据库,但不打开数据库. 该模式用于更改 ...
- (2.13)备份与还原--sql server数据库主要状态和切换路径
SQLSERVER数据库主要状态和切换路径 关键词:数据库状态 一个SQLSERVER数据库会处于很多种状态,例如 ONLINE .RESTORING .RECOVERING .RECOVERY_PE ...
- .NET平台开源项目速览(7)关于NoSQL数据库LiteDB的分页查询解决过程
在文章:这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧!(第二辑) 与 .NET平台开源项目速览(3)小巧轻量级NoSQL文件数据库LiteDB中,介绍了LiteDB的基本使用情况以及部 ...
随机推荐
- Dialog第三方登录等待
1. styles.xml 中加入 <style name="loadingDialogStyle" parent="android:Theme.Dialog&qu ...
- Windows Live Writer测试插件
这是用WLW写的,测试 这是图片: 这是地图: 这是代码: 一会重发
- $http POST 转字符串
- 私有pod简记
http://www.jianshu.com/p/7a82e977281c http://www.jianshu.com/p/ddc2490bff9f 两个工程 1 代码工程 在github上创建一个 ...
- 【转】iOS学习之Autolayout(代码添加约束) -- 不错不错
原文网址:http://www.cnblogs.com/HypeCheng/articles/4192154.html DECEMBER 07, 2013 学习资料 文章 Beginning Auto ...
- Mem Cgroup目录无法清理问题分析
http://blogs.360.cn/360xitong/2013/05/02/mem-cgroup%E7%9B%AE%E5%BD%95%E6%97%A0%E6%B3%95%E6%B8%85%E7% ...
- C#中的值类型(value type)与引用类型(reference type)的区别
ylbtech- .NET-Basic:C#中的值类型与引用类型的区别 C#中的值类型(value type)与引用类型(reference type)的区别 1.A,相关概念返回顶部 C#中 ...
- Storm实战常见问题及解决方案
该文档为实实在在的原创文档,转载请注明: http://blog.sina.com.cn/s/blog_8c243ea30101k0k1.html 类型 详细 备注 该文档是群里几个朋友在storm实 ...
- 通过ListActivity使用ListView布局方法
先简单的介绍一下ListActivity ListActivity是一个专门显示ListView的Activity类,它内置了ListView对象,只要我们设置了数据源,就会自动地显示出来.ListA ...
- UITextView 不左上角显示
在Autolayout中 UITextView显示不左上角显示,修改如下 在viewDidLoad里面添加如下代码 if([[[UIDevice currentDevice] systemVersio ...