12.管理用户(笔记)

12.管理用户


在10g中,oracle提供了默认的特权用户SYS,但如果初始化参数REMOTE_LOGIN_PASSWORDFILE 被设置为EXCLUSIVE,你们可以将SYSDBA和SYSOPER特权授予其他用户,但当以特权用户身份登陆时,必须带有AS SYSDBA和AS SYSOPER选项:
sqlplus “sys/oracle AS SYSDBA”


CRANT SYSDBA TO system;

CONN system/manager AS SYSDBA


方案(Schema)是用户所拥有数据库对象的集合.在oracle数据库中对象是以用户来组织的,用户与方案是一一对应的关系,并且二者名称相同.

当访问数据库对象时,有以下一些注意事项.

在同一个方案中不能存在同名对象,但不同方案的对象名可以相同.

用户可以直接访问其方案对象,但如果要访问其他方案对象,则必须具有对象权限.

当用户名要访问其他方案对象时,必须加方案名作为前缀.


建立用户.

建立用户是使用命令CREATE USER命令的,该命令一般有DBA用户执行,如果要以其他用户建立用户,则要求必须具有CREATE USER系统权限.


建立用户,数据库验证.

数据库验证是指使用数据库来检查用户,口令以及用户身份的方式,该方式是最常用的用户验证方式.采用数据库验证具有以下优点.

1,用户帐户及其身份验证全部由数据库控制,不需要借助数据库外的任何控制.

2,当使用数据库验证时,oracle提供了严格的口令管理特征以加强口令的安全性,例如帐户锁定,口令有效期以及口令验证等.

如果使用数据库验证,建立用户时必须提供口令,并且口令必须用单字节字符.下面以建立数据库用户DEVEP为例,说明使用CREATE USER命令建立用户的方法.

CREATE USER devep IDENTIFIED BY devep

DEFAULT TABLESPACE user01

TEMPORARY TABLESPACE temp

QUOTA 3M ON user01

PASSWORD EXPIRE;

IDENTIFIED BY用于指定用户口令(数据库验证);DEFAULT TABLESPACE用于指定用户默认表空间,建立数据对象(表,索引和簇)时,如果不指定TABLESPACE子句,oracle会自动在默认表空间上为这些对象分配空间.TEMPORARY TABLESPACE用于指定用户的临时表空间,当用户执行排序操作时,若临时数据尺寸超过PGA工作区,则会在该表空间上建立临时段.QUOTA用于指定表空间配额,既用户对象在表空间上可占用的最大空间.PASSWORD EXPIRE用于指定口令到期,最终强制用户在登陆时改变口令.


执行CREATE USER建立了用户后,需要注意以下事项.

1,初始建立的数据库用户没有任何权限.不能执行任何数据库操作.

2,如果建立用户时不指定DEFAULT TABLESPACE子句,oracle会将SYSTEM表空间作为用户默认表空间.

3,如果建立用户时不指定TEMPORARY TABLESPACE子句,oracle会将数据库默认临时表空间作为用户的临时表空间.

4,如果建立用户时没有为表空间指定QUOTA子句,那么用户在特定表空间上的配额为0,用户将不能在相应表空间上建立数据对象.


因为初始建立的用户没有任何权限,所以为了使用户可以连接到数据库,必须授权其CREATE SESSION权限.当采用数据库验证方式时,必须通过用户名和口令连接到数据库.

Connect sys/manager@demo

GRANT CREATE SESSION,CREATE TABLE TO devep;

Conn devep/devep@demo

建立用户:OS验证

OS验证时指使用OS(操作系统)检查用户,口令和用户身份的方式,OS验证适用于局域网环境.直接这种方法的优点是连接简单,不需要提供用户名和口令.使用OS验证有以下要求:

1,数据库格式为”XYZ域名OS用户名”(必须大写),其中,XYZ为初始化参数OS_AUTHENT_PREFIX的值.假定初始化参数OS_AUTHENT_PREFIX的值为OPS$,网络域名为WANGHAILIANG,并且需要为OS用户WHL提供OS验证方式.的数据库用户,那么必须建立名为OPS$WANGHAILIANGWHL的数据库用户.

2,如果使用远程OS验证(使用ORACLE NET连接),必须将初始化参数REMOTE_OS_AUTHENT设置为TRUE.

3,必须将文件SQLNET.ORA的选择SQLNET.AUTHENTICATION_SERVICES设置为NTS.

下面以建立使用OS验证方式的数据库用户OPS$WANGHAILIANGWHL为例,说明建立和使用OS 验证的方法.

CREATE USER “OPS$WANGHAILIANGWHL”

IDENTIFIED EXTERNALLY

DEFAULT TABLESPACE user01

QUOTA 3M ON user01;

GRANT CONNECT TO “OPS$WANGHAILIANGWHL”;

建立使用OS验证的用户,并为其授权必要的权限后,就可以使用OS验证方式连接到数据库了.当使用OS验证时,首先以OS用户登陆到局域网环境.然后使用以下两种方式连接到数据库.

本地连接:sqlplus /

远程连接:sqlplus /@demo.


修改用户.

修改用户信息是使用ALTER USER命令完成的.

修改口令:ALTER USER devep INENTIFIED BY devep;

修改表空间配额:ALTER USRE devep QUOTA 10M ON user01;

锁定用户帐户:ALTER USER devep ACCOUNT LOCK;

解锁用户帐户:ALTER USER devep ACCOUNT UNLOCK;

设置用户默认角色:ALTER USER devep DEFAULT ROLE select_role;

删除用户.

删除用于是使用DROP USER命令完成的.删除用户后,oracle会从数据字典中删除用户,方案及其所有对象方案.

DROP USER username [CASCADE];

删除用户时,如果用户包含数据库对象,那么必须要带有CASCADE选项.


显示用户信息.

1,显示当前会话用户.

Show user

2,显示特权用户.

Select * from v$pwfile_users;

3,显示用户信息.

建立用户时,oracle会将用户信息存放到数据字典基表中,通过查询数据字典视图DBA_USERS,可以显示数据库所有用户的详细信息.通过查询数据字典视图ALL_USERS,可以显示所有数据库用户的名称和编号.通过查询数据字典视图USR_USRS,可以显示当前用户的详细信息.

4,显示用户表空间配额.

通过查询数据字典视图DBA_TS_QUOTAS,可以显示所有数据库用户的表空间配额:通过查询数据字典视图USER_TS_QUOTAS,可以显示当前用户的表空间配额信息.

SELECT tablespace_name, bytes, max_bytes

FROM dba_ts_quotas WHERE username=’DEVEP’;

Tablespace_name用于标识表空间名,bytes用于标识用户对象在该表空间上已经占用的空间.max_bytes用于标识用户在表空间上可占用的最大空间.

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

转载于:http://blog.itpub.net/312079/viewspace-245227/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值