Technology Exchange
免费咨询热线
400-090-9964
一、用户管理
1、创建用户:在oracle中要创建一个新的用户,使用create user语句,一般是具有dba(数据库管理员)的权限才能使用。
create user 用户名 identified by 密码;
密码必须以字母开头,否则报错。
2、给用户修改密码
修改用户自己的密码:sql>password 用户名
修改其他用户的密码,需要具有DBA权限,或者拥有alter user的系统权限
sql>alter user 用户名 identified by 新密码
3、删除用户:一般以DBA的身份去删除某个用户,如果用其它用户去删除用户,则需要具有drop user的权限。
sql>drop user 用户名 【cascade】
在删除用户时,注意:如果要删除的用户已经创建了表,则就需要在删除时加上参数cascade(级联删除)。
4、用户管理的综合案例
创建的新用户是没有任何权限的,甚至连登录数据库的权限都没有,需要为其指定相应的权限。给一个用户赋予权限使用命令grant,回收权限使用命令revoke。
grant connect to 用户名
注:connect不是权限,而是指角色。
grant resource to 用户名:给用户赋予建表的权限。
希望xiaoming用户可以查询scott用户的emp表
grant select on emp to xiaoming(授权者可以是system/sys/scott);
select * from scott.emp;(此处的scott为方案)
希望xiaoming用户可以修改scott用户的emp表
grant update on emp to xiaoming(授权者可以是system/sys/scott);
希望xiaoming用户可以修改、删除、查询、添加scott用户的emp表
grant all on emp to xiaoming(授权者可以是system/sys/scott);
scott希望收回xiaoming对emp表的查询权限。
revoke select on emp from xiaoming
注:当表名输入为emp时,授权与回收权限需要是一个用户。如果是scott授权,system/sys无法回收权限。
如果想让system/sys回收权限,则要在表名前面加上用户名,如:scott.emp。
5、对权限的维护(权限的传递)
希望xiaoming用户可以查询scott的emp表,还希望xiaoming可以把这个权限继续传递给别人。
如果是对象权限,就加入with grant option。
grant select on emp to xiaoming with grant option
如果是系统权限,就加入with admin option。
grant connect to xiaoming with admin option
如果xiaoming的权限被回收,则其他被xiaoming赋予权限的用户的权限也被回收。
如果xiaoming的权限被回收,则xiaohong的权限也被回收。
6、使用profile管理用户口令
profile是口令限制,资源限制的命令集合,当建立数据库时,oracle会自动建立名称为default的profile。当建立用户没有指定profile选项,那profile就会将default分配给用户。
账户锁定:指定该账户(用户)登录时最多可以输入密码的次数,也可以指定用户锁定的时间(天)。一般用DBA的身份去执行该命令。
指定tea这个用户最多只能尝试3次登录,锁定时间为2天。
创建profile文件:sql>create profile lock.account limit failed.login.attempts 3 password.lock.time 2;
sql>alter user tea profile lock.account;
给账户(用户)解锁
sql>alter user tea account unlock;
终止口令:定期修改密码,使用dba身份操作。
给用户tea创建一个profile文件,要求该用户每个10天要修改自家的登录密码,宽限期为两天。
sql>create profile myprofile limit password.life.time 10 password.grace.time 2;
sql>alter user tea profile myprofile;
口令历史:如果希望用户在修改密码时,不能使用以前使用过的密码,可使用口令历史。这样,oracle就会将口令修改的信息存放到数据字典中,当用户修改密码时,oracle就会对新旧密码进行比较。当发现新旧密码一样时,就提示用户重新输入密码。
sql>create profile password.history limit password.life.time 10 password.grace.time 2password.reuse.time 10 (password.reuse.time:指定口令可充用时间,即10天后可以重用)
sql>alter user tea profile password.history ;
删除profile
sql>drop profile password.history [cascade];
二、权限和角色的初步了解
1、权限分为两种:系统权限和对象权限。
2、系统权限:指用户对数据库的相关权限,大概有140多种。如:create session。
3、对象权限:指用户对其他用户的数据对象操作的权限,Oracle常用的对象权限有25个。
select
insert
update
delete
all:以上四种权限的总称。
create index
4、角色:分为预定义角色和自定义角色。
connect实际为一种角色,类似权限的批量授权给某一角色。connect实际包含了7中权限。
resource:允许用户在任意一个表空间建表。
dba
(以上内容摘于网络,如有侵权,请告之,将第一时间删除)