oracle权限相关内容总结(一)

2014-11-24 09:23:50 · 作者: · 浏览: 0

1. 系统权限管理
1.1 3个默认用户
oracle 9i
sys change_on_install [as sysdba]--sqlplus /as sysdba
system manager www.2cto.com
scott triger
oracle 10g以上
sys 安装的时候设置. [as sysdba]
system 安装的时候设置.
scott triger 默认为锁定。应该解锁(ALTER USER ACCOUNT LOCK/UNLOCK )
sys :oracle 网络管理员。全局的管理员
system:普通管理员
scott :普通用户
oracle使用条件:启用监听(lsnrctl start),启用 数据库实例(oradin -startup -sid orcl)
1.2 创建用户
登陆SYS:sqlplus /as sysdba conn lisi/lisi
show user(sqlplus) whoami(linux)
create(alter) user lisi identified by lisi;
1.3 分配权限
关键字: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权限
自己创建的表就拥有了这张表的所有权限
1.4 撤销权限
关键字:revoke XX from user;
revoke create session from lisi;
revoke create table from lisi;
revoke unlimited tablespace from lisi;
1.5 查看 系统权限的数据字典 www.2cto.com
SELECT * FROM user_sys_privs;
2. 对象权限
2.1 概念:访问其他用户创建的对象,每个对象都属于某一个用户。其他对象访问,需要赋权限
2.2 两个用户属于两个不同的事务。一个用户下没有COMMIT,另一个用户不能访问,COMMIT类似存盘的概念
2.3 授权对象权限
关键字:grant xx on table to user;
例子 :grant select,insert,update,delete on table to lisi;
授权所有权限:grant all on table to user(public);
2.4 撤销权限
关键字:revoke XX on table from user(public);
例子 :revoke all on table from lisi(public);
2.5 谁拥有权限,谁可以授权
2.6 查看对象权限的数据字典
SELECT * FROM user_tab_privs;
2.7 显示格式
SET linesize 400
dbms_output.disable;
插入的时候会将表锁定,表级别的锁
2.8 对table的列的权限控制
授权:grant xx(column) on table to user;
撤销权限:revoke xx(column) on table from user;
insert,update可以控制到列,select,delete不行
数据字典:select * from user_col_privs;
2.9 查询的概念
DDL(数据定义语言),DML(数据操纵语言),DCL(授权和撤销权限)。只有DML语言有TRANSACTION的控制
3. 权限传递
3.1系统权限的传递
默认 :权限可以使用,但是不能传递(9i和10g不一样)
权限传递:grant XX to user with admin option
撤销传递:源头断了,就不能传递了
3.2对象权限的传递 www.2cto.com
默认 :权限可以使用,不能传递
权限传递:grant XX on table to user with grant option;
撤销传递:源头断了,就不能传递了(9i和10g不一样)
4. 角色管理
4.1 概念:角色就是权限的集合
4.2 创建和role:create role XX; drop role XX;
4.3 权限放在role:grant XX to role;
4.4 权限授权给user:grant XX to user;
4.5 撤销权限: revoke XX from user或者删除角色
4.6 使用范围:有限权限太高,不能直接赋予role,只能赋予user,例如:UNLIMITED TABLESPACE
4.7 create table 和create any table的区别
create table:只能给自己创建表
create any table:不仅可以给自己创建表,还可以给任何用户创建表
4.8 只有alter any table和drop any table权限
拥有create table,就拥有了alter table 和drop table
4.9 角色不属于任意一个用户。是共用的。
5. 三种登陆方式
5.1 普通用户密码修改
用SYS用户登录,修改密码:
命令行:alter user scott identified by tiger;
图形界面也可以修改:会转化为SQL语句
5.2 SYS(SYSDAA,SYSOPER)用户密码丢了。不能直接修改
5.3 oracle数据库的三种验证机制
a.操作系统验证
b.密码文件验证
c.数据库的验证
一般的oracle用户 :使用数据库的验证,先启动数据库,然后再验证
SYS(SYSDAA,SYSOPER)用户:操作系统验证和密码文件的验证
5.4 oracle的启动过程
5.4.1.linux下oracle启动过程:
a.lsnrctl start(启用监听)
b.sqlpuls /(sys/oracle) as sysdba
c.startup 启动实例
先链接监听,再链接数据库实例.linux有严格的启动数据
监听:为了区分SYS(SYSDAA,