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

时间:2016-07-16 16:16:05

标签: database oracle schema tablespace lob

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

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

有可能吗?我该怎么办?

2 个答案:

答案 0 :(得分: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和Large Objects Developer's Guide中的LOB Storage Parameters

答案 1 :(得分:1)

是的,您可以但是对于所有现有表和新表,您应该手动编写lob表空间。 lob索引的行为相同。该怎么做才能看到链接https://docs.oracle.com/cd/B28359_01/appdev.111/b28393/adlob_tables.htm#CIHEBABG