文档解释
ORA-43853: SECUREFILE lobs cannot be used in non-ASSM tablespace “string”
Cause: SECUREFILE lobs require ASSM
Action: Specify an ASSM tablespace for SECUREFILE lobs. 43854, 0000, “Deprecated”
ORA-43853: SECUREFILE lobs不能够在非ASSM表空间中使用。
官方解释
ORA-43853 “SECUREFILE lobs cannot be used in non-ASSM tablespace string” indicates that the SECUREFILE lob feature has been enabled and a large object (LOB) column has been created in a tablespace that does not use Automatic Segment Space Management (ASSM).
Secure File (LOB) is a feature introduced in Oracle 10g which provides additional secure options for LOBs like Encryption, compression and de-duplication etc. It is not supported to use this feature in non-ASSM tablespaces due to the complexity of managing the segment space.
常见案例
ORA-43853异常常见于以下情况:
在Oracle 10g或更高版本中,尝试在非ASSM表空间中创建一个启用了SECUREFILE LOBs的LOB字段;
在使用ALTER TABLE语句启用SECUREFILE LOBs字段功能的表空间中;
一般处理方法及步骤
为了解决ORA-43853异常,您可以按照以下步骤来处理:
只有在表空间使用automatic segment space management (ASSM)时,才能启用SECUREFILE LOBs字段功能。检查错误中提到的表空间,确定其是否使用了ASSM。如果是,则可以尝试重建表空间,以重新启用SECUREFILE属性。
将表空间转换为使用大对象(LOB)字段时,必须使用automatic segment space management (ASSM)才能启用SECUREFILE LOBs功能。因此,应该首先建立新的ASSM表空间,将原始表中的数据转移到新的表空间中,然后在该表空间中启用SECUREFILE LOBs字段功能。