ORACLE用户权限管理

参考整理自:http://docs.oracle.com/cd/B19306_01/network.102/b14266/admusers.htm#i1006856

只挑干货讲!!!

一 用户管理

1、创建用户

create user dylan

identified by 123

default tablespace users  --指定表空间

quota 100m on users       --指定配额

temporary tablespace temp  --指定临时表空间

profile default;           --指定概要文件

grant create session to dylan;  --授予创建会话权限

--create session 创建会话

--unlimited tablespace 不限制使用表空间

2、修改用户

alter user dylan

identified by 234

default tablespace users_new  --指定表空间

quota 100m on users_new       --指定配额

temporary tablespace temp  --指定临时表空间

profile default;

3、删除用户

drop user dylan cascade;

4、查询用户及概要文件信息

DBA_USERS 描述所有数据库用户

ALL_USERS 列出对于当前用户可见的数据库用户,单不进行描述

USER_USERS 仅描述当前用户

DBA_TS_QUOTAS    描述用户表空间配额

USER_TS_QUOTAS   描述当前用户密码概要文件参数

USER_RESOURCE_LIMITS 展示当前用户资源限制

DBA_PROFILES 展示所有概要文件及其限制

RESOURCE_COST 列出每个资源消耗

V$SESSION 列出每个当前会话信息包括用户名

V$SESSTAT 列出用户会话统计数据

V$STATNAME 展示V$SESSTAT统计数据提供翻译

PROXY_USERS 描述可以代表其他用户身份的用户

SELECT USERNAME, VALUE || ‘bytes‘ "Current UGA memory"

FROM V$SESSION sess, V$SESSTAT stat, V$STATNAME name

WHERE sess.SID = stat.SID

AND stat.STATISTIC# = name.STATISTIC#

AND name.NAME = ‘session uga memory‘;

5 创建概要文件profile

create profile query_limit

sessions_per_user 1

idle_time 30

connect_time 60;

alter user dylan profile query_limit;

△概要文件选项含义:

COMPOSITE_LIMIT  综合资源限制(一个会话可消耗的资源总限额)

SESSIONS_PER_USER  每个用户最大会话数

CPU_PER_SESSION  每个会话CPU占用时间(1/100s)

CPU_PER_CALL  每次调用CPU占用时间(1/100s)

LOGICAL_READS_PER_SESSION  每个会话读取最大数据块数量

LOGICAL_READS_PER_CALL  每次调用读取最大数据块数量

IDLE_TIME  最大空闲时间(分钟)

CONNECT_TIME  最大连接时间(分钟)

PRIVATE_SGA  私有SGA(系统全局区,SQL区和PLSQL区)

FAILED_LOGIN_ATTEMPTS  最多失败登录尝试(超出用户被锁)

PASSWORD_LIFE_TIME  密码生命周期(天)

PASSWORD_REUSE_TIME  密码修改后必须经过多少天才能重用

PASSWORD_REUSE_MAX  密码再被重新使用前必须经过多少次修改

PASSWORD_VERIFY_FUNCTION  密码验证函数

PASSWORD_LOCK_TIME  密码锁定时间

PASSWORD_GRACE_TIME  修改密码宽限期天数

--详见oracle概要文件详解.ppt

DROP PROFILE query_limit CASCADE;  --cascade后当前连接用户自动切换至default profile

二 用户权限和角色

1、系统权限

--△参数:O7_DICTIONARY_ACCESSIBILITY  默认值:false   数据字典保护

SELECT_CATALOG_ROLE(role) 普通用户访问SYS数据字典视图

EXECUTE_CATALOG_ROLE(role) 执行目录角色,能够执行所有系统包

DELETE_CATALOG_ROLE(role) 删除系统审计表记录(AUD$)

SELECT ANY DICTIONARY 访问SYS模式下任何对象

2、对象权限

3、用户角色

--预定义角色

CONNECT CREATE SESSION

RESOURCE CREATE CLUSTER, CREATE INDEXTYPE, CREATE OPERATOR, CREATE PROCEDURE, CREATE SEQUENCE, CREATE TABLE, CREATE  TRIGGER, CREATE TYPE

DBA 所有系统权限WITH ADMIN OPTION

EXP_FULL_DATABASE 执行全库导出权限;SELECT ANY TABLE, BACKUP ANY TABLE, EXECUTE ANY PROCEDURE, EXECUTE ANY TYPE, ADMINISTER RESOURCE MANAGER, 和 INSERT, DELETE,and UPDATE on the tables SYS.INCVID,
SYS.INCFIL, and SYS.INCEXP.

还有角色: EXECUTE_CATALOG_ROLE and SELECT_CATALOG_ROLE

IMP_FULL_DATABASE 执行全库导入权限;详见DBA_SYS_PRIVS

RECOVERY_CATALOG_OWNER 恢复目录拥有者权限;CREATE SESSION, ALTER SESSION, CREATE SYNONYM, CREATE VIEW, CREATE DATABASE LINK, CREATE                             TABLE, CREATE CLUSTER, CREATE SEQUENCE, CREATE TRIGGER, and CREATE
PROCEDURE

HS_ADMIN_ROLE 保护异构服务数据字典表访问;SELECT_CATALOG_ROLE and EXECUTE_CATALOG_ROLE

AQ_USER_ROLE 已淘汰;仅保留以兼容8.0;提供DBMS_AQ and DBMS_AQIN包的执行权限

AQ_ADMINISTRATOR_ROLE 提供管理高级队列权限;ENQUEUE ANY QUEUE,DEQUEUE ANY QUEUE, and MANAGE ANY QUEUE, SELECT privileges on AQ                             tables and EXECUTE privileges on AQ packages

1、创建角色

create role dml identified by dml123;

drop role dml;

grant select, insert, update, select on hr.employees to dml;

grant connect to dml;

grant dml to dylan;

--column级别授权

grant insert(ename, job) on scott.emp to dml;

revoke connect from dml;

revoke select, insert, update, select on hr.employees from dml;

revoke insert(ename, job) on scott.emp from dml;

--REVOKE REFERENCES ON dept FROM jward CASCADE CONSTRAINTS;

--启用role

SET ROLE dml IDENTIFIED BY dml123;

--禁用所有role

SET ROLE NONE;

--指定role

ALTER USER dylan DEFAULT ROLE dml;

2、删除角色

drop role dml;

3、with admin option 和 with grant option

with admin option  对应系统权限赋权而言,赋权后不可级联收回权限;

with grant option  对应对象权限赋权而言,赋权后可级联收回权限;

4、查看授权信息:

SELECT GRANTEE, OWNER, GRANTOR, PRIVILEGE, GRANTABLE

FROM DBA_TAB_PRIVS

WHERE TABLE_NAME = ‘EMPLOYEES‘ and OWNER = ‘HR‘;

5、权限信息数据字典:

DBA_COL_PRIVS 描述数据库中所有列对象授权

ALL_COL_PRIVS

USER_COL_PRIVS

ALL_COL_PRIVS_MADE 列出当前用户下列对象授权。(当前用户为对象拥有者或授权者)

USER_COL_PRIVS_MADE

ALL_COL_PRIVS_RECD 描述列对象授权(针对当前用户或PUBLIC为被授予者)

USER_COL_PRIVS_RECD

DBA_TAB_PRIVS DBA视图列出数据库中所有对象授权;ALL视图针对用户或PUBLIC为被授予者;USER视

图针对当前用户是被授予者。

ALL_TAB_PRIVS

USER_TAB_PRIVS

ALL_TAB_PRIVS_MADE ALL视图列出所有对象授权(针对当前用户是授权者或对象拥有者);

USER_TAB_PRIVS_MADE           USER视图列出所有对象授权(针对当前用户是对象拥有者)

ALL_TAB_PRIVS_RECD ALL视图列出对象授权(针对用户或PUBLIC是被授权者).                       USER视图列出对象授权(针对当前用户为被授权者)

USER_TAB_PRIVS_RECD

DBA_ROLES 列出数据库中所有角色

DBA_ROLE_PRIVS 列出角色拥有的权限

USER_ROLE_PRIVS

DBA_SYS_PRIVS 列出授予用户和角色的所有系统权限

USER_SYS_PRIVS 列出授予当前用户的系统权限

ROLE_ROLE_PRIVS    描述被授予角色的角色

ROLE_SYS_PRIVS 包含角色的系统权限

ROLE_TAB_PRIVS                包含角色的对象权限

SESSION_PRIVS                 列出当前启用的权限

SESSION_ROLES        列出当前启用的角色

--查看用户对象权限

SELECT TABLE_NAME, PRIVILEGE, GRANTABLE FROM DBA_TAB_PRIVS

WHERE GRANTEE = ‘JWARD‘;

-------------------------------------------------------

Dylan    Presents.

时间: 2024-11-03 21:01:47

ORACLE用户权限管理的相关文章

Oracle 用户权限管理方法

Oracle 用户权限管理方法 sys;//系统管理员,拥有最高权限 system;//本地管理员,次高权限 scott;//普通用户,密码默认为tiger,默认未解锁 sys;//系统管理员,拥有最高权限 system;//本地管理员,次高权限 scott;//普通用户,密码默认为tiger,默认未解锁 二.登陆 sqlplus / as sysdba;//登陆sys帐户 sqlplus sys as sysdba;//同上 sqlplus scott/tiger;//登陆普通用户scott 

ORACLE 用户权限管理

Oracle创建用户的语法: CREATE USER username IDENTIFIED BY password OR IDENTIFIED EXETERNALLY OR IDENTIFIED GLOBALLY AS 'CN=user' [DEFAULT TABLESPACE tablespace] [TEMPORARY TABLESPACE temptablespace] [QUOTA [integer K[M] ] [UNLIMITED] ] ON tablespace [,QUOTA

oracle数据库权限管理

权限管理: oracle 9里面默认的三个用户名和密码: sys change_on_install //权限最高的管理员 system manager //普通的管理员 scott tiger //普通用户 在oracle 10中,仍然使用这三个用户作为默认用户.但sys和system用户的密码不再默认. 权限管理: oracle 9里面默认的三个用户名和密码: sys change_on_install //权限最高的管理员 system manager //普通的管理员 scott tig

oracle 用户的管理

oracle 用户的管理 创建用户 概述:在 oracle 中要创建一个新的用户使用 create user 语句,一般是具有 dba(数据库管理员)的权限才能使用. create user 用户名 identified by 密码; (oracle 有个毛病,密码必须以字母开头,如果以字母开头,它不会创建用户) 给用户修改密码 概述:如果给自己修改密码可以直接使用 password 用户名 如果给别人修改密码则需要具有 dba 的权限,或是拥有 alter user 的系统权限 SQL> al

ORACLE用户权限

数据字典 1.动态数据字典是以v$xxx开始的数据字典,在数据库中约有150个左右,这些数据字典反映数据库动态运行状况,在不同时间查询会得到不同的结果. 2.DBA数据字典是以DBA_xxx表示,该数据字典存储数据库结构,查询DBA数据字典可以反映数据库结构设置,管理磁盘空间和表空间.事务与回退段.用户与表空间等信息. 3.用户数据字典是以USER_xxx表示,这些数据字典反应用户所创建的实体信息.如,USER_TABLES.USER_VIEWS,数据库管理员具有操作全体用户所有实体的权限,可以

实现业务系统中的用户权限管理--实现篇

在设计篇中,我们已经为大家阐述了有关权限管理系统的数据库设计,在本篇中,我们将重点放在其实现代码部分.为了让你能够更直接更有效的看到全部动作的代码,我们使用"动作分解列表"的方式来陈述每个动作以及相关资源. 实现权限管理功能的动作 动作分解 动作名 相关表名 操作集类型 (S,U,I,D,SQL) 表单 模组 字符资源 是否分页? 返回提示? 权限检测 权限初始化安装 setup 无 无 无 setup setupok 否 否 否 显示添加管理组界面 addnewgroup 无 无 a

mysql用户权限管理

mysql数据在实际生产环境中大量被使用,那平时在做好服务器上防火墙策略以外平时,对mysql下的用户权限也要严格管理,mysql的用户权限都是放在mysql.user这张表里,平时的用户权限管理都是隐式使用着这张表的,先说下权限: 权限 意义 select 查询 insert 插入 update 更新 delete 删除记录,一般用于清空表或者某一条记录 create 创建 drop 删除,从表空间里删除 grant 授予,一般用于给用户授权 references 引用 index 索引 al

Linux用户权限管理(二)

今天继续讲下用户权限管理,上一章节讲述了用户和组的创建.修改和删除.这篇文章延续上篇文章,来讲述用户具体的权限管理. 首先我们来讲下权限的相关说明:权限分为读(r).写(w).执行(x).对于文件和目录,其权限对应的功能不尽相同. 文件权限: 读(r):查看文件类似cat的权限 写(w):对文件有编辑和删除权限. 执行(x):具有文件执行权限,可以将文件当作命令提交给内核运行 目录权限: 读(r):对目录下的文件只有ls查看权限(不能使用ls -l) 写(w):可以在目录下创建文件 执行(x):

linux 用户管理,用户权限管理,用户组管理

linux 用户管理,用户权限管理,用户组管理 一:ls -l 命令 解释 第个d表示是目录,如果是文件是-,如果是连接是l 第2到4个 rwx 表示创建者的操作权限 r 读,w 写,x 执行 第5到7个 rwx 表示该文件或目录对所属组操作权限, 依次的后面3个 r-x 表示该文件或目录对其他人的操作权限,这里是 r读,和 x 执行权限 权限后面的 数字2 表示当前目录或文件的连接数量: 数据后面的 名字,表示的是该文件或目录的所有者 依次后面的 名字,表示该文件或目录的所在组: 依次后面的