Oracle数据库权限管理常用的SQL语句(一)

2014-11-24 09:48:19 · 作者: · 浏览: 0

Oracle 数据库权限管理常用的SQL语句
1、 Oracle9g中的三个默认用户
www.2cto.com
用户名 密码
sys change_on_install [as sysdba]
system manager
scott tiger
2、用户登录
1)开启监听
C:\Users\Administrator>lsnrctl start
2)开启数据库的实例
C:\Users\Administrator>oradim -starup -sid orcl
3)超级管理员登录
C:\Users\Administrator>sqlplus / as sysdba
4)创建普通用户并登录
create user lisi identified by lisi; //创建一个用户名为lisi,密码为lisi的用户
default tablespace users //默认表空间为users,用来存放数据
temporary tablespace temp //临时表空间temp,等于windows临时文件夹
quota 50M on users //限定用户只能使用users表空间为50M
C:\Users\Administrator>sqlplus lisi/lisi //lisi用户登录
5)限制用户
用户加锁:alter User用户名Account Lock
用户解锁:alter User用户名Account Unlock
用户口令既刻失效:alter User 用户名Password Expire
6)删除用户
Drop user 用户名 用户下面没有对象
Drop User 用户名 cascade 其中CasCade表示删除用户所有对象
7)断开正在连接的用户
SQL>disconn
3、 系统权限
grant create session to lisi; //授予lisi会话的权限
grant create table to lisi; //授予lisi创建表的权限
grant unlinited tablespace to lisi; //授予lisi无限制使用表空间的权限
revoke create session from lisi; //撤销lisi会话的权限
revoke create table from lisi; //撤销lisi创建表的权限
revoke unlimited tablespace to lisi; //撤销lisi无限制使用表空间的权限
4、对象权限
grant select on mytable to lisi; //授予lisi查看mytable表的权限
grant insert on mytable to lisi; //授予lisi在mytable表中插入数据的权限
grant all on mytable to lisi; //授予lisi操作mytable表所有的权限
revoke select on mytable from lisi; //撤销lisi查看mytable表的权限
revoke insert on mytable from lisi; //撤销lisi在mytable表插入数据的权限
revoke all on mytable from lisi; //撤销lisi操作mytable表的所有权限
5、给所有用户授予权限
grant create any table to public; //把创建表的权限授予给所有用户
grant create session to public; //把会话的权限授予给所有的用户
grant unlinited tablespace to public; //把无限之使用表空间的权限授予给所有的用户
grant select on mytable to public; //把查看mytable表的权限授予给所有用户
revoke create any table from public; //撤销所有用户创建表的权限
revoke create session from public; //撤销多有用户的会话权限
revoke unlinited tablespace from public; //撤销用户无限制使用表空间的权限
6、使用数字字典
select*from user_sys_privs; //查看当前用户拥有哪些系统权限
select*from user_tab_privs; //查看当前用户拥有哪些对象权限
select * from dba_users; //查看数据库里面所有用户,前dba权限的帐号,如sys,system
select * from all_users; //查看你能管理的所有用户!
select * from user_users; //查看当前用户信息 !
7、对象权限可以控制到列
grant update(name) on mytable to lisi; //授予lisi用户更新mytable表name列的权限
grant insert(id) on mytable to lisi; //授予lisi用户在mytable表id列插入数据的权限
select*from user_col_privs; //查看当前用户拥有哪些列的对象权限
注意:查询和删除不能控制到列。 //ddl dml dcl
8、系统权限的传递
grant alter any table to lisi with admin option; //超级管理员授予lisi修改任意表的管理权限
9、对象权限的传递
grant select on A to lisi with grant option; //把A表的查看权限授予给lisi
10、设置命令行屏幕的宽度
s