权限允许用户访问属于其它用户的对象或执行程序,
成都创新互联公司提供成都网站制作、网站设计、网页设计,品牌网站建设,1元广告等致力于企业网站建设与公司网站制作,十余年的网站开发和建站经验,助力企业信息化建设,成功案例突破超过千家,是您实现网站建设的好选择.
ORACLE系统提供权限:Object 对象级、System 系统级
1.系统权限(系统权限是对用户而言):
DBA拥有最高的系统权限:
1,可以创建用户
语法:create user username identified by password;
例如:create user briup identified by briup;
当用户创建成功之后,此用户什么权限都没有,甚至不能登录数据库。
2. 赋予权限:
一个用户应该具有的基本权限包含:
CREATE SESSION
CREATE TABLE
CREATE SEQUENCE
CREATE VIEW
CREATE PROCEDURE
如果有多个用户他们都具有相同的权限(create session,create table,create sequence),赋予权限的动作过于麻烦,要给每个用户分别制定这些权限,因此oracle提出角色的概念,可以将权限赋值给角色,然后再将角色赋值给用户。
例如,我们当初在进行操作时写的:
grant resource,connect to briup;
此时resource,connect就是角色。
查询resource,connect 具有哪些权限可以使用:
select privilege,role
from role_sys_privs
where role = 'CONNECT' or role ='RESOURCE';
语法:
grant xxxx to user_name ;
例如:
grant create view to briup;
3.回收权限
语法:revoke xxx from user_name;
例如:
revoke create view from briup;
4.修改密码:
语法:alter user xxx identified by xxxx;
例如:
alert user briup identified by briup;
5.删除用户:
语法:drop user username [cascade];
note: cascade:当用户下有表的时候,必须使用cascade级联删除。
例如: drop user test cascade;
2.对象权限(针对对象,类似表对象等):
对象权限:select, update, insert, alter, index, delete, all //all包括所有权限
对象的 拥有者拥有所有的权限。
1.给用户赋予操作对象的权限:
GRANT object_priv [(columns)]
ON object
TO {user|role|PUBLIC}
[WITH GRANT OPTION]; //允许分配到权限的用户继续将权限分配给其它用户
例如:
grant select on s_emp to jd1613;
给jd1613用户赋予在s_emp表上进行查询的权利。
grant update(id) on s_emp to jd1613;
给jd1613赋予能够更新s_emp表上id列的权限。
2.回收权限:同系统权限。
语法:revoke xxx on obj from user;
note: 通过with grant option赋予额权限也会被回收。
例如:
revoke select , update on s_emp from jd1613;
3.创建同义词: 相当于给对象起别名
语法:create[public] synonym sy_name for obje_name;
note:只有dba才有权利创建public的同义词
例如:
create synonym emp for s_emp;
4.删除同义词:
语法: drop synonym syn_name;
例如:
drop synonym emp;
5.导出数据库
exp,imp不属于sqlplus的命令,所以不是在sqlplus终端执行的。
系统终端:exp userid=briup/briup full=y file=briup.dmp
导入:imp userid=briup/briup full=y file=briup.dmp;
1、双击桌面sqldeveloper软件图标启动软件。
2、新建数据库连接,填写登录数据库信息并选择相应角色进行登录。
3、登录成功后先查询出hr用户下所有的表名,可直接通过dba_tables来进行查询。
4、把查询权限赋给测试用户的方法有两种,一种为当用户下的表比较少的情况下可以直接通过grant select/delete/update on hr.table-name to cem。
5、授权成功后使用测试用户进行登录即可对授权过查询权限的表进行访问。
具体需要哪些权限需要看用户的实际需要。我们要在有最高权限的system用户创建用户,再赋予新建用户权限,只有给新建用户权限,新建用户才能干什么。
一、权限分为系统权限及对象权限。
1、系统权限:系统规定用户使用数据库的权限。(系统权限是对用户而言)。
1)、DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。
2)、RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。
3)、CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。
对于普通用户:授予connect, resource权限。
对于DBA管理用户:授予connect,resource, dba权限。
2、对象权限:某种权限用户对其它用户的表或视图的存取权限。(是针对表或视图而言的)。
CREATE SESSION,创建会话,才可以打开界面
CREATE TABLE,创建表,可创建空表,但没有权限插入数据
CREATE SEQUENCE创建序列
CREATE VIEW,创建视图
扩展资料
一、赋权方式,有两种赋予用户权限的方式,
1、对用户赋权
一对一的赋予新建用户权限,这样赋予新建用户权限比较有活性,如果新建用户多了,就比较麻烦。
2、对角色赋权
先创建角色,将权限先赋给角色代理,最后将角色代理的权限赋新建用户,这样比较死板,但是可以同时赋给很多用户。
参考资料
Oracle官网-Grant
具体需要哪些权限需要看用户的实际需要。\x0d\x0a系统权限分类:\x0d\x0aDBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。\x0d\x0aRESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。\x0d\x0aCONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。\x0d\x0a对于普通用户:授予connect, resource权限。\x0d\x0a对于DBA管理用户:授予connect,resource, dba权限。\x0d\x0a系统权限授权命令:\x0d\x0a系统权限只能由DBA用户授出:sys, system(最开始只能是这两个用户)\x0d\x0a授权命令:SQL grant connect, resource, dba to 用户名1 [,用户名2]...;\x0d\x0a注:普通用户通过授权可以具有与system相同的用户权限,但永远不能达到与sys用户相同的权限,system用户的权限也可以被回收。