当前位置:  数据库>oracle

Oracle实验:用BBED恢复误删记录的全过程

    来源: 互联网  发布时间:2017-04-29

    本文导语: 1 准备测试环境:SQL> create table c as select * from dept; Table created. SQL> select * from c;     DEPTNO DNAME          LOC---------- -------------- -------------        10 ACCOUNTING     NEW YORK        20 RESEARCH       DALLAS        30 SALES  ...

1 准备测试环境:
SQL> create table c as select * from dept;

Table created.

SQL> select * from c;

    DEPTNO DNAME          LOC
---------- -------------- -------------
        10 ACCOUNTING     NEW YORK
        20 RESEARCH       DALLAS
        30 SALES          CHICAGO
        40 OPERATIONS     BOSTON




SQL> select rowid,c.* from c;

ROWID                  DEPTNO DNAME          LOC
------------------ ---------- -------------- -------------
AAAM5/AAEAAAEmEAAA         10 ACCOUNTING     NEW YORK
AAAM5/AAEAAAEmEAAB         20 RESEARCH       DALLAS
AAAM5/AAEAAAEmEAAC         30 SALES          CHICAGO
AAAM5/AAEAAAEmEAAD         40 OPERATIONS     BOSTON




SQL> select get_rowid('AAAM5/AAEAAAEmEAAA') row_id from dual;

ROW_ID
--------------------------------------------------------------------------------
Object# is      :52863
Relative_fno is :4
Block number is :18820
Row number is   :0




ps:
get_rowid 这个函数是用来获得row_id的详信息,实现如下:
create or replace function get_rowid
(l_rowid in varchar2)
return varchar2
is
ls_my_rowid varchar2(200);
rowid_type number;
object_number number;
relative_fno number;
block_number number;
row_number number;
begin
 dbms_rowid.rowid_info(l_rowid,rowid_type,object_number,relative_fno,block_number,row_number);
 ls_my_rowid := 'Object# is      :'||to_char(object_number)||chr(10)||
  'Relative_fno is :'||to_char(relative_fno)||chr(10)||
  'Block number is :'||to_char(block_number)||chr(10)||
  'Row number is   :'||to_char(row_number);
 return ls_my_rowid;
end;


















 

2

登入bbed
[Oracle@localhost ~]$ bbed parfile=bbed.par
Password:

BBED: Release 2.0.0.0.0 - Limited Production on Thu Jun 14 13:09:44 2012

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

************* !!! For Oracle Internal Use only !!! ***************

 

BBED> set dba 4,18820
        DBA             0x01004984 (16796036 4,18820)

BBED> find /c ACCOUNTING TOP
 File: /u01/app/oracle/oradata/ORCL/datafile/o1_mf_users_7wvsw7hg_.dbf (4)
 Block: 18820            Offsets: 8169 to 8191           Dba:0x01004984
------------------------------------------------------------------------
 4143434f 554e5449 4e47084e 45572059 4f524b02 06483a



 

BBED> dump /v dba 4,18820 offset 8169 count 23
 File: /u01/app/oracle/oradata/ORCL/datafile/o1_mf_users_7wvsw7hg_.dbf (4)
 Block: 18820   Offsets: 8169 to 8191  Dba:0x01004984
-------------------------------------------------------
 4143434f 554e5449 4e47084e 45572059 l ACCOUNTING.NEW Y
 4f524b02 06483a                     l ORK..H:




 

 

BBED> p *kdbr[0]  --*kdbr[n],其中n是row number
rowdata[66]
-----------
ub1 rowdata[66]                             @8162     0x2c


BBED> dump /v dba 4,18820 offset 8162 count 23
 File: /u01/app/oracle/oradata/ORCL/datafile/o1_mf_users_7wvsw7hg_.dbf (4)
 Block: 18820   Offsets: 8162 to 8184  Dba:0x01004984
-------------------------------------------------------
 2c000302 c10b0a41 43434f55 4e54494e l ,...�..ACCOUNTIN
 47084e45 572059                     l G.NEW Y




 

 以上是完好的行,accounting所在行显示为2c,那么,到sqlplus,将其删除:


    
 
 

您可能感兴趣的文章:

  • Oracle 11G安装全过程
  • Oracle 11g服务器与客户端卸载、安装全过程
  • Oracle10g RAC for Linux配置全过程
  • Oracle数据库恢复后心得
  • 关于系统重装后Oracle数据库完全恢复的解决办法
  • oracle drop table(表)数据恢复方法
  • Oracle数据库备份和恢复工具 RMan
  • oracle备份恢复的具体方法
  • oracle中误删除表后恢复语句(FLASHBACK)
  • oracle冷备份恢复和oracle异机恢复使用方法
  • 在Oracle 10gR2中设定指定的恢复点实现轻松闪回
  • Oracle重做日志文件损坏或丢失后的恢复
  • Oracle11g备份和恢复功能的提高
  • 实战Oracle数据库备份与恢复
  • Oracle数据库冷备份的异地恢复
  • oracle下实现恢复一个丢失的数据文件的代码
  • 详解通过Backup Exec来实施Oracle灾难恢复
  • Oracle 数据库开发工具 Oracle SQL Developer iis7站长之家
  • Oracle数据库文件恢复以及备份思路
  • Oracle数据库备份恢复最佳实践
  • oracle如何恢复被覆盖的存储过程
  • rman恢复方案和oracle异机恢复
  • oracle数据库创建备份与恢复脚本整理
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍
  • SCO unix下安装oracle,但没有光盘,请大家推荐一个oracle下载站点(unix版本的)。谢谢!!!!
  • oracle中如何把表中具有相同值列的多行数据合并成一行
  • 请问大家用oracle数据库, 用import oracle.*;下的东西么? 还是用标准库?
  • Oracle 数据库(oracle Database)性能调优技术详解
  • Linux /$ORACLE_HOME $ORACLE_HOME
  • ORACLE日期相关操作
  • Linux系统下Oracle的启动与Oracle监听的启动
  • ORACLE数据库常用字段数据类型介绍
  • 请问在solaris下安装ORACLE,用root用户和用oracle用户安装有什么区别么?
  • Oracle 12c的九大最新技术特性介绍
  • 网间Oracle的连接,远程连接Oracle服务器??


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,