问题描述
大家好,
我有一个带有公共.ANYDATA列的表格。
此表有一个LOB,与ANYDATA列相关联 (我假设)。
我需要将LOB从表空间XL_DATA_AXAIA移动到新的表空间XL_LOB_AXAIA中,但这是不可能的。
我在这里读到,不可能移动Oracle内部定义的lob:
https://community.oracle.com/thread/1113273
“Oracle仅允许将LOB存储在单独的表空间中,而不是在创建表期间将其定义为LOB,这与oracle内部由于列数据类型为ANYDATA而创建的LOB不同,在这种情况下。
重新命令”
你能确认没有解决办法吗?
祝你愉快,
大卫
我有一个带有公共.ANYDATA列的表格。
SQL> desc XL_EURO_AXAIA.EXT_TCV_TCH_VALEUR Nom NULL ? Type ----------------------------------------------- TCH_ID NOT NULL NUMBER ID NOT NULL NUMBER VALEUR PUBLIC.ANYDATA
此表有一个LOB,与ANYDATA列相关联 (我假设)。
SQL> select table_name, column_name, segment_name, index_name from dba_lobs where owner = 'XL_EURO_AXAIA' and tablespace_name = 'XL_DATA_AXAIA'; TABLE_NAME COLUMN_NAME SEGMENT_NAME INDEX_NAME ------------------------------ ------------------------------ ------------------------------ EXT_TCV_TCH_VALEUR VALEUR SYS_LOB0000299006C00003$$ SYS_IL0000299006C00003$$
我需要将LOB从表空间XL_DATA_AXAIA移动到新的表空间XL_LOB_AXAIA中,但这是不可能的。
SQL> alter table "XL_EURO_AXAIA"."EXT_TCV_TCH_VALEUR" move lob("VALEUR") store as "SYS_LOB0000299006C00003$$" ( tablespace "XL_LOB_AXAIA" );
alter table "XL_EURO_AXAIA"."EXT_TCV_TCH_VALEUR" move lob("VALEUR") store as "SYS_LOB0000299006C00003$$" ( tablespace "XL_LOB_AXAIA" )
*
ERREUR a la ligne 1 :
ORA-00904: "VALEUR" : identificateur non valide
我在这里读到,不可能移动Oracle内部定义的lob:
https://community.oracle.com/thread/1113273
“Oracle仅允许将LOB存储在单独的表空间中,而不是在创建表期间将其定义为LOB,这与oracle内部由于列数据类型为ANYDATA而创建的LOB不同,在这种情况下。
重新命令”
你能确认没有解决办法吗?
祝你愉快,
大卫
专家解答
就SQL而言,该过程似乎是可能的
但是我建议您记录SR以确认这是 * 受支持的 * 操作。
我怀疑您提到的链接中的注释可能误解了我们的规则,即lob * index * 与lob * data * 位于同一表空间中。
SQL> create table t 2 ( 3 id number(3), 4 document sys.xmltype 5 ) 6 tablespace users 7 lob (document.xmldata) store as 8 ( 9 tablespace largets 10 ); Table created. SQL> SQL> alter table t move 2 lob (document.xmldata) store as 3 ( 4 tablespace largets 5 ); Table altered.
但是我建议您记录SR以确认这是 * 受支持的 * 操作。
我怀疑您提到的链接中的注释可能误解了我们的规则,即lob * index * 与lob * data * 位于同一表空间中。
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




