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

 

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

版權聲明:版權全部,轉載請註明出處.謝謝 https://blog.csdn.net/weixin_35353187/article/details/87929965

安裝Oracle時,若沒有設置默認密碼,則如下爲默認帳戶的密碼:html

用戶名 / 密碼 登陸身份 說明
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命令行sql

sqlplus /nolog   無用戶名登陸數據庫

conn /as sysdba   鏈接到數據本地數據session

alter user system identified by password   修改System 密碼  爲passwordide

查看全部用戶信息:

---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;

角色

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

角色的做用:簡化受權操做。flex

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

使用角色

  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數據庫的用戶權限和角色權限控制

相關文章
相關標籤/搜索