2 表空間
Oracle磁盤管理中的最高邏輯層是表空間,Oracle11g中必須創建的4個表空間是SYSTEM, SYSAUX,TEMP, UNDOTBS1。
2 SYSTEM:存儲數據字典等,pl/sql代碼等。
2 SYSAUX:存儲與數據庫選項相關的數據
2 TEMP:用于大的排序操作
2 UNDUTBS1:為讀一致性和恢復的目的,存儲事務信息。
表空間的下一層是段,一個段只能駐留在一個表空間中;一個或多個區可以組成一個段,每個區只能駐留在一個數據文件中;一組連續的數據塊可以組成一個區。如果要查詢表空間與對應的數據文件的相關信息,可以從dba_data_files數據字典中查詢表空間及其包含的數據文件,舉例如下:
SQL> col tablespace_name for a10;
SQL> col file_name for a50;
SQL> col bytes for 999,999,999;
SQL>Select tablespace_name,file_name, bytes fromdba_data_files order by tablespace_name;
1、 SYSTEM表空間
SYSTEM表空間存放內部數據和數據字典,主要存放SYS用戶的各個對象和其他用戶的少量對象。例如:查詢USERS表空間中存放的數據對象及其類型和擁有者。
SQL>col owner for a10;
SQL>col segment_name for a30;
SQL>col segment_type for a20;
SQL>select segment_type,segment_name,owner fromdba_segments where tablespace_name='USERS';
2、 SYSAUX表空間
SYSAUX表空間充當SYSTEM表空間的輔助表空間,主要用于存儲除數據字典以外的其他數據對象。例如,查詢SYSAUX表空間所存放的用戶及其所擁有的對象數量:
Select owner as 用戶, count(segment_name) as 對象數量 fromdba_segments where tablespace_name='SYSAUX' group by owner;
3、 創建表空間
創建表空間的語法如下:
Create [smallfile | bigfile] tablespace tablespace_name
Datafile '/path/filename' size num[k|m] reuse
['/path/filename' size num[k|m]reuse]
[, …]
[autoextend [on|off] next ] num[k|m]
[maxsize [unlimited | num[k|m]]]
[mininum extent num[k|m]]
[default storage storage]
[online | offline]
[logging | nologging]
[permanent | temporary]
[extent management dictionary | local [autoallocate |uniform size num[k|m]]];
說明:
? smallfile | bigfile:表示創建的是小文件表空間還是大文件表空間
? autoextend [on|off] next:表示數據文件為自動擴展或非自動擴展,如為自動擴展則需要設置next的值。
? maxsize:表示數據文件自動擴展時,允許數據文件擴展的最大長度字節數,如果指定unlimited關鍵字,則不需要指定字節長度。
? minimum extent:指出在表空間的extent的最小值,這個參數可以減少空間碎片,保證在表空間的extent是這個數值的整數倍。
? online | offline:創建表空間時可以指定為在線或離線。
? permanent | temporary:指定創建表空間是永久表空間或臨時表空間。默認為永久表空間。
? logging | nologging:指定該表空間內的表在加載數據時是否產生日志,默認為產生日志,即使設定為nologging,但在進行insert,update,delete操作時,oracle仍會將信息記錄到redo log buffer中。
? extent management dictionary | local:指定表空間的擴展方式是使用數據字典管理還是本地化管理。默認為本地化管理。
|
新聞熱點
疑難解答
圖片精選