`
wsql
  • 浏览: 12219786 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

用户管理

 
阅读更多

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

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

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

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

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

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

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

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

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

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 TEMP2009-08-13:23:24:58 OPEN

SYS SYSTEM TEMP2009-08-13:23:00:59 OPEN

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

DBSNMP SYSAUX TEMP2009-08-13:23:06:35 OPEN

SYSMAN SYSAUX TEMP2009-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 TEMP2009-08-13:23:01:00 EXPIRED & LOCKED

FLOWS_FILES SYSAUX TEMP2009-08-13:23:26:08 EXPIRED & LOCKED

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

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

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

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

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

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

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

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

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

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

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

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

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

SI_INFORMTN_SCHEMA SYSAUX TEMP2009-08-13:23:12:05 EXPIRED & LOCKED

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

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

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

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

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

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

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

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

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

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

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

APEX_PUBLIC_USER USERSTEMP 2009-08-13:23:26:09EXPIRED & LOCKED

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

SPATIAL_CSW_ADMIN_USR USERS TEMP2009-08-13:23:22:20 EXPIRED & LOCKED

SPATIAL_WFS_ADMIN_USR USERS TEMP2009-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';

GRANTEEPRIVILEGEADM

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

DBA DROP ANY CUBE BUILD PROCESS YES

DBACREATE CUBEYES

DBAALTER ANY CUBE DIMENSIONYES

DBAALTER ANY MINING MODEL YES

(中间结果省略)

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

202 rows selected.

C、普通用户的系统权限

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

GRANTEEPRIVILEGEADM

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

GYJUNLIMITED TABLESPACENO

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/CREATEPROCEDURE/CREATE SEQUENCE/CREATE TABLE/CREATE TRIGGER/ CREATE TYPE

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

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

(1)先做一系列的查询

gyj@OCM>select * from dba_role_privs wheregrantee='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_USERUNLIMITED

CPU_PER_SESSIONUNLIMITED

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将同时断开会话的连接。

(3)调用级资源限制

调用级别的资源限制,主要针对每条命令的执行。每条命令的执行都是一次调用,调用级资源限制决定了每次调用所能使用的CPU时间和I/O数。调用级资源限制参数有上面两个:

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

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

4、查概要文件的信息

  select * from dba_profiles;






**********本博客所有内容均为原创,如有转载请注明作者和出处!!!**********
Name: guoyJoe

QQ: 252803295

Email: oracledba_cn@hotmail.com

Blog: http://blog.csdn.net/guoyJoe

ITPUB: http://www.itpub.net/space-uid-28460966.html

OCM: http://education.oracle.com/education/otn/YGuo.HTM
_____________________________________________________________
加群验证问题:哪些SGA结构是必需的,哪些是可选的?否则拒绝申请!!!

答案在:http://blog.csdn.net/guoyjoe/article/details/8624392

Oracle@Paradise  总群:127149411

Oracle@Paradise No.1群:177089463(已满)

Oracle@Paradise No.2群:121341761

Oracle@Paradise No.3群:140856036



分享到:
评论

相关推荐

    人民币银行结算账户管理操作手册(详细).pdf

    银行结算账户管理操作手册 人民币银行结算账户管理操作手册是银行结算账户管理的重要手册,该手册详细介绍了银行结算账户的管理操作流程、银行结算账户的类型、银行结算账户的开立、变更、撤销等操作步骤。 一、...

    Python3实现的用户管理系统

    在本项目中,我们探讨了如何使用Python3编程语言实现一个基本的用户管理系统。这个系统主要功能包括用户账号的创建、删除以及密码的修改。所有用户数据都存储在本地文件中,这是一种常见的数据持久化方法,尤其适用...

    预算单位银行账户管理系统 1.0 

    综上所述,预算单位银行账户管理系统1.0以其全面的功能、严谨的权限管理以及用户友好的设计,为预算单位的财务管理提供了强有力的支持。它不仅提高了工作效率,也提升了财务管理的安全性,是预算单位数字化转型的...

    银行账户管理系统 C# 编写

    《银行账户管理系统C#编写详解》 银行账户管理系统是金融领域常见的软件应用,它通过四层架构设计,实现了户主和管理员的双重功能,确保了账户管理的安全与高效。本系统采用C#语言进行开发,这是一门面向对象、类型...

    C++银行账户管理程序

    《C++银行账户管理程序详解》 在C++编程领域,设计并实现一个银行账户管理系统是常见的实践项目,尤其在课程期末设计中,这样的练习能够帮助学生深入理解面向对象编程和类的设计。本文将详细解析这个名为"C++银行...

    Windows NT系统用户管理小程序..rar

    2. 用户账户管理:包括修改用户密码、启用/禁用账户、设置账户过期日期等功能。这通常涉及与系统用户账户策略的交互,确保符合公司的安全政策。 3. 权限分配:程序可能允许管理员为每个用户或用户组分配特定的权限...

    商户管理后台/消费统计管理/云平台商户端管理后台原型/PaaS金融服务平台商户端管理后台原型/企业管理系统后台/账户管理/工单管理/充值管理/汇款单管理/余额管_商户管理

    商户管理后台/消费统计管理/云平台商户端管理后台原型/PaaS金融服务平台商户端管理后台原型/企业管理系统后台/账户管理/工单管理/充值管理/汇款单管理/余额管理/用户管理/认证管理/web后台原型 Axure原型演示地址:...

    银行账户管理系统

    大体功能一个银行账户管理程序,账户的信息有账号(唯一)、姓名、余额、身份证号码、单位、电话号码、地址等,允许用户进行如下操作:开户、销户、存款、取款、转账、查询,一个用户可以有多个户头,账户的数值没有...

    C++实验报告——个人银行账户管理系统.docx

    【C++实验报告——个人银行账户管理系统】 在本次C++课程设计中,胡成成同学完成了个人银行账户管理系统的实现,旨在通过编程实践巩固和应用C++语言知识,特别是面向对象编程的概念。实验的主要目标是设计一个能...

    C++ 课程设计银行账户管理程序系统+源代码+文档说明+设计报告

    设计一个银行账户管理程序,账户的信息有账号(唯一)、姓名、余额、身份证号码、单位、电话号码、地址、开户日期、销户日期等。 功能要求: 设计菜单实现功能选择; 能增加、修改和删除账户信息; 允许用户进行...

    银行账户管理系统.rar

    银行账户管理系统是金融机构中至关重要的组成部分,主要用于处理个人和企业客户的账户操作,包括存款、取款、转账、贷款等日常银行业务。系统的设计通常需要遵循高效性、安全性、稳定性和可扩展性的原则,以满足银行...

    web之账户管理系统1

    在IT领域,账户管理系统是构建在线服务不...总的来说,"web之账户管理系统1"是一个涉及用户账户生命周期管理、权限控制以及安全性等多个重要方面的项目。通过合理的设计和实现,它可以为用户提供安全、便捷的在线服务。

    个人银行账户管理程序C++

    在本项目中,"个人银行账户管理程序C++" 是一个使用C++编程语言实现的软件,用于模拟和管理个人银行账户的相关操作。这个程序设计旨在帮助用户进行基本的银行交易,如存款、取款、查询余额等。下面将详细讨论这个...

    labview_实现用户登录,修改密码,权限,用户管理各种功能,基本满足账户管理需要

    实现用户登录,修改密码,权限,用户管理各种功能,基本满足账户管理需要(It can realize various functions of user login, password modification, authority and user management, which basically meets the ...

    银行账户管理系统(jsp+java+sqlserver+strut+servlet)

    【银行账户管理系统】是一个基于Web的应用程序,使用了多种技术来实现对银行账户的管理和操作。这个系统的核心架构包括JSP、Java、SQL Server数据库、Struts框架以及Servlet。下面将详细阐述这些技术及其在系统中的...

    个人账户管理系统.zip

    项目主要目的是解决个人各种网站甚至开发人员的服务器账号或者生活中零碎的密码的统一管理与查找,减少一些无用功,提高一部分生活上账户管理的质量,不再为找不到或望了密码账户而烦恼。 说明:项目采用composer...

    银行个人账户管理系统(简易版和进阶版).zip

    银行个人账户管理系统 1. 快速简易版本:有管理员和用户两个选项 管理员选项:可以查询银行中所有用户的总余额和总信用; 用户选项: 有开户和登录两个选项; 可以选择借记卡和信用卡两种类型的银行卡; 借记卡:...

    银行人民币银行结算账户管理系统突发事件应急处置预案.docx

    银行人民币银行结算账户管理系统突发事件应急处置预案.docx银行人民币银行结算账户管理系统突发事件应急处置预案.docx银行人民币银行结算账户管理系统突发事件应急处置预案.docx银行人民币银行结算账户管理系统突发...

    个人银行账户管理程序C++版

    关于个人银行账户管理系统的简单程序,主要是活期账户管理.

    银行账户管理系统(c++)

    期末 C++ 课程设计作业。 使用C++完成一个银行账户管理系统。

Global site tag (gtag.js) - Google Analytics