oraclerevoke列_oracle权限操作
以下都是在命令⾏的操作:
1.以sys管理员的⾝份登⼊oracle的数据库:
⽅法:程序---运⾏---输⼊:cmd---在命令⾏输⼊:sqlplus / as sysdba .
oracle登录命令可能出现的异常:协议适配器错误。
原因:服务未打开(⾄少应该打开实例和监听)。
启动⽅法:除了进⼊服务进⾏操作外,可以继续在命令⾏输⼊:lsnrctl start ----启动监听,输⼊:oradim –startup –sid orcl (注意这个末尾的orcl是数据库名字,根据⾃⼰需要改变)----启动所需数据库的实例。
然后重新登⼊即可。
2.在命令⾏输⼊show users ,可以得到⽤户列表。
3.sys管理员创建普通⽤户:
在命令⾏输⼊ create user ⽤户名 identified by 密码;回车即可。
新开⼀个命令⾏窗⼝进⾏以下操作:
当输⼊sqlplus ⽤户名/密码;登⼊时可能出现的问题:
这个刚创建的⽤户不能使⽤,报出:⽤户某某没有创建session的权限,登录被拒绝。
原因:⽤户某某没有创建session的权限,就是未给⽤户授权。
4. sys管理员给已创建的⽤户授权登⼊:
在命令⾏输⼊:grant create session to ⽤户名;这时该⽤户拥有登⼊数据库的权限了。
5. sys管理员给已创建的⽤户授权建表(注意管理员⽆删表的授权操作给⽤户):
说明:⽤户使⽤建表权限的前提是有使⽤表空间的权限。
在命令⾏输⼊:grant unlimited tablespace to ⽤户名;⽤户拥有使⽤表空间的权限。
在命令⾏输⼊:grant create table to ⽤户名; ⽤户拥有建表权限了。
也可以输⼊:grant create table,unlimited tablespace to ⽤户;给⽤户创建多个权限。
当⽤户拥有以上两个权限后,⽤户就拥有了对⾃⼰创建的表的增删改查的权限了。
6.新⽤户建表:(⽤标准的sql语句即可)
⽅法:create table 表名 (列名 数据类型,……)
7. sys管理员给已授权的⽤户撤销建表权限:
⽅法:revoke create table from ⽤户名;
8.当前⽤户如何知道⾃⼰的权限呢:
在命令⾏输⼊:select * from user_sys_privs;
说明:user_sys_privs是系统⾃⼰的⼀个视图,⽤来存放⽤户拥有的权限列表。
9.关于oracle中的权限:
oracle中的权限分为系统权限和对象权限两种。
系统权限:⽐如访问数据库,建表啊等等,由管理员管理。
对象权限:就是⽤户们之间的授权或撤销。
10.两个普通⽤户是否可以互相访问对⽅的数据呢
说明:在Oracle数据库中⽤户之间是分隔开的。
⽅法:被访问的⽤户先授权给要访问的⽤户,然后在⽤户⾃⼰的命令⾏窗⼝输⼊:select * from ⽤户名.表名;11.⽤户a授权给⽤户b访问⾃⼰的表:
⽅法:grant select on 表名 to ⽤户b;
依此类推,grant select,insert,update,delete on 表名 to ⽤户b;那么⽤户b就有了四个权限了。
也可以是:grant all on 表名 to ⽤户b; 那么⽤户b就有所有权限了。
对应的撤销权限就是 :revoke 权限名 on 表 to ⽤户b;
这个就是对象权限范畴的。
12.当相互访问表时可能出现的问题:
①表或视图不存在,原因:a:⽆权限(解决⽅法看11)b:sql语句未加⽤户名。
②未选定⾏,原因:a:被访问的⽤户尚未提交操作(当被访问的⽤户commit后即可);b:撤销权限了;c:表中⽆记录。
13.sys管理员给所有⽤户授权:
⽅法:grant 系统权限名 to public;
说明:public 就指所有⽤户了。
14.⽤户如何知道⾃⼰对表有那些权限呢
⽅法:select * from user_tab_privs;
15.⽤户如何断开连接呢
⽅法:在命令⾏输⼊:disconn;
连接的⽅法是:conn ⽤户名/密码;
16.⽤户如何修改表建构
⽅法: alter table 表名 add 新列名 数据类型;
可能出现的问题:资源正忙,但指定以nowait⽅式获取资源。
原因是:其它⽤户正在访问这个表。
17.在命令⾏输⼊show user 可以知道当前⽤户。
18.⽤户如何把权限控制到列上(只限insert和update)
⽅法:grant 权限(列名1,列名2,……) on 表名 to ⽤户。
19. ⽤户如何知道⾃⼰对列有那些权限呢
⽅法:select * from user_col_privs;⾪属对象权限。
20.系统权限传递
⽅法:管理员授权给⽤户时,赋给⽤户管理员的特权
例⼦:grant alter any table to ⽤户a with admin option;
那么这个⽤户a就有了传递alter any table权限的特权。
21.对象权限传递
⽅法:⽤户授权给另外⼀个⽤户时,赋给他grant 特权
例⼦:grant select on 表名 to ⽤户a with grant option;那么这个⽤户a就有了传递对表的select权限的特权
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论