Oracle資料庫之建立表空間與使用者

2022-09-14 08:09:08 字數 3344 閱讀 9841

一、建立表空間

基本語法表述:

create

tablespace tablespace_name

[datafile datafile_spec1 [,datafile_spec2

]......]

[ ]

詳細的create tablespace語法描述請參考:

說明:1.tablespace_name:

指出表空間的名稱。

2.datafile_spec1:

指出表空間包含的資料檔案。

[

filename][

size integer [ k | m ]]

[reuse][

autoextend ]

}]

其中filename是資料檔案的全路徑名;size是檔案的大小;reuse表示檔案是否被重用;autoextend表明是否自動擴充套件;next表示資料檔案滿了以後,擴充套件的大小。

3.mininum extent integer [k|m]:

指出在表空間中區的最小值。這個引數可以減小空間碎片,保證在表空間的範圍是這個數值的整數倍。

4.blocksize integer [k]

這個引數可以設定乙個不標準的塊的大小。如果要設定這個引數,必須設定db_block_size,至少乙個db_nk_block_size,並且宣告的integer的值必須等於db_nk_block_size。

注意:在臨時表空間不能設定這個引數。

5.[online|offline]

改變表空間的狀態。online使表空間建立後立即有效,這是預設值,offline使表空間建立後無效。

6.logging clause

這個子句宣告這個表空間上所有的使用者物件的日誌屬性(預設是logging),包括表,索引,分割槽,物化檢視,物化檢視上的索引,分割槽。

7.[permanent|temporary]

指出表空間的屬性,是永久表空間還是臨時表空間。永久表空間存放的是永久物件,臨時表空間存放的是session生命期中存在的臨時物件。這個引數生成的臨時表空間建立後一直都是字典管理,不能使用extent management local選項。如果要建立本地管理表空間,必須使用create temporary tablespace。

8.extent_management_clause

extent management

說明了表空間如何管理區。一旦你宣告了這個子句,只能通過移植的方式改變這些引數。

如果希望表空間本地管理的話,宣告local選項。本地管理表空間是通過位圖管理的。autoallocate說明表空間自動分配範圍,使用者不能指定範圍的大小。只有9.0以上的版本具有這個功能。uniform說明表空間的區的固定大小,預設是1m。

9.segment_manager_clause

segment space management

說明了如何管理段。只為永久性的,本地管理表空間有關。可以指定是否應該跟蹤在使用空閒列表或位圖的表空間段的使用和自由空間。本選項不適用於臨時表空間。

示例:

create

tablespace tbs_01

datafile

'demo.dbf

'size 40m

autoextend

onnext

5m maxsize 100m

online

logging

extent management local uniform size 2m

segment

space management auto;

我們可以使用drop tablespace語句從資料庫中刪除表空間:

drop

tablespace tablespace

[including contents [ datafiles ][

cascade constraints

]] ;

使用詳情見:

示例:

drop

tablespace tbs_01

including contents

and datafiles;

二、建立使用者

基本語法描述:

create

user

user

identified

bypassword

[default tablespace tablespace][

temporary tablespace tablespace

]

詳細的語法與使用見:

說明:1.user

使用者名稱。

2.password

密碼3.default tablespace tablespace

使用者預設使用的表空間。

4.temporary tablespace tablespace

使用者使用的臨時表空間。

示例:

create

user

sidney

identified

byout_standing1

default

tablespace tbs_01

temporary tablespace temp

使用者建立完畢後,並不能馬上使用,我們還需要為使用者分配許可權或角色:

grant

privileges

or role to

user;

若要撤銷許可權或角色:

revoke

privileges

or role from

user;

示例:

--

把connect、resource角色授予使用者sidney

grant connect,resource to

sidney;

--撤銷使用者sidney的resource角色

revoke resource from

sidney;

--允許使用者檢視 emp 表中的記錄

grant

select

on emp to

sidney;

--允許使用者更新 emp 表中的記錄

grant

update

on emp to sidney;

建立Oracle資料庫表空間

以管理員身份登陸 建立臨時表空間mydb temp create temporary tablespace mydb temp tempfile c database mydb temp.dbf 檔案路徑c database一定要存在,否則建立失敗。同時路徑中盡量不要有中文名稱。size 50m a...

ORACLE資料庫建立表空間

擴充套件表空間檔案 alter tablespace tbs yjtx data ldz oradata orcl tbs yjtx data 02.dbf size 1000m 建立臨時表空間 表空間自動擴容 size 1024m reuse autoextend on next 100m max...

oracle資料庫建立表空間

第1步 建立臨時表空間create temporary tablespace 臨時表空間名 tempfile 臨時表空間路徑x oracle data temp.dbf size 50m autoextend on next 50m maxsize 20480m extent management ...