Oracle用户创建及设置
打算从今天开始,从最基础开始,重新学习一遍Oracle的各项基础操作。参考的书是清华大学出版的《Oracle 10g数据库管理 应用与开发》,个人认为这本书作为初级的入门材料还是很不错的。关键是一些很复杂的东西都没有去涉及,反而可以一心学下来,不至于在初学的时候就因为太多的概念和内容而变得迷茫,失去学习兴趣。今天看一下关于用户的创建问题:
用户的创建
一、创建用户:
CREATE USER user_name
IDENTIFIED BY password
[DEFAULT TABLESPACE tablespace_name |
TEMPORARY TABLESPACE tablespace_name |
QUOTA quota [ K | M ] | UNLIMITED ON tablespace_name
| PROFILR profile | PASSWORD EXPIRE
| ACCOUNT lock | unlock ]
IDENTIFIED BY:指定用户口令
注:用户密码在Oracle中以加密数据存储,不能查询,只能通过ALTER命令修改
DEFUALT TABLESPACE:默认使用的表空间
TEMPORARY TABLESPACE:用户的临时表空间
QUOTA:允许用户在某TABLESPACE上使用的空间配额
PROFILE:指定用户的配置文件
PASSWORD EXPIRE:密码到期,下次登陆时必须修改密码
ACCOUT:手动锁定或解锁
注:要查询USER的以上配置,可使用数据字典DBA_USERS,QUOTA数据查询DBA_TS_QUOTAS
二、修改用户:
ALTER USER user_name
IDENTIFIED BY password
[DEFAULT TABLESPACE tablespace_name |
TEMPORARY TABLESPACE tablespace_name |
QUOTA quota [ K | M ] | UNLIMITED ON tablespace_name
| PROFILR profile | PASSWORD EXPIRE
| ACCOUNT lock | unlock ]
三、删除用户:
DROP USER user_name [CASCADE]
CASCADE:表示删除用户的同时删除该用户创建的所有模式对象。
PROFILE配置:
语法:
CREATE PROFILE profile_name LIMIT
[SESSIONS_PER_USER number | unlimit | default ]
[CPU_PER_SESSION number | unlimit | default ]
[CPU_PER_CALL number | unlimit | default ]
[LOGICAL_READS_PER_SESSION number | unlimit | default ]
[LOGICAL_READS_PER_CALL number | unlimit | default ]
[IDLE_TIME number | unlimit | default ]
[CONNECT_TIME number | unlimit | default ]
[PRIVATE_SGA number | unlimit | default ]
[COMPOSITE_LIMIT number | unlimit | default ]
[FAILED_LOGIN_ATTEMPTS number | unlimit | default ]
[PASSWORD_LIFE_TIME number | unlimit | default ]
[PASSWORD_REUSE_TIME number | unlimit | default ]
[PASSWORD_REUSE_MAX number | unlimit | default ]
[PASSWORD_LOCK_TIME number | unlimit | default ]
[PASSWORD_GRACE_TIME number | unlimit | default ]
[PASSWORD_VERIFY_FUNCTION function_name | null | default ]
SESSIONS_PER_USER:每个USER可连接的SESSION数限制
CPU_PER_SESSION:用户在一次会话期间可以占用的CPU时间,单位为1/100s
CPU_PER_CALL:USER的任一个SQL语句打到该CPU时间总量时即返回错误
LOGICAL_READS_PER_SESSION:限制一次会话期间可以读取的数据块
LOGICAL_READS_PER_CALL:一个SQL最多可读取的数据块
IDLE_TIME:空闲断开时间,以min为单位
CONNECT_TIME:连接时间限制,到时间后立即切断连接,以min为单位
PRIVATE_SGA:一次会话可使用的SGA大小,单位为数据块
COMPOSITE_LIMIT:该参数用于对所有混合资源进行限定
FAILED_LOGIN_ATTEMPTS:登陆时允许失败的次数,超过时锁定账户
PASSWORD_LIFE_TIME:密码有效时间,单位是day
PASSWORD_REUSE_TIME:口令失效前给予修改密码的时间,单位day
PASSWORD_REUSE_MAX:设置多少次之内不许设置重复密码
PASSWORD_LOCK_TIME:FAILED_LOGIN_ATTEMPTS后被锁定的时间,单位day
PASSWORD_GRACE_TIME:口令失效的宽限时间
PASSWORD_VERIFY_FUNCTION:设置用于判断口令复杂性的函数
注:查询数据字典DBA_PROFILES来查看这些参数的设置情况。
管理SESSION:
1、可通过V$SESSION来获取用户的会话信息,例如SID和SERIAL#等
再通过ALTERSYSTEMKILLSESSION'SID,SERIAL';来KILL SESSION
2、另外可通过查询V$OPEN_CURSOR来查看某用户执行的SQL级操作