三 oracle 使用者管理 user

2022-08-11 05:33:09 字數 4104 閱讀 9409

一、建立使用者

概述:在oracle中要建立乙個新的使用者使用create user語句,一般是具有dba(資料庫管理員)的許可權才能使用。

create

user 使用者名稱 identified by

密碼;

注意:oracle有個毛病,密碼必須以字母開頭,如果以數字開頭,它不會建立使用者

eg、create

user xiaoming identified by

oracle;

二、給使用者修改密碼

概述:如果給自己修改密碼可以直接使用

sql>

password 使用者名稱或passw

如果給別人修改密碼則需要具有dba的許可權,或是擁有alter user的系統許可權

sql>

alter

user 使用者名稱 identified by

新密碼

三、刪除使用者

概述:一般以dba的身份去刪除某個使用者,如果用其它使用者去刪除使用者則需要具有drop user的許可權。

比如drop

user 使用者名稱 【cascade

】注意:在刪除使用者時,如果要刪除的使用者,已經建立了表,那麼就需要在刪除的時候帶乙個引數cascade,即把該使用者及表一同刪除;

四、許可權

許可權分為系統許可權和物件許可權。

何為系統許可權?

使用者對資料庫的相關許可權,connect、resource、dba等系統許可權,如建庫、建表、建索引、建儲存過程、登陸資料庫、修改密碼等。

何為物件許可權?

使用者對其他使用者的資料物件操作的許可權,

insert、delete、update、select

、all等物件許可權,資料物件有很多,比如表,索引,檢視,觸發器、儲存過程、包等。

執行select

*from

dba_object_size;語句可得到oracle資料庫物件。

五、角色

角色分為預定義角色和自定義角色。

六、使用者管理的綜合案例

概述:建立的新使用者是沒有任何許可權的,甚至連登陸的資料庫的許可權都沒有,需要為其指定相應的許可權。給乙個使用者賦許可權使用命令grant,**許可權使用命令revoke。

為了講清楚使用者的管理,這裡我給大家舉乙個案例。

sql> conn xiaoming/

oracle

error:

ora-

01045: user xiaoming lacks create

session privilege; logon denied

警告: 您不再連線到 oracle。

sql> show user

user

為 ""

sql> conn system/

oracle

已連線。

sql>

grant connect to

xiaoming;

授權成功。

sql> conn xiaoming/

oracle

已連線。

sql>

注意:grant connect to

xiaoming;在這裡,準確的講,connect不是許可權,而是角色。

現在說下物件許可權,現在要做這麼件事情:

*希望xiaoming使用者可以去查詢emp表

*希望xiaoming使用者可以去查詢scott的emp表

grant

select

on scott.emp to

xiaoming

*希望xiaoming使用者可以去修改scott的emp表

grant

update

on scott.emp to

xiaoming

* 希望xiaoming 使用者可以去修改/

刪除,查詢,新增scott的emp表

grant

allon scott.emp to

xiaoming

*scott希望收回xiaoming對emp表的查詢許可權

revoke

select

on scott.emp from

xiaoming

七、許可權的傳遞

//對許可權的維護。

* 希望xiaoming使用者可以去查詢scott的emp表/

還希望xiaoming可以把這個許可權傳遞給別人。

--如果是物件許可權,就加入with grant option

grant

select

on emp to xiaoming with

grant

option

我的操作過程:

sql> conn scott/

oracle;

已連線。

sql>

grant

select

on scott.emp to xiaoming with

grant

option

;授權成功。

sql> conn system/

oracle;

已連線。

sql>

create

user xiaohong identified by

oracle;

使用者已建立。

sql>

grant connect to

xiaohong;

授權成功。

sql> conn xiaoming/

oracle;

已連線。

sql>

grant

select

on scott.emp to

xiaohong;

授權成功。

--如果是系統許可權。

system給xiaoming許可權時:grant connect to xiaoming with admin option

問題:如果scott把xiaoming對emp表的查詢許可權**,那麼xiaohong會怎樣?

答案:被**。

下面是我的操作過程:

sql> conn scott/

oracle;

已連線。

sql>

revoke

select

on emp from

xiaoming;

撤銷成功。

sql> conn xiaohong/

oracle;

已連線。

sql>

select

*from

scott.emp;

select

*from

scott.emp*第

1行出現錯誤:

ora-

00942

: 表或檢視不存在

結果顯示:小紅受到誅連了。。

八、with admin option與with grant

option區別

1、with admin option用於系統許可權授權,with

grant

option用於物件授權。

2、給乙個使用者授予系統許可權帶上with admin option時,此使用者可把此系統許可權授予其他使用者或角色,但收回這個使用者的系統許可權時,這個使用者已經授予其他使用者或角色的此系統許可權不會因傳播無效,如授予a系統許可權create session with admin option,然後a又把create session許可權授予b,但管理員收回a的create session許可權時,b依然擁有create session的許可權,但管理員可以顯式收回b create session的許可權,即直接revoke create session from

b.

而with

grant option用於物件授權時,被授予的使用者也可把此物件許可權授予其他使用者或角色,不同的是但管理員收回用with grant option授權的使用者物件許可權時,許可權會因傳播而失效,如grant select

ontable

with

grant

option

to a,a使用者把此許可權授予b,但管理員收回a的許可權時,b的許可權也會失效,但管理員不可以直接收回b的select on

table

許可權。

Oracle 使用者user操作語句

有關oracle中user的操作 1.檢視所有使用者 select from dba users select from all users select from user users 2.檢視使用者或角色系統許可權 直接賦值給使用者或角色的系統許可權 select from dba sys pr...

oracle之路 一 user管理

1 oracle使用者 oracle安裝會自動的生成sys使用者和system使用者 1 sys使用者是超級使用者,具有最高許可權,具有sysdba角色,有createdatabase的許可權,該使用者預設的密碼是change on install 2 system使用者是管理操作員,許可權也很大。...

三 oracle 使用者管理一

一 建立使用者 概述 在oracle中要建立乙個新的使用者使用create user語句,一般是具有dba 資料庫管理員 的許可權才能使用。create user 使用者名稱 identified by 密碼 注意 oracle有個毛病,密碼必須以字母開頭,如果以數字開頭,它不會建立使用者 eg c...