数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

Oracle角色权限管理


发布日期:2024年01月30日
 
Oracle角色权限管理

对于Oracle系统管理员而言用户管理是基本的操作下面列表中介绍了Oracle角色权限管理的一些指令以供Oracle系统管理员们参考

个默认的用户

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

system manage// 本地管理员

scott tiger// 普通用户

创建用户

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

权限管理系统授权

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();添加一个新列

权限管理系统撤销授权

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

权限管理对象授权

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

grant select mytable to leap

grant all my table to leap

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

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

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

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

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

授权成功后 leap 用户查询

select * from leapmytable

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

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

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

权限管理对象撤销授权

grant select mytable to leap

grant all on mytable to leap

权限管理权限的传递

不可以权限传递

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

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

可以权限传递

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

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

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

grant select on mytable to leap 把查询表的权限授权给leap

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

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

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

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

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

创建角色

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] 关闭

希望这张列表能够对Oracle系统管理员们给予一定的帮助

               

上一篇:OracleERP开发基础之数据导入工具

下一篇:Oracle回滚表空间丢失或损坏处理方法(1)