一、创建和管理数据库用户帐户

1、每个数据库用户帐户都具有以下项目:

(1)唯一的用户名:不能超过30个字节,不能包含特珠字母,而且必须字母开头。

(2)验证方法:口令、外部验证、全局验证

(3)默认表空间:注意创建对象和设置空间限额要另外单独授权。

www.2cto.com

(4)临时表空间:用户可在其中创建临时对象(于排序和临时表)的表空间

(5)用户概要文件:分配给用户的一组资源与口令的限制。

(6)使用户组:由资源管理器使用。

(7)锁定状态:用户只能访问"未锁定"帐户。

www.2cto.com

2、创建用户帐户

CREATE USER gyj3

IDENTIFIED BY gyj3

DEFAULT TABLESPACE tp1

QUOTA 10M ON tp1

TEMPORARY TABLESPACE temp

--PROFILE app_user

--PASSWORDEXPIRE

--ACCOUNT LOCK;

建一个最简单的用户操作命令如下:

sys@OCM>CREATE USER gyj3

2  IDENTIFIED BY gyj3

3  DEFAULT TABLESPACE tp1

4  QUOTA 10M ON tp1

5  TEMPORARY TABLESPACE temp;

User created.

3、查询用户信息

sys@OCM>col username for a30

sys@OCM> col default_tablespace for a10

sys@OCM> col temporary_tablespace fora10

sys@OCM> selectusername,default_tablespace,temporary_tablespace,

to_char(created,'yyyy-mm-dd:hh24:mi:ss'),account_statusfrom dba_users;

