怎么oracle賦權(quán)限 Oracle賦權(quán)限

賦予oracle數(shù)據(jù)庫中某一用戶表權(quán)限的問題

開通其中2張表的查詢權(quán)限,方法如下:

創(chuàng)新互聯(lián)主要從事成都網(wǎng)站設(shè)計、做網(wǎng)站、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)全椒,十余年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18982081108

grant select on bas_checkcycle to jdc;這個是整個語句。

語句分析:

grant select on bas_checkcycle to jdc;

這個顏色為執(zhí)行語句。

這個顏色是數(shù)據(jù)表。

這個顏色是用戶;就是需要權(quán)限的用戶。

下面這個是查看,更新,刪除,增加的權(quán)限都開啟。

grant select,update,delete,insert on UserTagPool to [app_webservice];

grant select,update,delete,insert on UserTagPoolMap to [app_webservice];

擴展資料

Oracle權(quán)限管理

權(quán)限分類:

系統(tǒng)權(quán)限:系統(tǒng)規(guī)定用戶使用數(shù)據(jù)庫的權(quán)限。(系統(tǒng)權(quán)限是對用戶而言)。

實體權(quán)限:某種權(quán)限用戶對其它用戶的表或視圖的存取權(quán)限。(是針對表或視圖而言的)。

系統(tǒng)權(quán)限分類:

DBA: 擁有全部特權(quán),是系統(tǒng)最高權(quán)限,只有DBA才可以創(chuàng)建數(shù)據(jù)庫結(jié)構(gòu)。

RESOURCE:擁有Resource權(quán)限的用戶只可以創(chuàng)建實體,不可以創(chuàng)建數(shù)據(jù)庫結(jié)構(gòu)。

CONNECT:擁有Connect權(quán)限的用戶只可以登錄Oracle,不可以創(chuàng)建實體,不可以創(chuàng)建數(shù)據(jù)庫結(jié)構(gòu)。

怎么給oracle數(shù)據(jù)庫創(chuàng)建用戶,并賦權(quán)限

開始,運行輸入cmd或是wind+r輸入cmd

使用dba登錄。

先創(chuàng)建一個用戶:使用命令:create user 用戶名 identified by 密碼

給該用戶解鎖:使用命令:用戶解鎖 alter user 用戶名 account unlock(不解鎖無法登陸)

給該用戶授權(quán):grant create session to 用戶名。這里是給的登錄權(quán)限。如果想把dba的權(quán)限授權(quán)給該用戶。

關(guān)于ORACLE的權(quán)限賦予問題

我們經(jīng)常談及Oracle的權(quán)限 比如Connect DBA resource sysdba select any table select_catelog_role這樣一些權(quán)限 讓我們眼花繚亂的 那么如何來區(qū)分這些種類繁多的privilege中不至于眼迷離呢 這個文章將會對你在這方面的了解起到幫助

以上我們看到的這些權(quán)限 都是可以通過grant語句來進行權(quán)限賦予 同時也可以用過revoke來進行權(quán)限收回的操作的 但是 他們雖然都在grant里出現(xiàn) 但是有各自有著本質(zhì)的不同

oracle里的權(quán)限有兩種權(quán)限 系統(tǒng)權(quán)限和對象權(quán)限 所謂系統(tǒng)權(quán)限 就是oracle里已經(jīng)hardcode寫死的權(quán)限 這些權(quán)限 我們是不能自己去擴展的 比如上面提到的select any table create any table create table等 這里的權(quán)限已經(jīng)在oracle里全部規(guī)定好了

我們可以通過查看system_privilege_map這個數(shù)據(jù)字典表來查看所以的oracle系統(tǒng)內(nèi)置的權(quán)限

SQL select * from system_privilege_map;

PRIVILEGE NAME?????????????????????????????????????? PROPERTY

ALTER SYSTEM?????????????????????????????????????

AUDIT SYSTEM?????????????????????????????????????

CREATE SESSION???????????????????????????????????

ALTER SESSION????????????????????????????????????

RESTRICTED SESSION???????????????????????????????

這里就是所有的內(nèi)置的系統(tǒng)權(quán)限了 其實如果有開發(fā)過權(quán)限系統(tǒng)的經(jīng)驗的話 對這里的這個概念 可以理解為function permission 也就是你可以進行哪些操作

這里特別提到一個另外的知識點 有網(wǎng)游朋友問過我 create any table和create table有什么區(qū)別 create table只能老老實實的給自己的scheam創(chuàng)建表 而不能以create table otherschema tablename這樣的方式給其他的schema創(chuàng)建表 額外提到這點 有很多朋友這塊還是模糊的

oracle通過數(shù)據(jù)字典表dba_sys_privs這個表來記錄user被賦予的系統(tǒng)權(quán)限 比如

我們現(xiàn)在執(zhí)行

SQLgrant select any table to test ; 把select any table的權(quán)限賦予test 這個用戶

Grant succeeded

SQL select * from dba_sys_privs where grantee = TEST ;

GRANTEE??????????????????????? PRIVILEGE??????????????????????????????? ADMIN_OPTION

