Oracle 用户管理

系统 2300 0

1.       创建用户

概述:在 Oracle 中要创建一个新的用户使用 create   user 语句,一般是具有 dba 的权限才能使用。

Create  user   用户名   identified  by 密码;( oracle 密码必须以字母开头)

2.       给用户修改密码

概述:如果给自己修改密码可以直接使用

Password    用户名

如果给别人修改密码,则需要具有 dba 的权限,或者拥有 alter user 的系统权限

SQL>alter user   用户名   identified by 新密码

3.       删除用户

概述:一般以 dba 的身份去删除某个用户,如果用其他的用户去删除则需要 drop  user 的系统权限

Drop  user   用户名【 cascade

在删除用户时,注意:

如果要删除的用户已经创建了表,那么就需要在删除的时候带一个参数 cascade

 

  Oracle 用户管理

 

4.       权限和角色

概述:创建的新用户是没有任何权限的,甚至连登陆的数据库的权限都没有,需要为其指定相应的权限。给一个用户赋权限使用命令 grant ,回收权限使用命令 revoke
综合案例:

SQL> conn xiaoming/m12;  
ERROR:  
ORA-01045: user XIAOMING lacks CREATE SESSION privilege; logon denied  
警告 :   您不再连接到   ORACLE
SQL> show user;  
USER  
  ""  
SQL> conn system/manager as system;  
已连接。  
SQL> grant connect to xiaoming;  
授权成功。  
SQL> conn xiaoming/m12;

已连接。  
SQL>  
注意: grant connect to xiaoming; 在这里,准确的讲, connect 不是权限,而是角色。


  *   希望 xiaoming 用户可以去查询 scott emp
    grant select on emp to xiaoming  
  *  
希望 xiaoming 用户可以去修改 scott emp
    grant update on emp to xiaoming  
  *  
希望 xiaoming 用户可以去修改 / 删除,查询,添加 scott emp
    grant all on emp to xiaoming  
  * scott
希望收回 xiaoming emp 表的查询权限
    revoke select on emp from xiaoming

*   希望 xiaoming 用户可以去查询 scott emp / 还希望 xiaoming 可以把这个权限继续给别人。
-- 如果是对象权限,就加入   with grant option
  grant select on emp to xiaoming with grant option  
操作过程:  
 SQL> conn scott/tiger;  
 
已连接。  
 SQL> grant select on scott.emp to xiaoming with grant option;  
 
授权成功。  
 SQL> conn system/manager as sysdba;  
 
已连接。  
 SQL> create user xiaohong identified by m123;  
 
用户已创建。  
 SQL> grant connect to xiaohong;  
 
授权成功。  
 SQL> conn xiaoming/m12;  
已连接。  
SQL> grant select on scott.emp to xiaohong;  
授权成功。

 

-- 如果是系统权限。
system
xiaoming 权限时:
grant connect to xiaoming with admin option  
 

问题:如果 scott xiaoming emp 表的查询权限回收,那么 xiaohong 会怎样?
答案:被回收。  
SQL> conn scott/tiger;  
已连接。  
SQL> revoke select on emp from xiaoming;  
撤销成功。  
SQL> conn xiaohong/m123;  
已连接。  
SQL> select * from scott.emp;  
select * from scott.emp  
  1   行出现错误 :
ORA-00942:  
表或视图不存在

结果显示:小红受到诛连了。

5.      使用 profile 管理用户口令

概述: profile 是口令限制,资源限制的命令集合,当建立数据库的, oracle 会自动建立名称为 default profile 。当建立用户没有指定 profile 选项,那么 oracle 就会将 default 分配给用户。

5.1. 账户锁定
概述:指定该账户 ( 用户 ) 登陆时最多可以输入密码的次数,也可以指定用户锁定的时间 ( ) 一般用 dba 的身份去执行该命令。
例子:指定 scott 这个用户最多只能尝试 3 次登陆,锁定时间为 2 天,让我们看看怎么实现。
创建 profile 文件
SQL> create profile lock_account limit failed_login_attempts 3 password_lock_time 2;
SQL> alter user scott profile lock_account;

5.2. . 给账户 ( 用户 ) 解锁
SQL> alter user tea  account unlock;

5.3. . 终止口令
为了让用户定期修改密码可以使用终止口令的指令来完成,同样这个命令也需要 dba 的身份来操作。
例子:给前面创建的用户 tea 创建一个 profile 文件,要求该用户每隔 10 天要修改自己的登陆密码,宽限期为 2 天。看看怎么做。
SQL> create profile myprofile limit password_life_time 10 password_grace_time  2;
SQL> alter user tea profile myprofile;

5.4 口令历史
概述:如果希望用户在修改密码时,不能使用以前使用过的密码,可使用口令历史,这样 oracle 就会将口令修改的信息存放到数据字典中,这样当用户修改密码时, oracle 就会对新旧密码进行比较,当发现新旧密码一样时,就提示用户重新输入密码。
例子:  
1
)建立 profile  
SQL>create profile password_history limit password_life_time 10 password_grace_time 2 password_reuse_time 10
password_reuse_time //
指定口令可重用时间即 10 天后就可以重用
2
)分配给某个用户  
5.5
删除 profile
概述:当不需要某个 profile 文件时,可以删除该文件。
SQL> drop profile password_history  
casade
注意:文件删除后,用这个文件去约束的那些用户通通也都被释放了。

加了 casade ,就会把级联的相关东西也给删除掉

Oracle 用户管理


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论