權限:
CREATE SESSION --允許用戶登錄數據庫權限
CREATE TABLE --允許用戶創建表權限
UNLIMITED TABLESPACE --允許用戶在其他表空間隨意建表
角色:
CONNECT 角色:--是授予最終用戶的典型權利,最基本的權力,能夠連接到ORACLE數據庫中,
並在對其他用戶的表有訪問權限時,做SELECT、UPDATE、INSERTT等操作。
RESOURCE 角色: --是授予開發人員的,能在自己的方案中創建表、序列、視圖等。
DBA 角色,是授予系統管理員的,擁有該角色的用戶就能成為系統管理員了,它擁有所有的系統權限
ALTER SESSION --修改會話
CREATE CLUSTER --建立聚簇
CREATE DATABASE LINK --建立數據庫鏈接
CREATE SEQUENCE --建立序列
CREATE SESSION --建立會話
CREATE SYNONYM --建立同義詞
CREATE VIEW --建立視圖
CREATE CLUSTER --建立聚簇
CREATE PROCEDURE --建立過程
CREATE SEQUENCE --建立序列
CREATE TABLE --建表
CREATE TRIGGER --建立觸發器
CREATE TYPE --建立類型
例:
#SQLPLUS /NOLOG
SQL> CONN / AS SYSDBA;
SQL> CREATE USER XIMING IDENTIFIED BY "XIMING123" ACCOUNT UNLOCK DEFAULT TABLESPACE TS_XIMING_DATA TEMPORARY TABLESPACE TS_XIMING_TMP; --USERNAME/PASSWORD都是用戶自定義,創建用戶時,需要指定數據表空間和,臨時表空間
SQL> GRANT UNLIMITED TABLESPACE,SELECT ANY TABLE,SELECT ANY DICTIONARY TO XIMING;
SQL> GRANT CREATE SESSION,CONNECT TO XIMING;
SQL> GRANT CREATE ANY TABLE ,DROP ANY TABLE, CREATE ANY INDEX ,DROP ANY INDEX,ALTER ANY TABLE,COMMENT ANY TABLE,UPDATE ANY TABLE,INSERT ANY TABLE,DELETE ANY TABLE TO XIMING;
SQL> GRANT CREATE ANY VIEW ,DROP ANY VIEW TO XIMING;
SQL> GRANT CREATE ANY PROCEDURE,ALTER ANY PROCEDURE TO XIMING;
SQL> CONN XIMING/XIMING123
SQL> SELECT * FROM USER_SYS_PRIVS;--查看當前用戶所有權限
一、創建
SYS;--系統管理員,擁有最高權限
SYSTEM;--本地管理員,次高權限
SCOTT;--普通用戶,密碼默認為TIGER,默認未解鎖
ORACLE有三個默認的用戶名和密碼
1.用戶名:SYS密碼:CHANGE_ON_INSTALL
2.用戶名:SYSTEM密碼:MANAGER
3.用戶名:SCOTT密碼:TIGER
二、登陸
SQLPLUS / AS SYSDBA;--登陸SYS帳戶
SQLPLUS SYS AS SYSDBA;--同上
SQLPLUS SCOTT/TIGER;--登陸普通用戶SCOTT
三、管理用戶
CREATE USER XIMING;--在管理員帳戶下,創建用戶 XIMING
ALERT USER XIMING IDENTIFIED BY XIMING666;--修改密碼
四、授予權限
1、默認的普通用戶SCOTT默認未解鎖,不能進行那個使用,新建的用戶也沒有任何權限,必須授予權限
--授予 XIMING 用戶創建SESSION的權限,即登陸權限,允許用戶登錄數據庫
GRANT CREATE SESSION TO XIMING;
--授予XIMING用戶使用表空間的權限
GRANT UNLIMITED TABLESPACE TO XIMING;
--授予創建表的權限
GRANT CREATE TABLE TO XIMING;
--授予刪除表的權限
GRANTE DROP TABLE TO XIMING;
--插入表的權限
GRANT INSERT TABLE TO XIMING;
--修改表的權限
GRANT UPDATE TABLE TO XIMING;
--這條比較重要,授予所有權限(ALL)給所有用戶(PUBLIC)
GRANT ALL TO PUBLIC;
2、ORALCE對權限管理比較嚴謹,普通用戶之間也是默認不能互相訪問的,需要互相授權
GRANT SELECT ON TABLENAME TO XIMING;--授予XIMING用戶查看指定表的權限
GRANT DROP ON TABLENAME TO XIMING;--授予刪除表的權限
GRANT INSERT ON TABLENAME TO XIMING;--授予插入的權限
GRANT UPDATE ON TABLENAME TO XIMING;--授予修改表的權限
GRANT INSERT(ID) ON TABLENAME TO XIMING;
--授予對指定表特定字段的插入和修改權限,注意,只能是INSERT和UPDATE
GRANT UPDATE(ID) ON TABLENAME TO XIMING;
GRANT ALERT ALL TABLE TO XIMING;--授予XIMING用戶ALERT任意表的權限
五、撤銷權限
基本語法同GRANT,關鍵字為REVOKE
六、查看權限
SELECT * FROM USER_SYS_PRIVS;--查看當前用戶所有權限
SELECT * FROM USER_TAB_PRIVS;--查看所用用戶對表的權限
七、操作表的用戶的表
SELECT * FROM XIMING.<TABLENAME>(用戶.表明);
八、權限傳遞
即用戶A將權限授予B,B可以將操作的權限再授予C,命令如下:
GRANT ALERT TABLE ON TABLENAME TO XIMING WITH ADMIN OPTION;--關鍵字 WITH ADMIN OPTION
GRANT ALERT TABLE ON TABLENAME TO XIMING WITH GRANT OPTION;--關鍵字 WITH GRANT OPTION效果和ADMIN類似
九、角色
角色即權限的集合,可以把一個角色授予給用戶
CREATE ROLE XIHONG;--創建角色
GRANT CREATE SESSION TO XIHONG;--將創建SESSION的權限授予XIHONG
GRANT XIHONG TO XIMING;--授予XIMING用戶XIHONG的角色
DROP ROLE XIHONG;刪除角色