標籤:
上篇我們解說了建立使用者以及主要的授權問題。以下我們來解說許可權包含對象許可權和系統許可權。
事實上上節課我們解說就是系統的許可權。系統許可權就是一些建立表了,資料表空間等等的系統的許可權。
1. 系統許可權
那麼哪些許可權是屬於系統許可權的呢?
上篇文章中我們已經提到了:
2. 對象許可權
不同的使用者擁有不同的表,那麼怎樣讓不同的使用者能夠訪問彼此的表,這個許可權就涉及到了對象的許可權。
同上篇文章。用系統使用者登入建立二個使用者。而且用建立的使用者進行登陸,而且將建立許可權以及建立資料表空間以及建立表的許可權授予給他們;那麼他們之前是否是能夠互相訪問的呢?
不寫liyifeng這個使用者之前是訪問不了。在oracle中每個表都是屬於一個固定的使用者。假設直接寫表明,系統預設是liyfeng的表。可是這張表在zhonghanliang中是不存在的
即使加上了liyifeng還是不存在。不是不存在,是沒有許可權,在oracle中各個使用者是隔離開的,彼此之前不能訪問資料。
所以這就涉及到了對象之間的授權。
可是系統管理員是有許可權對不論什麼的表進行訪問的
訪問出現未選定的行。原因在於即使插入了資料可是未進行提交;oracle資料庫不同於sql以及mysql,假設不進行commit提交。那麼僅僅是存在記憶體中,並沒有寫進去資料庫。故而我們有的時候查不到資料在於沒有將資料進行commit提交。
怎樣讓使用者zhonghanliang能夠訪問liyifeng的表,僅僅要讓系統管理員把查詢的許可權授予給zhonghanliang就可以。
? 查詢許可權
此時zhonghanliang是能夠訪問的
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >
? 插入許可權
此時zhonghanliang使用者是能夠進行插入的
記得commit提交。此時查詢會有兩條資料,3是剛剛插入的資料
? 授予全部的許可權
? 撤銷全部的許可權
此外我們還能夠設定列的許可權;詳細的示範我們不再在命令表單中進行示範了,總結的例如以:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >
授權不用提交。可是插入等等須要提交,就是插入。更新和刪除,是須要寫提交的。
3. 小結
上面講述了對象之前的彼此的訪問,也就是對象的許可權,事實上許可權是能夠傳遞的,我們上面的許可權都是系統管理員在進行各個使用者的授予的,事實上也能夠在對象之前進行傳遞。也就是許可權傳遞。比方說系統管理員把許可權給了A,A能夠再給B,操作事實上非常easy(授權的時候加上with admin option就可以),這裡不再做具體的闡述,oracle知識非常多,學習仍在繼續。
Oracle成長點點滴滴(3)— 許可權管理