**ORA-43853:** SECUREFILE lobs cannot be used in non-ASSM tablespace “string”

ORA-43853

[oracle@testosa:/home/oracle]$ oerr ora 43853
43853, 0000, "SECUREFILE lobs cannot be used in non-ASSM tablespace \"%s\""
// *Document: YES
// *Cause:    SECUREFILE lobs require ASSM
// *Action:   Specify an ASSM tablespace for SECUREFILE lobs.
//43854, 0000, "Deprecated"
// *Document: No
// *Cause:    Don't use this for external errors.  Was used in 11.1.0.6.0.
// *Action:
[oracle@testosa:/home/oracle]$

文档解释

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字段功能。

Exadata to Non Exadata ORA-64307 HCC not supported

当从Oracle Exadata工程系统迁移到非Exadata环境时,或配置Datagurad时需要注意,有些功能时Exadata专属特性,如EHCC (Exadata Hybrid Columnar Compression )的表对象在standby 查询或使用datapump迁移时会遇到下面的错误:

ORA-64307: hybrid columnar compression is only supported in tablespaces residing on Exadata storage
-- or --

CREATE TABLE "ANBOB"."BILLING_XXXXX" ("BILLING_FREQUENCY" NUMBER(3,0) NOT NULL ENABLE, .. "DISPLAY_VALUE" VARCHAR2(240 BYTE) NOT NULL ENABLE) SEGMENT CREATION IMMEDIATE PCTFREE 0 PCTUSED 40 INITRANS 1 MAXTRANS 255 COLUMN STORE COMPRESS FOR QUERY HIGH NO ROW LEVEL LOCKING NOLOGGING 
STORAGE(INITIAL 81920 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT) TABLESPACE "USERS"

ORA-39083: Object type TABLE:"ANBOB"."XXXXX" failed to create with error:
ORA-64307: Exadata Hybrid Columnar Compression is not supported for tablespaces on this storage type

image-20230916173005376

Exadata Hybrid Columnar Compression (EHCC)

  • EHCC is Exadata-specific and can realize both significant savings AND performance benefits:
  • EHCC can be applied to tables and partitions.
  • Compression Units (CU) stores groups of rows in a table in columnar format.
  • Values of each column stored and compressed together.
  • More data compressed at once = larger CU = better compression.

Am I Using EHCC?

  • ‘%cell CU%’ statistics show EHCC usage.
  • 2 statistics determine rows / compression unit:
  • EHCC Total Rows for Decompression – e.g. 5,000,000,000
  • EHCC CUs Decompressed – e.g. 5,000,000
  • Average rows per EHCC compression unit = 1,000.
  • Determine compression used for table / partition / row:
  • DBMS_COMPRESSION procedures.
  • COMPRESS_FOR column in DBA_TABLES / DBA_INDEXES.

EHCC支持的压缩级别为:

  • COMPRESS FOR QUERY LOW
  • COMPRESS FOR QUERY High
  • COMPRESS FOR ARCHIVE LOW
  • COMPRESS FOR ARCHIVE HIGH

解决方法:

1、对于DATAGUARD环境,需要在primary side上先解压

alter table anbob.xxx move nocompress;

Note: You may also convert HCC tables using the following compression options on third party storage: Basic Table Compression [compress/compress basic], or OLTP compression[ compress for oltp] . OLTP compression requires a license for the Oracle Advanced Compression Option.

2、对于datapump环境,增加忽略storage选项: transform = segment_attributes: n: table

impdp \"/ as sysdba\" SCHEMAS=Anobob directory=PUMP dumpfile=xx%U.dmp logfile=xxx.log cluster=n parallel=4   transform = segment_attributes: n: table
  • 12
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值