2016-07-16 11 views
0

Ich habe ein Schema S mit einem Standardtabellenbereich T1 in einer Oracle-Datenbank verknüpft.Erstellen eines Tabellenbereichs nur für LOBs des Schemas in der Oracle-Datenbank

Ich möchte für LOBs nur eine andere Tabellen T2 erstellen mit dem gleichen Schema verknüpft S.

Ist es möglich? Wie kann ich es tun?

+0

Sie können dies tun, aber sind Sie sicher, dass Sie wollen? Welches Problem versuchen Sie zu lösen? Normalerweise ist es besser, alle Objekte in einem Schema in denselben Tablespace zu stellen - es gibt keinen Leistungsunterschied und es ist einfacher zu verwalten. –

Antwort

2

In Oracle können Sie den Tabellenbereich für jede LOB-Spalte genau wie für jede Tabelle angeben. Dies bedeutet, dass Sie für Ihre LOB-Daten einen anderen Tablespace (oder Tablespaces) als Ihre regulären Tabellendaten erstellen können. Nicht selten wird diese Technik zum Speichern von LOB-Daten auf günstigere Storage verwendet als die Daten der Tabelle:

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 

Weitere Informationen finden Sie LOB Storage Parameters in der Datenbank Secure und Large Objects-Entwicklerhandbuch.