Oracle
系統默認的幾個用戶:
sys --------網絡管理用戶,具有最高數據庫管理權限
system------本地管理用戶,權限次於sys
scott-------普通用戶,默認是鎖住的(不可用)
默認情況下:scott 密碼是 tiger (自己設定)
sys 密碼是 change_on_install
system 密碼是 manager
sysman 密碼是 oem_temp
啟動監聽器服務:
啟動實例服務:
oradim -starup -sid orcl
顯示當前用戶:
show user;
登錄用戶:
sqlplus / as sysdba (sys網絡管理員用戶登錄)
sqlplus username/password (普通用戶)
-->sqlplus
-->請輸入用戶名:username
-->請輸入口令:password
創建用戶:
create user zhangsan identified by zhangsan;
修改用戶密碼:
alter user lisi identified by lll;
用戶斷開數據庫連接:
disconn;
當前用戶重新連接:
conn username/password;
刪除用戶:
drop user username;
設置顯示寬度:
set linesize 400;
系統權限管理:
授予會話權限:grant create session to zhangsan;
授予建表權限:grant create table to zhangsan;
授予無限制使用表空間的權限:grant unlimited tablespace to zhangsan;
授予權限:grant 權限 to 用戶名;
撤銷權限:revoke 權限 from 用戶名;
查詢用戶的系統權限:select * from user_sys_privs;
用戶權限管理:
grant select on mytab to lisi;
grant update on mytab to lisi;
grant delete on mytab to lisi;
grant insert on mytab to lisi;
revoke select on mytab from lisi;
授予其他用戶對當前用戶表中的【某個字段】的操作權限:grant update(pass) on mytab to lisi;
授予其他用戶操作表的所有權限:grant all on mytab to lisi;
撤銷其他用戶操作表的所有權限:revoke all on mytab from lisi;
查詢其他用戶對【當前用戶表】的操作權限:select * from user_tab_privs;
查詢其他用戶對【當前用戶表字段】的操作權限:select * from user_col_privs;
權限傳遞:
系統權限:grant create session to zhangsan with admin option; (表示把系統權限授予給zhangsan,並允許其授予給其他用戶)
用戶權限:grant update on mytab to lisi with grant option; (表示把用戶權限授予給lisi,並允許其授予給其他用戶)
角色管理:
創建角色:
create role roleName;
給角色授予權限:grant 權限 to roleName;
將角色授予給用戶:grant roleName to userName;
用戶查詢擁有的角色:select * from user_role_privs;
刪除角色:drop role roleName;
當給角色授予權限的時候,擁有此角色的用戶也同時增加了權限;
當撤銷角色權限的時候,擁有此角色的用戶的對應權限也被撤銷;
當角色被刪除,擁有此角色的用戶將喪失之前角色所有的所有權限。
修改表結構:alter table mytab add pass varchar(20);