Oracle數據庫---用戶與角色


 

Oracle數據庫---用戶與角色

版權聲明:版權所有,轉載請注明出處.謝謝 https://blog.csdn.net/weixin_35353187/article/details/87929965

安裝Oracle時,若沒有設置默認密碼,則以下為默認賬戶的密碼:

用戶名 / 密碼 登錄身份 說明
sys/change_on_install SYSDBA 或 SYSOPER 不能以 NORMAL 登錄,可作為默認的系統管理員,超級管理員,負責數據庫系統的管理
system/manager SYSDBA 或 NORMAL 普通管理員,負責數據庫對象的管理,如:創建用戶,授權,創建數據庫等等
sysman/oem_temp   sysman 為 oms 的用戶名
scott/tiger NORMAL 普通用戶
aqadm /aqadm SYSDBA 或 NORMAL 高級隊列管理員
Dbsnmp/dbsnmp SYSDBA 或 NORMAL 復制管理員
scott SYSDBA 或 NORMAL 該用戶主要用於給我們學習的時候使用。如果要使用該用戶就必須解鎖,並且修改密碼
hr  SYSDBA 或 NORMAL 測試用戶。該用戶有一些hr相關的測試數據。如果要使用該用戶就必須解鎖,並且修改密碼

cmd窗口連接數據庫時,運行cmd命令行

sqlplus /nolog   無用戶名登錄

conn /as sysdba   連接到數據本地數據

alter user system identified by password   修改System 密碼  為password

查看所有用戶信息:

---dba_users:保存系統中所有用戶的詳細信息。

select * from dba_users;

創建用戶

  1.  
    create user 用戶名
  2.  
    identified by 密碼
  3.  
    [ default tablespace 表空間];
  4.  
    --新創建的用戶沒有任何權限,登陸后會提示
  1.  
    --創建用戶
  2.  
    create user test01
  3.  
    identified by 123456
  4.  
    default tablespace test01;
  1.  
    --登錄:也需要有權限
  2.  
    --Oracle 中已存在三個重要的角色:connect 角色,resource 角色,dba 角色。
  3.  
     
  4.  
    CONNECT 角色: --是授予最終用戶的典型權利,最基本的
  5.  
    ALTER SESSION --修改會話
  6.  
    CREATE CLUSTER --建立聚簇
  7.  
    CREATE DATABASE LINK --建立數據庫鏈接
  8.  
    CREATE SEQUENCE --建立序列
  9.  
    CREATE SESSION --建立會話
  10.  
    CREATE SYNONYM --建立同義詞
  11.  
    CREATE VIEW --建立視圖
  12.  
     
  13.  
     
  14.  
    RESOURCE 角色: --是授予開發人員的
  15.  
    CREATE CLUSTER --建立聚簇
  16.  
    CREATE PROCEDURE --建立過程
  17.  
    CREATE SEQUENCE --建立序列
  18.  
    CREATE TABLE --建表
  19.  
    CREATE TRIGGER --建立觸發器
  20.  
    CREATE TYPE --建立類型
  21.  
     
  22.  
     
  23.  
    DBA 角色:擁有全部特權,是系統最高權限,只有 DBA 才可以創建數據庫結構,
  24.  
    並且系統權限也需要 DBA 授出,且 DBA 用戶可以操作全體用戶的任意基表,包括刪除
  25.  
     
  26.  
    grant dba to user_test;
  27.  
     
  28.  
    進入 system 用戶下給用戶賦予 dba 權限,否則無法正常登陸
  1.  
    --分配角色權限:
  2.  
     
  3.  
    -- 授權: grant connect,resource to test01;
  4.  
    grant dba to test01;
  5.  
     
  6.  
    --撤銷授權
  7.  
    -- revoke connect,resource from test01;

設置用戶密碼

alter user 用戶名 identified by 密碼;
alter user test01 identified by a123456; --該方式不能修改為純數字密碼

解鎖用戶

