Oracle 10g數據庫中,當在數據庫中創建用戶時,基於應用性能和管理方面的考慮,最好為不同的用戶創建獨立的表空間。 那麼創建表空間的步驟是怎樣實現的呢?本文我們主要就介紹了這一部分內容,接下來就讓我們一起來了解一下這部分內容吧。
1.創建表空間
不論是Lnux環境,還是Wndows環境,都要首先創建好表空間的存放路徑,根據自己的情況修改。如: /opt/oracle/oradata/cocis 或 D:\Oracle\oradata\cocis,若事先不創建該目錄路徑,則在創建表空間的時候會出錯。
通過pl/sql登錄到Oracle數據庫上,然後執行菜單:文件/新建/命令窗口 ,打開一個命令窗口然後在該命令窗口中執行腳本創建和刪除表空間 。
創建表空間
- Sql>create tablespace histdb datafile 'D:\Oracle\product\10.2.0\oradata\orcl\histdb.dbf' size 200m autoextend on next 10m maxsize unlimited;
- Sql>alter database datafile 'D:\Oracle\product\10.2.0\oradata\orcl\histdb.dbf' autoextend on;
1) DATAFILE: 表空間數據文件存放路徑
2) SIZE: 起初設置為200M
3) UNIFORM: 指定區尺寸為128k,如不指定,區尺寸默認為64k
4) 空間名稱histdb 與 數據文件名稱 histdb.dbf 不要求相同,可隨意命名.
5) AUTOEXTEND ON/OFF 表示啟動/停止自動擴展表空間
6) alter database datafile ' D:\Oracle\product\10.2.0\oradata\orcl\histdb.dbf ' resize 500m; //手動修改數據文件大小為500M
刪除表空間
- DROP TABLESPACE histdb INCLUDING CONTENTS AND DATAFILES;
表空間已創建。
2.為應用創建用戶
創建用戶的同時,為用戶指定缺省的永久表空間和臨時表空間。
- SQL> create user cocis identifIEd by cocis
- 2 default tablespace cocis
- 3 temporary tablespace temp;
- 用戶已創建。
- SQL> select username,default_tablespace,temporary_tablespace
- 2 from dba_users
- 3 where username='COCIS';
- USERNAME DEFAULT_TABLESPACE TEMPORARY_TABLESPACE
- ------------------------------ ------------------------------ ------------------
- COCIS COCIS TEMP
- SQL> select username,user_id,passWord,default_tablespace,temporary_tablespace
- 2 from dba_users
- 3 where username='COCIS';
- USERNAME USER_ID PASSWord TEMPORARY_TABLESPACE
- ------------------------------ ---------- ------------------------------ -----------------------
- COCIS 61 E031F623C0F15D34 COCIS
3.權限的授予
- SQL> grant connect,resource to cocis;
- 授權成功。
注釋:當用戶創建之後,一般只需要授予CONNECT和RESOURCE這兩個角色即可。若要單獨進行授權,則需執行單獨的授權命令,如grant create table to cocis;等。
如果要授予SYSDBA的權限給用戶則用如下命令:
- SQL> grant SYSDBA to cocis;
- ---------------------------------------------------
- SQL> revoke unlimited tablespace from cocis;
- 撤銷成功。
- SQL> alter user cocis quota unlimited on cocis;
- 用戶已更改。
注釋:為了更嚴謹的管理,可以回收用戶的UNLIMITED TABLESPACE權限,然後對用戶的空間限額進行單獨授權。