oracle asm dd所出要的块
发表于:2025-01-22 作者:千家信息网编辑
千家信息网最后更新 2025年01月22日,前一篇写了asm里dd出文件,这篇里只dd出块,主要是针对文件大的情况。以scott模式为例:修改前的表信息SQL>select * from emp where mgr=7566 and empno
千家信息网最后更新 2025年01月22日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安全错误
数据库的锁怎样保障安全
网络技术员面试注意什么
sql数据库医院例题
cbs数据库
概括网络技术开发
衡水软件开发教学教学视频
dsp后台软件开发
三年级孩子网络安全手抄报
河北系统软件开发服务费
唐山摩卡网络技术有限公司
三调数据库标准百度云
存储数据库怎么样
重庆正规服务器云服务器
房管局数据库app
信阳工业学校网络安全活动
使用数据库技术题库
显示服务器文件
我的世界服务器列表网站
沈阳新华互联网科技学校电竞
软件开发大数据方向就业
学网络安全应该报什么专业
当前主流的数据库是关系数据库
什么是ap服务器
机器人路径规划软件开发
网络安全税务机关
服务器一被连接网络就断了
服务器里面创建多个虚拟机
大兴区网络技术信息报价
计算机网络技术要学什么编程
共享中心数据中心服务器
软件开发的工作是什么