建立使用者及資料表空間,建立使用者資料表空間
Oracle 11.2.0.1
1. 建立新的使用者預設資料表空間DCSOPEN_TBS:
注:
(1) 這裡設定初始資料檔案大小是200M,AUTOEXTEND屬性預設自動成長,每次申請新的資料表空間時會分配32M,最多分配1024M。
(2) 這裡未使用EXTENTMANAGEMENT LOCAL(可選),但預設是區本地管理員模式(EXTENT_MANAGEMENT),區尺寸分配為AUTOALLOCATE(ALLOCATION_TYPE為SYSTEM),段空間管理為自動AUTO(SEGMENT_SPACE_MANAGEMENT)。
2. 建立新的暫存資料表空間DCSOPEN_TEMPTBS:
注:
(1) 和資料表空間建立的預設屬性不同,暫存資料表空間不能使用AUTO的尺寸分配,暫存資料表空間都是用統一尺寸(預設使用1M)的本地管理的區建立,也可以指定:UNIFORMA SIZE 2M;,且段空間管理不是AUTO,而是MANUAL手工方式。
(2)按照Oracle建議,使用1M統一區尺寸的本地管理的暫存資料表空間作為預設暫存資料表空間。
3. 建立使用者DCSOPEN:
注:
(1) 指定使用者預設資料表空間和預設暫存資料表空間,若不指定,則預設資料表空間使用的是一般建立Oracle的USERS資料表空間,預設暫存資料表空間使用的是TEMP(若未建則使用SYSTEM資料表空間)。
(2) 接著可以賦予使用者權限,例如:
GRANT
CREATE SESSION, CREATE ANY TABLE, CREATE ANY VIEW ,CREATE ANY INDEX, CREATE ANY PROCEDURE,
ALTER ANY TABLE, ALTER ANY PROCEDURE,
DROP ANY TABLE, DROP ANY VIEW, DROP ANY INDEX, DROP ANY PROCEDURE,
SELECT ANY TABLE, INSERT ANY TABLE, UPDATE ANY TABLE, DELETE ANY TABLE
TO dcsopen;
(3)這裡10g和11g貌似在使用者使用資料表空間的配額上有些區別。
現象:
(3.1)10g建立一個使用者,預設使用USERS資料表空間,只賦予CREATE TABLE和CREATE TABLE許可權,該使用者使用CREATE TABLE建立表時提示:ORA-01950: no privileges on tablespace 'USERS'
(3.2) 11g建立一個使用者,預設使用USERS資料表空間,只賦予CREATE TABLE和CREATE TABLE許可權,該使用者可以CREATE TABLE建立表。
按說使用者具有resource許可權時才可以使用資料表空間的配額,11g中對該使用者使用revoke resource from r1;提示ORA-01951: ROLE 'RESOURCE' not granted to 'R1',說明該使用者並沒有resource許可權。