热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

OracleBBED小小手术刀的小手术修改数据内容

OracleBBED修改数据库的数据

bubuko.com,布布扣  







官方简介:



  The name bbed is an acronym for Block Browser and EDitor and it is shipped with thedatabase. It is intended for Oracle internal use only and the company neverpublishes any details about it. It is a very powerful tool but also extremelydangerous since it can change and/or corrupt data blocks of any Oracledatabase.



   If you use this tool, you do so at your own risk. Any modifications made with thistool render the database unsupported by Oracle.

 

   BBED是Oracle的内部工具,不受Oracle技术支持,该工具像一把锋利的手术刀,可以切入数据块内部进行修修改改,因此非常危险,操作需特别谨慎!





实验目的:

 使用BBED修改数据文件内的数据信息。







操作过程:







1.获取数据文件的文件号、文件绝对路径名和大小:

SQL> select file#||‘ ‘||name||‘ ‘||bytes from v$datafile ;

FILE#||‘‘||NAME||‘‘||BYTES

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

1 /oracle/app/oradata/ORCL/datafile/o1_mf_system_8xm4839m_.dbf 859832320

2 /oracle/app/oradata/ORCL/datafile/o1_mf_sysaux_8xm483f7_.dbf 555745280

3 /oracle/app/oradata/ORCL/datafile/o1_mf_undotbs1_8xm483gd_.dbf 89128960

4 /oracle/app/oradata/ORCL/datafile/o1_mf_users_8xm483jk_.dbf 70778880

5 /oracle/app/oradata/ORCL/datafile/o1_mf_example_8xm4gzck_.dbf 108134400

6 /oracle/app/oradata/catalog_rman/rmantbs01.dbf 52428800

7 /oracle/app/oradata/ORCL/datafile/gaoqiang.dbf 5242880

8 /oracle/app/oradata/ORCL/datafile/gao.dbf 5242880

9 /oracle/app/oradata/ORCL/datafile/lee.dbf 10485760

10 /oracle/app/oradata/ORCL/datafile/jon.dbf 10485760





10 rows selected.







2.创建文件清单:

[oracle@dbserver oracle]$ vi filelist.txt

加入如下内容:

1 /oracle/app/oradata/ORCL/datafile/o1_mf_system_8xm4839m_.dbf 859832320

2 /oracle/app/oradata/ORCL/datafile/o1_mf_sysaux_8xm483f7_.dbf 555745280

3 /oracle/app/oradata/ORCL/datafile/o1_mf_undotbs1_8xm483gd_.dbf 89128960

4 /oracle/app/oradata/ORCL/datafile/o1_mf_users_8xm483jk_.dbf 70778880

5 /oracle/app/oradata/ORCL/datafile/o1_mf_example_8xm4gzck_.dbf 108134400

6 /oracle/app/oradata/catalog_rman/rmantbs01.dbf 52428800

7 /oracle/app/oradata/ORCL/datafile/gaoqiang.dbf 5242880

8 /oracle/app/oradata/ORCL/datafile/gao.dbf 5242880

9 /oracle/app/oradata/ORCL/datafile/lee.dbf 10485760

10 /oracle/app/oradata/ORCL/datafile/jon.dbf 10485760









[oracle@dbserver oracle]$ cat filelist.txt 

1 /oracle/app/oradata/ORCL/datafile/o1_mf_system_8xm4839m_.dbf 859832320

2 /oracle/app/oradata/ORCL/datafile/o1_mf_sysaux_8xm483f7_.dbf 555745280

3 /oracle/app/oradata/ORCL/datafile/o1_mf_undotbs1_8xm483gd_.dbf 89128960

4 /oracle/app/oradata/ORCL/datafile/o1_mf_users_8xm483jk_.dbf 70778880

5 /oracle/app/oradata/ORCL/datafile/o1_mf_example_8xm4gzck_.dbf 108134400

6 /oracle/app/oradata/catalog_rman/rmantbs01.dbf 52428800

7 /oracle/app/oradata/ORCL/datafile/gaoqiang.dbf 5242880

8 /oracle/app/oradata/ORCL/datafile/gao.dbf 5242880

9 /oracle/app/oradata/ORCL/datafile/lee.dbf 10485760

10 /oracle/app/oradata/ORCL/datafile/jon.dbf 10485760







3.创建bbed参数文件:

[oracle@dbserver oracle]$ cat bbed.par

blocksize=8192

listfile=/oracle/filelist.txt

mode=edit







4.登陆BBED:

[oracle@dbserver oracle]$ bbed parfile=/oracle/bbed.par

Password: 





BBED: Release 2.0.0.0.0 - Limited Production on Tue Jan 27 05:56:31 2015





Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.





************* !!! For Oracle Internal Use only !!! ***************                   ----谨慎使用,No Zuo No Die~~~

























5.查看未修改的表状态:

SQL> select * from summary;





ID INFO

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

1 Eric Gao is a Oracle DBA

1 Eric Gao is a PostgreSQL DBA

1 Eric Gao is a AIX SA

1 Eric Gao is a Linux SA





6.查看物理信息:

SQL> select rowid,dbms_rowid.rowid_relative_fno(rowid) rel_fno,dbms_rowid.rowid_block_number(rowid) blockno,dbms_rowid.rowid_row_number(rowid) rowno from summary;





