溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Oracle11g 用戶與權限管理

發(fā)布時間:2020-08-11 06:35:18 來源:ITPUB博客 閱讀:174 作者:達芬奇的夢 欄目:關系型數據庫
---用戶與權限管理----
--1,用戶--
Create User 用戶名 Identified By "口令"
Default Tablespace 表空間      
---指定默認表空間,若不指定,則SYSTEM表空間將被指定為用戶的默認表空間,為了提高數據庫的性能,同時為了方便管理數據,Oracle建議為用戶指定一個默認表空間---
Temporary Tablespace 臨時表空間    
Quota 空間配額大小 On 表空間  
Password Expire
Account Lock|Unlock

點擊(此處)折疊或打開

  1. Create User user1 Identified By "1234"
  2. Default Tablespace Users
  3. Temporary Tablespace temp
  4. Quota 20M On Users ---若希望用戶在所有表空間上都具有無限制的空間配額,則只要為其指定Unlimited tablespaces系統(tǒng)權限即可---
  5. Password Expire
  6. Account Unlock;
--刪除用戶--
Drop User 用戶名
--需要注意的是,如果一個用戶的模式中已經包含一些數據庫對象,那么這個用戶不能直接刪除,必須指定cascade--
Drop User scott Cascade;
--用戶的相關信息從數據字典視圖dba_users中獲得--

  1. Select username,Password,default_tablespace,account_status From dba_users;
--修改用戶口令--
Password 用戶名   --若沒有指定用戶名,則默認為當前用戶--
Alter User 用戶 Identified By "新口令"
--alter也可以修改其它信息--

  1. Alter User user1
  2. Default Tablespace ts1
  3. Temporary Tablespace ts1
  4. Quota Unlimited On ts1;
--系統(tǒng)權限的管理--
--為用戶授予權限的grant命令語法--
Grant 權限1,權限2,... To 用戶1,用戶2,... With Admin Option;   --with admin option的好處是權限的獲得者可以再將權限授予其他用戶--
---權限包括系統(tǒng)權限和對象權限--
--系統(tǒng)權限--
Create Session,Create Table,Create Resource,Create View,Create User,Create Trigger,Create Tablespace,Create procedure.
Alter Session,Database,User
--為了使一個用戶可以操作數據庫,至少需要有create session,create table和有指定(表)空間配額的3個權限--
Grant Create Session,Create Table,Unlimited Tablespace To 用戶名;
--回收權限--
--注意:系統(tǒng)權限可以轉授,但是回收時不能間接回收--
Revoke 系統(tǒng)權限1,系統(tǒng)權限2 ...
From 用戶1,用戶2 ...
--對象權限    主要是對數據庫對象中的數據的訪問權限,這類權限主要針對普通用戶--
Grant 對象權限1(列名),對象權限2(列名)...
On 對象 To 用戶1,用戶2... With Grant Option

  1. Grant Select On dept To user1 With Grant Option
  2. Grant Insert(empno),Update(sal) On emp To user1,user2
  3. Grant Execute On functional To user1
--回收權限--
--權限insert,update,references在分配時可以指定相關的列,但在回收時不能指定列,而只能指定表名--
Revoke 對象權限1,對象權限2... On 對象
From 用戶1,用戶2...

  1. Revoke Update(sal) On emp From user2 --錯誤語句--
  2. Revoke Update On emp From user2      
--數據庫中所有的系統(tǒng)權限--
  1. Select Name From system_privilege_map;
--sys從數據字典視圖dba_sys_privs中查詢任何用戶所具有的系統(tǒng)權限--

  1. Select grantee,Privilege,admin_option From dba_sys_privs Where grantee='SCOTT'
----普通用戶通過user_sys_privs查詢      用戶直接獲得的系統(tǒng)權限,即通過grant命令授予當前用戶的系統(tǒng)權限---
Select username,Privilege,admin_option From user_sys_privs
--從數據字典視圖session_privs中可以查詢一個用戶在當前會話中所具有的系統(tǒng)權限--
-- session_privs權限==直接獲得的權限 + 該用戶從角色中間接獲得的系統(tǒng)權限  ---
--對象權限有關的數據字典視圖:dba_tab_privs,dba_col_privs,user_tab_privs和user_col_privs--

點擊(此處)折疊或打開

  1. -- dba_tab_privs 查詢任何用戶所具有的對象權限 ---
  2. Select grantee,Privilege,grantor,table_name,grantable From dba_tab_privs
  3. Where grantee='USER1';
  4. --dba_col_privs 查詢用戶在列上的權限 --
  5. Select grantee,table_name,column_name,Privilege,grantor,grantable
  6. From dba_col_privs Where grantee='USER1';
  1. Select grantee,table_name,column_name,Privilege,grantor,grantable
  2. From user_tab_privs Where grantee='SCOTT';
