对于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系统管理员们给予一定的帮助