文档库 最新最全的文档下载
当前位置:文档库 › 【VIP专享】Oracle权限、角色和用户

【VIP专享】Oracle权限、角色和用户

【VIP专享】Oracle权限、角色和用户
【VIP专享】Oracle权限、角色和用户

Oracle数据库权限、角色和用户总结

前言:

ORACLE数据库系统预先定义了CONNECT 、RESOURCE、DBA、EXP_FULL_DATABASE、IMP_FULL_DATABASE五个角色。

CONNECT具有创建表、视图、序列等特权;(alter session create cluster )

RESOURCE具有创建过程、触发器、表、序列等特权、

DBA具有全部系统特权;

EXP_FULL_DATABASE、IMP_FULL_DATABASE具有卸出与装入数据库的特权。

权限管理

一、权限分类

系统权限:系统规定用户使用数据库的权限。(系统权限是对用户而言)。

实体权限:某种权限用户对其它用户的表或视图的存取权限。(是针对表或视图而言的)。

二、系统权限管理:

1、系统权限分类:

DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。

RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。

CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。

对于普通用户:授予connect, resource权限。

对于DBA管理用户:授予connect,resource, dba权限。

2、系统权限授权命令:

[系统权限只能由DBA用户授出:sys, system(最开始只能是这两个用户)]

授权命令:SQL> grant connect, resource, dba to 用户名1 [,用户名2]...;

[普通用户通过授权可以具有与system相同的用户权限,但永远不能达到与sys用户相同的权限,system用户的权限也可以被回收。]

例:

SQL> connect system/manager

SQL> Create user user50 identified by user50;

SQL> grant connect, resource to user50;

查询用户拥有哪些权限:

SQL> select * from dba_role_privs;

SQL> select * from dba_sys_privs;

SQL> select * from role_sys_privs;

删除用户:SQL> drop user 用户名cascade; //加上cascade则将用户连同其创建的东西全部删除

3、系统权限传递:

增加WITH ADMIN OPTION选项,则得到的权限可以传递。

SQL> grant connect, resorce to user50 with admin option; //可以传递所获权限。

4、系统权限回收:系统权限只能由DBA用户回收

命令:SQL> Revoke connect, resource from user50;

说明:

1)如果使用WITH ADMIN OPTION为某个用户授予系统权限,那么对于被这个用户授予相同权限的所有用户来说,取消该用户的系统权限并不会级联取

消这些用户的相同权限。

2)系统权限无级联,即A授予B权限,B授予C权限,如果A收回B的权限,C的权限不受影响;系统权限可以跨用户回收,即A可以直接收回C用户的权限

三、实体权限管理(对象权限)

1、实体权限分类:select, update, insert, alter, index, delete, all //all包括所有权限

execute //执行存储过程权限

user01:

SQL> grant select, update, insert on product to user02;

SQL> grant all on product to user02;

user02:

SQL> select * from user01.product;

// 此时user02查user_tables,不包括user01.product这个表,但如果查all_tables则可以查到,因为他可以访问。

2. 将表的操作权限授予全体用户:

SQL> grant all on product to public; // public表示是所有的用户,这里的all权限不包括drop。[实体权限数据字典]:

SQL> select owner, table_name from all_tables; // 用户可以查询的表

SQL> select table_name from user_tables; // 用户创建的表

SQL> select grantor, table_schema, table_name, privilege from all_tab_privs; // 获权可以存取

的表(被授权的)

SQL> select grantee, owner, table_name, privilege from user_tab_privs; // 授出权限的表(授出的权限)

查看用户拥有哪些系统权利

Sql> select grantee,privilege from dba_sys_privs where grantee=‘SCOTT’;

查看用户拥有哪些对象权利

Sql> select grantee,privilege,owner,table_name from dba_tab_privs where grantee=‘SCOTT’;

3. DBA用户可以操作全体用户的任意基表(无需授权,包括删除):

DBA用户:

SQL> Create table stud02.product(

id number(10),

name varchar2(20));

SQL> drop table stud02.emp;

SQL> create table stud02.employee

as

select * from scott.emp;

4. 实体权限传递(with grant option):

user01:

SQL> grant select, update on product to user02 with grant option; // user02得到权限,并可以传递。

5. 实体权限回收:

user01:

SQL>Revoke select, update on product from user02; //传递的权限将全部丢失。

说明

1)如果取消某个用户的对象权限,那么对于这个用户使用WITH GRANT OPTION授予权限的用户来说,同样还会取消这些用户的相同权限,也就是说取

消授权时级联的。

Oracle 用户管理

一、创建用户的Profile文件

SQL> create profile student limit // student为资源文件名

FAILED_LOGIN_ATTEMPTS 3 //指定锁定用户的登录失败次数

PASSWORD_LOCK_TIME 5 //指定用户被锁定天数

PASSWORD_LIFE_TIME 30 //指定口令可用天数

二、创建用户

SQL> Create User username

Identified by password

Default Tablespace tablespace_name

Temporary Tablespace tablespace_name

Profile profile_name

Quota integer/unlimited on tablespace;

例:

SQL> Create user acc01

identified by acc01 // 如果密码是数字,请用双引号括起来

default tablespace account

temporary tablespace temp

profile default

quota 50m on account;

SQL> grant connect, resource to acc01;

查询用户缺省表空间、临时表空间

SQL> select username, default_tablespace, temporary_tablespace from dba_users;

查询系统资源文件名:

SQL> select * from dba_profiles;

资源文件类似表,一旦创建就会保存在数据库中。

SQL> select username, profile, default_tablespace, temporary_tablespace from dba_users; SQL> create profile common limit

failed_login_attempts 5

idle_time 5;

SQL> Alter user acc01 profile common;

三、修改用户:

SQL> Alter User 用户名

Identified 口令

Default Tablespace tablespace

Temporary Tablespace tablespace

Profile profile

Quota integer/unlimited on tablespace;

1、修改口令字:

SQL>Alter user acc01 identified by "12345";

2、修改用户缺省表空间:

SQL> Alter user acc01 default tablespace users;

3、修改用户临时表空间

SQL> Alter user acc01 temporary tablespace temp_data;

4、强制用户修改口令字:

SQL> Alter user acc01 password expire;

5、将用户加锁

SQL> Alter user acc01 account lock; // 加锁

SQL> Alter user acc01 account unlock; // 解锁

四、删除用户

SQL>drop user 用户名; //用户没有建任何实体

SQL> drop user 用户名CASCADE; // 将用户及其所建实体全部删除

*1. 当前正连接的用户不得删除。

五、监视用户:

1、查询用户会话信息:

SQL> select username, sid, serial#, machine from v$session;

2、删除用户会话信息:

SQL> Alter system kill session 'sid, serial#';

3、查询用户SQL语句:

SQL> select user_name, sql_text from v$open_cursor;

Oracle 角色管理

一、何为角色?

我在前面的篇幅中说明权限和用户。慢慢的在使用中你会发现一个问题:如果有一组人,他们的所需的权限是一样的,当对他们的权限进行管理

的时候会很不方便。因为你要对这组中的每个用户的权限都进行管理。

有一个很好的解决办法就是:角色。角色是一组权限的集合,将角色赋给一个用户,这个用户就拥有了这个角色中的所有权限。那么上述问题就

很好处理了,只要第一次将角色赋给这一组用户,接下来就只要针对角色进行管理就可以了。

以上是角色的一个典型用途。其实,只要明白:角色就是一组权限的集合。下面分两个部门来对oracle角色进行说明。

二、系统预定义角色

预定义角色是在数据库安装后,系统自动创建的一些常用的角色。下介简单的介绍一下这些预定角色。角色所包含的权限可以用以下语句查询:

sql>select * from role_sys_privs where role='角色名';

1.CONNECT, RESOURCE, DBA

这些预定义角色主要是为了向后兼容。其主要是用于数据库管理。oracle建议用户自己设计数据库管理和安全的权限规划,而不要简单的使用这些预

定角色。将来的版本中这些角色可能不会作为预定义角色。

2.DELETE_CATALOG_ROLE,EXECUTE_CATALOG_ROLE,SELECT_CATALOG_ROLE

这些角色主要用于访问数据字典视图和包。

3.EXP_FULL_DATABASE,IMP_FULL_DATABASE

这两个角色用于数据导入导出工具的使用。

4.AQ_USER_ROLE,AQ_ADMINISTRATOR_ROLE

AQ:Advanced Query。这两个角色用于oracle高级查询功能。

5.SNMPAGENT

用于oracle enterprise manager和Intelligent Agent

6.RECOVERY_CATALOG_OWNER

用于创建拥有恢复库的用户。关于恢复库的信息,参考oracle文档《Oracle9i User-Managed Backup and Recovery Guide》

7.HS_ADMIN_ROLE

A DBA using Oracle's heterogeneous services feature needs this role to access appropriate tables in the data dictionary.

三、管理角色

1.建一个角色

sql>create role role1;

2.授权给角色

sql>grant create any table,create procedure to role1;

Sql>grant create session,create table to role1;

Sql>revoke create session,create table from role1;

3.授予角色给用户

sql>grant role1 to user1;

Sql>grant role1 to user1 with admin option;

revoke role1 from user1;

查看系统中所有的角色

Sql>select * from dba_roles;

查看用户被授予了哪些角色

Sql>select grantee,granted_role from dba_role_privs where grantee=‘SCOTT’;

查看角色中包含了哪些系统权限

Sql>select role,privilege from role_sys_privs where role=‘ROLE1’;

查看角色中包含了哪些对象权限

Sql>select role,privilege,from role_tab_privs where role=‘ROLE1’;

将角色授予角色

Sql>grant role1 to role2;

4.查看角色所包含的权限

sql>select * from role_sys_privs;

5.创建带有口令以角色(在生效带有口令的角色时必须提供口令)

sql>create role role1 identified by password1;

6.修改角色:是否需要口令

oracle创建用户及权限说明文档

Oraclec创建用户 一、命令行创建用户具体步骤如下: 1.以管理员身份登录系统并创建一个新的表空间,操作如下: 操作如下: 2. Next 5M maxsize 100M ;----每次扩大5M,但最大为100M

3. Temporary tablespace test1_temp; ----设置临时表空间为test1_temp 4. 操作如下 5. 操作如下 6.最后提交即可。Commit 二、表空间的增删改查 1. 2. 如下操作,其中标示出来的路径即为查询到的要更改的表空间的具体路径,将该路径加到语句2中的单引号处即可。

3. 4.

四、权限的设置 1.权限的分类: 系统权限:系统规定用户使用数据库的权限。(系统权限是对用户而言)。 实体权限:某种权限用户对其它用户的表或视图的存取权限。(是针对表或视图而言的)。 2.系统权限管理 DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。 RESOURCE: 拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。 CONNECT: 拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。 对于普通用户:授予connect, resource权限。 对于DBA管理用户:授予connect,resource, dba权限。 3.系统权限授权命令及用户管理。 [系统权限只能由DBA用户授出:sys, system(最开始只能是这两个用户)] 授权命令:SQL> grant connect, resource, dba to 用户名1 [,用户名2]...; [普通用户通过授权可以具有与system相同的用户权限,但永远不能达到与sys 用户相同的权限,system用户的权限也可以被回收。] 例: SQL> connect system/manager SQL> Create user user50 identified by user50; SQL> grant connect, resource to user50; 查询用户拥有哪里权限: SQL> select * from dba_role_privs; SQL> select * from dba_sys_privs; SQL> select * from role_sys_privs; 删除用户:SQL> drop user 用户名cascade; //加上cascade则将用户连同其创建的东西全部删除。 4.给新建的用户分配只有连接以及对某些表和视图的查询权限: oracle授权对视图的查询.docx 5.用户管理: 1)、创建用户的Profile文件 SQL> create profile student limit // student为资源文件名 FAILED_LOGIN_ATTEMPTS 3 //指定锁定用户的登录失败次数 PASSWORD_LOCK_TIME 5 //指定用户被锁定天数 PASSWORD_LIFE_TIME 30 //指定口令可用天数 2)、创建用户 SQL> Create User username Identified by password Default Tablespace tablespace Temporary Tablespace tablespace Profile profile Quota integer/unlimited on tablespace; 6.用户密码过期问题: 首先,查看系统中有哪些用户:

【VIP专享】Oracle权限、角色和用户

Oracle数据库权限、角色和用户总结 前言: ORACLE数据库系统预先定义了CONNECT 、RESOURCE、DBA、EXP_FULL_DATABASE、IMP_FULL_DATABASE五个角色。 CONNECT具有创建表、视图、序列等特权;(alter session create cluster ) RESOURCE具有创建过程、触发器、表、序列等特权、 DBA具有全部系统特权; EXP_FULL_DATABASE、IMP_FULL_DATABASE具有卸出与装入数据库的特权。 权限管理 一、权限分类 系统权限:系统规定用户使用数据库的权限。(系统权限是对用户而言)。 实体权限:某种权限用户对其它用户的表或视图的存取权限。(是针对表或视图而言的)。 二、系统权限管理: 1、系统权限分类: DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。 RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。 CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。 对于普通用户:授予connect, resource权限。 对于DBA管理用户:授予connect,resource, dba权限。 2、系统权限授权命令: [系统权限只能由DBA用户授出:sys, system(最开始只能是这两个用户)] 授权命令:SQL> grant connect, resource, dba to 用户名1 [,用户名2]...; [普通用户通过授权可以具有与system相同的用户权限,但永远不能达到与sys用户相同的权限,system用户的权限也可以被回收。] 例:

oracle权限及角色

角色是相关权限的集合,使用角色能够简化权限的管理。简而言之就是oracle 可以事先把一系列权限集中在一起(角色),打包赋予给用户,那么用户就具有了角色的一系列权限。 oracle预定义角色有25种,它是oracle提供的角色。经常用到的角色有connect、resource、dba三种角色。建一个用户,多数情况下,只要给用户赋予connect和resource角色就够了。 connect角色具有一般应用开发人员需要的大部分权限,connect角色具有的系统权限如下: alter session create cluster create database link create session create table create view create sequence resource角色具有开发人员需要的其他权限,如建立存储过程、触发器等,resource角色等,resource角色隐含了unlimited tablespace系统权限(无限制表空间),resource的系统权限有: create cluster

create indextype create table create sequence create type create procedure create trigger dba角色具有所有系统权限及with admin option选项,默认dba用户为sys和system,它们可以将任何系统权限授予给其他用户。但是dba角色不具备sysdba 和sysoper的权限,即启动和关闭数据库。 select*from tab; --查询所有的用户 select*from dba_users; --查询所有的角色 select*from dba_roles; -- 权限有140多种,要赋值给用户,使用sql grant sql语句,太麻烦,产生角色概念(23种角色),先把权限赋值给角色,比如说connect

oracle常用权限语句

oracle 用户创建及权限设置 权限: create session create table unlimited tablespace connect resource dba 例: #sqlplus /nolog SQL> conn / as sysdba; SQL>create user username identified by password SQL> grant dba to username; SQL> conn username/password SQL> select * from user_sys_privs; 我们将从创建 Oracle 用户权限表开始谈起,然后讲解登陆等一般性动作,使大家对 Oracle 用户权限表有个深入的了解。 一、创建 sys;//系统管理员,拥有最高权限 system;//本地管理员,次高权限 scott;//普通用户,密码默认为tiger,默认未解锁 二、登陆sqlplus / as sysdba;// 登陆sys帐户sqlplus sys as sysdba;// 同上 sqlplus scott/tiger;//登陆普通用户scott sqlplus sys as sysdba;//同上 sqlplus scott/tiger;//登陆普通用户scott 三、管理用户 create user zhangsan;//在管理员帐户下,创建用户zhangsan alter user scott identified by tiger;//修改密码

四,授予权限 1、默认的普通用户scott默认未解锁,不能进行那个使用,新建的用户也没有任何权限,必须授予权限 /*管理员授权*/ grant create session to zhangsan;//授予zhangsan用户创建session的权限,即登陆权限 grant unlimited session to zhangsan;//授予zhangsan用户使用表空间的权限 grant create table to zhangsan;//授予创建表的权限 grante drop table to zhangsan;//授予删除表的权限 grant insert table to zhangsan;//插入表的权限 grant update table to zhangsan;//修改表的权限 grant all to public;//这条比较重要,授予所有权限(all)给所有用户(public) 2、oralce对权限管理比较严谨,普通用户之间也是默认不能互相访问的,需要互相授权 /*oralce对权限管理比较严谨,普通用户之间也是默认不能互相访问的*/ grant select on tablename to zhangsan;//授予zhangsan用户查看指定表的权限 grant drop on tablename to zhangsan;//授予删除表的权限 grant insert on tablename to zhangsan;//授予插入的权限 grant update on tablename to zhangsan;//授予修改表的权限 grant insert(id) on tablename to zhangsan; grant update(id) on tablename to zhangsan;//授予对指定表特定字段的插入和修改权限,注意,只能是insert和update grant alert all table to zhangsan;//授予zhangsan用户alert任意表的权限 五、撤销权限 基本语法同grant,关键字为revoke 六、查看权限 select * from user_sys_privs;//查看当前用户所有权限 select * from user_tab_privs;//查看所用用户对表的权限 七、操作表的用户的表 /*需要在表名前加上用户名,如下*/ select * from zhangsan.tablename 八、权限传递 即用户A将权限授予B,B可以将操作的权限再授予C,命令如下: grant alert table on tablename to zhangsan with admin option;//关键字 with admin option grant alert table on tablename to zhangsan with grant option;//关键字 with grant option效果和admin类似 九、角色 角色即权限的集合,可以把一个角色授予给用户 create role myrole;//创建角色

ORACLE数据库用户与权限管理

ORACLE数据库用户与权限管理ORACLE是多用户系统,它允许许多用户共享系统资源。为了保证数据库系统的安全,数据库管理系统配置了良好的安全机制。 2.1 ORACLE数据库安全策略 建立系统级的安全保证 系统级特权是通过授予用户系统级的权利来实现,系统级的权利(系统特权)包括:建立表空间、建立用户、修改用户的权利、删除用户等。系统特权可授予用户,也可以随时回收。ORACLE系统特权有80多种。 建立对象级的安全保证 对象级特权通过授予用户对数据库中特定的表、视图、序列等进行操作(查询、增、删改)的权利来实现。 建立用户级的安全保证 用户级安全保障通过用户口令和角色机制(一组权利)来实现。引入角色机制的目的是简化对用户的授权与管理。做法是把用户按照其功能分组,为每个用户建立角色,然后把角色分配给用户,具有同样角色的用户有相同的特权。 2.2 用户管理 ORACLE用户管理的内容主要包括用户的建立、修改和删除用户的建立

2.3系统特权管理与控制 ORACLE 提供了80多种系统特权,其中每一个系统特权允许用户执行一个或一类数据库操作。 授予系统特权 回收系统特权 显示已被授予的系统特权(某用户的系统级特权) 2.4 对象特权管理与控制 ORACLE对象特权指用户在指定的表上进行特殊操作的权利。这些特殊操作包括增、删、改、查看、执行(存储过程)、引用(其它表字段作为外键)、索引等。 授予对象特权

//级联授权 回收对象特权 显示已被授予的全部对象特权 2.5 角色的管理 ORACLE的角色是命名的相关特权组(包括系统特权与对象特权),ORACLE用它来简化特权管理,可把它授予用户或其它角色。 ORACLE数据库系统预先定义了CONNECT 、RESOURCE、 DBA、 EXP_FULL_DATABASE、IMP_FULL_DATABASE五个角色。CONNECT具有创建表、视图、序列等特权;RESOURCE具有创建过程、触发器、表、序列等特权、DBA具有全部系统特权;EXP_FULL_DATABASE、 IMP_FULL_DATABASE具有卸出与装入数据库的特权。 通过查询sys.dba_sys_privs可以了解每种角色拥有的权利。 授予用户角色

oracle权限全集

oracle权限全集 alter any cluster 修改任意簇的权限 alter any index 修改任意索引的权限 alter any role 修改任意角色的权限 alter any sequence 修改任意序列的权限 alter any snapshot 修改任意快照的权限 alter any table 修改任意表的权限 alter any trigger 修改任意触发器的权限 alter cluster 修改拥有簇的权限 alter database 修改数据库的权限 alter procedure 修改拥有的存储过程权限 alter profile 修改资源限制简表的权限 alter resource cost 设置佳话资源开销的权限 alter rollback segment 修改回滚段的权限 alter sequence 修改拥有的序列权限 alter session 修改数据库会话的权限 alter sytem 修改数据库服务器设置的权限 alter table 修改拥有的表权限 alter tablespace 修改表空间的权限 alter user 修改用户的权限 analyze 使用analyze命令分析数据库中任意的表、索引和簇audit any 为任意的数据库对象设置审计选项 audit system 允许系统操作审计

backup any table 备份任意表的权限 become user 切换用户状态的权限 commit any table 提交表的权限 create any cluster 为任意用户创建簇的权限 create any index 为任意用户创建索引的权限 create any procedure 为任意用户创建存储过程的权限create any sequence 为任意用户创建序列的权限create any snapshot 为任意用户创建快照的权限create any synonym 为任意用户创建同义名的权限create any table 为任意用户创建表的权限 create any trigger 为任意用户创建触发器的权限create any view 为任意用户创建视图的权限 create cluster 为用户创建簇的权限 create database link 为用户创建的权限 create procedure 为用户创建存储过程的权限 create profile 创建资源限制简表的权限 create public database link 创建公共数据库链路的权限create public synonym 创建公共同义名的权限 create role 创建角色的权限 create rollback segment 创建回滚段的权限 create session 创建会话的权限 create sequence 为用户创建序列的权限

Oracle用户权限管理 通过 SQL plus

sys 整个数据库网络的管理员最高权限 system 本地数据库管理员 scott 普通用户 创建用户(hong12345): create user hong12345 identified by hong12345 系统授权: grant create session to hong12345; 登录窗口 grant create table to hong12345; 创建表 grant unlimited tablespace to hong12345; 使用表空间 撤销权限: revoke create table from hong12345; rovoke unlimited tablespace from hong12345; 查看用户权限: 提供系统信息的视图Oracle中称数据字典查看当前用户系统权限select * from user_sys_prives; 创建用户(xiaobei) create user xiaobeiindentified by xiaobei create table myxiaobei(id int); insert into myxiaobei(1);

commit;//必须手动提交 对象权限 一个用户访问另外一个用户的表(如hong12345 访问xiaobei) grant select on myxiaobei to hong12345;(将表myxiaobei查询权限给hong12345)grant inert on myxiaobei to hong12345; grant all on myxiaobei to hong12345; select * from user_tab_privs;(查询对象权限) select * from user_col_privs;(查询对象列权限); 对象权限可以控制到列的权限 grant update(name)on myxiaobei to hong12345 grant insert(id)on myxiaobei to hong12345; 撤销; revoke all on myxiaobei from hong12345; 权限传递: sys--》hong12345--》xiaobei sys:grant alter any table to hong12345 with admin option;

oracle 查看用户、权限、角色

查看用户、权限、角色的命令和视图 a 1.查看所有用户: select * from dba_users; select * from all_users; select * from user_users; 2.查看用户系统权限: select * from dba_sys_privs; select * from session_privs; select * from user_sys_privs; 3.查看用户对象权限: select * from dba_tab_privs; select * from all_tab_privs; select * from user_tab_privs; 4.查看所有角色: select * from dba_roles; 5.查看用户所拥有的角色: select * from dba_role_privs; select * from user_role_privs; b 概述 与权限,角色相关的视图大概有下面这些: DBA_SYS_PRIVS: 查询某个用户所拥有的系统权限 USER_SYS_PRIVS: 查询当前用户所拥有的系统权限 SESSION_PRIVS: 查询当前用户所拥有的全部权限 ROLE_SYS_PRIVS:查询某个角色所拥有的系统权限 注意: 要以SYS用户登陆查询这个视图,否则返回空. ROLE_ROLE_PRIVS: 当前角色被赋予的角色 SESSION_ROLES: 当前用户被激活的角色 USER_ROLE_PRIVS: 当前用户被授予的角色 另外还有针对表的访问权限的视图: TABLE_PRIVILEGES ALL_TAB_PRIVS ROLE_TAB_PRIVS: 某个角色被赋予的相关表的权限 oracle与用户角色权限相关的视图 Oracle 本身的数据字典设计我个人觉得很合理, 因为DBA_xxx, ALL_xxx,USER_xxx 让人一看大概就知道这个视图是干什么用的. 本文简要总结了一下与权限,角色相关的视图. 一. 概述 与权限,角色相关的视图大概有下面这些: 1、DBA_SYS_PRIVS: 查询某个用户所拥有的系统权限。 2、USER_SYS_PRIVS: 查询当前用户所拥有的系统权限。

Oracle用户权限表的管理方法

我们将通过介绍命令的方式,谈谈Oracle用户权限表的管理方法,希望对大家有所帮助。 我们将从创建Oracle用户权限表开始谈起,然后讲解登陆等一般性动作,使大家对Oracle用户权限表有个深入的了解。 一、创建 sys;//系统管理员,拥有最高权限 system;//本地管理员,次高权限 scott;//普通用户,密码默认为tiger,默认未解锁 sys;//系统管理员,拥有最高权限 system;//本地管理员,次高权限 scott;//普通用户,密码默认为tiger,默认未解锁 二、登陆 sqlplus / as sysdba;//登陆sys帐户 sqlplus sys as sysdba;//同上 sqlplus scott/tiger;//登陆普通用户scott sqlplus / as sysdba;//登陆sys帐户 sqlplus sys as sysdba;//同上 sqlplus scott/tiger;//登陆普通用户scott 三、管理用户 create user zhangsan;//在管理员帐户下,创建用户zhangsan alert user scott identified by tiger;//修改密码 create user zhangsan;//在管理员帐户下,创建用户zhangsan alert user scott identified by tiger;//修改密码 四,授予权限 1、默认的普通用户scott默认未解锁,不能进行那个使用,新建的用户也没有任何权限,必须授予权限

/*管理员授权*/ grant create session to zhangsan;//授予zhangsan用户创建session的权限,即登陆权限grant unlimited session to zhangsan;//授予zhangsan用户使用表空间的权限 grant create table to zhangsan;//授予创建表的权限 grante drop table to zhangsan;//授予删除表的权限 grant insert table to zhangsan;//插入表的权限 grant update table to zhangsan;//修改表的权限 grant all to public;//这条比较重要,授予所有权限(all)给所有用户(public) /*管理员授权*/ grant create session to zhangsan;//授予zhangsan用户创建session的权限,即登陆权限grant unlimited session to zhangsan;//授予zhangsan用户使用表空间的权限 grant create table to zhangsan;//授予创建表的权限 grante drop table to zhangsan;//授予删除表的权限 grant insert table to zhangsan;//插入表的权限 grant update table to zhangsan;//修改表的权限 grant all to public;//这条比较重要,授予所有权限(all)给所有用户(public) 2、oralce对权限管理比较严谨,普通用户之间也是默认不能互相访问的,需要互相授权/*oralce对权限管理比较严谨,普通用户之间也是默认不能互相访问的*/ grant select on tablename to zhangsan;//授予zhangsan用户查看指定表的权限 grant drop on tablename to zhangsan;//授予删除表的权限 grant insert on tablename to zhangsan;//授予插入的权限 grant update on tablename to zhangsan;//授予修改表的权限 grant insert(id) on tablename to zhangsan;

如何查看oracle用户具有的权限和角色

如何查看oracle用户具有的权限和角色 上次有同学问我,如何查看一个oracle用户具有的权限和角色,我一时没答上来,回头好好研究了一下,记录一下,备查: 1.查看所有用户: select * from dba_users; select * from all_users; select * from user_users; 2.查看用户或角色系统权限(直接赋值给用户或角色的系统权限): select * from dba_sys_privs; select * from user_sys_privs; 3.查看角色(只能查看登陆用户拥有的角色)所包含的权限 sql>select * from role_sys_privs; 4.查看用户对象权限: select * from dba_tab_privs; select * from all_tab_privs; select * from user_tab_privs; 5.查看所有角色: select * from dba_roles; 6.查看用户或角色所拥有的角色: select * from dba_role_privs; select * from user_role_privs; 7.查看哪些用户有sysdba或sysoper系统权限(查询时需要相应权限) select * from V$PWFILE_USERS 比如我要查看用户wzsb的拥有的权限: SQL> select * from dba_sys_privs where grantee='WZSB';

GRANTEE PRIVILEGE ADMIN_OPTION ------------------------------ ---------------------------------------- ------------ WZSB CREATE TRIGGER NO WZSB UNLIMITED TABLESPACE NO 比如我要查看用户wzsb的拥有的角色: SQL> select * from dba_role_privs where grantee='WZSB'; GRANTEE GRANTED_ROLE ADMIN_OPTION DEFAULT_ROLE ------------------------------ ------------------------------ ------------ ------------ WZSB DBA NO YES 查看一个用户所有的权限及角色 select privilege from dba_sys_privs where grantee='WZSB' union select privilege from dba_sys_privs where grantee in (select granted_role from dba_role_privs where grantee='WZSB' );

Oracle用户角色权限等操作

