標籤:style blog color 使用 資料 io
一、建立使用者概述:在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/oracleERROR:ORA-01045: user XIAOMING lacks CREATE SESSION privilege; logon denied警告: 您不再串連到 ORACLE。SQL> show userUSER 為 ""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 all on scott.emp to xiaoming* scott希望收回xiaoming對emp表的查詢許可權revoke select on scott.emp from xiaoming 七、許可權的傳遞//對許可權的維護。* 希望xiaoming使用者可以去查詢scott的emp表/還希望xiaoming可以把這個許可權傳遞給別人。--如果是對象許可權,就加入with grant optiongrant 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 on table with grant option to A,A使用者把此許可權授予B,但管理員收回A的許可權時,B的許可權也會失效,但管理員不可以直接收回B的SELECT ON TABLE 許可權。