管理用户和PROFILE——管理用户
1.建立用户
建立用户是使用命令create user 来完成的,该命令一般由dba用户来执行;如果其他身份建立用户,则要求用户必须具有create user 系统权限。
建立用户:数据库验证
数据库验证是指使用数据库来检查用户,口令以及用户身份的方式,该方式是最常用的用户验证方式。在oracle11g之前,用户口令不区分大小写。可以设置sec_case_sensitive_logon设置为false。
采用数据库验证优点:
- 用户账户及其身份验证全部有数据库控制,而不需要借助数据库外的任何控制。
- 当使用数据库验证时,oracle提供了严格的口令管理特征以加强口令的安全性,例如:账户锁定,口令有效期,口令验证。
如果使用数据库验证,那么在建立用户时,必须要提供口令,并且口令必须用单字节字符。
例子:建立数据库用户usertemp01:
conn sys/sys as sysdba; create user usertemp01 identified by usertemp01 default tablespace data01 temporary tablespace temp quota 3m on data01 password expire;
其中identified by 用于指定用户口令(数据库验证),default tablespace用于指定用户的默认表空间,temporary tablespace用于指定用户的临时表空间,quota用于指定表空间配额,也就是用户对象在表空间上可占用的最大空间。password expire用于指定终止口令,最终强制用户在登录时改变口令。
注意事项:
- 如果在建立用户时不指定default tablespace 子句,那么oracle会将默认表空间作为用户的默认表空间。在11g之前不指定default tablespace子句,那么oracle会将system表空间作为用户的默认表空间。
- 如果在建立用户时不指定temporary tablespace 子句,那么oracle会将数据库默认临时表空间作为用户的临时表空间。
- 如果在建立用户时没有指定quota子句。那么用户在特定表空间上的配额为0,这样用户将不能在相应表上建立数据库对象。
1.1连接数据库
因为初始建立的用户没有任何权限,所有为了使得用户可以连接到数据库,必须为其授予create session权限。当采用数据库验证方式时,必须使用用户名和口令连接到数据库,因为在建立usertemp01时,指定了password expire ,所以再登录之前必须首先改变用户口令。
grant create session,create table to usertemp01; conn usertemp01/usertemp01
1.2建立表t1并检查其存放位置
当建立表或索引时,如果不指定tablespace 子句,那么oracle会在用户的默认表空间上建立表段。
例子:建立表t1,并显示表段t1所在的表空间:
conn usertemp01/usertemp01 create table t1(cola int); select tablespace_name from user_segments where segment_name='T1';
1.3在其他表空间上建立表t2
当建立表或索引时,用户必须具有相应的表空间配额或unlimited tablespace 系统权限。因为在建立usertemp01没有在其他表空间上指定空间配额,所以该用户在其他表空间和的空间配额为0,就是说不可以在其他表空间建立表。
create table t2(cola int) tablespace users;
2.建立用户:os验证
os验证是指使用os检查用户,口令和用户身份的方式,os验证适用于局域网环境。使用这种方式的优点是连接简单,不需要提供用户名和口令。但使用os验证有以下要求:
- 数据库用户格式:xyz 域名\os 用户名(必须大写),其中xyz为初始化参数os_authent_prefix的值。假定初始化参数os_authent_prefix的值为ops$(查询方法:show parameter os_authent_prefix),网络域名为WANGHAILIANG,并且需要为os用户(你的用户名)提供os验证方式的数据库用户,那么必须建立名称为ops$WANGHAILIANG\(你的电脑用户名)的数据库用户。
- 如果需要使用远程os验证,则必须将初始化参数remote_os_authent设置为true。
- 必须将文件sqlnet.ora的选项sqlnet.authentication_services设置为nts.
例子:
conn sys/sys as sysdba; create user "OPS$WANGHAILIANG\ZHAOJIEDI1992" identified externally default tablespace data01 quota 3m on data01; grant connect to "OPS$WANGHAILIANG\ZHAOJIEDI1992";
在建立了使用os验证的用户,并为其授予必要的权限之后,就可以使用os验证方式连接到数据库了。当使用os验证时,首先以os用户登录到局域网环境,然后使用一下两种方法连接到数据库:
- 本地连接:sqlplus/
- 远程连接:sqlplus/@demo
posted on 2013-05-28 20:06 LinuxPanda 阅读(311) 评论(0) 编辑 收藏 举报