TEST ????????????????????????? SELECT ANY TABLE???????????????????????? NO

這里就可以查詢到這個記錄了 admin_option表示的是是否有把當前這個系統(tǒng)權(quán)限grant給其他用戶的意思 yes 表示test 除了自己有這個權(quán)限 還可以把這個權(quán)限賦予其他用戶 N就是沒有g(shù)rant的權(quán)限了

我們可以用一下語句試試

SQL grant select any table to test with admin option;

Grant succeeded

在來看看剛才的記錄

GRANTEE??????????????????????? PRIVILEGE??????????????????????????????? ADMIN_OPTION

TEST ????????????????????????? SELECT ANY TABLE???????????????????????? YES

現(xiàn)在test 就可以賦予select any table給別的用戶了

下面我們看看object permission 其實這里已經(jīng)名字就可以區(qū)分開了 這里是針對于特定的對象的權(quán)限 上面的系統(tǒng)權(quán)限是限定了可以操作的功能 而object permission就更細化了 具體到了莫個對象你可以操作的功能的權(quán)限

比如 A用戶建立了一個TableA表 現(xiàn)在為了讓B用戶可以看到A這個對象 我們就可以把A table的select權(quán)限 進行賦予 這里的A table上的select權(quán)限就是一個對象權(quán)限

除了select 還有update delete insert alter drop index references這樣正對于對象的權(quán)限

除了可以給表對象指定對象權(quán)限外 view sequence procedure function package triggger MV等這些oracle里的對象都可以進行對象的權(quán)限指定

對于對象權(quán)限來說 由于對象權(quán)限完全是動態(tài)的 在對一個對象進行g(shù)rant的時候 才能看到具體的對象權(quán)限 所以對象權(quán)限是不像system privilege那樣有一個表來描述的 只有一個表來記錄用戶和這個用戶對于的對象權(quán)限的關(guān)系表 這個表就是dba_tab_privs;

這里這個名字比較容易讓人誤會為只有table的對象權(quán)限 其實不然 這里其他類型的對象的對象權(quán)限也會記錄進來

實驗一下 還是剛才的test 用戶 我現(xiàn)在把對象dbms_xplan的execute的權(quán)限給他 dbms_xplan這個有些朋友可能不熟悉 這是執(zhí)行計劃有關(guān)的一個對象 朋友們?nèi)绻麤]有安裝執(zhí)行計劃的包 可以用dbms_output對象做實驗

SQLgrant execute on dbms_xplan to test ;

SQLgrant execute on dbms_output to test ;

SQL select * from dba_tab_privs where grantee = TEST ;

GRANTEE??????????????????????? OWNER????????????????????????? TABLE_NAME???????????????????? GRANTOR??????????????????????? PRIVILEGE??????????????????????????????? GRANTABLE HIERARCHY

TEST ????????????????????????? SYS??????????????????????????? DBMS_XPLAN???????????????????? SYS??????????????????????????? EXECUTE????????????????????????????????? NO??????? NO

TEST ????????????????????????? SYS??????????????????????????? DBMS_OUTPUT??????????????????? SYS??????????????????????????? EXECUTE

這里注意和fuanction 不同的 這里有一個GRANTABLE的字段 意味和上面admin option一樣的作用

不過這里的sql不同了

SQLgrant execute on dbms_xplan to test with grant option;

這里是oracle里的權(quán)限了

不過有的人可能會問道 咦 你是不是漏掉了 不是我們還可以

grant connect resource dba to username;嗎 那她們都是什么權(quán)限呀

在這里就要注意了 這里的connct resource dba都不是權(quán)限 而是一個role 角色 一個角色是 個或者多個系統(tǒng)權(quán)限或者對象權(quán)限的集合 是便于我們管理用戶賦權(quán)而演化而來的 這里的create role和賦予role權(quán)限我們就不詳談了 朋友們可以自己查一查相關(guān)資料 role是我們可以動態(tài)建立的 建立的role可以用grant來賦予權(quán)限 或者把一個role賦予另一個role

我們可以通過dba_roles這個表來查詢系統(tǒng)里所有的role

SQL select * from dba_roles;

ROLE?????????????????????????? PASSWORD_REQUIRED

CONNECT??????????????????????? NO

RESOURCE?????????????????????? NO

DBA??????????????????????????? NO

SELECT_CATALOG_ROLE??????????? NO

EXECUTE_CATALOG_ROLE?????????? NO

DELETE_CATALOG_ROLE??????????? NO

我們可以把role的賦予一個用戶

比如

SQLgrant select_catalog_role to test ;

我們可以通過dba_role_privs來查詢相關(guān)用戶的role的賦予 比如

SQL select * from dba_role_privs where grantee = TEST ;

lishixinzhi/Article/program/Oracle/201311/16827

當前標題:怎么oracle賦權(quán)限 Oracle賦權(quán)限
當前地址:http://www.muchs.cn/article6/hphhog.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、服務(wù)器托管、建站公司面包屑導(dǎo)航、網(wǎng)站設(shè)計公司、網(wǎng)站排名

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機網(wǎng)站建設(shè)