【原文出处】:http://www.blogjava.net/hwpok/archive/2010/06/10/323266.html,非常感谢梦幻之旅的文章,小弟在此收藏以备日后学习。
在全局数据库ORCL下创建一个用户
首先在开始--》运行——》sqlplus,然后输入 sys/change_on_install as sysdba
以system权限登陆进去
然后可以进行操作:
创建用户 create user test indentified by test;
这样就创建了一个用户名密码都为test的用户
但这个时候test还是不能登陆成功的,我们需要赋予相应的权限
首先赋予create session的权限
grant create session to test;
这样test用户就能成功登陆进去
但是此时用户还是不能创建表 我们需要赋予用户创建表的权限:
grant create table to test;
但是用户此时还不能创建表 因为需要有使用表空间的权限(相当于 用户有了进房间的钥匙 但是没有进大门的钥匙)
所以也应该赋予相应的权限
grant unlimited tablespace to test;
这个时候用户就拥有了创建表的权限 由于表是用户test的 相应的他就拥有了对创建的表的增删查改的权限了
我们要查看用户拥有什么权限可以通过查询一个系统的视图(数字字典)
select * from user_sys_privs;
这样就可以知道当前用户的权限
撤销权限 revoke create table from test;
场景:
用户test
test1的用户创建了个表mytab 并且插入了一些数据
那么 test用户是否可以访问到test1的mytab怎么访问?
答:不可以,必须先授权
test1必须授权给test :grant select on mytab to test;
那么这个时候test可以通过 select * from test1.mytab;来访问mytab中的数据
如果想把某个表(对象)的所有权限都赋予给test那么可以:
grant all on mytab to test;
撤销所有权限
revoke all on mytab to test;
总结:
--------------------------------------------------------------------------------------------------
--创建用户
create user keeltest identified by keeltest;
--分配权限
grant create session,create table,create view ,create any index to keeltest;
grant unlimited tablespace to keeltest;