Oracle's alter table drop col specific internal is for data storage blocks operation, if the drop after col dul tools, such as whether can recover, here I through concrete testing, combined with the bbed, dump block method to illustrate the problem
1. Create test table and written to the hard disk
SQL> The create table XFF t_xifenfei as the select object_id, owner, object_name from dba_objects;
The Table created.
SQL> Desc XFF. T_xifenfei
The Name of Null? Type
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
OBJECT_ID NUMBER
The OWNER VARCHAR2 (30)
OBJECT_NAME VARCHAR2 (128)
SQL> The alter system checkpoint.
The System altered.
SQL> The alter system checkpoint.
The System altered.
2. To find out the drop test form a block analysis col for the influence of storage
SQL> Select the rowid,
2 dbms_rowid. Rowid_relative_fno rel_fno rowid,
3 dbms_rowid. Rowid_block_number blockno rowid,
Dbms_rowid. Rowid_row_number rowid rowno, object_id
4, 5 from XFF. T_xifenfei where rownum<5;
The ROWID REL_FNO BLOCKNO ROWNO OBJECT_ID
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
AAAZ9wAAEAAAJojAAA 4 39459 20
AAAZ9wAAEAAAJojAAB 4 39459 1 46
28 AAAZ9wAAEAAAJojAAC 4 39459 2
AAAZ9wAAEAAAJojAAD 4 39459 3 15
3. Dump block, and record the block 1, 2, and finally a record
SQL> Oradebug setmypid
The Statement processed.
SQL> The alter system dump datafile 4 block 39459;
The System altered.
SQL> Oradebug TRACEFILE_NAME
/home/u01/diag/RDBMS/former/former/trace/orcl_ora_14069 TRC
Block_row_dump:
TAB 0, row 0, @ 0 x1f70
Tl: 16 fb: - H - FL - lb: 0 x0 cc: 3
Col 0: [2] c1 15
Col 1:53 to 59 [3] 53
Col 2:43 4 f 4 c 24 [5] 49
TAB 0, row 1, @ 0 x1f5e
Tl: 18 fb: - H - FL - lb: 0 x0 cc: 3
Col 0: [2] c1 2 f
Col 1:53 to 59 [3] 53
Col 2:49 5 f 55 53 45 to 52 [7] 31
.
TAB 0, row 288, @ 0 x589
Tl: 22 fb: - H - FL - lb: 0 x0 cc: 3
Col 0: [3] c2 03 5 b
Col 1:53 to 59 [3] 53
Col 2:49 5 f [10] 4 a 4 f 42 5 f 4 e 45 58 54
4. Use the bbed view the block 1, 2, and finally a record
[oracle @ localhost ~] $bbed password=blockedit blocksize=8192 filename=/usr/local/oradata QSNG/users01. DBF
BBED: Release 2.0.0.0.0 - Limited Production on Sun Apr 3 22:25:28 2016
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
* * * * * * * * * * * * *!!!!!! For Oracle Internal Use only!!!!!! * * * * * * * * * * * * * * *
BBED> The set of block 39459
BLOCK# 39459
BBED> The map
File:/usr/local/oradata QSNG/users01. DBF (0)
Block: 39459 Dba: 0 x00000000
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
(KTB Data Block (Table/Cluster)
Struct KCBH, 20 bytes @ 0
Struct KTBBH, 20 96 bytes @
Struct KDBH, 14 bytes @ 124
Struct KDBT [1], 4 bytes @ 138
Sb2 KDBR [289] @ 142
Ub1 freespace [821] @ 720
Ub1 rowdata [6647] @ 1541
Ub4 tailchk @ 8188
BBED> P * KDBR [0]
Rowdata [6631]
-- -- -- -- -- -- -- -- -- -- -- -- --
Ub1 rowdata [6631] @ 8172 x2c
BBED> X/RNCC
Rowdata [6631] @ 8172
-- -- -- -- -- -- -- -- -- -- -- -- --
Flag @ 8172:0 x2c (KDRHFL KDRHFF, KDRHFH)
The lock @ 8173:0 x00
Cols @ 8174:3
Col 0 [2] @ 8175:20
Col 1 [3] @ 8178: SYS
Col 2 [5] @ 8182: ICOL $
BBED> D
File:/usr/local/oradata QSNG/users01. DBF (0)
Block: 39459 Offsets: 8172 to 8191 Dba: 0 x00000000
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
2 c000302 c1150353 59530549 434 f4c24 02067576
<32 bytes per line>
BBED> P * KDBR [1]
Rowdata [6613]
-- -- -- -- -- -- -- -- -- -- -- -- --
Ub1 rowdata [6613] @ 8154 x2c
BBED> X/RNCC
nullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnull