ORACLE邏輯存儲結構 (表空間筆記整理)


數據庫中

一系列連續塊構成一個區

一個或多個區構成一個段

一個或多個段構成一個表空間

若干個表空間構成一個數據庫

通常一個數據庫對象只擁有一個段, 一個段至少包含一個區.

 

 

一.表空間

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).回滾段: 用於數據被修改之前的值.

可以實現事務回滾, 數據庫恢復, 數據庫的讀一致性和閃回查詢等

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM