用户管理

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

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: [email protected]

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



你可能感兴趣的:(管理)