0

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

我只想为链接到相同模式S的 LOB创建另一个表空间T2

可能吗?我该怎么做?

4

2 回答 2

2

在 Oracle 中,您可以像为每个表一样为每个 LOB 列指定表空间。这意味着您可以为 LOB 数据创建与常规表数据不同的表空间(或多个表空间)。这种技术经常用于将 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

有关详细信息,请参阅Database SecureFiles and Large Objects Developer's Guide 中的LOB 存储参数

于 2016-07-17T18:32:36.617 回答
1

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

于 2016-07-16T16:36:40.050 回答