USERNAME  DEFAULT_TA TEMPORARY_TO_CHAR(CREATED,

'YY ACCOUNT_STATUS

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

MGMT_VIEW  SYSTEM  TEMP 2009-08-13:23:24:58 OPEN

SYS  SYSTEM  TEMP 2009-08-13:23:00:59 OPEN

SYSTEM SYSTEM TEMP  2009-08-13:23:00:59OPEN

DBSNMP  SYSAUX  TEMP 2009-08-13:23:06:35 OPEN

SYSMAN  SYSAUX  TEMP 2009-08-13:23:22:32 OPEN

GYJ3  TP1  TEMP 2013-03-01:10:51:33 OPEN

GYJ  TP1  TEMP  2013-02-28:15:21:03 OPEN

OUTLN  SYSTEM  TEMP 2009-08-13:23:01:00 EXPIRED & LOCKED

FLOWS_FILES  SYSAUX  TEMP 2009-08-13:23:26:08 EXPIRED & LOCKED

MDSYS  SYSAUX  TEMP 2009-08-13:23:12:05 EXPIRED & LOCKED

ORDSYS  SYSAUX  TEMP 2009-08-13:23:12:05 EXPIRED & LOCKED

EXFSYS  SYSAUX  TEMP 2009-08-13:23:09:35 EXPIRED& LOCKED

WMSYS  SYSAUX  TEMP 2009-08-13:23:07:30 EXPIRED & LOCKED

APPQOSSYS  SYSAUX  TEMP 2009-08-13:23:06:36 EXPIRED & LOCKED

APEX_030200  SYSAUX  TEMP 2009-08-13:23:26:09 EXPIRED & LOCKED

OWBSYS_AUDIT  SYSAUX  TEMP 2009-08-13:23:35:05 EXPIRED & LOCKED

ORDDATA  SYSAUX  TEMP 2009-08-13:23:12:05 EXPIRED & LOCKED

CTXSYS SYSAUX  TEMP 2009-08-13:23:09:45 EXPIRED & LOCKED

ANONYMOUS  SYSAUX  TEMP 2009-08-13:23:10:12 EXPIRED & LOCKED

XDB  SYSAUX  TEMP 2009-08-13:23:10:12 EXPIRED & LOCKED

ORDPLUGINS  SYSAUX  TEMP 2009-08-13:23:12:05 EXPIRED & LOCKED

OWBSYS  SYSAUX  TEMP 2009-08-13:23:35:03 EXPIRED & LOCKED

SI_INFORMTN_SCHEMA  SYSAUX  TEMP 2009-08-13:23:12:05 EXPIRED

& LOCKED

OLAPSYS  SYSAUX  TEMP 2009-08-13:23:18:04 EXPIRED & LOCKED

SCOTT  USERS  TEMP 2009-08-13:23:35:44 EXPIRED & LOCKED

ORACLE_OCM  USERS  TEMP 2009-08-13:23:02:20 EXPIRED & LOCKED

XS$NULL  USERS  TEMP 2009-08-13:23:11:44 EXPIRED & LOCKED

BI  USERS  TEMP 2013-02-27:23:11:56 EXPIRED & LOCKED

PM  USERS  TEMP 2013-02-27:23:11:56 EXPIRED & LOCKED

MDDATA  USERS  TEMP 2009-08-13:23:19:11 EXPIRED & LOCKED

IX  USERS  TEMP 2013-02-27:23:11:56 EXPIRED & LOCKED

SH  USERS TEMP 2013-02-27:23:11:56 EXPIRED & LOCKED

DIP  USERS  TEMP 2009-08-13:23:01:49 EXPIRED & LOCKED

OE  USERS  TEMP 2013-02-27:23:11:56 EXPIRED & LOCKED

APEX_PUBLIC_USER USERS TEMP  2009-08-13:23:26:09EXPIRED

& LOCKED

HR  USERS  TEMP 2013-02-27:23:11:56 EXPIRED & LOCKED

SPATIAL_CSW_ADMIN_USR  USERS  TEMP 2009-08-13:23:22:20 EXPIRED

& LOCKED

SPATIAL_WFS_ADMIN_USR  USERS  TEMP 2009-08-13:23:22:15 EXPIRED

& LOCKED

二、授予和撤销权限

1、权限分为两大类,系统权限和对象权限

(1)系统权限:允许用户在数据库中执行特定的操作

A、SYSDBA/SYSOPER这两个权限比较特殊

gyj@OCM> select * from dba_sys_privs where granteein('SYSDBA',

'SYSOPER');

no rows selected

B、DBA的系统权限是可以查到的

gyj@OCM> select * from dba_sys_privs where grantee='DBA';

GRANTEE PRIVILEGE ADM

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

DBA DROP ANY CUBE BUILD PROCESS  YES

DBA CREATE CUBE YES

DBA ALTER ANY CUBE DIMENSION YES

DBA ALTER ANY MINING MODEL YES

(中间结果省略)

…………………………..

202 rows selected.

C、普通用户的系统权限

gyj@OCM> select * fromdba_sys_privs where grantee='GYJ';

GRANTEE PRIVILEGE ADM

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

GYJ UNLIMITED TABLESPACE NO

D、 当前会话上的系统权限

gyj@OCM> select * from session_privs;

PRIVILEGE

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

ALTER SYSTEM

AUDIT SYSTEM

CREATE SESSION

ALTER SESSION

RESTRICTED SESSION

(中间结果省略)

……………………………

202 rows selected.

(2)对象权限:允许用户访问和操纵特定的对象

A、查对象权限

gyj@OCM> select *  fromdba_tab_privs where grantee='GYJ';

no rows selected

B、查对象上列的权限

gyj@OCM>select *  from dba_col_privs wheregrantee='GYJ';

no rows selected

为什么没显示对象的权限和对象上列的权限呢,用户GYJ明明有对象的呀:

gyj@OCM> show user;

USER is "GYJ"

gyj@OCM> select table_name from tabs;

TABLE_NAME

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

T10

好,我登录到HR用户下给GYJ用户授对象权限

sys@OCM> conn hr/hr

Connected.

hr@OCM> grant select on employees togyj;

Grant succeeded.

hr@OCM> grant update (department_id) onemployees to gyj;

Grant succeeded.

再次查对象权限就有结果了,这下明白这个意思了吧,好!这个就不多说了。

hr@OCM> select *  from dba_tab_privs wheregrantee='GYJ';

GRANTEE OWNER  TABLE_NAME  GRANTOR  PRIVILEGE  GRA HIE

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

GYJ  HR  EMPLOYEES  HR  SELECT  NO  NO

hr@OCM> select *  from dba_col_privs where grantee='GYJ';

GRANTEE  OWNER  TABLE_NAME  COLUMN_NAME  GRANTOR  PRIVILEGE  GRA

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

GYJ  HR  EMPLOYEES DEPARTMENT_ID  HR  UPDATE  NO

2、with admin option与with grantoption区别

(级联的意思就是第一个用户的权限再授予其他用户,如果第一个用户被取消了

该权限,那么通过其他通过第一个用户授予该权限的用户也被波及到,权限同

时被取消,不级联的话其他用户就不会被波及。)

(1) with admin option系统权限赋予级联,取消是不级联的,如下图所示:

with admin option的意思是被授予该权限的用户有权将某个权限(如create

any table)授予其他用户或角色,取消是不级联的。

如管理员DBA授予Jeff系统权限create session with admin option,然后Jeff又

把createsession权限授予Emi,但DBA收回Jeff的create session权限时,Emi

依然拥有create session的权限。但管理员DBA可以显式收回Emi的

create session权限,即直接revoke create session from Emi;

好!我们来做个测试:

A、 先建两用户Jeff和Emi

hr@OCM> conn / as sysdba

Connected.

sys@OCM> create user Jeff identified byJeff;

User created.

sys@OCM> create user Emi identified byEmi;

User created.

B、 管理员给Jeff系统权限createsession with admin option;

sys@OCM> grant create session to Jeff with admin option ;

Grant succeeded.

C、 Jeff又把create session权限授予Emi

sys@OCM> conn Jeff/Jeff

Connected.

jeff@OCM> grant create session to Emi;

Grant succeeded.

D、最后用Emi登录

jeff@OCM> conn Emi/Emi

Connected.

Emi登录成功,说明用with adminoption权限级联授权成功。

E、  管理员收加Jeff的grant createsession 权限。

emi@OCM> conn / as sysdba

Connected.

sys@OCM> revoke  createsession from Jeff;

Revoke succeeded.

F、Jeff用户登录

sys@OCM> conn Jeff/Jeff

ERROR:

ORA-01045: user JEFF lacks CREATE SESSIONprivilege; logon denied

Warning: You are no longer connected toORACLE.

报错,说明权限回收成功

G、 最后我们看看用Emi用户登录

sys@OCM> conn Emi/Emi

Connected.

登录成功,说明权限回收不级联。

(2)with grant option对象权限赋予级联,取消也是级联的,如下图所示:

不同的是管理员收回用withgrant option授权的用户对象权限时,权限会因传播

而失效,如grant select on table with grant option to Jeff,Jeff用户把此权限授予

Emi,但管理员Bob收回Jeff的权限时,Emi的权限也会失效,但管理员不可以

直接收回Emi的SELECT ON TABLE 权限。

好这个测试跟上面一样,很简单,我就不来做了。没明白的自己测试一把就明白了。

3、授予权限

grant create any table to gyj;

grant select any table to gyj; --gyj用户无法访问SYS用户中的DBA_系列视图、

数据字典表

grant update on t10 to gyj with grant option;

grant update(id) on t10 to gyj with grant option;

4、撤销权限

revoke create any table from gyj;

revoke update on t10 from gyj;

三、创建和管理角色

1、角色的作用

(1)简化权限管理:将一些权限授予给某个角色,然后将该角色授予给各个用户,

而不是将同一组权限授予给多个用户。

(2)动态地管理权限:修改了角色关联的权限,则授予该角色所有的用户都会立即

自动获得修过的权限。

(3)有选择性地应用权限:启用或禁用角色可以暂时打开或关闭权限。

2、角色的特性

(1)角色就像用户,可以将权限授予给角色,也可以撤销角色的权限。

(2)角色就像系统权限,可以将其授予给用户或其它角色,也可以撤销用户或

其它角色的角色。

(3)角色可以由系统权限和对象权限组成。

(4)可以针对授予某一角色的每个用户启用或禁用该角色。

(5)可能需要口令才能启用角色。

(6)角色不由任可用户拥有,角色也不属于任可方案。

3、预定义角色

(1)CONNECT:

CREATE SESSION

(2)RESOURCE:

CREATE CLUSTER/CREATE INDEXTYPE/CREATE OPERATOR/CREATEP

ROCEDURE/CREATE SEQUENCE/CREATE TABLE/CREATE TRIGGER/

CREATE TYPE

(3)DBA:具有大多数系统权限和其它若干个角色。不要将其授予给管理员

之外的人员

4、创建角色,操作如下命令:(注意红色字体)

(1)先做一系列的查询

gyj@OCM> select * from dba_role_privs where grantee='Emi';

no rows selected

gyj@OCM> select * from role_sys_privs where role='ROLE_GYJ1';

no rows selected

gyj@OCM> select * from role_tab_privswhere role='ROLE_GYJ1';

no rows selected  select * from session_privs;

gyj@OCM> conn Emi/Emi

Connected.

emi@OCM> select * from session_privs;

PRIVILEGE

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

CREATE SESSION

(2)开始建角色及授权

gyj@OCM> create role role_gyj1;

Role created.

gyj@OCM> grant select any table torole_gyj1;

Grant succeeded.

gyj@OCM> grant role_gyj1 to Emi;

Grant succeeded.

emi@OCM> conn Emi/Emi

Connected.

emi@OCM> select * from gyj.t10;

ID NAME

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

1 gyj1

emi@OCM> select * from session_privs;

PRIVILEGE

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

CREATE SESSION

SELECT ANY TABLE

四、创建和管理概要文件

1、创建概要文件

CREATE PROFILE app_user LIMIT

SESSIONS_PER_USER UNLIMITED

CPU_PER_SESSION UNLIMITED

CPU_PER_CALL  3000

CONNECT_TIME  45

LOGICAL_READS_PER_SESSION  DEFAULT

LOGICAL_READS_PER_CALL  1000

PRIVATE_SGA  15K

COMPOSITE_LIMIT  5000000

FAILED_LOGIN_ATTEMPTS 5

PASSWORD_LIFE_TIME 60

PASSWORD_REUSE_TIME 60

PASSWORD_REUSE_MAX 5

PASSWORD_LOCK_TIME 1/24

PASSWORD_GRACE_TIME 10;

2、口令管理

(1)用户的锁定

FAILED_LOGIN_ATTEMPTS n :当用户登录N次后仍没有输入正确的密码,

用户被自动的锁定。

PASSWORD_LOCK_TIME n :当达到上面参数的限制,用户被锁定后,用

户被锁定的天数。

createprofile pro2 limit failed_login_attempts 3 PASSWORD_LOCK

_TIME 1;

select *from dba_profiles where PROFILE='PRO2';

(2)口令的有效期

PASSWORD_LIFE_TIME n :设置口令的有效期,单位是天数。

PASSWORD_GRACE_TIMEn :宽限期。

口令无效后,用户应该即时的更换口令。在指定的宽限期内,如果用户

仍没有更换口令,用户将无法登录。在宽限期内每登录一次,都会收到一条警告信息。

(3)历史口令限制

PASSWORD_REUSE_TIME:可以重复使用以前用过的口令前的天数。也就

是当设置新口令后,在N天内,不能使用以前用过的老口令再

(4)新口令。

PASSWORD_REUSE_MAX某一口令最多被使用的次数。

如果将PASSWORD_REUSE_MAX设置为3,在更改用户口令时,某一串符号被

三次设置为口令后,这串符号将不能再被设为口令。

3、资源管理

(1)启用资源限制

show parameterresource_limit

(2)会话级资源限制,主要针对会话,在配置文件中,有下面几个会话级资

源限制参数:

CPU_PER_SESSION :会话所能使用的CPU时间总量。单位是百分之一秒。

SESSIONS_PER_USER :同一用户所能的开的最多会话数

CONNECT_TIME :以分钟计算的会话持续连接时间

IDLE_TIME :以分钟计算的空闲时间

LOGICAL_READS_PER_SESSION :会话所能读取的数据块数。

PRIVATE_SGA :在共享服务器模式下,每个用户连接所能使用的SGA中的空间,

单位是字节。

如果开启了资源限制的会话,超出了上面这些限制,将会报出ORA-02391错误,

ORACLE将同时断开会话的连接。

www.2cto.com

(3)调用级资源限制

调用级别的资源限制,主要针对每条命令的执行。每条命令的执行都是一次调用,

调用级资源限制决定了每次调用所能使用的CPU时间和I/O数。调用级资源

限制参数有上面两个:

CPU_PER_CALL :每次调用所能占用的CPU时间,单位百分之一秒

LOGICAL_READS_PER_CALL :每次调用所能读取的数据块数

4、查概要文件的信息

select * from dba_profiles;

http://www.dengb.com/oracle/482456.htmlwww.dengb.comtruehttp://www.dengb.com/oracle/482456.htmlTechArticle一、创建和管理数据库用户帐户 1、每个数据库用户帐户都具有以下项目: (1)唯一的用户名:不能超过30个字节,不能包含特珠字母,而且...

opentp1如何连接oracle,Oracle用户安全管理相关推荐

  1. oracle中用户连接相关

    查看用户连接 断掉某一连接 查看连接ip oracle中查看用户连接 select username,sid,serial#,status from v$session where username ...

  2. 连接oracle的scott数据库,Oracle scott用户连接数据库出错的解决方法

    Oracle scott用户连接数据库出现错误?不要紧,下面就教您一个Oracle scott用户连接数据库出错的解决方法,希望对您能有所帮助. 在安装完Oracle10g之后,想打开sql*plus ...

  3. oracle查看用户连接及kil连接

    oracle查看用户连接及kil连接 p 1. 查看当前数据库所有用户连接select username,sid,serial# from v$session;2. 查看某个Active用户连接的si ...

  4. oracle如何查看数据安全用户,oracle用户安全管理

    oracle的用户安全 作为dba一定要保证数据库的安全,备份是要时刻准备的,个人觉得数据库就好比一个座楼 ,要想最好的的保护楼,,最好是整个楼没有窗户和门等入口,我可以限制进入大楼的人, 对可以进入 ...

  5. oracle的系统和对象权限 与 Oracle 查看用户权限

    oracle的系统和对象权限 alter any cluster 修改任意簇的权限 alter any index 修改任意索引的权限 alter any role 修改任意角色的权限 alter a ...

  6. ORACLE授权用户查询另一个用户下的表与视图

    实际应用中,会遇到在某个用户下需要查询另一个用户下的表数据或视图的情况,然而在没有授权时,会提示无权限操作的错误.那就需要通过授权处理后,再能进行查询操作,下面我们来看看是怎么处理的. 一.系统权限说 ...

  7. oracle 查看 用户,用户权限,用户表空间,用户默认表空间

    查看用户和默认表空间的关系. select username,default_tablespace from dba_users; 1.查看表结构:desc表名 2.查看当前用户的表: select ...

  8. oracle远程连接串,oracle远程连接

    Oracle数据库远程连接设置 Oracle数据库的远程连接可以通过多种方式来实现,本文我们主要介绍四种远程连接的方法和注意事项,并通过示例来说明,接下来我们就开始介绍. 第一种情况: 若oracle ...

  9. 02 oracle 创建用户和授权

    1.Oracle 默认用户 只有用合法的用户帐号才能访问Oracle数据库 Oracle 有几个默认的数据库用户 2.创建新用户 2.1 简介 要连接到Oracle数据库,就需要创建一个用户帐户 每个 ...

  10. 本地psql连接远程Oracle虚拟机_03

    接上一篇:plsql连接 oracle instantclient_11_2 本地机器不安装oracle_02 https://gblfy.blog.csdn.net/article/details/ ...

最新文章

  1. 1008 Elevator
  2. javascript 字符串
  3. visual studio 2008 快捷键
  4. typescript ajax,TypeScript的应用方式
  5. ios 自动缩小字体_小字体紫筑B丸85%中粗体文件+deb双版本
  6. nssl1321,jzoj(初中)2106-买门票【dfs,暴力,字符串】
  7. spring常见面试问题_Spring面试问题
  8. pythonasyncio并发编程实战_python异步编程之asyncio(百万并发)
  9. matlab求偏微分方程程序,用MATLAB解偏微分方程.pdf
  10. 透过一个编译报错,总结两个Go程序编译的重要知识
  11. 二叉树C++ | 查找节点(中序搜索)_5
  12. 一张图看透办公网安全
  13. java 编译单个文件_单独Java文件的通用快速编译方法
  14. 微信小程序——定位(根据经纬度算距离)
  15. SDRAM 控制器(七)——控制模块
  16. matlab图像质量评价程序,图像质量评价指标之Matlab实现
  17. 利用Travis IC实现Hexo博客自动化部署
  18. 2022年电脑杀毒软件PK
  19. 士不可以不弘毅,任重而道远
  20. 无需编程,DIY自己智能小车的Android蓝牙遥控软件(一)

热门文章

  1. [Elasticsearch]cat API的使用
  2. FileStream,StreamReader,StreamWiter的用法
  3. Viewer.js Javascript/jQuery图片查看器
  4. IDM下载器:站点抓取相关设置介绍
  5. 408计算机网络学习笔记——应用层
  6. LeetCode算法刷题目录 (Java)
  7. JavaScript精华收集典藏
  8. .Net报表工具ActiveReports在线设计器教程 - 如何调用自定义字体
  9. 九月书单3期-《终身成长》《象与骑象人》《1Q84》《法国革命史》
  10. HTML5权威指南观后笔记