--已知被賦予權限的使用者名為:batch
--第一步 登陸
sqlplus /nolog
sql>conn /as sysdba;
--第二步 查詢所有使用者名,可以找到batch使用者
sql>select username from dba_users;
--第三步 賦予權限
sql>grant dba to batch;
--另外解除權限是:
sql>revoke dba from batch;
】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】】
--解釋以上:
sqlplus /nolog
--運作sqlplus指令,進入sqlplus環境,nolog參數表示不登入。這種登陸方式比較安全;
sql>conn /as sysdba
--以系統管理者(sysdba)的身份連接配接資料庫;如果需要對資料庫進行管理操作,那麼需要以這種方式登入資料庫,或者connect [email protected]_name as sysdba,其中你配置的客戶tnsname服務名
--作業系統身份認證登陸。oracle在登入時,有三種身份認證方式:作業系統身份認證、密碼檔案認證、資料庫認證。而conn /as sysdba是屬于作業系統認證。 為什麼這樣說呢?你目前電腦開機時登入的使用者,也就是進入作業系統的使用者,例如是gooooal,它在你電腦的ora_dba組中。
可以在“我的電腦”單擊右鍵,找到“管理”,選擇“本地使用者群組”,發現有一個組叫“ora_dba”,輕按兩下它,看到成員清單中有“gooooal”。
也就是在conn /as sysdba,oracle會進行作業系統驗證,發現你目前登入的使用者就屬于ora_dba組,是以才可以登入成功。
sql>select username from dba_users;
--查詢oracle中所有使用者名
sql>grant dba to batch;
--給使用者賦予dba權限,dba是一個角色,該角色具有資料庫所有的權限
sql>revoke dba from username;
--解除權限
】】】】】】】】】】】】】】】】】】】】】】】】】
oracle資料庫中涉及到使用者權限的三個表,dba_users,all_users,user_users有什麼差別?
答:DBA_*意為DBA擁有的或可以通路的所有的對象。就是是查全庫所有的;
ALL_*意為某一使用者擁有的或可以通路的所有的對象。就是目前使用者可以看到的;
USER_*意為某一使用者所擁有的所有的對象。就是目前使用者的。