
Originally Posted by
anandkl
Can any one please explain. Our customers are bombarding us.
Here's why. Because you've enabled storage in row (that's the default). That's why your customers are able to see CLOB data for 'inline' segments that get stored in the table's tablespace (rather than the CLOB ts). If the CLOB segments were > 32K they would've gone to your LOB tablespace..which was offline and they would see errors.
See below
Code:
SQL> c/log/lob
1* create table t (id int, out_row clob) tablespace test1 lob (out_row) store as (tablespace test2 disable storage in row)
SQL> /
Table created.
SQL> insert into t values (1,'BLAH');
1 row created.
SQL> commit;
Commit complete.
SQL> select * from t;
ID
----------
OUT_ROW
--------------------------------------------------------------------------------
1
BLAH
SQL> alter tablespace test2 offline;
Tablespace altered.
SQL> select * from t;
ERROR:
ORA-00376: file 5 cannot be read at this time
ORA-01110: data file 5: '/oradata/NETMSPRD/test02.dbf'
SQL> alter tablespace test2 online;
Tablespace altered.
SQL> create table t2 (id int, out_row clob) tablespace test1 lob (out_row) store as (tablespace test2 enable storage in row)
2 /
Table created.
SQL> insert into t2 values (1,'BLAH2');
1 row created.
SQL> commit;
SQL> alter tablespace test2 offline;
Tablespace altered.
SQL> select * from t2;
ID
----------
OUT_ROW
--------------------------------------------------------------------------------
1
BLAH2