ITPub博客

首页 > 数据库 > Oracle > oracle管理用户详解

oracle管理用户详解

原创 Oracle 作者:超然_cyzr 时间:2016-06-07 15:15:57 0 删除 编辑
创建用户需要拥有 CREATE USER 权限。
新建用户如果连接数据库至少需要 CREATE SESSION 权限,如果连接EM 至少需要SELECT ANY DICTIONARY权限。

例子:
CREATE USER jward
 IDENTIFIED BY password DEFAULT TABLESPACE data_ts
 QUOTA 100M ON test_ts
 QUOTA 500K ON data_ts
 TEMPORARY TABLESPACE temp_ts
 PROFILE clerk;
GRANT CREATE SESSION TO jward;
详解:
CREATE USER jward 
用户名注意唯一性,包括角色名称。如果使用“”创建用户,则在dba_users上显示的username为创建时的格式(例如“test1”查询时username显示test1),不加“”时,统一为大写格式,需要注意修改或删除用户时,也要加“”指定。
 IDENTIFIED BY password
关于用户密码,官方建议
12~30个字符,至少包含一个大小写和数字,可以包括underscore (_), dollar ($), and number sign (#) characters等
 DEFAULT TABLESPACE data_ts
指定默认表空间,在用户下创建的对象或者DDL创建的表(没有指定表空间)的,默认都保存在默认表空间里,一般用户默认空间为users,sys为system,可以通过dba_users查看。
 QUOTA 100M ON test_ts  
QUOTA 500K ON data_ts
配额大小指的是用户指定使用表空间的的大小,默认情况下用户没有配额限制,通过dba_ts_quotas 查看限额信息,可以使用alter user XXX quota unlimited on users; 取消限额,此时dba_ts_quotas用户限额为-1。使用UNLIMITED TABLESPACE system privilege.将覆盖所有指定表空间配额,使用revoke释放权限后,需要重新逐一分配限额。错误: ORA-1536 space quota exceeded for tables error
 TEMPORARY TABLESPACE temp_ts
临时表空间用来管理数据库排序操作以及用于存储临时表、中间排序结果等临时对象,当ORACLE里需要用到SORT的时候,并且当PGA中sort_area_size大小不够时,将会把数据放入临时表空间里进行排序。如果不指定,默认为temp,可以以后通过alter 语句创建临时表空间组并制定默认。
PROFILE clerk;
指定概要文件,用来限制用户使用资源和密码,防止非正常连接数据库。默认为Default概要文件,具体信息可以通过
dba_profiles查看,配置前需要将参数 resource_limit=TRUE ,为用户创建概要文件create profile tcc
具体参数为 :
connect_time:指定一个会话能保持连接到数据库的总时间
cpu_per_call:限制事务内每个调用使用CPU的时间。
cpu_per_sessin:限制每个会话内使用CPU的时间。
sessions_per_time:限制用户可以打开并发的最大会话数。
idle_time:限制用户的最大空闲时间。
logical_reads_per_session:限制数据块读取的总数目。
logical_reads_per_call:限制每个会话调用总的逻辑读取数。
private_sga:指定一个在SGA的共享池组件中分配的空间限额(仅适用于共享服务器)。
composite_limit:对资源设置使用一个总的限制。Oracle考虑用四个参数来计算加权的composite_limit。分别为:cpu_per_session,logical_reads_per_sessions,connect_time,private_sga。可以使用alter resource cost来设置.。
密码类:
failed_login_attempts:指用户被锁之前可以尝试的最大登录数。
password_life_time:指定使用特定密码的时间限制,如果超出此时间间隔,那么密码将过期。
password_grace_time:设置一个时间段,在此时间段内将发出一个密码过期警告。
password_lock_time:设置用户被锁定的天数,过了此天数,用户将自行解锁。
password_reuse_time:指定重新使用密码要经过多少天。
password_reuse_max:指定重新使用某个特定密码前,要经过多少次修改。
passwrod_verify_function:此参数允许指定Oracle提供的密码验证函数来建立自动密码验证。

创建概要文件成功后,可以通过alter user profile xxxx 为用户指定概要文件。删除概要文件 drop profile clerk cascade;    Default概要文件无法删除。


创建OK后可以为用户设置默认角色
ALTER USER jward DEFAULT ROLE clerk_role;
重新修改用户配置信息
ALTER USER avyrros
 IDENTIFIED EXTERNALLY
 DEFAULT TABLESPACE data_ts
 TEMPORARY TABLESPACE temp_ts
 QUOTA 100M ON data_ts
 QUOTA 0 ON test_ts
 PROFILE clerk;
修改non-sys密码
PASSWORD andy
Changing password for andy
New password: password Retype new password: password
或者
ALTER USER andy IDENTIFIED BY password
通过orapwd创建密码口令文件,使用密码文件,数据库参数REMOTE_LOGIN_PASSWORDFILE 为EXCLUSIVE或SHARE(设置share后,私自修改sys密码会报错)

cd $ORACLE_HOME/dbs
mv orapworcl orapworcl.bak
orapwd file=orapworcl password=123abc entries=10(用来指定连接数量)
可以通过select * from v$pwfile_users;查看配置用户,如果需要添加用户则需要grant sysdba to XXXX;


删除用户:需要拥有Drop user权限,当删除数据库的一个用户时,它包含的所有表对象也随即删除(需要追加cascade选项,否则报错)。不能尝试删除sys和system
drop user test1 cascade;
无法删除当前正在连接的用户,如果需要删除当前连接用户,需要添加以下操作
SELECT SID, SERIAL#, USERNAME FROM V$SESSION;

    SID         SERIAL#     USERNAME
------- --------------- ----------------------
    127          55234      ANDY
...
ALTER SYSTEM KILL SESSION '127, 55234';
注意:删除用户及其下对象时,应该先确认用户下有哪些对象
SELECT OWNER, OBJECT_NAME FROM DBA_OBJECTS WHERE OWNER LIKE 'ANDY';

View Description

ALL_OBJECTS

Describes all objects accessible to the current user

ALL_USERS

Lists users visible to the current user, but does not describe them

DBA_PROFILES

Displays all profiles and their limits

DBA_TS_QUOTAS

Describes tablespace quotas for users

DBA_OBJECTS

Describes all objects in the database

DBA_USERS

Describes all users of the database

DBA_USERS_WITH_DEFPWD

Lists all user accounts that have default passwords

PROXY_USERS

Describes users who can assume the identity of other users

RESOURCE_COST

Lists the cost for each resource in terms of CPUs for each session, reads for each session, connection times, and SGA

USER_PASSWORD_LIMITS

Describes the password profile parameters that are assigned to the user

USER_RESOURCE_LIMITS

Displays the resource limits for the current user

USER_TS_QUOTAS

Describes tablespace quotas for users

USER_OBJECTS

Describes all objects owned by the current user

USER_USERS

Describes only the current user

V$SESSION

Lists session information for each current session, includes user name

V$SESSTAT

Lists user session statistics

V$STATNAME

Displays decoded statistic names for the statistics shown in the V$SESSTAT view

Listing All Users and Associated Information

SELECT USERNAME, PROFILE, ACCOUNT_STATUS, AUTHENTICATION_TYPE FROM DBA_USERS;
 
USERNAME        PROFILE         ACCOUNT_STATUS   AUTHENTICATION_TYPE
--------------- --------------- ---------------  -------------------
SYS             DEFAULT         OPEN             PASSWORD
SYSTEM          DEFAULT         OPEN             PASSWORD
USERSCOTT       DEFAULT         OPEN             PASSWORD
JFEE            CLERK           OPEN             GLOBAL
DCRANNEY        DEFAULT         OPEN             EXTERNAL 

Listing All Tablespace Quotas

SELECT * FROM DBA_TS_QUOTAS;

TABLESPACE    USERNAME    BYTES     MAX_BYTES    BLOCKS    MAX_BLOCKS
----------    ---------  --------   ----------   -------   ----------
USERS         JFEE              0       512000         0          250
USERS         DCRANNEY          0           -1         0           -1

Listing All Profiles and Assigned Limits

SELECT * FROM DBA_PROFILES ORDER BY PROFILE;

PROFILE             RESOURCE_NAME              RESOURCE_TYPE  LIMIT        
-----------------   -------------------------  -------------  --------------
CLERK               COMPOSITE_LIMIT            KERNEL         DEFAULT
CLERK               FAILED_LOGIN_ATTEMPTS      PASSWORD       DEFAULT
CLERK               PASSWORD_LIFE_TIME         PASSWORD       DEFAULT
CLERK               PASSWORD_REUSE_TIME        PASSWORD       DEFAULT
CLERK               PASSWORD_REUSE_MAX         PASSWORD       DEFAULT
CLERK               PASSWORD_VERIFY_FUNCTION   PASSWORD       DEFAULT
CLERK               PASSWORD_LOCK_TIME         PASSWORD       DEFAULT
CLERK               PASSWORD_GRACE_TIME        PASSWORD       DEFAULT
CLERK               PRIVATE_SGA                KERNEL         DEFAULT
CLERK               CONNECT_TIME               KERNEL         600    
CLERK               IDLE_TIME                  KERNEL         30     
CLERK               LOGICAL_READS_PER_CALL     KERNEL         DEFAULT
CLERK               LOGICAL_READS_PER_SESSION  KERNEL         DEFAULT
CLERK               CPU_PER_CALL               KERNEL         DEFAULT
CLERK               CPU_PER_SESSION            KERNEL         DEFAULT
CLERK               SESSIONS_PER_USER          KERNEL         1      
DEFAULT             COMPOSITE_LIMIT            KERNEL         UNLIMITED
DEFAULT             PRIVATE_SGA                KERNEL         UNLIMITED
DEFAULT             SESSIONS_PER_USER          KERNEL         UNLIMITED
DEFAULT             CPU_PER_CALL               KERNEL         UNLIMITED
DEFAULT             LOGICAL_READS_PER_CALL     KERNEL         UNLIMITED
DEFAULT             CONNECT_TIME               KERNEL         UNLIMITED
DEFAULT             IDLE_TIME                  KERNEL         UNLIMITED
DEFAULT             LOGICAL_READS_PER_SESSION  KERNEL         UNLIMITED
DEFAULT             CPU_PER_SESSION            KERNEL         UNLIMITED
DEFAULT             FAILED_LOGIN_ATTEMPTS      PASSWORD       10
DEFAULT             PASSWORD_LIFE_TIME         PASSWORD       180
DEFAULT             PASSWORD_REUSE_MAX         PASSWORD       UNLIMITED
DEFAULT             PASSWORD_LOCK_TIME         PASSWORD       1
DEFAULT             PASSWORD_GRACE_TIME        PASSWORD       7
DEFAULT             PASSWORD_VERIFY_FUNCTION   PASSWORD       UNLIMITED
DEFAULT             PASSWORD_REUSE_TIME        PASSWORD       UNLIMITED
32 rows selected. 
SELECT * FROM DBA_PROFILES WHERE PROFILE = 'DEFAULT';

PROFILE             RESOURCE_NAME              RESOURCE_TYPE  LIMIT  
-----------------   -------------------------  -------------  --------------
DEFAULT             COMPOSITE_LIMIT            KERNEL         UNLIMITED
DEFAULT             SESSIONS_PER_USER          KERNEL         UNLIMITED
DEFAULT             CPU_PER_SESSION            KERNEL         UNLIMITED
DEFAULT             CPU_PER_CALL               KERNEL         UNLIMITED
DEFAULT             LOGICAL_READS_PER_SESSION  KERNEL         UNLIMITED
DEFAULT             LOGICAL_READS_PER_CALL     KERNEL         UNLIMITED
DEFAULT             IDLE_TIME                  KERNEL         UNLIMITED
DEFAULT             CONNECT_TIME               KERNEL         UNLIMITED
DEFAULT             PRIVATE_SGA                KERNEL         UNLIMITED
DEFAULT             FAILED_LOGIN_ATTEMPTS      PASSWORD       10
DEFAULT             PASSWORD_LIFE_TIME         PASSWORD       180
DEFAULT             PASSWORD_REUSE_TIME        PASSWORD       UNLIMITED
DEFAULT             PASSWORD_REUSE_MAX         PASSWORD       UNLIMITED
DEFAULT             PASSWORD_VERIFY_FUNCTION   PASSWORD       NULL
DEFAULT             PASSWORD_LOCK_TIME         PASSWORD       1
DEFAULT             PASSWORD_GRACE_TIME        PASSWORD       7

Viewing Memory Use for Each User Session

SELECT USERNAME, VALUE || 'bytes' "Current UGA memory"
   FROM V$SESSION sess, V$SESSTAT stat, V$STATNAME name
WHERE sess.SID = stat.SID
   AND stat.STATISTIC# = name.STATISTIC#
   AND name.NAME = 'session uga memory';
















来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31357212/viewspace-2116877/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2016-06-05

  • 博文量
    1
  • 访问量
    14619