ROWID      REL_FNO BLOCKNO      ROWNO

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

AAASmYAAEAAAAKNAAA    4     653  0

AAASmYAAEAAAAKNAAB    4     653  1

AAASmYAAEAAAAKNAAC    4     653  2

AAASmYAAEAAAAKNAAD    4     653  3



dbms_rowid.rowid_relative_fno(rowid)该函数返回输入参数rowid所对应的文件号,文件号是相对于表空间的。

其他的两个函数以此类推分别是:数据块号获取函数和行号获取函数。







7.在bbed中找相关的关键字:

BBED> set dba 4,653 offset 0

DBA             0x0100028d (16777869 4,653)

OFFSET         0







BBED> find /c Oracle

 File: /oracle/app/oradata/ORCL/datafile/o1_mf_users_8xm483jk_.dbf (4)

 Block: 653              Offsets: 8178 to 8191           Dba:0x0100028d

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

 4f726163 6c652044 42410106 0385 





 <32 bytes per line>









8.查看该位置的信息:

BBED> dump /v dba 4,653 offset 8178 count 6

 File: /oracle/app/oradata/ORCL/datafile/o1_mf_users_8xm483jk_.dbf (4)

 Block: 653     Offsets: 8178 to 8183  Dba:0x0100028d

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

 4f726163 6c65                       l Oracle





 <16 bytes per line>









9.修改数据块信息:

BBED> modify /c ‘ORACLE‘ dba 4,653 offset 8178

 File: /oracle/app/oradata/ORCL/datafile/o1_mf_users_8xm483jk_.dbf (4)

 Block: 653              Offsets: 8178 to 8183           Dba:0x0100028d

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

 4f524143 4c45 





 <32 bytes per line>



10.输出修改后的内容:

BBED> dump /v dba 4,653 offset 8178 count 6

 File: /oracle/app/oradata/ORCL/datafile/o1_mf_users_8xm483jk_.dbf (4)

 Block: 653     Offsets: 8178 to 8183  Dba:0x0100028d

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

 4f524143 4c45                       l ORACLE





 <16 bytes per line>



11.保存:

BBED> sum dba 4,653

Check value for File 4, Block 653:

current = 0x7bcf, required = 0x5bcf







BBED> sum dba 4,653 apply

Check value for File 4, Block 653:

current = 0x5bcf, required = 0x5bcf













12.验证修改成果

SQL> conn eric

SQL> alter system flush buffer_cache;

System altered.





SQL> select * from summary; 

ID INFO

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

1 Eric Gao is a ORACLE DBA    -----可以看到该数据已经由原来的Oracle修改成了ORACLE。

1 Eric Gao is a PostgreSQL DBA

1 Eric Gao is a AIX SA

1 Eric Gao is a Linux SA







bubuko.com,布布扣OK!修改完成!









PS:这是个非常2的测试,完全可以用语句: update summary set info=‘Eric Gao is a ORACLE DBA‘ where info=‘Eric Gao is a ORACLE DBA‘;  修改过来...



本次实验仅为了提供简单的BBED小小手术刀操作体验。









SQL>  update summary set info=‘Eric Gao is a Oracle DBA‘ where info=‘Eric Gao is a ORACLE DBA‘;





1 row updated.





SQL> select * from summary;





ID INFO

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

1 Eric Gao is a ORACLE DBA

1 Eric Gao is a PostgreSQL DBA

1 Eric Gao is a AIX SA

1 Eric Gao is a Linux SA





推荐阅读
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • 本文介绍了如何使用PHP向系统日历中添加事件的方法,通过使用PHP技术可以实现自动添加事件的功能,从而实现全局通知系统和迅速记录工具的自动化。同时还提到了系统exchange自带的日历具有同步感的特点,以及使用web技术实现自动添加事件的优势。 ... [详细]
  • Monkey《大话移动——Android与iOS应用测试指南》的预购信息发布啦!
    Monkey《大话移动——Android与iOS应用测试指南》的预购信息已经发布,可以在京东和当当网进行预购。感谢几位大牛给出的书评,并呼吁大家的支持。明天京东的链接也将发布。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • HDU 2372 El Dorado(DP)的最长上升子序列长度求解方法
    本文介绍了解决HDU 2372 El Dorado问题的一种动态规划方法,通过循环k的方式求解最长上升子序列的长度。具体实现过程包括初始化dp数组、读取数列、计算最长上升子序列长度等步骤。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 本文讲述了作者通过点火测试男友的性格和承受能力,以考验婚姻问题。作者故意不安慰男友并再次点火,观察他的反应。这个行为是善意的玩人,旨在了解男友的性格和避免婚姻问题。 ... [详细]
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • 动态规划算法的基本步骤及最长递增子序列问题详解
    本文详细介绍了动态规划算法的基本步骤,包括划分阶段、选择状态、决策和状态转移方程,并以最长递增子序列问题为例进行了详细解析。动态规划算法的有效性依赖于问题本身所具有的最优子结构性质和子问题重叠性质。通过将子问题的解保存在一个表中,在以后尽可能多地利用这些子问题的解,从而提高算法的效率。 ... [详细]
author-avatar
手机用户2502912633
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有