oracle asm dd所出要的块
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,前一篇写了asm里dd出文件,这篇里只dd出块,主要是针对文件大的情况。以scott模式为例:修改前的表信息SQL>select * from emp where mgr=7566 and empno
千家信息网最后更新 2026年11月02日oracle asm dd所出要的块
前一篇写了asm里dd出文件,这篇里只dd出块,主要是针对文件大的情况。
以scott模式为例:
修改前的表信息
SQL>select * from emp where mgr=7566 and empno=77887788 SCOTT ANALYST 7566 1987/4/19 3000.00 20
1 AU计算:
SQL> selectextent_Id,block_id,blocks,file_id 2 fromdba_extents where segment_name='EMP'SQL> / EXTENT_ID BLOCK_ID BLOCKS FILE_ID-------------------- ---------- ---------- 0 144 8 5
SQL> selectname from v$datafile where file#=5;NAME--------------------------------------------------------------+DATA/db/datafile/users.276.899048797SQL> selectname,group_number,file_number from v$asm_alias where name like '%USERS%' andfile_number=276;NAME GROUP_NUMBER FILE_NUMBER---------------------------------------------------------------------------------- -----------USERS.276.899048797 1 276SQL> selectdisk_kffxp,au_kffxp,xnum_kffxp from x$kffxp where group_kffxp=1 andnumber_kffxp=276;DISK_KFFXP AU_KFFXP XNUM_KFFXP---------- ---------- ---------- 1 426 0 0 289 1
这里计算一下,其block_id为144,块大小为8KB,那么其位置为144*8/1024=1.125M,加上块头8*8/1024=0.0625M,一共不超过4M;应当在第一个AU上(AU大小为4M),第二块盘的第426个AU上,取第二个盘路径:
SQL> selectdisk_number,path from v$asm_disk where disk_number=1;DISK_NUMBERPATH------------------------------------------------------------------------------------------- 1 /dev/raw/raw2
取出该表的最大和最小data_object_id,然后dd.
SQL> select dbms_rowid.rowid_relative_fno(rowid)rel_fno, max(dbms_rowid.rowid_block_number(rowid))max_block, min(dbms_rowid.rowid_block_number(rowid))min_block from emp group by dbms_rowid.rowid_relative_fno(rowid); REL_FNO MAX_BLOCK MIN_BLOCK-------------------- ---------- 5 149 149[oracle@mysql-1]$ddif=/dev/raw/raw2 bs=1024 count=8 skip=1746088 of=emp.dd
说明一下:skip=426*4*1024+149*8
检查一下:
[oracle@mysql-1~]$ strings emp.ddMILLERCLERKFORDANALYSTJAMESCLERKADAMSCLERKTURNERSALESMANKING PRESIDENTSCOTTANALYSTSMITHCLERK
从上可以看出,是emp的内容。
2 bbed修改内容
11g里首先要安装bbed,安装过程记录一下:
copy oracle 10g的sbbdpt.o,ssbbded.o到$ORACLE_HOME/rdbms/lib下copybbedus.msb 到$ORACLE_HOME/mesg下cd$ORACLE_HOME/rdbms/libmake -fins_rdbms.mk $ORACLE_HOME/rdbms/lib/bbedcp bbed$ORACLE_HOME/bin
[oracle@mysql-1~]$ bbedBBED> set filename'/home/oracle/emp.dd'; FILENAME /home/oracle/emp.dd
#用bbed校验下块。BBED> verifyDBVERIFY - Verification startingFILE = /home/oracle/emp.ddBLOCK = 0Block 0 is corruptCorrupt block relative dba: 0x01400000(file 0, block 0)Bad header found during verificationData in bad block: type: 6 format: 2 rdba: 0x01400095 lastchange scn: 0x0000.0004dec0 seq: 0x1 flg: 0x06 spare1: 0x0 spare2: 0x0 spare3: 0x0 consistency value in tail: 0x00000000 check value in block header: 0x89af computed block checksum: 0xd6b DBVERIFY - Verification completeTotal Blocks Examined : 1Total Blocks Processed (Data) : 0Total Blocks Failing (Data) : 0Total Blocks Processed (Index): 0Total Blocks Failing (Index): 0Total Blocks Empty : 0Total Blocks Marked Corrupt : 1Total Blocks Influx : 0Message 531 not found; product=RDBMS; facility=BBED
用bbed查看dd出文件内容
BBED> set blocksize 8192 BLOCKSIZE 8192BBED> p kdbrBBED> find /c SCOTT File: /home/oracle/emp.dd (0) Block: 1 Offsets: 7864 to 8191 Dba:0x00000000------------------------------------------------------------------------ 53434f54 5407414e 414c5953 5403c24c 430777bb04130101 0102c21f ff02c115BBED> dump /v File: /home/oracle/emp.dd (0) Block: 1 Offsets: 7864 to 8191 Dba:0x00000000------------------------------------------------------- 53434f54 5407414e 414c5953 5403c24c lSCOTT.ANALYST..L 430777bb 04130101 0102c21f ff02c115 lC.w............. 2c010803 c24e5305 434c4152 4b074d41 l,....NS.CLARK.MA 4e414745 5203c24f 280777b5 06090101 lNAGER..O(.w..... 0103c219 33ff02c1 0b2c0108 03c24d63 l....3....,....Mc
用bbed修改:
set mode editset blocksize 8192find /c SCOTTm /c SNOWHBBED> dump /v File: /home/oracle/emp.dd (0) Block: 1 Offsets: 7864 to 8191 Dba:0x00000000------------------------------------------------------- 534e4f57 4807414e 414c5953 5403c24c lSNOWH.ANALYST..LBBED> sumCheck value for File 0, Block 1:current = 0x89af, required = 0x87b3 BBED> sum applyCheck value for File 0, Block 1:current = 0x87b3, required = 0x87b3
关库,导入修改后数据:
[oracle@mysql-1~]$ srvctl stop database -d db[oracle@mysql-1~]$dd of=/dev/raw/raw2 bs=1024 count=8 seek=1746088 if=emp.dd8+0 records in8+0 records out8192 bytes (8.2 kB) copied, 0.00208818 s,3.9 MB/s
查询表信息:
[oracle@mysql-1~]$ srvctl start database -d db
SQL> select* from emp where mgr=7566 and empno=7788 2 ;EMPNOENAME JOB MGR HIREDATE SAL COMM DEPTNO--------------- --------- ----- ----------- --------- --------- ------ 7788 SNOWH ANALYST 7566 1987/4/19 3000.00 20
OVER
内容
文件
信息
大小
最大
最小
位置
块头
情况
数据
查询表
模式
路径
过程
查询
检查
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
华服互联网科技靠谱吗
天津市摩尔互联网科技
科技互联网项目
互联网与科技金融数据
猪兼强互联网科技
卓越科技(互联网 )
奔汉互联网科技
深圳艾佳互联网科技
湖南洣水互联网科技有限公司扣款
互联网科技热点资讯
字节跳动和互联网科技
晓花互联网科技有限公司网址
锡山区互联网智能科技产品供应
伍佰万互联网科技怎么赚钱
广州千川互联网科技有限公司
富国互联网科技002692
宁波跨境商互联网科技有限公司
安徽零酒互联网科技有限公司
现代互联网科技公司
科技发展第三阶段互联网时代
互联网科技公司华为
深圳科技互联网
以房互联网科技
无线互联网科技
互联网科技扶贫时间
中国互联网公司排名锤子科技
深圳互联网科技的发展
雨阳互联网卡科技有限公司
云南省自由互联网科技有限公司
上海同邻互联网科技有限公司规模