oracle打点脚色和权限
副问题[/!--empirenews.page--]
先容 这一部门首要看看oracle中怎样打点权限和脚色,权限和脚色的区别在那边。 当方才成立用户时,用户没有任何权限,也不能执行任何操纵。假如要执行某种特定的数据库操纵,则必须为其授予体系的权限;假如用户要会见其余方案的工具,则必须为其授予工具的权限,为了简化权限的打点,可以行使脚色。 ? 权限: 权限是指执行特定范例sql呼吁或是会见其余方案工具的权力,包罗体系权限和对角权限两种。 ? 体系权限先容 体系权限是指执行特定范例sql呼吁的权力,它用于节制用户可以执行的一个或是一组数据库操纵。好比当用户具有create table权限时,可以在其方案中建表,当用户具有create any table权限时,可以在任何方案中建表。oracle提供了160多中体系权限。常用的有: create session 毗连数据库; create view 建视图; create procedure 建进程、函数、包; create cluster 建簇; create table 建表; create public synonym 建同义词; create trigger 建触发器; ? 表现体系权限 oracle提供了166体系权限,并且oracle的版本越高,提供的体系权限就越多,我们可以查询数据字典视图system_privilege_map,可以表现全部体系权限。 根基语法: select * from system_privilege_map order by name; oracle11GR2中提供了208个体系权限。 ? 授予体系权限 一样平常环境,授予体系权限是有dba完成的,假如用其余用户来授予体系权限,则要求用户必须具有grant any privilege的体系权限在授予体系权限时,可以带有with admin option选项,这样,被授予权限的用户或是脚色还可以将该体系权限授予其余的用户或是脚色。为了让各人快速入门,我们举例声名: 1、建设两个用户ken,tom初始阶段他们没有任何权限,假如登岸就会堕落误的信息。 1.1、建设两个用户,并指定暗码。 SQL>create user ken identified by ken; SQL>create user tom identified by tom; ? 2、给用户ken授权 2.1、授予create session和create table权限时带with admin option 授权根基语法: grant 权限名称 to 用户名; SQL>grant create session to ken with admin option; SQL>grant create table to ken with admin option; ? 2.2、授予create view时不带with admin option SQL>grant create view to ken; ? 3、给用户tom授权 我们可以通过ken给tom授权,由于with admin option是加上的。虽然也可以通过dba给tom授权,我们就用ken给tom授权: SQL>grant create session to tom with admin option; SQL>grant create table to tom with admin option; SQL>grant create view to tom;//报错,因为ken被dba授权时没有带with admin option参数,以是ken没有权限对tom举办create view的授权。 ? 接纳体系权限 一样平常环境下,接纳体系权限是dba来完成的,假如其余的用户来接纳体系权限,要求该用户必须具有响应体系权限及转授体系权限的选项(with admin option)。接纳体系权限行使revoke来完成,当接纳了体系权限后,用户就不能执行响应的操纵了,可是请留意,体系权限级联收回题目?(不会级联接纳权限) system==>>ken==>>tom (create session)(create session)(create session) 用system执行如下操纵: revoke create session from ken;请思索tom还能登录吗?可以登录。 ? 接纳体系权限根基语法: revoke 体系权限名 from 用户名; 出格声名:体系权限的接纳不是级联接纳。 ? 工具权限先容 会见其余方案工具的权力,用户可以直接会见本身方案的工具,可是假如要会见此外方案的工具,则必须具有工具的权限,好比smith用户要会见scott.emp表(scott:方案,emp:表) 则必须在scott.emp表上具有工具的权限。常用的权限有: alter 修改、delete 删除、select 查询、insert 添加、update 修改、index 索引、references 引用、execute执行。 查察oracle提供的全部的工具权限(仅dba用户可以查察) select distinct privilege from dba_tab_privs; ? 重要查询文档 查察当前用户的表(本身的表) select table_name from user_tables; ? 查询oracle中全部的体系权限,一样平常是dba select * from system_privilege_map order by name; ? 查询oracle中全部的脚色,一样平常是dba select * from dba_roles; ? 查询oracle中全部工具权限,一样平常是dba select distinct privilege from dba_tab_privs; ? 查询数据库的表空间 select tablespace_name from dba_tablespaces; ? 查询当前用户具有什么样的体系权限 select * from user_sys_privs; ? 查询当前用户在别人的表上,具有什么样的工具权限 select * from user_tab_privs; (查察对表的权限) select * from user_col_privs; (查察对表的列的权限) ? 查询某个用户具有奈何的脚色 select * from dba_role_privs where grantee=‘用户名‘; ? 查察某个脚色包罗哪些体系权限。 select * from dba_sys_privs where grantee=‘DBA‘; 可能是: select * from role_sys_privs where role=‘DBA‘; ? 查察某个脚色包罗的工具权限 select * from dba_tab_privs where grantee=‘脚色名‘; ? 当某个脚色具有什么样的体系权限或工具权限,也可通过pl/sql developer器材直接查察即可。 ? 表现执行的错误信息 在执行完语句后,就执行下面的语句 show error; ? 表现oracle某个操纵用时 set timing on; ? 授权工具权限 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |