我有一个模式S链接到 Oracle 数据库中的默认表空间T1。
我只想为链接到相同模式S的 LOB创建另一个表空间T2。
可能吗?我该怎么做?
我有一个模式S链接到 Oracle 数据库中的默认表空间T1。
我只想为链接到相同模式S的 LOB创建另一个表空间T2。
可能吗?我该怎么做?
在 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 存储参数。
是的,您可以,但是对于所有现有的和新的表,您应该手动编写 lob 表空间。同样的行为也适用于 lob 索引。如何做到这一点,请参阅链接https://docs.oracle.com/cd/B28359_01/appdev.111/b28393/adlob_tables.htm#CIHEBABG