--角色--
--connect角色 包含的權限有create Session --
/* resource角色 包含的權限有 crate sequence,create trigger,create cluster,create procedure,
create type,create operator,create table ,create indextype */
Create Role 角色名
Drop Role 角色名
Grant Select On emp To role1
Revoke Select On emp From role1
--角色信息的查詢--
/*  dba_roles            記錄數據庫中所有角色
dba_role_privs          記錄所有被授予用戶或另一角色的角色
user_role_privs         記錄所有被授予當前用戶的角色
role_role_privs         記錄一個角色中包含的其他角色
role_sys_privs          記錄一個角色中包含的系統(tǒng)權限
role_tab_privs          記錄一個角色中包含的對象權限
session_roles           記錄當前會話中所使用的角色   */
--獲得系統(tǒng)中所有的角色--

  1. Select Role From dba_roles
--查詢用戶user1所擁有的角色和默認角色--

  1. Select granted_role,default_role From dba_role_privs Where grantee='user1'
--查詢角色connect所包含的系統(tǒng)權限--

  1. Select Privilege,admin_option From role_sys_privs Where Role='CONNECT'
--profile的管理--
  1. --查詢用戶的會話信息,強制終止用戶會話,鎖定用戶帳號--
  2. Select username,Sid,serial# From v$session Where username='SCOTT';
  3. Alter System Kill Session '144,7'; --144和7分別為用戶會話的sid和serial#--
  4. Alter User scott Account Lock;
--profile創(chuàng)建--
Create Profile profile名稱 Limit
口令限制
資源限制
--指定profile    每個用戶只能指定一個profile--

  1. Create User user2 Identified By "1234" Profile p1
  2. Alter User scott Profile p1
--從數據字典dba_users中可以獲得為每個用戶指定的profile-
  1. Select Profile From dba_users Where username='SCOTT';
  2. --數據字典dba_profiles--
  3. Select resource_name,Limit From dba_profiles Where Profile='P1';
  4. --刪除profile--
  5. Drop Profile profile名字 [Cascade];
--Profile限制--
/* Failed_Login_Attempts        允許的失敗登錄次數,默認值為10次
Password_Lock_Time     賬號鎖定時間,默認值為1天
Password_Life_Time 口令的有效期,默認值為180天
Password_Grace_Time 口令有效期的延長期,默認值為-周、7天
Password_Reuse_Time 為了再次使用過去用過的口令,必須經過的天數
Password_Reuse_Max 為了再次使用過去用過的口令,必須使用不同口令的次數
Password_Reuse_Time 和 Password_Reuse_Max 必須一起使用  */
--如果用戶失敗的登錄次數達到3次,則用戶賬號將被鎖定5天--

  1. Create Profile p1 Limit Failed_Login_Attempts 3 Password_Lock_Time 5
--用戶在30天內必須把口令修改過5次后,才能使用過去用過的口令--

  1. Create Profile p2 Limit Password_Reuse_Time 30 Password_Reuse_Max 5
--利用profile對用戶使用資源進行控制--
如果要使profile對用戶使用系統(tǒng)資源起限制作用,則需要將參數Resource_limit的值設置為True

  1. Alter System Set resource_limit=True
Sessions_Per_User       一個用戶所允許的并發(fā)會話數目
Cpu_Per_Session   用戶在一個會話內所使用的Cpu時間的總和,時間單位為0.01秒
Logical_Reads_Per_Session 用戶在一個會話內所能訪問的數據塊的數量(包括物理讀和邏輯讀的數量)
Connect_Time 一個用戶會話所能持續(xù)的時間,以分鐘為單位;超過這個時間,會話將自動斷開
Idle_Time 一個用戶會話所允許的連續(xù)的空閑時間,以分鐘為單位,超過這個時間,會話將自動斷開
Private_Sga 如果數據庫服務器的連接模式為共享模式,這個參數用來限制為一個用戶會話所分配的Sga空間
Cpu_Per_Call 用戶執(zhí)行的每條命令所使用的Cpu時間,時間單位為0.01秒
Logical_Reads_Per_Call 用戶執(zhí)行的每條命令所能訪問的數據塊的數量
如果能夠對用戶消耗Cpu時間、訪問數據塊的數量等這些資源進行限制,那么就可以有效地
防止諸如死循環(huán)的執(zhí)行、訪問一個大表中的所有數據這類情況的發(fā)生。
  1. Create Profile p3 Limit
  2. Sessions_Per_User 100
  3. Logical_Reads_Per_Session 500
  4. Connect_Time 5
  1. Create Profile p4 Limit
  2. Cpu_Per_Call 10
  3. Logical_Reads_Per_Call 50
/* 若沒有為用戶指定profile文件,則用戶會受默認profile限制,如果要對所有用戶進行同樣的限制,那么只要修改
這個默認profile所包含的限制,并且不要為用戶指定其他的profile */

  1. Select resource_name,Limit From dba_profiles Where Profile='DEFAULT';

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI