17.1.2 创建用户
在Oracle中创建用户必须拥有数据库管理员的权限才能创建,在创建用户时还需要注意的是创建的用户的密码必须是以字母开头的。创建用户也可以在企业管理器中或者在SQL*Plus中使用语句创建。
1.使用企业管理器创建用户
使用企业管理器创建用户相对比较简单,但是登录的用户也要是以管理员身份登录的才可以。
【示例1】在企业管理器中创建用户USER1
创建用户可以分为3个步骤:
(1)打开企业管理器中的【服务器】选项卡
进入企业管理器后,打开【服务器】选项卡,如图17.1所示。
图 17.1 企业管理器中的【服务器】选项卡
(2)打开用户管理页面
在图17.1所示界面中,单击【安全性】选项下面的【用户】选项,出现如图17.2所示界面。
图 17.2 用户管理界面
(3)创建新用户
在图17.2所示界面中,单击【创建】按钮,出现图17.3所示的创建新用户界面。
图 17.3 创建新用户界面
在图17.3所示界面中,各选项前带有“*”的是必填项,其中必填项有用户的名称、输入口令和确认口令。其他项如果不填,则使用当前数据库中默认的文件。
说明 在“验证”选项中有3个选项,一个是口令,当选择“口令”选项时必须输入用户的口令;一个是外部,当选择“外部”选项时,则由操作系统、网络或其他外部源向角色授权,不必输入口令;一个是全局,当选择“全局”选项时,则由某一企业目录服务向角色全局授权,也不必输入口令。
输入用户的信息后,单击【确定】按钮,会出现图17.4所示页面。在此页面中就可以查看到已经创建的用户USER1的信息。
图 17.4 创建用户完成页面
在此页面中就可以看到USER1用户使用的表空间是TEST,临时表空间是TEMPTABLE,状态是OPEN状态等信息。
2.使用SQL*Plus创建用户
在SQL*Plus中创建用户使用的语法选项是比较多的。一般创建用户的语法如下:
CREATE USER username IDENTIFIED BY password
OR EXTERNALLY AS certificate_DN
OR GLOBALLY AS directory_DN
[DEFAULT TABLESPACE tablespace]
[TEMPORARY TABLESPACE tablespace|tablespace_group_name]
[QUOTA size|UNLIMITED ON tablespace]
[PROFILE profile]
[PASSWORD EXPIRE]
[ACCOUNT LOCK|UNLOCK]
【语法说明】
❑在创建用户时有三种验证方式,与用企业管理器创建用户一样,以口令作为验证方式时选择【IDENTIFIED BY password】选项即可;以外部作为验证方式时选择【EXTERNALLY AS certificate_DN】选项;以全局作为验证方式时选择【GLOBALLY AS directory_DN】选项即可。
❑DEFAULT TABLESPACE:设置默认表空间,如果省略了该语句,那么这个新创建的用户就存放在数据库的默认表空间中,如果在数据库没有设置默认表空间,那么创建的用户就存放在SYSTEM表空间中。
❑TEMPORARY TABLESPACE:设置临时表空间或临时表空间组,可以把临时表空间存放在临时表空间组中,如果省略了该语句,那么就会把临时的文件存放到当前数据库中默认的临时表空间中;如果没有默认的临时表空间,那么会把临时文件存放到SYSTEM的临时表空间中。
❑QUOTA:设置当前用户使用表空间的最大值,在创建用户时可以有多个QUOTA来设置用户在不同表空间中能够使用的表空间大小。如果设置成UNLIMITED,表示对表空间的使用没有限制。
注意 创建用户时不能设置用户在临时表空间上使用的范围。
❑PROFILE:设置当前用户使用的概要文件的名称,如果省略了该子句,那么用户就使用当前数据库中默认的概要文件。
❑PASSWORD EXPIRE:设置当前用户密码立即处于过期状态,用户如果想再登录数据库必须要更改密码。
❑ACCOUNT:设置用户的锁定状态,如果设置成LOCK,那么该用户不能访问数据库;如果设置成UNLOCK,那么用户则可以访问数据库。在Oracle 11g中默认的用户状态都为锁定的状态。
利用创建用户的语句,分别创建以口令验证方式的用户和以外部方式验证的用户。
【示例2】在SQL*Plus中创建以口令方式验证的用户USER2
创建一个以口令方式验证的用户USER2,并且设置成密码立即过期的方式。具体实现代码如下:
01 CREATE USER USER2
02 IDENTIFIED BY abcd
03 DEFAULT TABLESPACE test
04 QUOTA 10M ON test
05 TEMPORARY TABLESPACE temp
06 PROFILE pro_test
07 PASSWORD EXPIRE;
【代码解析】
❑第2行设置用户USER2的口令是abcd。
❑第3行设置用户USER2的默认表空间是test。
❑第4行设置用户USER2可以在表空间test中使用的磁盘限额是10MB。
❑第5行设置用户USER2的临时表空间是temp。
❑第6行设置用户USER2使用的概要文件是pro_test。
❑第7行设置用户的密码是立即过期状态。
【示例3】在SQL*Plus中创建以外部方式验证的用户USER3
创建一个验证方式是外部的用户USER3。具体代码如下:
01 CREATE USER USER3
02 IDENTIFIED EXTERNALLY
03 DEFAULT TABLESPACE test
04 QUOTA 5M ON test
05 PROFILE pro_test;
【代码解析】
❑第2行设置用户USER3的验证方式是外部验证。
❑第3行设置用户USER3的默认表空间是test。
❑第4行设置用户USER3在test表空间中能够使用的磁盘配额是5MB。
❑第5行设置用户USER3所使用的概要文件是pro_test。