亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

Oracle如何實現用戶權限控制

發布時間:2021-11-25 10:25:50 來源:億速云 閱讀:300 作者:小新 欄目:數據庫

這篇文章主要為大家展示了“Oracle如何實現用戶權限控制”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Oracle如何實現用戶權限控制”這篇文章吧。

1、用戶

Oracle中的用戶分為二大類

1)Oracle數據庫服務器創建時,由系統自動創建的用戶,叫系統用戶,如sys。

2)利用系統用戶創建的用戶,叫普通用戶,如scott,hr,c##tiger,zhaojun,...

》用sys登錄,查詢當前Oracle數據庫服務器中已有用戶的名字和狀態

  username表示登錄名

  expired&locked表示帳號過期和鎖定

  open表示帳號現在可用

  sqlplus / as sysdba;
  col username for a30;
  col account_status for a30;
  set pagesize 100;
  select username,account_status from dba_users;

Oracle如何實現用戶權限控制

  查詢Oracle中有哪些用戶

  select * from all_users;

Oracle如何實現用戶權限控制

2、創建與刪除普通用戶

可以在Oracle中創建新的普通用戶,創建普通用戶命令是:create user,在創建普通用戶的同時,應該為其分配一個具體的表空間,通常叫users。

》用sys登錄,查詢Oracle中有哪些可用存儲空間,所有普通用戶默認為users存儲空間

  select * from v$tablespace;

Oracle如何實現用戶權限控制

Oracle如何實現用戶權限控制

》用sys登錄,創建普通用戶c##tiger,密碼為abc,默認使用users存儲空間,即對應硬盤上的一個DBF二進制文件

  sqlplus / as sysdba;
  create user c##tiger identified by abc default tablespace users;

》用sys登錄,為c##tiger分配users空間無限制使用,即數據庫中DBF文件可以無限增加,一個DBF文件不夠,會創建第二個DBF文件

  sqlplus / as sysdba;
  alter user c##tiger quota unlimited on users;

Oracle如何實現用戶權限控制

》用c##tiger登錄,能進orcl數據庫嗎?

  sqlplus c##tiger/abc

  進不去orcl數據庫

》用sys登錄,刪除普通用戶c##tiger

  sqlplus / as sysdba;
  drop user c##tiger cascade;

3、了解系統用戶

sys是Oracle中一個重要的系統用戶,sys是Oracle中最高權限用戶,其角色為SYSDBA(系統管理員)

sqlplus / as sysdba

4、權限

權限的最終作用于用戶。即所有用戶在數據庫內的操作對象和可執行的動作都是受到限制的。

Oracle中權限分為二大類:

1)系統權限

2)對象權限

4.1、系統權限

針對數據庫中特定操作的許可,例如:讓c##tiger能登錄到orcl數據庫,能在orcl數據庫中創建表

》用sys登錄,獲取系統權限的相關信息,例如:select any table表示針對所有表的select權限

  sqlplus / as sysdba;
  select distinct privilege from dba_sys_privs;

Oracle如何實現用戶權限控制

》用sys登錄,為c##tiger分配create session與數據庫建立會話的權限,即允許該用戶登錄

  sqlplus / as sysdba;
  grant create session to c##tiger;

Oracle如何實現用戶權限控制

》用c##tiger登錄,能進orcl數據庫嗎?

  sqlplus c##tiger/abc

  能進去orcl數據庫

》用c##tiger登錄,創建一張tiger的表,能創建嗎?

  sqlplus c##tiger/abc
  create table tiger(
    name varchar2(20)
  );

  這時c##tiger沒有權限創建表

Oracle如何實現用戶權限控制

》用sys登錄,為c##tiger分配create table權限,即允許創建表

  sqlplus / as sysdba;
  grant create table to c##tiger;

》用c##tiger登錄,創建一張tiger的表,能創建嗎?

  sqlplus c##tiger/abc
  create table tiger(
    name varchar2(20)
  );

  可以創建c##tiger表

》用sys登錄,查詢c##tiger所擁有的系統權限

  sqlplus / as sysdba;

  select grantee,privilege from dba_sys_privs where lower(grantee) = 'c##tiger';

  grantee表示普通用戶名

  privilege權限名  

Oracle如何實現用戶權限控制

》用sys登錄,撤銷c##tiger的create table權限

  sqlplus / as sysdba;
  revoke create table from c##tiger;

4.2、對象權限

用戶對已有對象的操作權限,包括:

1)select可用于表,視圖和序列

2)insert向表或視圖中插入新的記錄

3)update更新表中數據

4)delete刪除表中數據

5)execute函數,過程的執行

6)index為表創建索引

7)references為表創建外健

8)alter修改表或者序列的屬性

》用sys登錄,查詢c##tiger所擁有的對象權限

  sqlplus / as sysdba;
  col grantee for a10;
  col table_name for a10;
  col privilege for a20;
  select grantee,table_name,privilege from dba_tab_privs where lower(grantee) = 'c##tiger';

》用sys登錄,為c##tiger分配對tiger表的所有權限,即增刪改查操作

  sqlplus / as sysdba;
  grant all on c##tiger.tiger to c##tiger;

  注意:c##tiger表示空間名

        tiger表示該空間下的表名

  C##TIGER   TIGER      FLASHBACK

  C##TIGER   TIGER      DEBUG

  C##TIGER   TIGER      QUERY REWRITE

  C##TIGER   TIGER      ON COMMIT REFRESH

  C##TIGER   TIGER      REFERENCES

  C##TIGER   TIGER      UPDATE

  C##TIGER   TIGER      SELECT

  C##TIGER   TIGER      INSERT

  C##TIGER   TIGER      INDEX

  C##TIGER   TIGER      DELETE

  C##TIGER   TIGER      ALTER

Oracle如何實現用戶權限控制

》用c##tiger登錄,對tiger表進行增刪改查操作

  sqlplus c##tiger/abc;
  insert into tiger(name) values('AA');
  update tiger set name = 'BB';
  delete from tiger where rownum = 1;
  select * from tiger;

以上是“Oracle如何實現用戶權限控制”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

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

AI

祥云县| 荔波县| 宿迁市| 诸暨市| 杨浦区| 元阳县| 博爱县| 北辰区| 延津县| 湟源县| 长葛市| 沐川县| 疏附县| 浦江县| 集安市| 漯河市| 许昌县| 深圳市| 遵义市| 修文县| 从江县| 香格里拉县| 汝阳县| 宜城市| 漳浦县| 和顺县| 琼结县| 普定县| 肇源县| 新平| 东兴市| 安化县| 合肥市| 疏勒县| 南丹县| 泗洪县| 昌都县| 岫岩| 江津市| 涿鹿县| 泰来县|