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/