oracle我的笔记(2)-oracle用户权限操作

来源:互联网 发布:淘宝怎么免费开店铺 编辑:程序博客网 时间:2024/05/22 07:01

1.        创建用户
create user 用户名 identfied by密码;
示例:
SQL> create user sqy identified by sqy;
用户已创建。

2.删除用户
drop user 用户名[cascade];删除用户时,如果已经创建表,那么就需要一个参数,cascade把表也删了
示例:
SQL> drop user sqy cascade;
用户已删除。

系统权限:用户对数据库的相对权限。
对象权限:用户对其他用户的数据对象的操作权限。

新创建的用户默认是没有权限登录到数据库的,要用syssystem用户给他授权才可以。
示例:
sqy用户授权
SQL> grant connect to sqy;
授权成功。

如果想让sqy用户对其他用户下的表进行查询,就要用resource
resource
可以让用户在其他用户表空间建表。
示例:
SQL> grant resource to sqy;
授权成功。

如果想设置只允许sqy查询scott用户的emp表不允许修改
SQL> grant select on emp to sqy;

如果scott用户想收回权限
revoke select on 表名 from用户名;
示例:
scott用户把sqy用户对scott用户查询权限收回
SQL> revoke select on emp from sqy;
撤销成功。

对权限的维护
如果scott用户希望sqy这个用户可以去查询emp表,还希望sqy也能把这个权限授给被人
--如果是对象权限就加入with grant option
示例:
scott用户下:
SQL> conn scott/oracl;
已连接。
SQL> grant select on emp to sqy with grant option;
SQL> conn sqy/sqy;
已连接。
SQL> grant select on scott.emp to shen;
授权成功。
--如果是系统权限
systemsqy权限时:
SQL> grant connetct to sqy with admin option

1)使用profile管理用户口令
概述:profile是口令限制,资源限制的命令集合,当建立数据库时,oracle会自动建立名称为defaultprofile,当建立用户没有指定profile选项,那oracle就会将default分配给用户。
(账户锁定)
概述:指定该账户(用户)登录时最多可以输入密码的次数,也可以指定用户锁定时间(天)一般用dba的身份去执行该命令
例子:指定scott这个用户最多只能尝试3次登录,锁定时间为2天。
创建profile文件
sql>create profile 规则名 limit failed_login_attempts 3 password_lock_time 2;3是次数2是天
示例:
SQL> create profile sqysqy limit failed_login_attempts 3 password_lock_time 2;
配置文件已创建
指定sqysqy用户
alter user 用户名 profile规则名;
示例:
SQL> alter user sqy profile sqysqy;

2.       
用户已更改。

然后登录sqy用户输入密码三次错误再输入正确的
请输入用户名:  sqy
输入口令: ***
ERROR:
ORA-28000: the account is locked

(2)
给账户解锁
SQL> alter user sqy account unlock;
用户已更改。

3)终止口令
为了让用户定期修改密码可以使用终止口令的指令来完成,同样这个命令也需要dba身份操作。
例子:给前面创建的用户sqy创建一个profile文件,要求该用户每隔10天,要修改自家的登录密码,宽限期为2天。
SQL>create profile 规则名 limit password_life_time 10 password_grance_timen 2;

SQL>alter user sqy profile
规则名;使规则生效

4)口令历史
概述:如果希望用户在修改密码时,不能使用以前使用过的密码,可使用口令历史,这样oracle就会将口令修改的信息存放到数据字典中,这样当用户修改密码时,oracle就会对新旧密码进行比较,当发现新旧密码一样时,就提示用户重新输入密码。
示例:
1)建立profile
SQL>create profile
文件名 limit password_life_time 10 password_grace_time 2 password_rcuse_time 10;
password_rcuse_time //
指定口令可重用时间即10天后就可以重用。

删除profile
概述:当不需要某个profile文件时,可以删除该文件。
SQL>drop profile 文件名 [cascade];cascade把相关的东西都删了。