[20180604]在内存修改数据(bbed).txt
[20180604]在内存修改数据(bbed).txt
--//以前曾经做过在内存修改数据,通过oradebug poke命令修改内存信息,相关链接:
--//http://blog.itpub.net/267265/viewspace-2124466/=>[20160904]在内存修改数据.txt
--//今天测试看看是否通过bbed修改数据信息的情况.使用asmm,这样/dev/shm可以看到一个一个文件。
1.环境:
SCOTT@book> @ ver1
PORT_STRING VERSION BANNER
------------------------------ -------------- --------------------------------------------------------------------------------
x86_64/Linux 2.4.xx 11.2.0.4.0 Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
2.建立测试:
create table t1 (id number,name varchar2(20));
insert into t1 values (1,'AAAAAAAAAAB');
commit ;
SCOTT@book> select rowid,t1.* from t1;
ROWID ID NAME
------------------ ---------- --------------------
AAAWQKAAEAAAAJcAAA 1 AAAAAAAAAAB
SCOTT@book> @ &r/rowid AAAWQKAAEAAAAJcAAA
OBJECT FILE BLOCK ROW ROWID_DBA DBA TEXT
---------- ---------- ---------- ---------- -------------------- -------------------- ----------------------------------------
91146 4 604 0 0x100025C 4,604 alter system dump datafile 4 block 604 ;
SYS@book> create pfile='/tmp/@.ora' from spfile;
File created.
--//修改/tmp/book.ora参数,加入
*.memory_target=5120M
*.memory_max_target=5120M
--//注:注意检查use_large_pages参数,我的设置*.use_large_pages='ONLY',无法启动,报
SYS@book> startup pfile=/tmp/book.ora
ORA-27125: unable to create shared memory segment
--//使用参数/tmp/book.ora参数启动数据库,这样采用asmm方式.
SYS@book> startup pfile=/tmp/book.ora
ORACLE instance started.
Total System Global Area 1068994560 bytes
Fixed Size 2259960 bytes
Variable Size 423625736 bytes
Database Buffers 637534208 bytes
Redo Buffers 5574656 bytes
Database mounted.
Database opened.
# ls -l /dev/shm/ora_book_*|wc
--//加载对应数据块到内存:
SCOTT@book> select rowid,t1.* from t1;
ROWID ID NAME
------------------ ---------- --------------------
AAAWQKAAEAAAAJcAAA 1 AAAAAAAAAAB
SYS@book> @ &r/bh 4 604
HLADDR DBARFIL DBABLK CLASS CLASS_TYPE STATE TCH CR_SCN_BAS CR_SCN_WRP CR_UBA_FIL CR_UBA_BLK CR_UBA_SEQ BA OBJECT_NAME
---------------- ---------- ---------- ---------- ------------------ ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------------- --------------------
000000009DFCB238 4 604 1 data block xcur 1 0 0 0 0 0 0000000081C14000 T1
3.在内存修改数据:
# strings -f -t d /dev/shm/ora_book_* | grep AAAAAAAAAAB
/dev/shm/ora_book_265158658_132: 90097 AAAAAAAAAAB
/dev/shm/ora_book_265158658_132: 3055545 3*AC60AAABAAAAAAAAAAAAAAAAAAAAAAB6UEsFBgAAAAABAAEALwAAABEXAAAAAA==
--//90097/8192 = 10.99816894531250000000
--//确定字符串AAAAAAAAAAB在那个文件.可以确定/dev/shm/ora_book_265158658_132.因为仅仅插入1条,应该在块的底部.
4.使用bbed修改:
BBED> set filename '/dev/shm/ora_book_265158658_132'
FILENAME /dev/shm/ora_book_265158658_132
BBED> set blocksize 8192
BLOCKSIZE 8192
--//注意一定要设置这个参数.不然看到的块大小是512
BBED> show
FILE# 0
BLOCK# 1
OFFSET 0
DBA 0x00000000 (0 0,1)
FILENAME /dev/shm/ora_book_265158658_132
BIFILE bifile.bbd
LISTFILE /home/oracle/bbed/filelist.txt
BLOCKSIZE 512
MODE Edit
EDIT Unrecoverable
IBASE Dec
OBASE Dec
WIDTH 160
COUNT 64
LOGFILE log.bbd
SPOOL Yes
BBED> set block 11
BLOCK# 11
--//因为这个内存文件的第一块非文件头.所以block=11.
BBED> x /rnc *kdbr[0]
rowdata[0] @8170
----------
flag@8170: 0x2c (KDRHFL, KDRHFF, KDRHFH)
lock@8171: 0x01
cols@8172: 2
col 0[2] @8173: 1
col 1[11] @8176: AAAAAAAAAAB
--//确定偏移量:
BBED> dump offset 8176
File: /dev/shm/ora_book_265158658_132 (0)
Block: 11 Offsets: 8176 to 8191 Dba:0x00000000
--------------------------------------------------------------------------------------------------
0b414141 41414141 41414142 0106a09c
<64 bytes per line>
BBED> modify /c 'ABCD' offset 8177
Warning: contents of previous BIFILE will be lost. Proceed? (Y/N) y
File: /dev/shm/ora_book_265158658_132 (0)
Block: 11 Offsets: 8177 to 8191 Dba:0x00000000
--------------------------------------------------------------------------------------------------
41424344 41414141 41414201 06a09c
--//再次查询看看.
SYS@book> select rowid,t1.* from scott.t1;
ROWID ID NAME
------------------ ---------- --------------------
AAAWQKAAEAAAAJcAAA 1 ABCDAAAAAAB
--//注:我并没有做检查和,sum apply.
--//我已经通过内存篡改了信息.
SYS@book> alter system flush BUFFER_CACHE;
System altered.
SYS@book> select rowid,t1.* from scott.t1;
ROWID ID NAME
------------------ ---------- --------------------
AAAWQKAAEAAAAJcAAA 1 AAAAAAAAAAB
--//现在有正常显示回来.
转载于:https://www.cnblogs.com/lfree/p/9248872.html
[20180604]在内存修改数据(bbed).txt相关推荐
- 分享:bbed修改数据文件头推进scn与其他数据文件相同
2019独角兽企业重金招聘Python工程师标准>>> 场景简介: 物理copy表空间数据文件,数据库发生完全检查点,删除该表空间下的数据文件,使该表空间数据文件头的scn与其他数据 ...
- 修改oracle的表空间文件scn,分享:bbed修改数据文件头推进scn与其他数据文件相同...
场景简介: 物理copy表空间数据文件,数据库发生完全检查点,删除该表空间下的数据文件,使该表空间数据文件头的scn与其他数据文件不一致. 场景构造: 1.创建测试表空间 SYS@orser> ...
- BBED修改数据文件的SCN
BBED修改数据文件的SCN 1.编译BBED make: *** No rule to make target `ins_rdbms.mk'. Stop. [oracle@linux2 oracle ...
- oracle修改数据前备份,Oracle 之利用BBED修改数据块SCN—-没有备份数据文件的数据恢复...
测试环境 OS:redhat6.6 oracle:12.1.0.2 BBED(OracleBlockBrowerandEDitor Tool),用来直接查看和修改数据文件数据的一个工具,是Oracle ...
- Oracle 之利用BBED修改数据块SCN----没有备份数据文件的数据恢复
测试环境 OS:redhat6.6 oracle:12.1.0.2 BBED(OracleBlockBrowerandEDitor Tool),用来直接查看和修改数据文件数据的一个工具,是Oracl ...
- [20170412]bbed隐藏数据记录.txt
[20170412]bbed隐藏数据记录.txt --上午做了bbed恢复修改记录(不等长)的情况,http://blog.itpub.net/267265/viewspace-2137082/ -- ...
- [20170419]bbed探究数据块.txt
[20170419]bbed探究数据块.txt --//bbed 是一个瑞士军刀,也是了解oracle内部数据块结构的好工具.我自己开始使用基本是看别人的帖子,对oracle数据块的内部也不是很了解. ...
- oracle修改mem为手动管理,PSV内存修改金手指插件GoHANmem v2.00下载和使用教程
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区. 您需要 登录 才可以下载或查看,没有帐号?立即注册 x PSV内存修改插件GoHANmem主要功能: 内存数值搜索修改锁定 支持金手指代码 查 ...
- [20150612]使用bvi查看数据块.txt
[20150612]使用bvi查看数据块.txt --编写一个简单的脚本实现bvi查看数据块,主要我现在喜欢使用bbed查看,而修改选择bvi. --通过例子来说明: SCOTT@test> s ...
最新文章
- java安装_使用Java 9模块化来发布零依赖本机应用程序
- 网络推广策略带你了解网站地图Sitemap的作用是什么?
- Luogu P2619 [国家集训队2]Tree I 凸优化,wqs二分
- android 多个handler,Android中的Handler与多线程应用实例
- 【哈利波特】Sherbert Lemon对HP的解读之11
- iOS开发拓展篇—音频处理(音乐播放器6)
- tomcat高版本之URL解析异常解决
- linux配置redis服务,Linux下安装Redis并设置相关服务
- 洛谷 深基 第1部分 语言入门 第2章 顺序结构程序设计
- HaspMap的新奇用法
- 【转】AndroidStudio升到最新版本(3.1.2)之后
- Android 签名问题记录MinSdkVersionException: Failed to determine APK‘s minimum supported platform version
- char*赋值给std::string是深拷贝
- GoldWave2020注册激活码版下载音频处理制作教程
- 安卓handler机制
- css找某个元素的下个子元素,使用CSS获取特定位置的子元素
- 家用路由器设置虚拟服务器,家用路由器设置虚拟服务器
- 升级mac系统正在计算机,Mac升级卡死解决办法
- mysql查询表_mysql数据库表的查询操作-总结
- 数学向量 java,数学向量和旋转(Topdown java game dev – physics problem)
热门文章
- linux命令ps -aux|grep xxx详解
- Android Studio导入so文件到项目中
- pythoncontinue函数_Python continue语句
- windows10中如何在d盘新建kaoshi.log文件_命令行备份Windows 10驱动amp;设备管理器中安装驱动。...
- python记录输入次数_如何计算用户输入错误的次数
- linux java 自启动_Linux设置开机启动脚本
- 做系统ghost步骤图解_两台电脑硬盘对拷图解
- php 转义md5 和java 转译的区别_CTF|PHP中的命令参数注入
- java打开android_解决android studio 打开java文件 内容全变了的问题
- ELK快速搭建日志平台(基于7.9.3)