Oracle使用者建立及許可權設定
許可權:
create session 允許使用者登入資料庫許可權
create table 允許使用者建立表許可權
unlimited tablespace 允許使用者在其他表空間隨意建表
角色:
connect
resource
dba
CONNECT角色: --是授予終端使用者的典型權利,最基本的權力,能夠連線到ORACLE資料庫中,並在對其他使用者的表有訪問許可權時,做SELECT、UPDATE、INSERTT等操作。
ALTER SESSION --修改會話
CREATE CLUSTER --建立聚簇
CREATE DATABASE LINK --建立資料庫連結
CREATE SEQUENCE --建立序列
CREATE SESSION --建立會話
CREATE SYNONYM --建立同義詞
CREATE VIEW --建立檢視
RESOURCE角色:
CREATE CLUSTER --建立聚簇
CREATE PROCEDURE --建立過程
CREATE SEQUENCE --建立序列
CREATE TABLE --建表
CREATE TRIGGER --建立觸發器
CREATE TYPE --建立型別
DBA角色,是授予系統管理員的,擁有該角色的使用者就能成為系統管理員了,它擁有所有的系統許可權
例:
#sqlplus /nolog
SQL> conn / as sysdba;
SQL>create user username identified by password --username/password都是使用者自定義
SQL> grant dba to username;
SQL> conn username/password
SQL> select * from user_sys_privs;
我們將從建立Oracle使用者許可權表開始談起,然後講解登陸等一般性動作,使大家對Oracle使用者許可權表有個深入的瞭解。
一、建立
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 zhangsan;//在管理員帳戶下,建立使用者zhangsan
alert user scott identified by tiger;//修改密碼
四,授予許可權
1、預設的普通使用者scott預設未解鎖,不能進行那個使用,新建的使用者也沒有任何許可權,必須授予許可權
grant create session to zhangsan; //授予zhangsan使用者建立session的許可權,即登陸許可權,允許使用者登陸資料庫
grant unlimited tablespace to zhangsan; //授予zhangsan使用者使用表空間的許可權
grant create table to zhangsan; //授予建立表的許可權
grante drop table to zhangsan; //授予刪除表的許可權
grant insert table to zhangsan; //插入表的許可權
grant update table to zhangsan; //修改表的許可權
grant all to public; //這條比較重要,授予所有許可權(all)給所有使用者(public)
2、oralce對許可權管理比較嚴謹,普通使用者之間也是預設不能互相訪問的,需要互相授權
grant select on tablename to zhangsan; //授予zhangsan使用者檢視指定表的許可權
grant drop on tablename to zhangsan; //授予刪除表的許可權
grant insert on tablename to zhangsan; //授予插入的許可權
grant update on tablename to zhangsan; //授予修改表的許可權
grant insert(id) on tablename to zhangsan;
grant update(id) on tablename to zhangsan; //授予對指定表特定欄位的插入和修改許可權,注意,只
能是insert和update
grant alert all table to zhangsan; //授予zhangsan使用者alert任意表的許可權
五、撤銷許可權
基本語法同grant,關鍵字為revoke
六、檢視許可權
select * from user_sys_privs;//檢視當前使用者所有許可權
select * from user_tab_privs;//檢視所用使用者對錶的許可權
七、操作表的使用者的表
select * from zhangsan.tablename
八、許可權傳遞
即使用者A將許可權授予B,B可以將操作的許可權再授予C,命令如下:
grant alert table on tablename to zhangsan with admin option;//關鍵字 with admin option
grant alert table on tablename to zhangsan with grant option;//關鍵字 with grant option效果和admin類似
九、角色
角色即許可權的集合,可以把一個角色授予給使用者
create role myrole;//建立角色
grant create session to myrole;//將建立session的許可權授予myrole
grant myrole to zhangsan;//授予zhangsan使用者myrole的角色
drop role myrole;刪除角色