ORACLE用户管理

ORACLE用户管理包括:       创建用户、修改用户、删除用户

 

创建用户的脚本命令是CREATE USER语句,创建用户一般要由DBA或拥有该系统权限的用户来执行。那么我们首先来创建一个名为:kerry的用户(账号)

CREATE   USER  kerry
IDENTIFIED 
BY  K123456
DEFAULT  TABLESPACE USERS
QUOTA 10M 
ON  USERS

TEMPORARY TABLESPACE  TEMP 

 

创建用户以后,我们可以通过下面的脚本来查看用户信息


 SELECT USERNAME, PASSWORD,ACCOUNT_STATUS, DEFAULT_TABLESPACE,        

        TEMPORARY_TABLESPACE, PROFILE
FROM DBA_USERS WHERE USERNAME ='KERRY'

ORACLE用户管理_第1张图片 

IDENTIFIED BY 指定用户密码

DEFAULT TABLESPACE 指定用户默认表空间,如果不指定表空间,ORACLE会自动在默认表空间为这些对象分配空间。

QUOTA 为用户指定表空间配额。即用户对象在表空间所占用的最大空间。

 

如果你用下面脚本创建用户 


CREATE USER kerry 

IDENTIFIED BY K123456

 ORACLE用户管理_第2张图片

 

对比你会发现,这和上面脚本创建的用户信息一致。如果不指定默认表空间、临时表空间,系统会默认为你指定相应的表空间。当然你也可以用下面的脚本查看一些相关信息

SELECT   *   FROM  ALL_USERS  WHERE  USERNAME  = ' KERRY ' ;
SELECT * FROM USER$ WHERE NAME ='KERRY'; 


 

那么如何查看用户指定表空间配额信息呢?暂时还不清楚这些信息放在哪个字典视图、表里面。  

 

CREATE   USER  kerry
IDENTIFIED 
BY   123456
DEFAULT  TABLESPACE USERS
QUOTA 10M 
ON  USERS
TEMPORARY  TABLESPACE   TEMP

-- ORA-00988: 口令缺失或无效。

 

这是因为PROFILE里面有对用户密码复杂度的一些控制。你可以通过下面脚本查看这个用户使用的是哪个PROFILE文件 

ORACLE用户管理_第3张图片 

ORACLE用户管理_第4张图片 

在$ORACLE_HOME\RDBMS\ADMIN\utlpwdmg.sql

我的电脑目录是D:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\utlpwdmg.sql, 你可以看到一些密码的复杂度设置控制

 

里面有这样一条限制

-- Check if the password contains at least one letter, one digit and one
-- punctuation mark.

 

所以刚才创建用户才会报错。

创建用户成功后,你用你新用户登录,此时会报错,你必须给新用户授予相应权限,如下所示:  

SQL >  connect kerry / K123456
ERROR:
ORA
- 01045 user  KERRY lacks  CREATE  SESSION privilege; logon denied


SQL
>  connect SYSTEM / kerry123456
已连接。
SQL
>   grant   create  session,  create   table   to  kerry;

授权成功。

SQL
>    create   table  user1(id  number ( 10 ), username  varchar2 ( 32 )) tablespace users;
表已创建。

 



修改用户

 

 

修改用户涉及以下一些方面

 

1:修改用户密码

2:修改表空间配额

3:锁定用户账户

4:解锁用户账户

5:修改默认表空间

6:修改临时表空间 

1 :修改用户密码

SQL
>   alter   user  kerry identified  by  kerry123456;

用户已更改。

kerry账户自己修改自己密码,而DBA账户可以修改任何用户密码

2 :修改表空间


SQL
>  connect kerry / kerry123456
已连接。
SQL
>   alter   user  kerry quota 100M  on  users;
alter   user  kerry quota 100M  on  users
*
第 
1  行出现错误:
ORA
- 01031 : 权限不足


SQL
>  connect system / kerry123456;
已连接。
SQL
>   alter   user  kerry quota 100M  on  users;

用户已更改。

可以看到kerry用户自己修改自己的表空间配额时出现权限不足错误。

锁定用户账号

SQL
>   ALTER   USER  kerry ACCOUNT LOCK;

User  altered

解锁用户账号
SQL
>   ALTER   USER  kerry ACCOUNT UNLOCK;
User altered

 

 

修改默认表空间

 

修改默认表空间时不能指定临时表空间为默认表空间,否则会报错。

 

修改临时表空间  

 

修改临时表空间时不能指定表空间为临时表空间,否则会报错。

 


 

你可能感兴趣的:(ORACLE用户管理)