【问题标题】:ORA-43853 when creating a xml column stored as binary within an Oracle tableORA-43853 在 Oracle 表中创建以二进制形式存储的 xml 列时
【发布时间】:2018-07-31 06:19:39
【问题描述】:
我正在尝试通过命令在Oracle中创建一个表:
CREATE TABLE xml_binary (
id NUMBER,
fv XMLTYPE)
XMLTYPE fv STORE AS BINARY XML
XMLSCHEMA "http://www.example.com/fvInteger_binary.xsd"
ELEMENT "ROOT";
但是,我得到了错误:
ORA-43853: SECUREFILE lob 不能在非 ASSM 表空间中使用
我在this forum 中找到了一个解决方案,即通过命令忽略错误:
ALTER SYSTEM SET db_securefile = 'IGNORE;
但是,我认为这不是一个好的解决方案。
我该怎么做才能正确解决它?
提前致谢!
【问题讨论】:
标签:
xml
oracle
binary
blob
oracle12c
【解决方案1】:
只能在 ASSM 表空间上创建安全文件。
SELECT tablespace_name, segment_space_management
FROM dba_tablespaces;
segment_space_management = auto = ASSM-tablespace。
db_securefile = 'IGNORE' 以这种方式工作。重启后,db 会忽略 SF 的相关信息,并会创建 basicfile。
解决方案:
1) 将 binaryxml 存储在基本文件中。
XMLTYPE fv STORE AS BASICFILE BINARY XML
2) 将 binaryxml 存储在 assm 表空间的安全文件中。
XMLTYPE fv STORE AS securefile BINARY XML(tablespace assm_tablespace)