如何在 Oracle 数据库中仅为模式的 LOB 创建表空间

How to create a tablespace only for schema's LOBs in Oracle database

我有一个架构 S 链接到 Oracle 数据库中的默认表空间 T1

我想为链接到同一架构 S 的 LOB 创建另一个表空间 T2

可能吗?我该怎么做?

是的,您可以,但对于所有现有表和新表,您应该手动编写 lob 表空间。相同的行为适用于 lob 索引。如何做到这一点见 link https://docs.oracle.com/cd/B28359_01/appdev.111/b28393/adlob_tables.htm#CIHEBABG

在 Oracle 中,您可以为每个 LOB 列指定 table 空间,就像为每个 table 一样。这意味着您可以为 LOB 数据创建不同于常规 table 数据的 table 空间(或 table 空间)。这种技术经常用于在比 table 的数据更便宜的存储上存储 LOB 数据:

CREATE TABLESPACE DATATBS1 DATAFILE 'datatbs1.dbf';

CREATE TABLESPACE LOBTBS1 DATAFILE 'lobtbs1.dbf';

CREATE TABLE T1 (id NUMBER, text CLOB)
LOB (text) STORE AS SECUREFILE (TABLESPACE LOBTBS1)
TABLESPACE DATATBS1;

SELECT tablespace_name
 FROM user_lobs
  WHERE table_name = 'T1' AND column_name = 'TEXT';

TABLESPACE_NAME
------------------------------
LOBTBS1

SELECT tablespace_name
 FROM user_tables
  WHERE table_name = 'T1';

TABLESPACE_NAME
------------------------------
DATATBS1

有关详细信息,请参阅数据库 SecureFiles 和大对象开发人员指南中的 LOB Storage Parameters