[20161003]如何知道数据库的dbid.txt

简介: [20161003]如何知道数据库的dbid.txt --别人问的问题,实际上数据恢复我自己都很少需要知道它。实际上方法很多。 --自己做一些测试。 1.环境: SYS@test> select * from v$version where rownum=1;...
[20161003]如何知道数据库的dbid.txt

--别人问的问题,实际上数据恢复我自己都很少需要知道它。实际上方法很多。
--自己做一些测试。

1.环境:
SYS@test> select * from v$version where rownum=1;
BANNER                                                                               CON_ID
-------------------------------------------------------------------------------- ----------
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production              0

2.方法1:
--如果能找到控制文件,启动到mount模式。
--控制文件其实无处不在,如果你做rman备份。
SYS@test> startup mount
ORACLE instance started.

Total System Global Area 1252663296 bytes
Fixed Size                  2402152 bytes
Variable Size             788531352 bytes
Database Buffers          452984832 bytes
Redo Buffers                8744960 bytes
Database mounted.

D:\tools\rlwrap>rman target /
rman target /
Recovery Manager: Release 12.1.0.1.0 - Production on Tue Oct 4 21:02:45 2016
Copyright (c) 1982, 2013, Oracle and/or its affiliates.  All rights reserved.
connected to target database: TEST (DBID=2119378787, not open)

RMAN> show  SNAPSHOT CONTROLFILE name;
RMAN configuration parameters for database with db_unique_name TEST are:
CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'D:\APP\ORACLE\PRODUCT\12.1.0\DBHOME_1\DATABASE\SNCFTEST.ORA'; # default

--也可以执行如下转储:
SYS@test> alter session set events 'immediate trace name controlf level 3';
Session altered.

3.方法2:
--如果你没有控制文件,你做过rman备份,看看备份时留下的日志,其实也能找到dbid。

4.方法3:
--找一个数据文件当然最好system数据文件,做1个转储就能知道dbid。
--实际上你可以把这个文件拷贝到别的机器,使用别的机器做转储:

SYS@test> alter system dump datafile 'D:\app\oracle\oradata\test\SYSTEM01.DBF' block 1 ;
System altered.

--//注意在mount下,datfile后不能跟数字,而是使用文件名。
--//检查转储:

Start dump data block from file D:\APP\ORACLE\ORADATA\TEST\SYSTEM01.DBF minblk 1 maxblk 1
 V10 STYLE FILE HEADER:
    Compatibility Vsn = 202375168=0xc100000
    Db ID=2119378787=0x7e532763, Db Name='TEST'
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Activation ID=0=0x0
    Control Seq=266950=0x412c6, File size=112640=0x1b800
    File Number=1, Blksiz=8192, File Type=3 DATA
Dump all the blocks in range:
End dump data block from file D:\APP\ORACLE\ORADATA\TEST\SYSTEM01.DBF minblk 2 maxblk 1

5.方法4,使用bbed:
BBED> info
 File#  Name                                                         Size(blks)
 -----  ----                                                         ----------
     1  D:\APP\ORACLE\ORADATA\TEST\SYSTEM01.DBF                               0
     2  D:\APP\ORACLE\ORADATA\TEST\PDBSEED\SYSTEM01.DBF                       0
     3  D:\APP\ORACLE\ORADATA\TEST\SYSAUX01.DBF                               0
     4  D:\APP\ORACLE\ORADATA\TEST\PDBSEED\SYSAUX01.DBF                       0
     5  D:\APP\ORACLE\ORADATA\TEST\UNDOTBS01.DBF                              0
     6  D:\APP\ORACLE\ORADATA\TEST\USERS01.DBF                                0
     7  D:\APP\ORACLE\ORADATA\TEST\TEST01P\SYSTEM01.DBF                       0
     8  D:\APP\ORACLE\ORADATA\TEST\TEST01P\SYSAUX01.DBF                       0
     9  D:\APP\ORACLE\ORADATA\TEST\TEST01P\SAMPLE_SCHEMA_USERS01.DBF          0
    10  D:\APP\ORACLE\ORADATA\TEST\TEST01P\EXAMPLE01.DBF                      0
    15  D:\APP\ORACLE\ORADATA\TEST\TEST01P\LFREE01.DBF                        0

BBED> set dba 1,2
        DBA             0x00400002 (4194306 1,2)
--//注,我使用windows版本的bbed,无法识别数据文件的第1块,出现偏差,实际上正常使用set dba 1,1.

BBED> p /d kcvfh.kcvfhhdr.kccfhdbi
ub4 kccfhdbi                                @28       2119378787

BBED> p /x kcvfh.kcvfhhdr.kccfhdbi
ub4 kccfhdbi                                @28       0x7e532763

6.应该还有其他方法,我仅仅知道这些。
目录
相关文章
|
14天前
|
SQL Oracle 关系型数据库
PLSQL还原DMP数据库的详细步骤
PLSQL还原DMP数据库的详细步骤
24 6
|
2月前
|
SQL 关系型数据库 测试技术
详解DB2 restore恢复数据库
本文介绍了将生产数据库完整恢复到测试环境的具体步骤和注意事项。包括检查服务器空间、上传数据库文件、停掉数据库连接、查看日志、设置编码页、日志重定向、设置表空间大小、执行恢复、前滚日志、恢复字符集、善后工作等操作,帮助确保数据恢复过程顺利进行。
130 0
|
6月前
|
存储 安全 Linux
使用 `db_dump` 命令备份 Berkeley DB 数据库
`db_dump` 是 Linux 中用于备份 Berkeley DB 数据库的工具,它将数据库内容转储到输出或文件。
|
7月前
|
存储 SQL 关系型数据库
探索数据库的世界:DB、DBMS、DBA、DBS的全面介绍
探索数据库的世界:DB、DBMS、DBA、DBS的全面介绍
926 0
|
SQL 关系型数据库 数据库
Windows服务器DB2数据库建库过程演示,db2创建表空间、分配权限
Windows服务器DB2数据库建库过程演示,db2创建表空间、分配权限
340 0
|
Oracle 算法 关系型数据库
Oracle如何修改数据库的DBID和DBNAME?
Oracle如何修改数据库的DBID和DBNAME?
445 0
|
SQL Oracle 关系型数据库
Oracle 数据泵迁移用户创建 SQL语句
在进行数据泵迁移时,通常是按照用户进行导入导出,因此需要确认当前数据库中存在那些非系统用户!
|
SQL Oracle 关系型数据库
Oracle 数据库迁移一键创建源库表空间 SQL语句
⭐️ 获取需要迁移的用户可以参考:Oracle 数据泵迁移用户创建 SQL语句
|
Oracle 关系型数据库 Linux
利用nid修改数据库的DBID
oracle在恢复中常用到dbid,dbid的作用是什么,它和db_name是不是一一对应关系?
|
SQL Oracle 关系型数据库
[20180104]oracle临时表.txt
[20180104]oracle临时表.txt --//简单探究oracle临时表,oracle对于临时表日志记录相对普通表DML操作日志量要少,因为临时表dml操作不需要记录后映像,仅仅为了rollback操作, --//仅仅在日志文件中记录undo产生的日志以及少量递归事务.
976 0