日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

oracle中角色和用户权限,Oracle用户、角色、权限管理

發(fā)布時(shí)間:2023/12/19 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle中角色和用户权限,Oracle用户、角色、权限管理 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

用戶在會(huì)話的權(quán)利上,應(yīng)該有其他操作的權(quán)利;Oracle的用戶和口令不區(qū)分大小寫,真是讓人大跌眼鏡;Oralce中,所有用戶必須明確被

create or replace type address as object(province varchar

(20),city varchar(20));

alter TRIGGER SYS.JIS$ROLE_TRIGGER$ compile;

create table test(id number primary key,name char(50));

表空間授權(quán)

alter user 用戶 quota unlimited on 表空間;

alter user test quota unlimited on test;

創(chuàng)建用戶

create user 用戶名 identified by 口令;

create user icwallet identified by icwallet;

刪除用戶

drop user cascade

修改密碼

alter user 用戶名 identified by 口令;

alter user icwallet identified by icwallet;

鎖定:

alter user 用戶名 account lock;

授權(quán)

revoke

grant create session to the_username;

grant system_privilege to username [with admin option];

創(chuàng)建數(shù)據(jù)庫(kù)角色

create role role_name;

create role role_name identified by role_password

第一:用戶管理*******************************************

用戶至少需要會(huì)話的權(quán)利,否則連接也不成功;

用戶在會(huì)話的權(quán)利上,應(yīng)該有其他操作的權(quán)利;

Oracle的用戶和口令不區(qū)分大小寫,真是讓人大跌眼鏡;

Oralce中,所有用戶必須明確被授權(quán),才可以操作;

SQL Server中,創(chuàng)建的用戶自動(dòng)就擁有了一些權(quán)限;

Oracle不依賴操作系統(tǒng);SQL Server依賴Windows;

MicroSoft假定大多數(shù)用戶都是合法用戶,采取樂(lè)觀態(tài)度;

Oracle首先假定用戶都是不安全的,采取悲觀態(tài)度;

Oracle中的用戶是互相隔離的,稱為用戶模式;

內(nèi)置用戶:

sys,網(wǎng)絡(luò)管理員,最高權(quán)限;

當(dāng)你試圖輸入了用戶名:sys

密碼:通用

之后,你發(fā)現(xiàn)連接不上;

而輸入 用戶名:system

密碼:通用

或者 用戶名:scott

密碼:tiger

的時(shí)候都可以連接,所以你認(rèn)為

sys的權(quán)限沒(méi)有system高;

其實(shí)正是因?yàn)閟ys的權(quán)限高,所以你必須以

dba的身份來(lái)登陸:sys/通用 as sysdba

//可以使用數(shù)據(jù)字典user_users來(lái)查看當(dāng)前用戶管理的用戶:

select * from user_users;

而dba_users可以查看dba管理的用戶;

system,只管理本機(jī)上的數(shù)據(jù)庫(kù);

而all_users查看所有用戶,只能由dba來(lái)查看;

******創(chuàng)建用戶:

create user 用戶名 identified by 口令 [externally]

[default tablesapce 表空間名]

[temporary tablespace 臨時(shí)表空間名]

[quota 整數(shù) K|M|unlimited on 表空間名]

//注意:創(chuàng)建用戶必須有dba的權(quán)限;

******查詢用戶:

其實(shí)就是對(duì)表user_users/dba_users/all_users進(jìn)行查詢,

只不過(guò)這里不把他們叫表,叫數(shù)據(jù)字典;而且數(shù)據(jù)字典是系統(tǒng)

維護(hù)的;

*******修改用戶:

alter user.....//后面和創(chuàng)建一樣;

Oracle中一個(gè)實(shí)例就是一個(gè)數(shù)據(jù)庫(kù),這個(gè)數(shù)據(jù)庫(kù)相當(dāng)與SQL Server的全

部數(shù)據(jù)庫(kù);

Oracle的一個(gè)數(shù)據(jù)庫(kù)被分為很多個(gè)表空間,每個(gè)表空間相當(dāng)于SQL

