oracle 中角色权限管理,oracle角色权限管理

----3个默认的用户

sys change_on_install [as sysdba] // 最高系统管理员

system manage// 本地管理员

scott tiger// 普通用户

----创建用户

create user leap identified by 1234 // 创建leap 用户 密码为1234

----系统授权

grant create seesion to leap;//系统管理员授权给leap会话的权限

grant create table to leap;;//系统管理员授权给leap创建表的权限

grant unlimited tablespace to leap;//系统管理员授权给leap 不限制表空间大小的权限 默认的表空间是Users

grant create session to public ;----把 会话的权限授权给所有的用户

grant create any table to public ;----把创建任意表的权限授权给所有的用户

grant alter any table to public ;----把修改任意表结构的权限授权给所有的用户

-- 断开连接和连接

disconn 和conn username/password

-- 修改表结构

alter table mytable add columnName varchar(10);---添加一个新列

-----------系统撤销授权

revoke create seesion from leap;// 撤销授权

revoke create table from leap;

revoke unlinited tablespace from leap;

------数据字典

----查询当前用户系统权限

select * from user_sys_privs

----查询当前用户表的权限

select * from user_tab_privs

----查询当前用户表的列的权限

select * from user_col_privs

--- 设定行的显示宽度

set linesize 400

----对象授权

注意: 谁拥有该对象(即谁创建的对象) 谁拥有授权的权利

grant select mytable to leap2

grant all my table to leap2

---授权表的列的控制权限,对象权限可以控制到列的范围

grant update on mytable to leap2--- 把权限控制在表的列上 用户leap2 只能修改columnName 列

grant insert on mytable to leap2--- 把权限控制在表的列上 用户leap2 只能修改columnName 列

注意;授权列的控制权只能对update 和insert操作,查询和删除不能控制到列

select * from user_col_privs ---查询列的数据字典

---授权成功后 leap2 用户查询

select * from leap.mytable

DDL--数据定义语言 create drop 。。。 不需要提交commit

DDL--数据操纵语言 insert update delete 。。。 需要提交commit

DCL--数据控制语言 grant 。。。 不需要提交 commit

------- 对象撤销授权

grant select mytable to leap2

grant all on mytable to leap2

-----权限的传递

---不可以权限传递

grant alter any table to leap2 ---把修改表结构的权限授权给leap2,

并且leap2 不可以把此权限授权给其他的用户leap3

---可以权限传递

grant alter any table to leap2 with admin option ---把修改表结构的权限授权给leap2,

并且leap2 可以把此权限授权给其他的用户leap3

-----把表的查询权限授权给其他用户 不能传递

grant select on mytable to leap2 ---把查询表的权限授权给leap2,

并且leap2 不可以把此权限授权给其他的用户leap3

---把表的查询权限授权给其他用户 能传递

grant select on mytable to leap2 with grant option---把查询表的权限授权给leap2,

并且leap2 可以把此权限授权给其他的用户leap3

----角色 角色就是权限的集合 可以把一个角色授予给用户

---创建角色

create role myrole

---删除角色

drop myrole

--角色是权限的集合,所以要把权限放进角色内。

grant create session to myrole

grant create table to myrole

---授权角色给用户

grant myrole to leap

注意: 有些权限不能授权给角色

例如 unlimited tablespace

表示属于创建它的用户的

角色不是属于任意一个用户 是所有用户公用的

---限制用户

alter User 用户名 Account Lock---- 用户加锁

alter User 用户名 Account unLock---- 用户解锁

alter User 用户名 Password expire---- 用户密码即可失效

---删除用户

drop User 用户名--- 用户下面每有对象

drop User 用户名 cascade ----用户下面有表或者对象必须用cascade

cascade 表示强制删除用户所有对象

----命令下启动oracle listener

lsnrctl start [listenerName] --启动

lsnrctl stop [listenerName] --关闭

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值