暂无图片
分享
多米爸
2019-07-02
oracle NOMOUNT 下如何查询DBID

oracle 在NOMOUNT 状态下如何查询DBID

收藏
分享
4条回答
默认
最新
张小帅

直接查是不行的,dbid有记录在控制文件,可以借助bbed工具来查看

暂无图片 评论
暂无图片 有用 0
打赏 0
燕鑫

先安个bbed,然后查看1号文件(system表空间的数据文件)的1号块的@28字节偏移量处:

举个例子:

SQL> select dbid from v$database;

      DBID

----------

4281133257


SQL> select name from v$datafile where file#=1;

NAME

--------------------------------------------------------------------------------

/u01/app/oracle/oradata/YX/datafile/o1_mf_system_fx29crln_.dbf


这是我这个数据库的dbid和1号文件的绝对路径:

打开bbed:



BBED> set filename '/u01/app/oracle/oradata/YX/datafile/o1_mf_system_fx29crln_.dbf' 

        FILENAME        /u01/app/oracle/oradata/YX/datafile/o1_mf_system_fx29crln_.dbf


BBED> set block 1

        BLOCK#          1


BBED> map /v

 File: /u01/app/oracle/oradata/YX/datafile/o1_mf_system_fx29crln_.dbf (0)

 Block: 1                                     Dba:0x00000000

------------------------------------------------------------

 Data File Header


 struct kcvfh, 1248 bytes                   @0       

    struct kcvfhbfh, 20 bytes               @0       

    struct kcvfhhdr, 76 bytes               @20  

...


BBED> p kcvfhhdr

struct kcvfhhdr, 76 bytes                   @20      

   ub4 kccfhswv                             @20       0x00000000

   ub4 kccfhcvn                             @24       0x0c200000

   ub4 kccfhdbi                             @28       0xff2ce8c9

   text kccfhdbn[0]                         @32      Y

   text kccfhdbn[1]                         @33      X


ub4 kccfhdbi对应的哪个就是dbid,随便找个计算器什么的,转化成10进制就行:


SQL> select to_number('ff2ce8c9','xxxxxxxxxxxx') from dual;


TO_NUMBER('FF2CE8C9','XXXXXXXXXXXX')

------------------------------------

                          4281133257


暂无图片 评论
暂无图片 有用 0
打赏 0
燕鑫

如果你有旧的控制文件备份,可以先恢复出来,启动到mount,然后alter session set events 'immediate trace name controlf level 3';从trace里面也能找到dbid。

暂无图片 评论
暂无图片 有用 0
打赏 0
多米爸
问题已关闭: 问题已经得到解决
暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
Oracle如何导入换行数据
回答 4
已采纳
1,把外部文件处理一下,换行符增加为2个字符,如[root@oel7db1]cattestabc2023ab1d2023bcde2023[root@oel7db1]sed":a;N;/2023/s/\
oracle 12.1版本 中如何限制各个PDB的processes和session值
回答 1
可以限制内存、CPU和IOCONN/ASSYSDBAALTERSESSIONSETCONTAINERpdb1;ALTERSYSTEMSETmaxiops100SCOPEBOTH;ALTERSYSTEM
category: 1234, operation: scls_process_spawn, loc: read_pipe, OS error: 12, other: EOF on read pipe
回答 2
上传附件:alertiesdb1.log
zabbix监控Oracle的安装:装好了zabbix,oracle123后可用性总是为红色,显示连接被拒接?
回答 1
没连上呗,检查一下网络、监听、连接字符串等是否配置正确
Tomcat应用连接Oracle11g Rac
回答 3
在ORACLE的RAC中,经常会在多个节点的内存数据同步时发生gc等待,但这更多的是由于程序编写问题导致的,存在太多大内存长时间的事务或者极频繁的查询,想通过tomcat配置来解决这个问题基本上是不太
关于oracle 10g的pga和sga
回答 1
sga官方建议是物理内存的64%
有没有Oracle大牛,来回答一下这个问题
回答 4
上面已经讲的很清楚,我就不讲了
我在Oracle日志表里边没有查到关于一张表的删除记录 但表中数据无缘无故就被清除了,什么情况?
回答 1
可以试试logminer看看有没有相关删除或者清空的操作
Oracle 数据迁移到 postgreSQL,有没有开源工具推荐?
回答 4
已采纳
阿里datax
如何授权可以让普通用户执行dbms_spm 包, 不能授权dba角色?
回答 1
已采纳
GRANTADMINISTERSQLMANAGEMENTOBJECTtoUSER;