Oracle使用者與許可權管理

來源:互聯網
上載者:User

Oracle使用者與許可權管理

Oracle許可權分類

1、  系統許可權:對於資料庫操作的許可權,包括但不限於:

CREATE TABLE

CREATE VIEW

CREATE SESSION

CREATE  SEQUENCE

CREATE PROCEDURE

……

2、  對象許可權:對於使用者建立的表、視圖的訪問、修改能操作許可權,包括但不限於:

SELECT

UPDATE

INSERT

DELETE

……

許可權分配與回收


1、  許可權分配:

GRANT 許可權 TO 使用者/角色

例1:將對hr使用者下employee表的存取權限賦給使用者SCOTT

GRANT SELECT ON hr.employee TO scott;

例2:將角色CONNECT分配給使用者SCOTT

GRANT CONNECT TO scott

2、  許可權回收:

REVOKE 許可權 FROM 使用者/角色

例1:收回使用者scott對於hr使用者employee表的存取權限

REVOKE hr.employee FROM scott;

例2:收回使用者scott的CONNECT角色

REVOKE CONNECT FROM scott;

許可權繼承與回收


1、情景類比:Oracle總部擁有對於Oracle產品的系統管理權限,Oracle總部賦予Oracle中國管理中國境內的經營事宜,如果Oracle中國需要二次分配這種許可權,可以在總部賦予許可權的時候,使用WITH ADMIN OPTION(系統許可權繼承)/WITH GRANT OPTION(對象許可權繼承)

例:SYS 賦予使用者scott建立表的許可權,然後scott可以賦予其他使用者建立表的許可權

SOL>CONN  SYS

GRANT CREATE TABLE TO scott WITHADMIN OPTION;

說明:

    CREATE TABLE屬於系統許可權,使用關鍵字WITH ADMIN OPTION賦予許可權繼承;

此時,SCOTT使用者可以對於其他任意使用者賦予建立表的許可權

SQL>CONN SCOTT

 GRANT CREATE TABLE TOtest;

如果是對象許可權的繼承則需要使用WITHGRANT OPTION

例:將對hr使用者下employee表的存取權限賦給使用者SCOTT,SCOTT使用者可以繼承

SQL>CONN hr

        GRANT SELECT ON hr.employee TO scott WITH GRANT OPTION;

    CONN scott

    GRANT SELECT ONhr.employee TO test;  --scott使用者將許可權二次分配給test使用者;

2、繼承許可權回收

    回收許可權時,對於系統許可權而言,不會回收WITH ADMIN OPTION分配的子許可權;

對象許可權則會級聯回收,比如使用者scott使用者對hr使用者下employe表的存取權限,scott使用者又將存取權限二次分配給了新使用者test,則回收scott存取權限的同時,系統會自動回收由scott二次受指派的存取權;

常見角色許可權與分配原則


1、常見角色

DBA:擁有全部特權,是系統最高許可權,只有DBA才可以建立資料庫結構。

RESOURCE:只可以建立實體,不可以建立資料庫結構。

CONNECT:只可以登入Oracle,不可以建立實體,不可以建立資料庫結構。

2、角色許可權分配原則:

對於普通使用者:授予connect, resource許可權。
對於DBA系統管理使用者:授予connect,resource, dba許可權。

常用的許可權查詢檢視


--1、顯示角色擁有的系統許可權

SELECT * FROMROLE_SYS_PRIVS;

--2、角色對於表列擁有的許可權

SELECT * FROMROLE_TAB_PRIVS;

--3、查詢使用者所屬角色

SELECT * FROMUSER_ROLE_PRIVS;

--4、顯示已授予給其他使用者的對象許可權,使用者是當前登入使用者

SELECT * FROMUSER_TAB_PRIVS_MADE

--5、顯示已授予給其他使用者的對象許可權,使用者是被授予者

SELECT * FROMUSER_TAB_PRIVS_RECD

--6、顯示列上已授與權限,使用者是當前登入使用者

SELECT * FROMUSER_COL_PRIVS_MADE

--7、顯示列上已授與權限,使用者是被授予者

SELECT * FROMUSER_COL_PRIVS_RECD

--8、顯示當前登入使用者所擁有的系統許可權

SELECT * FROMUSER_SYS_PRIVS

使用者管理


1、  建立使用者test,密碼test

CREATE USER test IDENTIFIED BY test;

2、  修改使用者test密碼為123456

ALTER USER test IDENTIFIED BY 123456;

3、  解鎖使用者SCOTT

ALTER USER scott ACCOUNT UNLOCK;

建立資料庫連接

 


CREATE [PUBLIC] DATABASE LINK 串連名稱

CONNECT 使用者名稱 IDENTIFIED BY 登入密碼

USING 資料庫執行個體名

Oracle 單一實例 從32位 遷移到 64位 方法 

在CentOS 6.4下安裝Oracle 11gR2(x64)

Oracle 11gR2 在VMWare虛擬機器中安裝步驟

Debian 下 安裝 Oracle 11g XE R2

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.