网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.Oracle数据库中临时表的进一步深.
.关于库存余额、财务收支余额的计.
.简述数据库导入Oracle SQL*Loade.
.经典的问题与解答(2).
.buffer cache深度分析:概念以及.
.Oracle常见错误代码的分析与解决.
.Oracle TNSNAMES.ORA配置.
.DBA生存之四大守则.
.Oracle8网站应用简介(NT+IIS+AS.
.如何搞垮他的数据库——谈Oracle.
.RMAN的备份及恢复-丢失所有控制文.
.Oracle RMAN快速入门指南.
.Linux文件系统的反删除方法.
.实例讲解如何使用Oracle数据库to.
.Oracle学习笔记之二----查询.
.如何让数据库使用spfile启动.
.ASSM内部存储研究大揭密.
.Oracle 8i中字符集乱码问题.
.Oracle DBA 常用 Script 第二部分.
.[总结]sga中的名词解释!.

Oracle-如何获得数据库的DBID

发表日期:2008-2-9


在进行数据库恢复的过程中,很多时候我们需要知道Oracle数据库的DBID,通常有以下几种方法可以获得数据库的DBID. 1.查询v$database获得 由于DBID在控制文件和数据文件中都存在记录,所以假如能够mount数据库就可以查询v$database视图获得. SQL> alter database mount; Database altered. SQL> select dbid from v$database;       DBID ---------- 3152029224 SQL>   2.在nomount状态时 假如数据库配置了自动控制文件备份(Oracle9i),并且名称是缺省的,那么我们可以从自动备份文件获得DBID. [oracle@jumper dbs]$ cd $ORACLE_HOME/dbs
[oracle@jumper dbs]$ ll c-*
-rw-r----- 1 oracle dba 3375104 Dec 21 11:13 c-3152029224-20051221-00
-rw-r----- 1 oracle dba 3358720 Jan 21 14:03 c-3152029224-20060121-00
-rw-r----- 1 oracle dba 3358720 Jan 21 14:08 c-3152029224-20060121-01 这里的3152029224就是DBID. 3.从自动备份中恢复 需要或缺DBID进行恢复通常是因为丢失了所有的控制文件.在恢复时会碰到错误. [oracle@jumper dbs]$ rman target  / 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 假如存在自动备份,我们通常可以直接恢复控制文件,mount数据库之后就好办了: RMAN> restore controlfile from '/opt/oracle/product/9.2.0/dbs/c-3152029224-20051221-00';Starting restore at 05-FEB-06using channel ORA_DISK_1channel ORA_DISK_1: restoring controlfilechannel ORA_DISK_1: restore completereplicating controlfileinput filename=/opt/oracle/oradata/conner/control01.ctloutput filename=/opt/oracle/oradata/conner/control02.ctloutput filename=/opt/oracle/oradata/conner/control03.ctlFinished restore at 05-FEB-06  4.直接从幸存的文件中读取 由于DBID存在于数据文件及控制文件中,所以我们可以通过PL/SQL程序直接从文件中读取: SQL> select eygle.get_dbid('/opt/oracle/oradata/conner','user02.dbf') from dual;
EYGLE.GET_DBID('/OPT/ORACLE/OR
------------------------------
3152029224 SQL> select dbid from v$database; DBID
----------
3152029224  这种方法仅为测试爱好所致,不被推荐.

上一篇:Oracle 10g对DBWR的SCAN间隔进行了调整 人气:704
下一篇:oracle入门学习 人气:843
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