Oracle對表空間、用戶、用戶權限的操作
阿新 • • 發佈:2017-09-02
option 應該 rain 建立 bsp 賬戶 停止 including ora
一、對表空間的操作
1、創建表空間(create tablespace)
-- ‘hpdb_tablespace‘ 指定表空間名稱 -- ‘e:\hpdb.dbf‘ 指定表空間數據文件名稱 -- size 指定表空間的初始化大小 -- autoextend on next 30M 指定當表空間不足時,自動擴增的空間大小
-- autoextend off 停止自動擴展表空間
-- maxsize unlimited 表空間的最大空間不設置上限
create tablespace hpdb_tablespace datafile ‘e:\hpdb.dbf‘ size 100M autoextend onnext 30M maxsize unlimited;
create tablespace table datafile ‘e:\aa.dbf‘ size 10M;
2、修改表空間的大小
alter database datafile ‘e:\hpdb.dbf‘ resize 30M;
3、為表空間設置自動擴展
alter database datafile ‘e:\hpdb.dbf‘ autoextend on next 30M maxsize unlimited;
4、關閉表空間自動擴展
alter database datafile ‘e:\hpdb.dbf‘ autoextend off
5、為表空間添加一個數據文件
alter tablespace hpdb_tablespace add datafile ‘e:\22.dbf‘ size 100m;
6、刪除表空間中的一個數據文件
alter tablespace hpdb_tablespace drop datafile ‘e:\\22.dbf‘
7、 刪除表空間
-- 只刪除表空間,對應的數據文件並沒有刪除 drop tablespace hpdb_tablespace; -- 同時刪除表空間和數據文件 -- (1)先將表空間offline alter tablespace hpdb_tablespace offline;-- (2)刪除表空間和數據文件
-- 刪除表空間、數據文件 drop tablespace hpdb_tablespace including contents and datafiles;
--刪除表空間、數據文件、關聯 drop tablespace hpdb_tablespace including contents and datafiles cascade constraint;
二、對臨時表空間的操作
1、創建臨時表空間(create temporary tablespace)
-- 和創建表空間的方式很相似
-- 註意:表空間通過create tablespace來創建;臨時表空間通過create temporary tablespace類創建;表空間通過datafile為表空間指定數據文件的名稱;臨時表空間通過tempfile為其指定數據文件的名稱 -- 臨時表空間的作用:臨時表空間主要用途是在數據庫進行排序運算、管理索引、訪問視圖等操作時提供臨時的運算空間,當運算完成之後系統會自動清理。 create temporary tablespace hpdb_tmp tempfile ‘e:\hpdb_tmp.dbf‘ size 100M autoextend on next 30M maxsize unlimited;
2、查看臨時表空間
--查看臨時表空間
select name from v$tempfile
--查看當前用戶的臨時表空間
select * from database_properties where property_name=‘DEFAULT_TEMP_TABLESPACE‘;
3、修改臨時表空間的大小
alter database tempfile ‘e:\hpdb_tmp.dbf‘ resize 30M;
4、為臨時表空間設置自動擴展
alter database tempfile ‘e:\hpdb_tmp.dbf‘ autoextend on next 20M maxsize unlimited;
5、關閉臨時表空間的自動擴展
alter database tempfile ‘e:\hpdb_tmp.dbf‘ autoextend off;
6、為臨時表空間添加一個數據文件
alter tablespace hpdb_tmp add tempfile ‘e:\2.dbf‘ size 100M;
7、刪除臨時表空間中的一個數據文件
--刪除2.dbf文件
alter tablespace hpdb_tmp drop tempfile ‘e:\2.dbf‘;
8、刪除臨時表空間
--刪除表空間,不刪除.dbf文件 drop tablespace hpdb_tmp including contents and datafiles cascade constraints;
9、刪除默認的臨時表空間
默認的臨時表空間不能直接刪除,我們只能通過以下步驟間接的刪除默認的臨時表空間:
- 先定義一個新的臨時表空間temp2,使temp2作為中轉表空間;
- 將默認表空間temp1換成temp2;( alter database default temporary tablespace temp1; )
- 然後將之前的默認臨時表空間temp1刪除;
- 在定義一個新的臨時表空間temp3,使temp3作為新的默認臨時表空間;
- 刪除中轉表空間temp2;
經過以上幾步,默認的表空間temp1就被替換成了新的表空間temp3。
三、對用戶的操作
1、創建用戶
-- user 後跟用戶名 -- identified by 登錄密碼 -- default tablespace 用戶默認表空間 -- temporary tablespace 用戶臨時表空間
-- 如果建立用戶時不指定default tablespace,Oracle會將SYSTEM表空間作為用戶默認表空間。
-- 如果建立用戶時不能指定temporary tablespace,Oracle會將數據庫默認臨時表空間作為用戶的臨時表空間。
create user CS identified by 123456 DEFAULT tablespace hpdb_tablespace temporary tablespace hpdb_tmp;
2、更改用戶的默認表空間
alter user CS default tablespace newTemp;
3、更改用戶的默認臨時表空間
alter user CS temporary tablespace temp3;
4、修改用戶密碼
alter user CS identified by 000000
5、 刪除用戶
--刪除用戶,並刪除該用戶創建的對象
--不能刪除正在連接的用戶 drop user CS cascade
6、鎖定用戶
alter user CS account lock;
7、解除鎖定
alter user CS account unlock;
四、用戶權限、角色管理
我們新創建的用戶是沒有任何權限的,甚至連登錄連接數據的權限都沒有,那麽,我們在創建完用戶後,就要為其分配權限,或者角色。
用戶的權限分為兩類:系統權限、對象權限
系統權限:允許用戶執行某些數據庫操作(如登錄需要的權限create session;創建數據表的權限create table)。
對象權限:允許用戶對某一特定對象執行特定的操作(如select、delete、update等權限)。
角 色:為了簡化權限管理,進而引入了角色的概念,角色是具有名稱的一組權限的組合。
系統預定義的用戶角色
CONNECT:時用戶 (只有登錄的權限)
RESOURCE:更為可靠和正式的用戶
DBA:數據庫管理員角色,擁有管理數據庫的最高權限,該角色不應該給一般的用戶。
1、授予用戶角色
--為用戶CS授予connect、resource角色 GRANT CONNECT,RESOURCE TO CS;
2、授予用戶系統權限
--授予用戶CS登錄連接數據庫的權限 grant create session to CS;
--授予用戶CS創建數據表的權限
grant create table to CS;
--賦予用戶CS使用表空間的權限
grant ulimited tablespace to CS;
3、授予用戶對象權限
-- 賦予用戶CS查看數據表dept的權限 grant select on dept to CS; -- 賦予用戶CS查看所有數據表的權限 grant select any table to CS;
4、撤銷用戶角色
--撤銷用戶CS的connect、resource角色 REVOKE CONNECT,RESOURCE FROM CS;
--撤銷用戶CS的創建數據表的權限
revoke create table from CS;
--撤銷用戶CS的使用表空間的權限
revoke ulimited tablespace from CS;
--撤銷用戶CS的查看數據表dept的權限
revoke select on dept from CS;
--撤銷用戶CS查看所有數據表的權限
revoke select any table from CS;
5、權限級聯
grant select on Student to CS with grant option;-- 賦予用戶CS查看數據表Student的權限,並且用戶CS可以將該權限賦予其他用戶
- with grant option (用於對象權限授權,權限是級聯的)賦予權限賬戶被刪除或權限被撤銷,被賦予權限的用戶的權限也將被撤銷
- with admin option (用於系統權限授權,權限是不級聯的)賦予權限賬戶被刪除或權限被撤銷,被賦予權限的用戶的權限不會被撤銷
Oracle對表空間、用戶、用戶權限的操作