1. 系統許可權管理
scott triger 預設為鎖定。應該解鎖(alter user account lock/unlock )
sys :oracle 網路管理員。全域性的管理員
system:普通管理員
scott :普通使用者
oracle使用條件:啟用監聽(lsnrctl start),啟用資料庫例項(oradin -startup -sid orcl)
建立使用者:
登陸sys:sqlplus /as sysdba conn lisi/lisi
show user(sqlplus) whoami(linux)
create(alter) user lisi identified by lisi;
分配許可權:
關鍵字:grant xx to user;
grant create session to lisi;
grant create table to lisi;
grant unlimited tablespace to lisi;
擁有create table 許可權,就擁有了select,insert,update,delete table和drop table許可權
自己建立的表就擁有了這張表的所有許可權
撤銷許可權:
關鍵字:revoke xx from user;
revoke create session from lisi;
revoke create table from lisi;
revoke unlimited tablespace from lisi;
檢視系統許可權的資料字典:
select * from user_sys_privs;
2. 物件許可權
概念:訪問其他使用者建立的物件,每個物件都屬於某乙個使用者。其他物件訪問,需要賦許可權
兩個使用者屬於兩個不同的事務。乙個使用者下沒有commit,另乙個使用者不能訪問,commit類似存檔的概念
授權物件許可權:
關鍵字:grant xx on table to user;
例子 :grant select,insert,update,delete on table to lisi;
授權所有許可權:grant all on table to user(public);
撤銷許可權:
關鍵字:revoke xx on table from user(public);
例子 :revoke all on table from lisi(public);
誰擁有許可權,誰可以授權
檢視物件許可權的資料字典:
select * from user_tab_privs;
顯示格式:
set linesize 400
dbms_output.disable;
插入的時候會將表鎖定,表級別的鎖
對table的列的許可權控制:
授權:grant xx(column) on table to user;
撤銷許可權:revoke xx(column) on table from user;
insert,update可以控制到列,select,delete不行
資料字典:
select * from user_col_privs;
查詢的概念:
ddl(資料定義語言),dml(資料操縱語言),dcl(授權和撤銷許可權)。只有dml語言有transaction的控制
3. 許可權傳遞
系統許可權的傳遞:
預設 :許可權可以使用,但是不能傳遞(9i和10g不一樣)
許可權傳遞:grant xx to user with admin option
撤銷傳遞:源頭斷了,就不能傳遞了
物件許可權的傳遞:
預設 :許可權可以使用,不能傳遞
許可權傳遞:grant xx on table to user with grant option;
撤銷傳遞:源頭斷了,就不能傳遞了(9i和10g不一樣)
4. 角色管理
概念:角色就是許可權的集合
建立和role:create role xx; drop role xx;
許可權放在role:grant xx to role;
許可權授權給user:grant xx to user;
撤銷許可權: revoke xx from user或者刪除角色
使用範圍:有限許可權太高,不能直接賦予role,只能賦予user,例如:unlimited tablespace
create table 和create any table的區別
create table:只能給自己建立表
create any table:不僅可以給自己建立表,還可以給任何使用者建立表
只有alter any table和drop any table許可權
擁有create table,就擁有了alter table 和drop table
角色不屬於任意乙個使用者。是共用的。
5. 三種登陸方式
普通使用者密碼修改
用sys使用者登入,修改密碼:
命令列:alter user scott identified by tiger;
圖形介面也可以修改:會轉化為sql語句
sys(sysdaa,sysoper)使用者密碼丟了。不能直接修改
oracle資料庫的三種驗證機制
a.作業系統驗證
b.密碼檔案驗證
c.資料庫的驗證
一般的oracle使用者 :使用資料庫的驗證,先啟動資料庫,然後再驗證
sys(sysdaa,sysoper)使用者:作業系統驗證和密碼檔案的驗證
oracle的啟動過程
1.linux下oracle啟動過程:
a.lsnrctl start(啟用監聽)
b.sqlpuls /(sys/oracle) as sysdba
c.startup 啟動例項
先鏈結監聽,再鏈結資料庫例項.linux有嚴格的啟動資料
監聽:為了區分sys(sysdaa,sysoper)使用者和一般的使用者
10g以後的用法:sqlplus /(sys/oracle) as sysdba
10g前的用法 :sqlplus /nolog;conn sys/oracle as sysdba
windows下oracle的啟動過程
lnsrctl start
oradin -start -sid orcl
預設是作業系統驗證,沒有驗證通過在進行密碼檔案的驗證
計算機管理:組:ora_dba
sqlplus / as sysdba(作業系統的驗證)
sqlpuls sys/oracle as sysdba(密碼檔案的驗證)
實際應用中。一般把作業系統驗證取消
sys密碼忘記。只能修改密碼檔案
備份product\10.2.0\db_2\database下的pwdorcl.ora ora檔案
使用命令重新生成密碼檔案:pwdorcl.ora ora
命令:orapwd file=pwdora10g.ora password-sys entries=10(特權使用者) force(whether overwrite)
sys特權使用者檢視資料字典:select v$pwdfile_users(動態效能表);
6. 帳戶管理細節
建立使用者
create user 使用者名稱
identified by 密碼
default tablespace 預設表空間(屬於使用者的table,index,約束)
temporary tablespace 臨時表空間(主要使用排序.group by order by等)
quota(限額) 整數 k|m|limited on 表空間(quota 50m on tablespace)
參考orcle客戶端的圖形介面(限額)。分配了unlimited tablespace分配了,就沒有限額
圖形介面建立使用者時候。預設給了角色,使用者沒有任何資料。在方案裡面沒有使用者,預設在安全性裡面
使用者加鎖解鎖和口令失效
命令列:alter xx user account lock/unlock;
使用者口令即刻失效:alter user xx password expire;(ebs建立使用者的時候)
drop user xx [cascade]
cascade:表示刪除使用者所有物件
drop user xx cascade;
oracle使用者許可權總結
輸入ed命令產生記事本,使用反斜槓 來執行檔案中的語句 設定列寬 set lines 500 或者set line 500 通過設定設定 命令列視窗 預設值 布局 調整顯示區域大小 oracle有三個預設使用者 sys system scott 預設在10g和11g中沒有開啟 sys用資料庫的超級使...
oracle 許可權相關內容總結
1.系統許可權管理 1.1 3個預設使用者 oracle 9i sys change on install as sysdba sqlplus as sysdba system manager scott triger oracle 10g以上 sys 安裝的時候設定.as sysdba syste...
Oracle相關許可權
1.建立使用者 sql create user test identifiedbytest create user test identified by test 2.賦許可權 sql grant createsessiontotest 賦可以登入的許可權 grantunlimited tables...