有朋友在我论坛中提问copy一个块,如何在前台显示其中数据,前段时间比较忙,没有及时答复该问题,今天通过试验方式进行了测试说明,本试验简单,仅是同一个数据文件中的同一个对象中的两个block进行了替换 创建测试表 SQL conn chf/xifenfeiConnected.SQL create
有朋友在我论坛中提问copy一个块,如何在前台显示其中数据,前段时间比较忙,没有及时答复该问题,今天通过试验方式进行了测试说明,本试验简单,仅是同一个数据文件中的同一个对象中的两个block进行了替换
创建测试表
SQL> conn chf/xifenfeiConnected.SQL> create table t_xifenfei as select * from dba_objects;Table created.SQL> select EXTENT_ID,FILE_ID,BLOCK_ID,BLOCKS from dba_extents where segment_name='T_XIFENFEI' AND OWNER='CHF'; EXTENT_ID FILE_ID BLOCK_ID BLOCKS---------- ---------- ---------- ---------- 0 4 176 8 1 4 184 8 2 4 192 8 3 4 200 8 4 4 208 8 5 4 216 8 6 4 224 8 7 4 232 8 8 4 240 8 9 4 248 8 10 4 256 8 EXTENT_ID FILE_ID BLOCK_ID BLOCKS---------- ---------- ---------- ---------- 11 4 264 8 12 4 272 8 13 4 280 8 14 4 288 8 15 4 296 8 16 4 384 128 17 4 512 128 18 4 640 128 19 4 768 128 20 4 896 128 21 4 1024 128 EXTENT_ID FILE_ID BLOCK_ID BLOCKS---------- ---------- ---------- ---------- 22 4 1152 128 23 4 1280 128 24 4 1408 12825 rows selected.SQL> select * from (select distinct dbms_rowid.rowid_relative_fno(rowid), 2 dbms_rowid.rowid_block_number(rowid) from t_xifenfei ORDER BY 2 )where rownum<5 ;DBMS_ROWID.ROWID_RELATIVE_FNO(ROWID) DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID)------------------------------------ ------------------------------------ 4 179 4 180 4 <i>本文来源gaodai$ma#com搞$$代**码)网@</i> 181 4 182
查询file 4 block 180 数据情况
SQL> select object_id from t_xifenfei where dbms_rowid.rowid_relative_fno(rowid)=4 2 and dbms_rowid.rowid_block_number(rowid)=180; OBJECT_ID---------- 81 82 83 84 85 86 87 88 89 90 91 OBJECT_ID---------- 92 93 94 95 96 97 98 99 100 101 102 OBJECT_ID---------- 103 104 105 106 107 108 109 110 111 112 113 OBJECT_ID---------- 114 115 116 117 118 119 120 121 122 123 124 OBJECT_ID---------- 125 126 127 129 128 130 131 132 133 134 135 OBJECT_ID---------- 137 136 138 139 140 141 142 143 144 145 146 OBJECT_ID---------- 147 148 149 150 151 153 152 154 155 15676 rows selected.