Oracle使用者管理

2021-07-09 19:50:35 字數 2667 閱讀 9369

建立使用者

,需要dba許可權

命令:create user 【使用者名稱】identified by 【密碼】

修改密碼

命令:password 【使用者名稱】 ( 在使用者已經連線的情況下 )

注意:在給其他使用者修改密碼時  需要具有dba的許可權或擁有alter user的系統許可權

命令:alter user 【使用者名稱】 identified by 【新密碼】

刪除使用者

一般以dba身份去刪除使用者

如果要刪除的使用者,已經建立了表,要在刪除時加上乙個引數 cascade

命令:drop user 【使用者名稱】 [cascade]

剛剛建立完的新使用者是沒有任何許可權的,甚至連登入資料庫的許可權都沒有。這是時候使用conn 【使用者名稱】/【密碼】會提示沒有許可權。

在新建乙個使用者之後還要對這個使用者進行授權操作。當然了,要使用有能力授權的使用者,如sys、system

系統許可權:使用者對資料庫的相關許可權

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

角色是指由系統許可權集合。通常給某個使用者授予許可權時如果沒有角色存在的話,那麼需要一條一條的操作,角色的存在

就是使得授權變得很方便。通常乙個角色由多個系統許可權組成。常用的角色有三個connect(7種許可權)、dba、resource(在任何表空間建表)。

這裡只是簡單的提一下,在以後會作為乙個專題進行研究。

使用grant命令給使用者分配許可權

:grant 【許可權名】 to 【使用者名稱】

分配角色

:grant 【角色名】 to 【使用者名稱】

收回許可權

:revoke 【許可權名】 from 【使用者名稱】

舉個例子來說明:

1、建立使用者

create user stu identified by stu;

2、使stu能夠被連線

grant create session to stu;

3、讓stu能夠在任何表空間下建表

grant resource to stu

3、建立乙個簡單的表

create table users(name varchar2(10),age number(2));

4、插入幾條資料

insert into users values('houjinxin',22);

5、登入到scott給stu授權讓stu可以檢視scott下的emp表

grant select on emp to stu;

6、登入到stu下檢視emp表

select * from scott.emp;

如果這時想要更新scott.emp中的資料

update scott.emp set ename='ok2' where ename='ok';

會提示ora-01031: 許可權不足 。因為scott只給了stu檢視的權利,如果仍然想更新,要到scott下進行授權

7、登入到system下收回resource角色

revoke resource from stu;

8、登入scott下收回select 許可權

revoke select on emp from stu;

這是stu就不能再查詢scott.emp的資料了

當希望stu使用者可以去查詢scott的emp表時,還希望stu能夠把這個許可權繼續傳給其他使用者時

如果要傳遞的是物件許可權

,就加入with grant option

grant select on emp to stu with grant option

如果是系統許可權

:就加上with admin option

grant connect to stu with admin option

當system給stu授權時,會給stu給其他使用者授權的能力

做個實驗來驗證下

1、登入到system使用者下,重新建立兩個使用者

create user hou identified by hou;

create user jin identified by jin;

並為hou分配connect角色

grant connect to hou with admin option;

2、登入到scott下個hou授權

grant select on emp to hou with grant option;

3、登入到hou下開始對jin授權

grant select on scott.emp to jin;

grant connect to jin;

4、登入到jin下查詢scott.emp

select * from scott.emp;

到目前位置都正常,問題來了!

如果system收回分配給hou的許可權,那麼jin的許可權會不會也被一起收回,繼續實驗。

5、登入到scott下收回hou的許可權

revoke select on emp from hou;

revoke connect from hou;

6、登入到jin下看現象

發現仍然能夠登入到jin上這說明connect角色並未被收回

而當查詢scott.emp時卻提示ora-00942: 表或檢視不存在

這說明系統許可權和物件許可權是不同的。對於系統許可權,hou分配給jin之後不再收回,物件許可權卻隨著hou的許可權被收回也被同時收回了

Oracle使用者管理

1.建立使用者 概述 在oracle中要建立乙個新的使用者,使用create user語句,一般是具有dba的許可權才能使用。用法 create user 使用者名稱 identified by 密碼。案例 create user skycloud identified by skycloud 2....

Oracle 使用者管理

create user hywin identified by hywin 建立使用者 password 使用者名稱 修改密碼 alter user 使用者名稱 identified by 新密碼 drop user 使用者名稱 cascade 刪除使用者時,如使用者已經建立了表,那麼就需要在刪除時...

Oracle 使用者管理

1.建立使用者 create user ok identified by ok grant create session to ok 2.修改使用者密碼 alter user ok identified by ok1 3.檢視使用者資訊 select from dba users 4.找出和使用者相...