Server中的一個(gè)數(shù)據(jù)庫(kù);

實(shí)例演示:

create user student_user

identified by student

default tablespace users

temporary tablespace temp

quota 5m on users

quota 3m on temp

/其中,users,temp都是內(nèi)置的表空間,student_user在users里有5m空

間,在temp里有3m;

新創(chuàng)建的用戶是沒(méi)有權(quán)利的:

SQL> conn student_user/student;

ERROR:

ORA-01045: user STUDENT_USER lacks CREATE SESSION privilege;

logon denied

警告: 您不再連接到 ORACLE。

*****限制用戶

鎖定:alter user 用戶名 account lock;

效果:

SQL> alter user student_user account lock;

用戶已更改。

SQL> conn student_user/student;

ERROR:

ORA-28000: the account is locked

警告: 您不再連接到 ORACLE。

解鎖:alter user 用戶名 account unlock;

口令無(wú)效:alter 用戶名 password expire; 當(dāng)用戶創(chuàng)建了很多表,

如果直接刪除用戶,它下面的表都將被刪除,所以我們可以

只使得它的口令無(wú)效;

//可見,表是用戶的手下,,用戶沒(méi)了,用戶創(chuàng)立的表,占用的空間都就

沒(méi)了;

//所以,一般情況下,我們不要?jiǎng)h除用戶;

****刪除用戶:

drop user 用戶名[cascade]

//cascade是強(qiáng)制刪除,即使有別人正在用這個(gè)用戶的表;

//數(shù)據(jù)庫(kù)管理語(yǔ)句是自動(dòng)結(jié)束事務(wù)的,沒(méi)有rollback的機(jī)會(huì);

第二:權(quán)限管理***********************************************

授權(quán):grant [系統(tǒng)特權(quán)名] [角色] [on 被授權(quán)操作表名] to [用戶名

列表]

[public][with admin option]

如果是dcl語(yǔ)句,就不用on 被授權(quán)操作表名

grant all on student to public:把對(duì)student的所有權(quán)限授予所有

用戶;

數(shù)據(jù)字典:user_sys_privs

select * from user_sys_privs

權(quán)限收回:

revoke 權(quán)限列表 on 表 from 用戶;

SQL> revoke create table from iam;

撤銷成功。

撤消只是撤消本次授權(quán)的權(quán)限,所以如果某個(gè)用戶原來(lái)就有某個(gè)權(quán)利,

而你又給它授了同樣的一個(gè)權(quán)利,然后你收回這個(gè)權(quán)限的時(shí)候,它原來(lái)

就具有的這個(gè)權(quán)利還是有的;

第三:角色管理*****************************************

因?yàn)橐粋€(gè)用戶可能需要某些權(quán)限的集合,當(dāng)我們得到一新的用戶的時(shí)候

,我們需要給一個(gè)

用戶依次授權(quán)每個(gè)它需要的權(quán)限;角色正是一個(gè)權(quán)限的集合,用戶可以

直接被授予這個(gè)

角色,用戶自然就擁有了它的角色所擁有的權(quán)利;

創(chuàng)建角色:

create role 角色名 [no identified|identified by 口令

|externally]

not identified:指出授予該角色的用戶在使用時(shí)不需要檢驗(yàn);

identified by:指出授予該角色的用戶在使用set role命令時(shí)需要檢

驗(yàn);

收回權(quán)限:revoke 權(quán)限 from 角色名;

//角色就是權(quán)限的集合;

實(shí)例:

create role student_role

/

grant create table,create session,create view to student_role

本條技術(shù)文章來(lái)源于互聯(lián)網(wǎng),如果無(wú)意侵犯您的權(quán)益請(qǐng)點(diǎn)擊此處反饋版權(quán)投訴 本文系統(tǒng)來(lái)源:php中文網(wǎng)

總結(jié)

以上是生活随笔為你收集整理的oracle中角色和用户权限,Oracle用户、角色、权限管理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。