若是想查看oracle系統中存在用戶能夠查看dba_users視圖
若是使用sqlplus查詢須要提早格式化sql
SQL> col username for a20數據庫
SQL> col account_status for a20微信
SQL> col default_tablespace fora20session
SQL> set linesize 120oracle
SQL> set pagesize 120ide
SQL> select username,account_status,default_tablespace from dba_users;測試
USERNAME ACCOUNT_STATUS DEFAULT_TABLESPACEspa
MGMT_VIEW OPEN SYSTEM3d
SYS OPEN SYSTEM對象
SYSTEM OPEN SYSTEM
DBSNMP OPEN SYSAUX
SYSMAN OPEN SYSAUX
SCOTT OPEN USERS
OUTLN EXPIRED & LOCKED SYSTEM
FLOWS_FILES EXPIRED &LOCKED SYSAUX
MDSYS EXPIRED & LOCKED SYSAUX
ORDSYS EXPIRED & LOCKED SYSAUX
EXFSYS EXPIRED & LOCKED SYSAUX
Oracle 用戶管理---
要想訪問數據庫,任何人都必須成爲可以經過oracle身份驗證的有效數據庫用戶,咱們能夠配置應用程序要求每一個須要進行訪問的個體都具備不一樣的數據庫帳戶,也能夠配置應用程序自身做爲公共用戶鏈接數據庫並在內部處理應用程序級別的權限。不管選用哪一種方法,在數據庫內部都須要建立一個或多個容許操做數據的用戶。
用戶與模式(schema)
建立用戶的語法:
Create user用戶名identified by 密碼 default tablespace表空間 quota 大小 on 表空間;
注意:在建立用戶的時候雖然用戶名寫的時小寫的,可是存儲到數據字典的時候倒是大寫的,好比create user tom.若是非要使用小寫的話,用戶名須要使用雙引號括起來 create user 「tom」
建立的用戶沒有任何權限,連登錄數據庫的權限都沒有。
若是沒有設置用戶對某個表空間的配額,那麼即便這個用戶對該表空間有寫權限,也是沒法寫入的。
舉例說明:
查看HR用戶的狀態
修改HR用戶的密碼爲oracle
手工設置過時;
解鎖用戶
舉例說明oracle的授予權限和撤銷權限
在建立用戶以前,建立一個表空間xxx
建立一個表空間xxx
create tablespace xxx datafile '/u01/xxx.dbf' size100m autoextend on next 10m maxsize unlimited;
建立用戶tom
create user tom identified by oracle;
查詢建立的用戶tom
雖然建立的時是小寫tom,但存儲到數據字典中的是大寫,因此查詢時也須要寫大寫
刪除tom用戶
Drop user tom;
create user"tom"identified by oracle;
刪除tom用戶
正確的刪除方式應該是:
drop user "tom";
建立用戶tom,默認的表空間是」XXX」,並無指定配額,因此tom用戶也沒法在xxx表空間上建立對象
使用tom用戶鏈接數據庫的結果
SQL>conn sys/oracle as sysdba
Drop user tom; 刪除tom用戶
建立tom用戶的同時指定默認的表空間是xxx,tom用戶的磁盤配額是10m
可使用dba_ts_quotas視圖查看每一個用戶的磁盤配額
剛纔咱們測試建立的tom用戶連建立會話的權限都沒
爲用戶授予權限
爲tom用戶授予session權限
SQL>conn sys/oracle as sysdba
SQL> grant create session to tom;
受權成功。
測試一下鏈接
測試tom用戶是否可以建立表
爲tom用戶授予建立表的權限
建立aa表
測試tom用戶可否爲表插入記錄,能夠插入記錄了。
撤銷權限
查看tom用戶當前擁有的權限
撤銷tom用戶的create table 權限
測試tom用戶可以查看SCOTT用戶下的emp表
使用sys用戶鏈接數據庫
爲tom用戶受權select scott用戶下的emp表的權限
使用tom用戶鏈接數據庫
若是對此文有什麼問題的話,請加下面微信一塊兒探討