一个、用户的概念

  用户,这是user,通俗的讲就是参观oracle数据库“人”。在oracle在。的各种安全参数的用户可控制,为了保持数据库的安全性,的概念包括模型(schema)、权限、字符、存储设置、配额、访问资源约束、数据库审计。每个用户都有一个密码,的用户/口令才干登录到数据库进行数据存取。


二、用户默认表空间

  表空间是信息存储的最大逻辑单位、当用户连接到数据库进行资料存储时,若未指出数据的目标存储表空间时。则数据存储在用户的默认表空间中。

比方:create table mytable(id varchar2(20),name varchar2(100));这条语句创建了一个表mytable,并将其存储在当前用户的默认表空间中。

若要指定表空间,则:create table mytable(id varchar2(20),name varchar2(100)) tablespace tbs1;。

用户的默认表空间能够在创建用户时指定,也能够使用aler user命令进行指定,详细语法见后面的介绍。


三、用户暂时表空间

  暂时表空间主要用于order by语句的排序以及其他一些中间操作。

在oracle9i之前。能够指定用户使用不同的暂时表空间,从9i開始,暂时表空间是通用的,所的用户都使用TEMP作为暂时表空间。


四、用户资源文件

  用户资源文件用来对用户的资源存取进行限制。包含:cpu使用时间限制、内存逻辑读个数限制、每一个用户同一时候能够连接的会话数据限制、

一个会话的空间和时间限制、一个会话的持续时间限制、每次会话的专用SGA空间限制。


五、用户表空间限额

  表空间存储限制是用户在某一个表空间中能够使用的存储空间总数。

在创建或改动用户时。能够由參数quota指出。

若用户在向表空间存储数据时,超出了此限额。则会产生错误。

错误信息如:'ORA-01536:space quota exceeded for tablespace tablespacename..'。能够通过查询字典dba_ts_quotas查看表空间限额信息。


六、创建用户资源文件

创建用户资源文件的语法例如以下:

  CREATE PROFILE filename LIMIT

  SESSION_PER_USER integer

  CPU_PER_SESSION integer

  USER_PER_CALL integer

  CONNECT_TIME integer

  ......

  基中:

  SESSION_PER_USER: 用户能够同一时候连接的会话数量限额;

  CPU_PER_SESSION:用户在一次数据库会期间可占用的CPU时间总量限额。单位为百分之中的一个秒;

  USER_PER_CALL:用户一次SQL调用可用的CPU时间总量限额,单位为百分之中的一个秒;

  LOGICAL_READS_PER_SESSION:在一次数据库会话期间可以读取的数据库块的个数限额;

  LOGICAL_READS_PER_CALL:一次SQL调用能够读取的数据库块数限额;

  IDLE_TIME:用户连接到数据库后的可空暇时间限额。单位为分钟,若空暇时间超过此值,则连接被断开;

  CONNECT_TIME:一次连接的时间总量限额,单位为分钟,连接时间超过此值时。连接被断开;

  PRIVATE_SGA:用户么有的SGA区的大小,单位为数据库块。默认值为UNLIMITED;

  COMPOSITE_LIMIT:这是一项由上述限制參数构成的组合资源项。

举例来说,如果资源设置例如以下:

  IDLE_TIME 20

  CONNECT_TIME 120

  CPU_PER_CALL 750

  COMPOSITE_LIMT 800

那么,当会话空间超过20分钟。或者连接时间超过120分钟。又或者运行一个SQL耗费超过7.5秒,再或者这几个资源限制加起来的总数超过800,

则系统自己主动终止会话。

  FAILED_LOGIN_ATTEMPTS:用户登录时,同意username/password校验失败致使用登录失败的次数限额。超过该次数,帐户被锁定;

  PASSWORD_LIFE_TIME:口令有效时间,单位为天数,超过这一时间,拒绝登录,须又一次设置口令。默认值为UNLIMITED;

  PASSWORD_REUSE_TIME:一个失效口令经过多少天后才可又一次利用,默觉得UNLIMITED;

  PASSWORD_REUSE_MAX:一个口令可反复使用的次数;

  PASSWORD_LOCK_TIME:当登录失败达到FAILED_LOGIN_ATTEMPS时。帐户被锁定,该參数用于设定被锁定的天数;

以下举比例如以下:

1)创建一个用户资源文件

  create profile tax_users limit

  session_per_user 3

  cpu_per_session UNLIMITED

  connect_time 30

  logical_reads_per_session DEFAULT

  logical_reads_per_call 1000

  private_sga 15K

  composite_limit 500000

  password_life_time 90

2)查询用户资源文件信息

  sql>select *from dba_profile where profile = 'tax_users'

3)指定用户资源文件给用户

  sql>alter user us1 profile tax_users


七、创建、改动、删除用户

1.创建用户

  创建用户的具体语法请查询oracle的官方參数文档,这里介绍典型的语法。语法例如以下:

  CREATE USER username

  IDENTIFIED BY password

  DEFAULT TABLESPACE tablespace

  TEMPORARY TABLESPACE tablespace

  PROFILE profile

  QUOTA integer|UNLIMITED ON tablespace

各选项含义例如以下:

  IDENTIFIED BY password:用户口令;

    DEFAULT TABLESPACE tablespace:默认表空间;

  TEMPORARY TABLESPACE tablespace:暂时表空间;

  PROFILE profile|DEFAULT:用户资源文件;

  QUOTA integer[K|M]|UNLIMITED ON tablespace:用户在表空间上的空间使用限额,能够指定多个表空间的限额。

  举例:

  CREATE USER us1 IDENTITIED BY abc123

  DEFAULT TABLESPACE user01

  TEMPORARY TABLESPACE temp

  PROFILE DEFAULT

  QUOTA 1000M ON user01;

2.改动用户

    Alter User username

    Identified 口令

    Default Tablespace tablespace

    Temporary Tablespace tablespace

    Profile profile

    Quota integer/unlimited on tablespace;

 

    1、改动口令字:

    Alter user acc01 identified by "12345";

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

    Alter user acc01 default tablespace users;

    3、改动用户暂时表空间

    Alter user acc01 temporary tablespace temp_data;

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

    Alter user acc01 password expire;

    5、将用户加锁

    Alter user acc01 account lock;  // 加锁

    Alter user acc01 account unlock;  // 解锁

3.删除用户

  删除用户,是将用户及用户所创建的schema对象从数据库删除。

例如以下:

  DROP USER us1;

    若用户us1含有schema对象,则无上述语句将运行失败,须增加keywordCASCADE才干删除,意思是连并其对象一起删除。例如以下:

  DROP USER us1 CASCADE;

4.查看用户信兴趣

    select * from dba_users;