11.1.3 如何修改用户的信息
为了防止不法之徒盗取用户的口令,用户应该经常改变自己的口令。用户的口令不应该是类似1234、abcd这样简单的字符串,更不要指定为自己生日和姓名,也不要指定为一个英文单词,因为这样的口令很容易被破译。一个好的口令应该包括大小写字母、数字、_、&、%、$等各种符号在内的混合字符串。统计表明,一个口令中包含的成分越复杂,就越难破译。
修改用户口令的操作一般由用户自己完成,sys用户可以无条件修改任何一个用户的口令。普通用户只能修改自己的口令,如果要修改其他用户的口令,必须具有ALTER USER这个系统权限。
修改用户口令的命令是ALTER USER。修改用户口令的ALTER USER命令格式为:
ALTER USER用户IDENTIFIED BY"新口令";
例如,将刚才创建的用户user1的口令改为“book”,对应的ALTER USER语句为:
ALTER USER user1 IDENTIFIED BY"book";
除了SQL命令ALTER USER以外,SQLPlus也提供了一个PASSWORD命令,可以用来修改用户的口令。利用SQLPlus的这条命令,sys用户可以修改其他用户的口令,普通用户可以修改自己的口令,在授权的情况下也可以修改其他用户的口令。一个用户在修改自己的口令时,必须知道自己以前的口令。这条命令只有一个参数,就是用户名,如果默认了这个参数,就修改自己的口令。以下是用户scott修改自己的口令的情况:
SQL>PASSWORD
更改SCOTT的口令
旧口令:*
新口令:**
重新键入新口令:**
口令已更改
ALTER USER命令除了修改用户口令外,还可以修改用户的默认表空间、存储空间配额、账号状态等信息。例如,下面的语句用于锁定用户scott:
SQL>ALTER USER scott ACCOUNT LOCK;
下面的语句用于修改用户user1的默认表空间、临时表空间,并将该用户在表空间ts1上的空间配额修改为无限制:
SQL>ALTER USER user1
DEFAULT TABLESPACE ts1
TEMPORARY TABLESPACE ts1
QUOTA UNLIMITED ON ts1;