alter user 用戶名 account unlock;
  1.  
    --鎖定hr測試用戶
  2.  
    alter user hr account lock;
  3.  
     
  4.  
    --解鎖hr測試用戶
  5.  
    alter user hr account unlock;

刪除用戶

drop user 用戶名 [cascade];
  1.  
    drop user test01 [cascade];
  2.  
    --如果刪除的用戶中已經有數據,那么刪除用戶的時候,就必須要指定cascade關鍵字。

系統權限

  1.  
    --系統權限就是創建數據庫對象的權限。系統權限都是以create開頭的權限。
  2.  
    --例如:創建會話、創建表、創建索引、創建序列等等。
  3.  
    --create session、create table、create index、create sequence等等。
  1.  
    --授予用戶系統權限。
  2.  
    grant create 權限 to 用戶;
  3.  
    --只有管理員才可以授予用戶系統權限。
  1.  
    --授予用戶test01創建會話、創建表的系統權限。
  2.  
    grant create session,create table
  3.  
    to test01;

對象權限

  1.  
    --對象權限就是對數據庫對象的操作權限。
  2.  
    --例如:添加表數據、查詢表、刪除表等等操作。
  3.  
    select、insert、update、delete、all。
  1.  
    --授予用戶對象權限。
  2.  
    grant 操作權限
  3.  
    on 用戶1.表名
  4.  
    to 用戶2;
  1.  
    --授予用戶test01查詢和插入scott用戶的emp表的權限。
  2.  
    grant select,insert
  3.  
    on scott.emp
  4.  
    to test01;

查看用戶權限

  1.  
    dba_sys_privs:保存所有用戶的系統權限;
  2.  
    dba_tab_privs:保存所有用戶的對象權限;
  1.  
    select *
  2.  
    from dba_sys_privs
  3.  
    where grantee ='TEST01';
  4.  
     
  5.  
    select *
  6.  
    from dba_tab_privs
  7.  
    where grantee ='TEST01';

回收權限

  1.  
    --回收用戶的系統權限:
  2.  
    revoke create 權限 from 用戶;
  3.  
     
  4.  
    --回收用戶的對象權限:
  5.  
    revoke 操作 on 用戶1.表名 from 用戶2;
  1.  
    revoke create table
  2.  
    from test01;
  3.  
     
  4.  
    revoke insert
  5.  
    on scott.emp
  6.  
    from test01;

角色

角色就是一組權限的集合。

角色的作用:簡化授權操作。

Oracle 中已存在三個重要的角色:connect 角色,resource 角色,dba 角色

使用角色

  1.  
    第一步:創建角色;
  2.  
    create role 角色名;
  3.  
     
  4.  
    第二步:給角色授權;
  5.  
    grant create 權限to 角色; --授予角色系統權限
  6.  
    grant 操作 on 用戶.表名 to 角色; --授予角色對象權限
  7.  
     
  8.  
    第三步:把角色賦給用戶;
  9.  
    grant 角色 to 用戶;
  1.  
    --第一步:創建角色;
  2.  
    create role t_role;
  3.  
     
  4.  
    --第二步:給角色授權;
  5.  
    grant create table
  6.  
    to t_role; --授予角色系統權限
  7.  
     
  8.  
    grant select
  9.  
    on scott.emp
  10.  
    to t_role; --授予角色對象權限
  11.  
     
  12.  
    --第三步:把角色賦給用戶;
  13.  
    grant t_role
  14.  
    to test01;

查詢用戶角色

  1.  
    --dba_role_privs:保存所有用戶的角色信息。
  2.  
    select *
  3.  
    from dba_role_privs
  4.  
    where grantee ='TEST01';

回收角色

  1.  
    revoke 角色名
  2.  
    from 用戶;
  1.  
    revoke t_role
  2.  
    from test01;

刪除角色

drop role 角色名;
  1.  
    drop role t_role;
  2.  
    --刪除角色之后,那么擁有該角色的用戶就會自動地把該角色取消。

 

ORACLE數據庫的用戶權限和角色權限控制

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM