一、數據庫用戶
創建數據庫用戶
create user 用戶名 identified by 密碼;
授權
grant 權限名 to 用戶名;
查看當前用戶權限
select * from session_privs;
移除權限
revoke 權限 session from 用戶名;
用戶解鎖/鎖定
alter user 用戶名 account unlock/lock;
二、角色
角色:權限組,多種權限的集合,將角色賦予某個用戶時即是將其包含權限一次性賦予該用戶;
常用系統角色
- dba
擁有對數據庫的所有操作權限,包括創建用戶,其中system用戶擁有該權限
2. connect
具有創建會話、修改會話等權限
3. resource
具有創建表、視圖、存儲(create procedure)等權限
創建角色(在system用戶下創建)
create role 角色名稱;
賦予權限
grant 權限名… to 角色名稱
查看當前用戶角色
select * from user_role_privs;
查看當前用戶角色的所有權限
select * from role_sys_privs;
查詢角色權限
select * from dba_sys_privs where grantee = '角色名'(區分大小寫)
查看當前系統角色
select * from dba_roles;
三、表空間——最大的邏輯單元
ORACLE數據庫被划分成稱作為表空間的邏輯區域——形成ORACLE數據庫的邏輯結構。
一個ORACLE數據庫能夠有一個或多個表空間,而一個表空間則對應着一個或多個物理的數據庫文件,但一個數據庫文件只能與一個表空間相聯系。表空間是ORACLE數據庫恢復的最小單位,容納着許多數據庫實體,如表、視圖、索引、聚簇、回退段和臨時段等。
1. 創建表空間(需要用戶擁有create tablespace權限)
create tablespace 表空間名稱
datafile 路徑 (比如 'd:\test.dbf';其中test是表空間名稱,dbf是后綴名)
size 表空間大小 (如10M,2G…)
autoextend on (是否允許自動擴展,默認自動擴展)
next 大小(每次增長大小)
maxsize 大小(最大值,unlimited:無限制);
2.創建臨時表空間
create temporary tablespace 表空間名稱
tempfile 路徑
size 大小
autoextend on
next 大小
maxsize 大小
extent management local;
例如:
create tablespace test_tablespace
datafile c:\test.dbf'
size 10M
autoextend on next 1M
maxsize unlimited;
--將創建的表指定到自定義的表空間
--需要指定用戶的表空間
--創建用戶並指定表空;
create user user1 identified by user1 default tablespace test_tablespace;
--改變用戶的表空間
alter user 用戶名 default tablespace 表空間名稱;
--查看用戶的表空間
select username,default_tablespace from dba_users where useranme = '用戶名(大寫)';
--查看表默認表空間
select tablespace_name from dba_tables where table_name = '表名稱';
