Applies To:: Drop Table Does Not Remove The Blob Lobindex Segment (Doc Id 394442.1)
Applies To:: Drop Table Does Not Remove The Blob Lobindex Segment (Doc Id 394442.1)
Applies To:: Drop Table Does Not Remove The Blob Lobindex Segment (Doc Id 394442.1)
Drop Table Does Not Remove The Blob LobIndex Segment (Doc ID 394442.1)
In this Document
Goal
Solution
References
This document is being delivered to you via Oracle Support's Rapid Visibility (RaV) process and therefore has not
been subject to an independent technical review.
APPLIES TO:
Oracle Server Enterprise Edition Version: 10.2.0.2 and later [Release: 10.2 and later ]
Information in this document applies to any platform.
GOAL
How to remove the BLOB lobindex segment when dropping a table ?
SQL> CREATE TABLE t_lob
(DOCUMENT_NR NUMBER(16,0) NOT NULL,
DOCUMENT_BLOB BLOB NOT NULL
)
TABLESPACE users
lob (DOCUMENT_BLOB) store as DOCUMENT_LOB
(tablespace example
index (tablespace test_user )
);
Table created.
SQL> select * from dba_lobs where table_name='T_LOB';
OWNER TABLE_NAME
COLUMN_NAME
SEGMENT_NAME TABLESPACE_NAME
INDEX_NAME CHUNK PCTVERSION RETENTION FREEPOOLS
CACHE LOGGING IN_ FORMAT PAR
SYSTEM T_LOB
DOCUMENT_BLOB
DOCUMENT_LOB EXAMPLE
SYS_IL0000061291C00002$$ 8192 10 900
NO NO YES NOT APPLICABLE NO
SQL> select * from dba_segments
where segment_name in ('T_LOB','DOCUMENT_LOB','SYS_IL0000061291C00002$$');
OWNER
SEGMENT_NAME
https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrlstate=16vpri4m15_151&id=394442.1 1/3
05/01/2016 Document 394442.1
PARTITION_NAME SEGMENT_TYPE TABLESPACE_NAME
HEADER_FILE HEADER_BLOCK BYTES BLOCKS EXTENTS INITIAL_EXTENT
NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS PCT_INCREASE FREELISTS FREELIST_GROUPS
RELATIVE_FNO BUFFER_
SYSTEM
T_LOB
TABLE USERS
4 526355 65536 8 1 65536
1 2147483645
4 DEFAULT
SYSTEM
SYS_IL0000061291C00002$$
LOBINDEX EXAMPLE
5 491 65536 8 1 65536
1 2147483645
5 DEFAULT
SYSTEM
DOCUMENT_LOB
LOBSEGMENT EXAMPLE
5 483 65536 8 1 65536
1 2147483645
5 DEFAULT
SQL> drop table t_lob;
Table dropped.
SQL> select * from dba_segments
where segment_name in ('T_LOB', 'DOCUMENT_LOB','SYS_IL0000061291C00002$$');
OWNER
SEGMENT_NAME
PARTITION_NAME SEGMENT_TYPE TABLESPACE_NAME
HEADER_FILE HEADER_BLOCK BYTES BLOCKS EXTENTS INITIAL_EXTENT
NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS PCT_INCREASE FREELISTS FREELIST_GROUPS
RELATIVE_FNO BUFFER_
SYSTEM
SYS_IL0000061291C00002$$
LOBINDEX EXAMPLE
5 491 65536 8 1 65536
1 2147483645
5 DEFAULT
SOLUTION
To have all 3 segments dropped (table, lobsegment and lobindex), purge the recyclebin of the owner's object with
the command:
SQL> drop index SYS_IL0000061291C00002$$;
drop index SYS_IL0000061300C00002$$
https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrlstate=16vpri4m15_151&id=394442.1 2/3
05/01/2016 Document 394442.1
*
ERROR at line 1:
ORA38301: can not perform DDL/DML over objects in Recycle Bin
SQL> purge recyclebin;
Recyclebin purged.
SQL> select * from dba_segments
where segment_name in ('T_LOB', 'DOCUMENT_LOB','SYS_IL0000061291C00002$$');
no rows selected
or
SQL> purge table t_lob;
Table purged.
NOTE The schema may need to be appended to the table name:
i.e.
SQL> PURGE TABLE "BIN$YpMW4VaYYf/gRAADuiQbfQ==$0";
PURGE TABLE "BIN$YpMW4VaYYf/gRAADuiQbfQ==$0"
*
ERROR at line 1:
ORA38307: object not in RECYCLE BIN
SQL> purge table edocmanager."BIN$YpMW4VaYYf/gRAADuiQbfQ==$0";
Table purged.
SQL> select * from user_segments
where segment_name in ('T_LOB', 'DOCUMENT_LOB','SYS_IL0000061291C00002$$');
no rows selected
REFERENCES
BUG:12769422 DROP TABLE DOES NOT REMOVE THE BLOB LOBINDEX SEGMENT
BUG:12779459 DROP TABLE DOES NOT REMOVE THE BLOB LOBINDEX SEGMENT
Didn't find what you are looking for?
https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrlstate=16vpri4m15_151&id=394442.1 3/3