查看: 8192|回复: 5

[备份恢复] 获取DBID的几种方法

[复制链接]
论坛徽章:
7
ITPUB十周年纪念徽章
日期:2011-11-01 16:25:222013年新春福章
日期:2013-02-25 14:51:24优秀写手
日期:2013-12-18 09:29:082014年新春福章
日期:2014-02-18 16:44:08马上有对象
日期:2014-02-18 16:44:08喜羊羊
日期:2015-03-04 14:52:462015年新春福章
日期:2015-03-06 11:58:18
跳转到指定楼层
1#
发表于 2014-4-20 21:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

                            获取DBID的几种方法
    在使用RMAN的时候,dbid极为重要,dbid唯一的标识了一个数据库。在12C的CDB架构
中每个pdb都有自己的pdb。可以通过以下几种方法来查询数据库的pdb

1,查询v$database中的dbid或是12C的v$containers
SQL> select dbid from v$database;
      DBID
----------
461042625

SQL> select name,dbid from v$pdbs;
NAME                                 DBID
------------------------------ ----------
PDB$SEED                       4062019834
PDBNEW3                        3955412277
PDB2                           3885634569

SQL> select name,dbid from v$containers;
NAME                                 DBID
------------------------------ ----------
CDB$ROOT                        461042625
PDB$SEED                       4062019834
PDBNEW3                        3955412277
PDB2                           3885634569
2,通过RMAN的输出来得到当前的dbid或nid
[oracle@o12c ~]$ $ORACLE_HOME/bin/rman target / nocatalog
Recovery Manager: Release 12.1.0.1.0 - Production on Wed Mar 12 02:16:24 2014
Copyright (c) 1982, 2013, Oracle and/or its affiliates.  All rights reserved.
connected to target database: C12 (DBID=461042625)
......................................

[oracle@o12c ~]$ nid target=c12 sys/sys
DBNEWID: Release 12.1.0.1.0 - Production on Wed Mar 12 02:27:14 2014
Copyright (c) 1982, 2013, Oracle and/or its affiliates.  All rights reserved.
Connected to database C12 (DBID=461042625)
NID-00121: Database should not be open
.........................................

3,通过controlfile autobackup生成的文件名.当rman配置成controlfile autobackup on
且没有定义FRA时,RMAN会自动备份控制文件到$ORACLE_HOME/dbs目录下,其中的文件名就包含
了dbid信息
RMAN> show controlfile autobackup;
RMAN configuration parameters for database with db_unique_name C12 are:
CONFIGURE CONTROLFILE AUTOBACKUP ON; # default
SQL> alter system set db_recovery_file_dest='';
System altered.
SQL> show parameter db_recovery_file_dest;
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest                string
db_recovery_file_dest_size           big integer 10G

RMAN> backup tablespace users;
......................
Starting Control File and SPFILE Autobackup at 12-MAR-14
piece handle=/u01/app/oracle/product/12.1.0/db_1/dbs/c-461042625-20140312-03 comment=NONE
Finished Control File and SPFILE Autobackup at 12-MAR-14.
.........................
c-461042625-20140312-03 文件中的461042625为数据库的dbid信息.

4,前三种方法都是在正常的情况下情况得到的,对于很多时候我们可能并没有记录dbid信息,这时候
只有数据文件或是控制文件就可以了,然后通过dump文件来得到

SQL> startup nomount;
ORACLE instance started.
Total System Global Area  835104768 bytes
Fixed Size                  2293880 bytes
Variable Size             322965384 bytes
Database Buffers          503316480 bytes
Redo Buffers                6529024 bytes
SQL> alter system dump datafile '/u01/app/oracle/oradata/c12/sysaux01.dbf' block 1;
System altered.
SQL>  oradebug setmypid;
Statement processed.
SQL>  oradebug tracefile_name;
/u01/app/oracle/diag/rdbms/c12/c12/trace/c12_ora_5435.trc
数据件头信息
Start dump data block from file /u01/app/oracle/oradata/c12/sysaux01.dbf minblk 1 maxblk 1
V10 STYLE FILE HEADER:
        Compatibility Vsn = 202375168=0xc100000
        Db ID=461042625=0x1b7af3c1, Db Name='C12'
        Activation ID=0=0x0
        Control Seq=34457=0x8699, File size=192000=0x2ee00
        File Number=3, Blksiz=8192, File Type=3 DATA
Dump all the blocks in range:
Db ID=461042625=0x1b7af3c1为该数据库的dbid信息


SQL> alter session set events 'immediate trace name controlf level 4';
Session altered...
....................
PLUGGABLE DATABASE RECORDS
***************************************************************************
(size = 684, compat size = 684, section max = 10, section in-use = 5,
  last-recid= 16, old-recno = 0, last-recno = 0)
(extent = 1, blkno = 550, numrecs = 10)
Pluggable DataBase record=1
  id=1
  dbid=461042625
  name=CDB$ROOT
  first datafile link=1
............................
Pluggable DataBase record=3
  id=3
  dbid=3955412277
  name=PDBNEW3
  first datafile link=40
..............................
通过dump controlfile得到的信息最为详尽,其中包括了所有的pdb的dbid信息.

论坛徽章:
190
生肖徽章:狗
日期:2006-11-23 04:26:03生肖徽章:羊
日期:2007-09-26 17:08:21生肖徽章:马
日期:2007-09-26 17:08:49授权会员
日期:2007-12-31 19:14:41生肖徽章2007版:牛
日期:2008-03-28 10:02:30奥运会纪念徽章:柔道
日期:2008-04-30 16:28:44奥运会纪念徽章:垒球
日期:2008-05-12 21:28:28奥运会纪念徽章:体操
日期:2008-06-26 10:00:41奥运会纪念徽章:沙滩排球
日期:2008-07-27 12:41:59奥运会纪念徽章:艺术体操
日期:2008-07-30 11:09:47
2#
发表于 2014-4-21 11:05 | 只看该作者
够全面了。呵呵

使用道具 举报

回复
论坛徽章:
7
ITPUB9周年纪念徽章
日期:2010-10-08 09:31:212011新春纪念徽章
日期:2011-02-18 11:43:34鲜花蛋
日期:2011-05-26 15:54:08ITPUB十周年纪念徽章
日期:2011-11-01 16:25:512012新春纪念徽章
日期:2012-01-04 11:56:44秀才
日期:2016-01-21 13:42:39射手座
日期:2016-03-04 16:38:02
3#
发表于 2014-4-21 11:12 | 只看该作者
其实获得dbid的方法还有,get_dbid,bbed,

使用道具 举报

回复
论坛徽章:
4
优秀写手
日期:2013-12-21 06:00:142014年新春福章
日期:2014-02-18 16:50:09马上有车
日期:2014-02-18 16:50:09秀才
日期:2017-09-18 17:34:25
4#
发表于 2014-4-21 18:35 | 只看该作者

补一个:根据自动备份的控制文件得到自动备份的控制文件名为:c-IIIIIIIIII-YYYYMMDD-QQ  ,其中IIIIIIIIII就是数据库的DBID;

使用道具 举报

回复
求职 : 数据库管理员
论坛徽章:
19
ITPUB 11周年纪念徽章
日期:2012-10-09 18:14:482016猴年福章
日期:2016-02-23 09:58:342016猴年福章
日期:2016-02-18 09:31:30金牛座
日期:2016-01-13 09:11:33ITPUB14周年纪念章
日期:2015-10-26 17:23:44巨蟹座
日期:2015-10-20 10:17:21马上有对象
日期:2014-02-18 16:44:082014年新春福章
日期:2014-02-18 16:44:08ITPUB社区12周年站庆徽章
日期:2013-10-17 13:56:59ITPUB社区12周年站庆徽章
日期:2013-10-08 17:44:42
5#
发表于 2014-4-21 19:17 | 只看该作者
winerr 发表于 2014-4-21 11:12
其实获得dbid的方法还有,get_dbid,bbed,

哥们把方法写出来,让大家学习学习

使用道具 举报

回复
论坛徽章:
4
ITPUB十周年纪念徽章
日期:2011-11-01 16:26:29优秀写手
日期:2014-04-15 06:00:112015年新春福章
日期:2015-03-04 14:53:162015年新春福章
日期:2015-03-06 11:58:39
6#
发表于 2014-4-22 10:46 | 只看该作者
谢谢分享,赶快把生产数据库DBID都存下来。

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表