[20210318]bbed读取数据块2.txt 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 SCOTT@book> create table t as select * from all_objects where rownum<=1000; Table created. SCOTT@book> select object_id,data_object_id from dba_objects where owner=user and object_name='T'; OBJECT_ID DATA_OBJECT_ID ---------- -------------- 90967 90967 2.建立脚本,测试读取看看。 $ cat fff.sh #! /bin/bash -x # argv1=file_number argv2=begin_block argvs3=end_block argv4=data_object_id file_number=$1 begin_block=$2 end_block=$3 data_object_id=$4 # scan1 begin_block to end_block,define Scope. /bin/rm scan1.txt while [ $begin_block -le $end_block ] do v_object_id=$(echo "p /d dba $file_number,$begin_block ktbbh.ktbbhsid.ktbbhod1" | rlbbed | grep ktbbhod1 |awk '{print $NF}') if [ -z "$v_object_id" ] then v_object_id=0 fi if (( $v_object_id == $data_object_id )) then echo $file_number,$begin_block >> scan1.txt fi begin_block=$[ begin_block + 1 ] done # scan2 kdbr and display record. cat scan1.txt |while read dba do #echo set dba $dba kdbr_size=$(echo map dba $dba | rlbbed | grep "sb2 kdbr" | sed -e "s/^.*\[//;s/].*$//") #echo $kdbr_size begin=0 end=$[ kdbr_size -1 ] #echo $begin $end while [ $begin -le $end ] do kdbr_off=$(echo p dba $dba offset 0 kdbr | rlbbed | grep "sb2 kdbr\[$begin\]" | awk '{print $NF'}) #echo $kdbr_off #if [ $kdbr_off -gt $kdbr_size ] #if [[ $kdbr_off > $kdbr_size ]] if (( $kdbr_off > $kdbr_size )) then echo -n "x /rcccnncttcccccnc dba $dba *kdbr[$begin]" | rlbbed | grep "^col " | cut -c20- | paste -sd'|' fi begin=$[ begin + 1 ] done done 3.恢复看看: $ . fff.sh 4 731 800 90967 >|laji.txt --//使用toad导入 --//整理本文如下,使用vim的替换功能: --//:%s+ |+|+g --//:%s+ $++g --//:%s+|\*NULL\*|++g 4.测试恢复情况: --//导入细节略,我是使用toad自带的import功能实现的,步骤有点烦锁。 SCOTT@book> create table ty as select * from all_objects where 1=2; Table created. SCOTT@book> select * from t minus select * from ty; no rows selected SCOTT@book> select * from ty minus select * from t; no rows selected 5.总结: --//不是很实用,如果delete记录,输出会出现空行。而且记录多,处理起来很慢。 --//无法解决行链接和行迁移问题。
[20210318]bbed读取数据块2.txt
来源:这里教程网
时间:2026-03-03 16:32:30
作者:
编辑推荐:
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 利用vmware创建rac共享磁盘
利用vmware创建rac共享磁盘
26-03-03 - awr-----一份经典的负载很高的awr报告
awr-----一份经典的负载很高的awr报告
26-03-03 - ORACLE dbca执行到40%报错之ORA-12154
ORACLE dbca执行到40%报错之ORA-12154
26-03-03 - 【/proc/文件浅析】另类办法恢复数据文件和控制文件
【/proc/文件浅析】另类办法恢复数据文件和控制文件
26-03-03 - 使用sql tuning advisor优化sql
使用sql tuning advisor优化sql
26-03-03 - Oracle监听日志清除
Oracle监听日志清除
26-03-03 - Oracle 19C RAC open_links_per_instance参数问题
- read by other session 等待事件分析
read by other session 等待事件分析
26-03-03 - Oracle sqlldr工具功能测试
Oracle sqlldr工具功能测试
26-03-03 - SQLServer 2012复制订阅数据订阅过程
SQLServer 2012复制订阅数据订阅过程
26-03-03
