对于Oracle系统管理员而言,用户管理是基本的操作。下面列表中介绍了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<columnName> on mytable to leap2— 把权限控制在表的列上 用户leap2 只能修改columnName 列
grant insert<columnName> 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] –关闭
希望这张列表,能够对Oracle系统管理员们给予一定的帮助。
【编辑推荐】
- Oracle系统管理员基础:Oracle数据字典
- 深入Oracle用户管理与规范
- Oracle用户名更改操作四步走
- Oracle用户表空间两步就可以了解
- Oracle用户名重建索引方法探究
文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/254591.html<