oracle 赋予权限 转发评论 02月21日13:00 最基础的sqlplus username/password@[sid] 连接数据库 sqlplus username/password as sysdba 以管理员连接数据库 管理员连接后创建用户sqlplus system/manager@demo as sysdba create user abc identified by abc ; 创建用户abc密码为abc grant all privileges to abc; 给abc用户赋予所有的权限 给自己留个备份以备不时之需 oracle grant 授权语句--select * from dba_users; 查询数据库中的所有用户 --alter user USERNAME account lock; 锁住用户 --alter user USERNAME account unlock; 给用户解锁 --create user USERNAME identified by USERPASS; 建立用户 一般创建用户后需要授予链接数据库权限 grant connect,resource to USERNAME; --grant create tablespace to USERNAME; 授权创建表空间 --grant SELECT on TABLENAME to USERNAME; 授权查询 授权其他动作格式相同 如果要把所有表的查询权限分配给用户可以用这样的 grant select any table to USERNAME; --grant execute on procedure1 to xujin 授权存储过程

关于oracle 用户去DBA权限的管理

为了规范数据库用户的操作,特制订如下规范: 一、每个系统建立自己的数据库文件和索引文件,每个文件不允许超过2G,不支持自动扩展,系统根据自己的情况申请相应大小的数据文件; 创建文件系统的命令为: (1)创建表空间 Create tablespace coredb_data logging datafile '/home/oracle/oracle/product/10.2.0/oradata/orcl/coredb_data01.dbf' size 2G autoextend off (2)创建索引空间 Create tablespace coredb_idx logging datafile '/home/oracle/oracle/product/10.2.0/oradata/orcl/coredb_idx01.dbf' size 1G autoextend off (3)增扩表空间 alter tablespace coredb_idx add datafile '/home/oracle/oracle/product/10.2.0/oradata/orcl/coredb_idx02.dbf' size 2G autoextend off (4)查看表空间 select dbf.tablespace_name, dbf.totalspace "总量(M)", dbf.totalblocks as 总块数, dfs.freespace "剩余总量(M)", dfs.freeblocks "剩余块数", (dfs.freespace / dbf.totalspace) * 100 "空闲比例" from (select t.tablespace_name, sum(t.bytes) / 1024 / 1024 totalspace, sum(t.blocks) totalblocks from dba_data_files t group by t.tablespace_name) dbf, (select tt.tablespace_name, sum(tt.bytes) / 1024 / 1024 freespace, sum(tt.blocks) freeblocks from dba_free_space tt group by tt.tablespace_name) dfs where trim(dbf.tablespace_name) = trim(dfs.tablespace_name) 二、创建用户的命令 使用ORACLE用户执行如下命令(无DBA权限): sqlplus '/as sysdba' < cascade; create user identified by default tablespace coredb_data temporary tablespace temp;

推荐下载-oracle管理权限 精品

Oracle用户权限管理

●系统的默认用户 # sys;//系统管理员,拥有最高权限 # system;//本地管理员,次高权限 # scott;//普通用户,密码默认为tiger,默认未解锁 ●登陆 # sqlplus / as sysdba;//登陆sys帐户 # sqlplus sys as sysdba;//同上 # sqlplus scott/tiger;//登陆普通用户scott ●管理用户 # create user zhangsan;//在管理员帐户下,创建用户zhangsan # alert user scott identified by tiger;//修改密码

授予权限 1、默认的普通用户scott默认未解锁,不能进行那个使 用,新建的用户也没有任何权限,必须授予权限 # # grant create session to zhangsan;//授予zhangsan 用户创建session的权限,即登陆权限 # grant unlimited session to zhangsan;//授予zhangsan用户使用表空间的权限 # grant create table to zhangsan;//授予创建表的权限 # grante drop table to zhangsan;//授予删除表的权限 # grant insert table to zhangsan;//插入表的权限 # grant update table to zhangsan;//修改表的权限 # grant all to public;//这条比较重要,授予所有权限(all)给所有用户(public) 2、oralce对权限管理比较严谨,普通用户之间也是默认 不能互相访问的,需要互相授权 #

oracle用户及权限管理

实验三安全管理 【开发语言及实现平台或实验环境】 Oracle10g 【实验目的】 练习创建用户、用户的授权、创建角色、将角色授权给用户等安全管理命令 【实验原理】 一、用户管理 1创建用户 基本语法: CREATE USER user_name IDENTIFIED [BY password|EXTERNALL Y|GLOBALL Y AS 'external_name'] [DEFAULT TABLESPACE tablespace_name] [TEMPORARY TABLESPACE temp_tablesapce_name] [QUOTA n K|M|UNLIMITED ON tablespace_name] [PROFILE profile_name] [PASSWORD EXPIRE] [ACCOUNT LOCK|UNLOCK]; 注意:在创建新用户后,必须为用户授予适当的权限。例如,授予用户CREATE SESSION 权限后,用户才可以连接到数据库。 参数说明: user_name:用于设置新建用户名,在数据库中用户名必须是唯一的; IDENTIFIED:用于指明用户身份认证方式; BY password:用于设置用户的数据库身份认证,其中password为用户口令;EXTERNALL Y:用于设置用户的外部身份认证; GLOBALL Y AS'external_name':用于设置用户的全局身份认证,其中external_name为Oracle 的安全管理服务器相关信息; DEFAULT TABLESPACE:用于设置用户的默认表空间,如果没有指定,Oracle将数据库默认表空间作为用户的默认表空间; TEMPORARY TABLESPACE:用于设置用户的临时表空间; QUOTA:用于指定用户在特定表空间上的配额,即用户在该表空间中可以分配的最大空间;PROFILE:用于为用户指定概要文件,默认值为DEFAULT,采用系统默认的概要文件;PASSWORD EXPIRE:用于设置用户口令的初始状态为过期,用户在首次登录数据库时必须修改口令; ACCOUNT LOCK:用于设置用户初始状态为锁定,默认为不锁定; ACCOUNT UNLOCK:用于设置用户初始状态为不锁定或解除用户的锁定状态。 实例: 创建一个用户user3,口令为user3,默认表空间为USERS,在该表空间的配额为10 MB,

