Oracle表空間 表

2021-10-21 08:19:45 字數 4982 閱讀 2051

表(table)

表空間是對儲存系統檔案、使用者資訊等資料的乙個空間。

oracle表空間屬於oracle中的儲存結構,是由資料檔案組成,乙個資料庫例項可以有n個表空間,每個資料庫至少有乙個表空間(system表空間),乙個表空間下可以有n張表。

可以通過表空間來實現對oracle的調優(oracle資料庫獨特的高階應用)。

資料庫安裝成功後會自動建立多個表空間。

system:系統表空間

用於存放oracle系統內部表資料字典的資料,例如:表名、列名、使用者名稱等。

oracle不贊成將使用者建立的表、索引、等存放在系統表空間。

系統表空間中的資料檔案個數是非固定的,看與根據需求追加新的資料檔案。

sysaux :輔助表空間

oracle 11g 新增的表空間,充當system的輔助表空間,

users:使用者表空間

oracle建議使用者使用的表空間,可以在這個表空間上建立各種資料物件,如:建立表、索引、使用者等資料物件。如:scott 使用者。

temp:臨時表空間

存放臨時表和臨時資料,用於排序和彙總等。

undo:撤銷表空間

存放撤銷的資訊,也叫回滾表空間。當使用者對資料進行修改操作時(插入、更新、刪除等dml資料操作),oracle會自動使用撤銷表空間來存放修改前的舊資料,直到完成執行提交命令後,會根據保留時間長度來決定合適釋放掉撤銷表空間的部分空間。

永久表空間:

儲存資料庫中需要永久化儲存的物件,比如二維表、檢視、儲存過程、索引。

臨時表空間:

儲存資料庫的中間執行過程,如:儲存order by資料庫排序、分組時產生的臨時資料。

undo表空間:

儲存資料修改前的戴護具,為了對資料執行回滾、恢復、撤銷的操作。

dba_tablespaces

//系統的表空間資訊

user_tablespace

//使用者的表空間資訊

dba_data_files

//資料庫檔案的資訊

select *

from

dba_tablespaces

;

select file_name from

dba_data_files

;查詢臨時表空間路徑

select file_name from

dba_temp_files

;

可以通過oem(資料庫企業管理工具)建立

最常用的是pl/sql命令方式建立

建立永久表空間

create tablespace 表空間名 datafile '路徑 + 表空間名.dbf'

/'表空間名.dbf' size 大小;

建立臨時表空間

create temporary tablespaces 表空間名 tempfile'路徑 + 表空間名.dbf'

/'表空間名.dbf' size 大小;

建立永久 / 臨時表空間 並設定自動增長

create tablespace /

temporary tablespaces 表空間名 datafile'路徑 + 表空間名.dbf'

/'表空間名.dbf' size 大小 autoextend on next 最低 maxsize 最高;

修改表空間為 聯機狀態 / 離線狀態

alter tablespace 表空間名 online

/offonline

;修改表空間為 唯讀狀態 / 讀寫狀態

alter tablespace 表空間名 read

only

/read

write

;

刪除空資料的表空間,不包含物理檔案

drop tablespace 表空間名;

刪除空資料的表空間,包含物理檔案

drop tablespace 表空間名 including

datafiles

;刪除非空表空間,不包含物理檔案

drop tablespace 表空間名 including

contents

;刪除非空表空間,包含物理檔案

drop tablespace 表空間名 including

contents

anddatafiles

;有外來鍵等約束關聯到了本表空間中的表的字段,加上cascade

constraints

drop tablespace tablespace_name including contents and datafiles cascade

constraints

;

表是存放使用者資料的物件,是資料庫儲存的基本單元。

oracle關聯式資料庫的表是乙個二維結構,由行(row)列(column)組成.

表是最常見的一種組織資料的方式,一張表一般具有多個列(字段),每個字段具有特定的屬性:欄位名、資料型別、約束條件等。

建立表create table

表名注意格式:

表名必須字母開頭

表名1–30 個字元之間

表名能包含 a–z, a–z, 0–9, _, $, 和 #

表名唯一。

create

table 表名

;

修改表alter table
新增列

alter table 表名 add 列名 資料型別;

修改列alter table 表名 modify 列名 新的資料型別;

刪除列alter table 表名 drop

column 列名;

修改列名

alter table 表名 rename

column 列名 to 新列名;

修改表名

rename 表名 to 新錶名;

刪除表drop table

刪除資料表操作在oracle 10g之前那麼以上的操作就徹底刪除了,但是從 orale 10g開始可以給挽救了一次閃回機制.

刪除表內的資料

truncate table 表名;

暫時刪除,收進**站

drop table 表名;

從**站恢復表

flashback table 表名 to before drop;

徹底刪除表

drop table 表名 purge

;檢視**站

select *

from

recyclebin

;清空**站

purge

recyclebin

;

當你不再需要該錶時, 用 drop;

當你仍要保留該錶,但要刪除所有記錄時, 用 truncate;

當你要刪除部分記錄時, 用 delete.

資料型別

儲存位元組

說明char

1~2000

描述定長的字元型資料

varchar2

1~4000

描述可變的字元型資料

資料型別

儲存位元組

說明number(m,n)

p:精度(總長度),s:小數字數

描述固定長度的小數或整數float

資料型別

說明date

儲存日期和時間(精確到秒)

timestamp

顯示的日期比date精確(精確到毫秒)

資料型別

儲存位元組

說明clob

1~4gb

儲存較大資料,存放海量文字(如:**)。

blob

1~4gb

儲存較大資料,電影、**等二進位制檔案。

資料庫除了存放資料以外,也要保證資料的正確性,所以在建立表時需要定義一些約束。

約束看與限制列的取值範圍,強制列的取值來自合理的範圍。

列級約束
有且只有 非空約束 才是列級約束。

表級約束
除 非空約束 其他全是表級約束。

主鍵約束(primary key)

外來鍵約束(foreign key)

唯一約束(unique)

非空約束(not null)

檢查約束(check)

預設約束(deufault)

新增約束

alter table 表名 add

constraint 約束名 約束名稱 (列名);

新增外來鍵約束

alter table 表名 add

constraint foreign key

(列名)

references 關聯表名(關聯表的列名);

新增非空約束

alter table 表名 modify (列名 資料型別 not

null);

不啟用/啟用/刪除 約束

alter table 表名 disable/enable/drop constraint 約束名;

Oracle 表空間和臨時表空間

表空間 此空間是用來進行資料儲存的 表 function 儲存過程等 所以是實際物理儲存區域。臨時表空間 主要用途是在資料庫進行排序運算 如建立索引 order by及group by distinct union intersect minus sort merge及join analyze命令 ...

oracle建立表空間和表

oracle安裝完後,其中有乙個預設的資料庫,除了這個預設的資料庫外,我們還可以建立自己的資料庫。對於初學者來說,為了避免麻煩,可以用 database configuration assistant 嚮導來建立資料庫。建立完資料庫後,並不能立即在資料庫中建表,必須先建立該資料庫的使用者,並且為該使...

Oracle建立表空間 表分割槽

建立表分割槽 create tablespace ts demo datafile oracle2 oracle datafile xltsdemo.dbf size 500m 初始大小 autoextend on 可以自動擴充套件 next 50m 一次擴充套件50m maxsize unlimi...