创建用户的语法
要创建一个新的用户(指密码验证用户,以下皆同),可以采用CREATE USER命令。下面是CREATE USER命令的语法。
CREATE USER username IDENTIFIED BY password
OR IDENTIFIED EXETERNALLY
OR IDENTIFIED GLOBALLY AS ‘CN=user’
[DEFAULT TABLESPACE tablespace]
[TEMPORARY TABLESPACE temptablespace]
[QUOTA [integer K[M] ] [UNLIMITED] ] ON tablespace
[,QUOTA [integer K[M] ] [UNLIMITED] ] ON tablespace
[PROFILES profile_name]
[PASSWORD EXPIRE]
[ACCOUNT LOCK or ACCOUNT UNLOCK]
其中,
ž CREATE USER username:用户名,一般为字母数字型和“#”及“_”符号。
ž IDENTIFIED BY password:用户口令,一般为字母数字型和“#”及“_”符号。
ž IDENTIFIED EXETERNALLY:表示用户名在操作系统下验证,该用户名必须与操作系统中所定义的用户名相同。
ž IDENTIFIED GLOBALLY AS ‘CN=user’:用户名由Oracle安全域中心服务器验证,CN名字表示用户的外部名。
ž [DEFAULT TABLESPACE tablespace]:默认的表空间。
ž [TEMPORARY TABLESPACE tablespace]:默认的临时表空间。
ž [QUOTA [integer K[M] ] [UNLIMITED] ] ON tablespace:用户可以使用的表空间的字节数。
ž [PROFILES profile_name]:资源文件的名称。
ž [PASSWORD EXPIRE]:立即将口令设成过期状态,用户再登录前必须修改口令。
ž [ACCOUNT LOCK or ACCOUNT UNLOCK]:用户是否被加锁,默认情况下是不加锁的。
/*
创建用户文件
给创建权限
*/
CREATE USER adpost IDENTIFIED BY "******" DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP QUOTA UNLIMITED ON USERS;
/*授权*/
GRANT CREATE SESSION TO adpost;
/*
修改用户语法与实例
用户创建完成后,管理员可以对用户进行修改,包括修改用户口令、改变用户默认表空间、临时表空间、磁盘配额及资源限制等。修改用户的命令语法如下。
ALTER USER username IDENTIFIED BY password
OR IDENTIFIED EXETERNALLY
OR IDENTIFIED GLOBALLY AS ‘CN=user’
[DEFAULT TABLESPACE tablespace]
[TEMPORARY TABLESPACE temptablespace]
[QUOTA [integer K[M] ] [UNLIMITED] ] ON tablespace
[,QUOTA [integer K[M] ] [UNLIMITED] ] ON tablespace
[PROFILES profile_name]
[PASSWORD EXPIRE]
[ACCOUNT LOCK or ACCOUNT UNLOCK]
[DEFAULT ROLE role[,role]]
OR [DEFAULT ROLE ALL [EXCEPT role[,role]]]
OR [DEFAULT ROLE NOTE]
其中,各个参数的含义读者可以参照前面CRREATE USER语法中的解释,这里不再赘述。
如果DBA在创建用户时,指定了用户在某个表空间的磁盘限额,那么经过一段时间,该用户使用该表空间已经达到了DBA所设置的磁盘限额时,Oracle系统会给出类似于下面的错误提示。
ORA-01536:SPACE QUOTA EXCEEDED FOR TABLESPACE ‘USERS’
此时,DBA应该及时通过ALTER USER命令增加用户在该表空间中的使用限额。
(1)修改用户的磁盘限额。
当Oracle系统提示ORA-01536错误时,表示该用户的资源超出限额,需要为用户增加资源。
示例1:
SQL>SQLPLUS SYSTEM/password
SQL>ALTER USER wbtest QUOTA 100M ON USERS;
通过上述命令,将用户wbtest在USERS表空间上的磁盘限额扩展到100M。
(2)修改用户的口令。
将SCOTT用户的口令改为tigerabc。
示例2:
SQL>alter user scott identified by tigerabc;
Oracle默认安装完成后,为了安全起见,很多用户处于LOCKED状态,可以对LOCKED状态的用户解除锁定。
(3)查询Oracle系统中被锁住的用户信息。
/*
示例3:
SQL>select username,account_status,lock_date from dba_users;
USERNAME ACCOUNT_STATUS LOCK_DTAE
--------------------------------------------------------------------------------------
SYS OPEN
SYSTEM OPEN
DBSNMP OPEN
HOUSE OPEN
SCOTT OPEN
OE OPEN
OUTLN EXPIRED&LOCKED 18-8月 -07
WMSYS EXPIRED&LOCKED 18-8月 -07
ORDSYS EXPIRED&LOCKED 18-8月 -07
MDSYS EXPIRED&LOCKED 18-8月 -07
(4)使用ALTER USER解锁被锁住的MDSYS用户。
SQL>show user;
USER 为“SYSTEM”
SQL>alter user MDSYS account unlock;
用户已更改。
删除用户
删除用户是通过DROP USER命令完成的,删除用户后,Oracle会从数据字典中删除用户、方案及其所有对象方案,语法如下:
*/
DROP USER TMS CASCADE;