#眉標=Oracle、SQL*PLUS、OEM #副標=管理Oracle資料庫必要的功力(5) #大標=掌握資料庫的邏輯儲存結構 #作者=文/圖 張天慧 ===<反灰>============= CREATE TABLESPACE tablespace_name DATAFILE [datafile_clause] [MINIMUM EXTENT integer[K|M]] [LOGGING|NOLOGGING] [DEFAULT storage_clause ] [ONLINE|OFFLINE] [PERMANENT|TEMPORARY] [EXTENT MANAGEMENT(DICTIONARY|LOCAL)] [SEGMENT SPACE MANAGEMENT(AUTO|MANUAL)] ================ ===<反灰>============= DEFAULT STORAGE ( INITIAL integer[K|M] NEXT integer[K|M] MAXEXTENTS integer PCTINCREASE integer); ================ ===<反灰>============= CREATE TABLESPACE USERS DATAFILE‘/u01/oracle/data/test/users_data_01.dbf’ SZIE 128M EXTENT MANAGEMENT DICTIONARY DEFAULT STORAGE (INITIAL 500K NEXT 500K MAXEXTENTS 500 PCTINCREASE 0); ================ ===<反灰>============= CREATE TABLESPACE USERS DATAFILE ‘/u01/oracle/data/test/test_01.dbf’ SZIE 128M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 10M; ================ ===<反灰>============= CREATE TABLESPACE USERS DATAFILE ‘/u01/oracle/data/test/test_01.dbf’ SZIE 128M EXTENT MANAGEMENT LOCAL AUTOALLOCATE; ================ ===<反灰>============= CREATE UNDO TABLESPACE UNDO DATAFILE ‘/u01/oracle/data/test/undo_01.dbf’ SZIE 128M; ================ ===<反灰>============= CREATE TEMPORARY TABLESPACE TEMP02 TEMPFILE '/u01/app/oracle/data/test/temp02_01.dbf' size 10M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M; ================ ===<反灰>============= SQL > DROP TABLESPACE <TABLESPACE_NAME> INCLUDING CONTENTS AND DATAFILES; ================ ===<反灰>============= SQL > SELECT PROPERTY_NAME, PROPERTY_VALUE FROM DATABASE_PROPERTIES WHERE PROPERTY_NAME = 'DEFAULT_TEMP_TABLESPACE'; ================ ===<反灰>============= SQL > SELECT A.NAME "TABLESPACE NAME", B.NAME "TEMP FILE", B.BYTES/1024/1024 "SZIE (MB)" FROM V$TABLESPACE A, V$TEMPFILE B WHERE A.TS#=B.TS# ORDER BY FILE#; ================ ===<反灰>============= SQL> SELECT FILE_NAME, BYTES/1024/1024 "SZIE MB" FROM DBA_DATA_FILES; ================ ==Segment =========== 區段(Segment)是指特定邏輯上需要的結構,在Oracle的邏輯定義裡,所有的邏輯結構統稱「物件(Object)」,有些物件需要空間存放就叫做Segment。 舉個例子,view是由Table所組合而成,因此它只是一個存放在資料庫字典裡面的一個定義,並不佔有實際空間,所以View是一個物件,而Table需要實際空間來存放資料的物件,因此Table也是屬於一個Segment。而當一個Segment被建置起來時,會先以建置時的參數為主,如沒設定才會以所在的Tablespace為主,最後是以當初建置資料庫的參數為主。其主要區分類型如表1。 ================