
數據庫中
一系列連續塊構成一個區
一個或多個區構成一個段
一個或多個段構成一個表空間
若干個表空間構成一個數據庫
通常一個數據庫對象只擁有一個段, 一個段至少包含一個區.
一.表空間
1.表空間分為系統表空間和非系統表空間

小文件表空間: 即系統默認的表空間. System表空間, sysaux表空間
大文件表空間: 是為超大型數據庫設計的, 只包含一個大數據文件, 該文件的大小為128KB<size<128TB.
可以簡化數據文件的管理, 減少SGA的需求, 減少控制文件.
表空間的管理包括:
創建表空間
修改表空間
表空間的備份
大文件表空間的管理
2.擴展表空間的方式有哪些?
1).為表空間添加數據文件
| SQL > ALTER TABLESPACE ORCLTBS1 ADD DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS1_2.DBF' SIZE10M; |
為ORCL數據庫中表空間名為ORCLTBS1添加一個大小為10MB的新數據文件.
2).改變數據文件的大小
| SQL > ALTER DATABASE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS1_2.DBF' RESIZE20M; |
將ORCL數據庫中表空間名為ORCLTBS1的數據文件ORCLTBS1_2.DBF增加到20MB.
3).允許數據文件自動擴展
| SQL > ALTER DATABASE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS1_2.DBF' AUTOEXTEND ON NEXT5M MAXSIZE100M; |
3.修改表空間的可用性
| SQL > ALTER TABLESPACE ... OFFLINE|ONLINE; |
| SQL > ALTER TABLESPACE ORCLTBS1 OFFLINE; |
將表空間ORCLTBS1設置為OFFLINE狀態
| SQL > ALTER TABLESPACE ORCLTBS1 ONLINE; |
將表空間ORCLTBS1設置為ONLINE狀態
4.給表空間重命名:
| ALTER TABLESPACE ORCLTBS1 RENAME TO ORCLTBS1_NEW; |
5.表空間的備份
| SQL > ALTER TABLESPACE ORCLTBS1 BEGIN BACKUP; |
復制ORCLTBS1表空間的數據文件ORCLTBS1_1.dbf和ORCLTBS1_2.dbf到目標位置.
| SQL > ALTER TABLESPACE ORCLTBS1 END BACKUP; |
6.刪除表空間
1).除了system表空間和sysaux表空間外, 其他表空間都可以刪除.
2).一旦表空間被刪除, 該表空間中的所有數據將永久性丟失.
3).如果表空間中的數據正在被使用, 或表空間中包含未提交事務的回滾信息, 則該表空間不能刪除
| SQL > DROP TABLESPACE ORCLTBS1 INCLUDING CONTENTS; |
7.大文件表空間的操作
由於大文件表空間只含有一個數據文件, 因此可以通過對表空間的操作, 實現對數據文件的透明操作.
改變表空間的大小或擴展性 è 改變數據文件的大小及擴展性的目的
1).改變數據文件的大小
| SQL > ALTER TABLESPACE ORCLTBS1 RESIZE20M; |
將ORCL數據庫中表空間名為ORCLTBS1的數據文件ORCLTBS1_2.DBF增加到20MB.
2).允許數據文件自動擴展
| SQL > ALTER TABLESPACE ORCLTBS1 AUTOEXTEND ON NEXT5M MAXSIZE UNLIMITED; |
二.數據塊
數據塊:1).輸入輸出的最小單位
2).是數據庫中最小的邏輯存儲單元, 也是數據庫執行輸入/輸出操作的最小單位, 由一個或多個操作系統塊構成.
三.區
區: 是由一系列連續的數據塊構成的邏輯存儲單元, 是存儲空間分配與回收的最小單位.
區的管理主要指的是: 分配與回收
當創建一個數據庫對象時, oracle為對象分配若干個區, 以構成一個段來為對象提供初始的存儲空間.
1.區的分配
1).區分配采用自動擴展方式進行
| SQL > CREATE TABLESPACE ORACLTBS6 DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS1_2.DBF' SIZE20M EXTENT MANAGEMENT LOCAL AUTOALLOCATE; |
本地管理方式, 自動擴展
2).區分配采用固定大小, 每個區5MB
| SQL > CREATE TABLESPACE ORACLTBS7 DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ORCLTBS1_2.DBF' SIZE10M EXTENT MANAGEMENT UNIFORM SIZE 5M; |
2.區的回收
通常分配給段的區將一直保留在段中, 不論區中的數據塊是否被使用. 只有當段所屬的對象被刪除時, 段中所有的區才會被回收.
四.段
段是由一個或多個連續或不連續的區組成的邏輯存儲單元. 段是表空間的組成單位, 代表特定數據類型的數據存儲結構.
通常一個數據庫對象只擁有一個段, 一個段至少包含一個區.
1).數據段
2).索引段
3).臨時段
4).回滾段: 用於數據被修改之前的值.
可以實現事務回滾, 數據庫恢復, 數據庫的讀一致性和閃回查詢等