oracle角色权限详解

每个Oracle用户都有一个名字和口令,并拥有一些由其创建的表、视图和其他资源。Oracle角色(role)就是一组权限(privilege)(或者是每个用户根据其状态和条件所需的访问类型)。用户可以给角色授予或赋予指定的权限,然后将角色赋给相应的用户。一个用户也可以直接给其他用户授权。 数据库系统权限(Database System Privilege)允许用户执行特定的命令集。例如,CREATE TABLE权限允许用户创建表,GRANT ANY PRIVILEGE 权限允许用户授予任何系统权限。 数据库对象权限(Database Object Privilege)使得用户能够对各个对象进行某些操作。例如DELETE权限允许用户删除表或视图的行,SELECT权限允许用户通过select从表、视图、序列(sequences)或快照(snapshots)中查询信息。 一、创建用户 Oracle内部有两个建好的用户:SYSTEM和SYS。用户可直接登录到SYSTEM 用户以创建其他用户,因为SYSTEM具有创建别的用户的权限。在安装Oracle 时,用户或系统管理员首先可以为自己建立一个用户。例如: create user user01 identified by u01; (上面user01是创建的用户u01是密码) 该命令还可以用来设置其他权限,详细情况参见自学资料。要改变一个口令,可以使用alter user命令: alter user user01 identified by usr01; 现在user01的口令已由“u01”改为“usr01”。 除了alter user命令以外,用户还可以使用password命令。如果使用password命令,用户输入的新口令将不在屏幕上显示。有dba特权的用户可以通过password命令改变任何其他用户的口令;其他用户只能改变自己的口令。 当用户输入password命令时,系统将提示用户输入旧口令和新口令,如下所示: password Changing password for user01 Old password: New password: Retype new password:

oracle权限大全

Oracle权限笔记 一、系统的默认用户 1.sys;//系统管理员,拥有最高权限 2.system;//本地管理员,次高权限 3.scott;//普通用户,密码默认为tiger,默认未解锁 二、登陆 1.sqlplus / as sysdba;//登陆sys帐户 2.sqlplus sys as sysdba;//同上 3.sqlplus scott/tiger;//登陆普通用户scott 三、管理用户 1.create user zhangsan;//在管理员帐户下,创建用户zhangsan 2.alert user scott identified by tiger;//修改密码 四,授予权限 1、默认的普通用户scott默认未解锁,不能进行那个使用,新建的用户也没有任何权限,必须授予权限 2、/*管理员授权*/ 3、grant create session to zhangsan;//授予zhangsan用户创建session的权限,即登陆权限 4、grant unlimited session to zhangsan;//授予zhangsan用户使用表空间的权限 5、grant create table to zhangsan;//授予创建表的权限 6、grante drop table to zhangsan;//授予删除表的权限

7、grant insert table to zhangsan;//插入表的权限 8、grant update table to zhangsan;//修改表的权限 9、grant all to public;//这条比较重要,授予所有权限(all)给所有用户(public) oralce对权限管理比较严谨,普通用户之间也是默认不能互相访问的,需要互相授权 1./*oralce对权限管理比较严谨,普通用户之间也是默认不能互相访问的*/ 2.grant select on tablename to zhangsan;//授予zhangsan用户查看指定表的权限 3.grant drop on tablename to zhangsan;//授予删除表的权限 4.grant insert on tablename to zhangsan;//授予插入的权限 5.grant update on tablename to zhangsan;//授予修改表的权限 6.grant insert(id) on tablename to zhangsan; 7.grant update(id) on tablename to zhangsan;//授予对指定表特定字段的插入和修改权限,注意,只能是insert和update 8.grant alert all table to zhangsan;//授予zhangsan用户alert任意表的权限 五、撤销权限 基本语法同grant,关键字为revoke 六、查看权限 1.select * from user_sys_privs;//查看当前用户所有权限 2.select * from user_tab_privs;//查看所用用户对表的权限 七、操作表的用户的表 1./*需要在表名前加上用户名,如下*/

相关文档
相关文档 最新文档