Oracle基礎入門 (使用者 角色 許可權)

2022-05-18 22:17:36 字數 3454 閱讀 7608

1) 建立乙個表空間

2) 建立使用者,並且給使用者訪問的表空間

3) 授予許可權      --> 前3步: 在實際開發中: dba分配的

4) 建立表(約束)       --> 4,5,6 作為重點

5) 新增資料

6) 修改,刪除,查詢資料

oracle提供了三個使用者:

sys使用者:超級管理員,許可權最高,它的角色是dba(資料庫管理員)。預設密碼是change_on_install。具有建立資料庫的許可權。

system使用者:系統管理員,許可權很高,它的角色是dba operator(資料庫管理員操作者),預設密碼manager。不具有建立資料庫的許可權!

普通使用者(normal),如系統安裝時的scott使用者,預設密碼是tiger。普通使用者的許可權是sys使用者或system使用者給的,如果沒有給,那普通使用者連很基本的訪問許可權,連線許可權也沒有。

oracle內部有兩個建好的使用者:system和sys。使用者可直接登入到system使用者以建立其他使用者,因為system具有建立別 的使用者的 許可權。 在安裝oracle時,使用者或系統管理員首先可以為自己建立乙個使用者。

語法[建立使用者]:

create

user 使用者名稱 identified by

密碼default tablespace 預設表空間 --

如果沒有寫, 預設訪問的users表空間

temporary tablespace temp; --

訪問的臨時表空間, 都是要temp,不寫預設temp

例子: 

create

user zhangsan identified by

123default

tablespace mytest

temporary tablespace temp;

語法[更改使用者]:

alter

user 使用者名稱 identified by 新密碼;

例子: 

alter

user zhangsan identified by

888;

語法[刪除使用者]:

drop

user 使用者名稱 cascade;

例子: 

--

--如果這個使用者已建立其他的資料庫物件(表,...), 需要使用cascade關鍵字, 把這個使用者建立所有的東西也刪除

drop

user

zhangsan;

drop

user zhangsan cascade;

乙個角色包含多個許可權

講解三種標準角色:

1》.connect role(連線角色)

--臨時使用者,特指不需要建表的使用者,通常只賦予他們connect role. 

--connect是使用oracle簡單許可權,這種許可權只對其他使用者的表有訪問許可權,包括select/insert/update和delete等。

--擁有connect role 的使用者還能夠建立表、檢視、序列(sequence)、簇(cluster)、同義詞(synonym)、回話(session)和其他  資料的鏈(link)

2》.resource role(資源角色)

--更可靠和正式的資料庫使用者可以授予resource role。

--resource提供給使用者另外的許可權以建立他們自己的表、序列、過程(procedure)、觸發器(trigger)、索引(index)和簇(cluster)。 

3》 dba role(資料庫管理員角色)

--dba role擁有所有的系統許可權

--包括無限制的空間限額和給其他使用者授予各種許可權的能力。system由dba使用者擁有

授權命令

grant connect, resource to 使用者名稱;

撤銷許可權

revoke connect, resource from 使用者名稱;

建立/授權/刪除角色

除了前面講到的三種系統角色----connect、resource和dba,使用者還可以在oracle建立自己的role。使用者建立的role可以由表或系統許可權或兩者的組合構成。為了建立role,使用者必須具有create role系統許可權。

1》建立角色

語法: create role 角色名;

例子: create role testrole;

2》授權角色

語法: grant select on class to 角色名;

列子: grant select on class to testrole;

注:現在,擁有testrole角色的所有使用者都具有對class表的select查詢許可權

3》刪除角色

語法: drop role 角色名;

例子: drop role testrole;

1、系統許可權:

建立資料物件 create table, 刪除資料物件 drop table,修改資料物件 alter table, 登入資料庫 create session

2、物件許可權:

把使用者下的某個物件(表, 儲存過程..)的增(insert)刪(delete)改(update)查(select)許可權 all(所有物件許可權)

授予許可權

授予許可權: 角色高(執行的sql語句的使用者)給角色低的授予 --

grant 許可權1,許可權2,許可權3/角色... to 使用者

--授予物件許可權

grant dba to

zhangsan;

--授予zhangsan使用者,查詢scott使用者下emp表的許可權

grant

select

on scott.emp to

zhangsan;

--授予zhangsan使用者,對scott使用者下emp表的增刪改查許可權  

grant

allon scott.emp to zhangsan;

撤銷許可權

--

撤銷許可權 revoke 許可權1,許可權2,.... form 使用者;

--撤銷物件許可權

revoke dba from

zhangsan;

--撤銷zhangsan使用者,查詢scott使用者下emp表的許可權

revoke

select

on scott.emp from

zhangsan;

--撤銷zhangsan使用者,對scott使用者下emp表的增刪改查許可權

revoke

allon scott.emp from zhangsan;

Oracle 角色許可權 建立使用者 賦權

1 許可權 使用者 角色許可權 sysdba 可以改變字符集 建立刪除資料庫 登入之後使用者是sys 可以啟動和關閉資料庫 sysoper 不可改變字符集 不能創 刪資料庫 登陸之後使用者是public 可以啟動和關閉資料庫 dba 只有在啟動資料庫後才能執行各種管理工作。登入oracle資料庫有三...

Oracle使用者許可權角色

skd和rh使用者的表都會保留,skd不能建立新錶,如a答案解析,但是rh使用者可以建立新錶。dba只是把skd的建立表許可權收回,oracle系統許可權不具有級聯收回的功能 sys test0910 grant mgrrole,drop any table,create any directory...

Oracle 許可權 使用者 角色

drop user ctq cascade 注意 cascade 先刪除使用者下的所有物件然後再刪除使用者 當前登入的使用者不能夠被刪除 登入 create session 建表許可權 create table 最高許可權 dba 1.建立使用者 create urser ctq identifie...