Oracle用户管理
Oracle数据库用户的账号特征:
1、唯一用户名。用户名不能超过30个字节,必须以字母开头并且不饿能包含特殊字符。
2、验证用户的方法。最常见的验证用户的方法是密码验证,其他验证方法有生物统计学验证、证书验证和标记验证等。
3、默认的表空间。
4、临时表空间,用于保存临时数据。
5、用户概要文件。概要文件时保护用户安全的一种机制,创建用户默认使用default概要文件。
6、使用者组。用户的使用者组主要由Oracle数据库的资源管理器使用。资源管理器通过操作使用者组来管理用户能够使用的数据库资源。
7、锁定状态。锁定的用户不能执行正常的数据库操作。用户只可以访问未锁定的账户。
创建表空间,这只表空间自动扩充。
create tablespace mikedata DATAFILE '/oracle/app/oradata/orcl/mikedata.dbf' size 1g autoextend on next 1g;
创建用户指定用户默认表空间
create user mike identified by mike default tablespace mikedata;
只创建用户
create user mike identified by mike;
解锁用户
alter user mike account unlock;
修改用户密码
alter user mike identified by mike2;
修改用户默认表空间
alter user mike default tablespace mikedata2;
删除用户及用户下所有信息
drop user IOTYY CASCADE;
授予程序用户一般需要的权限
grant connect to mike;
grant resource to mike;
grant create session to mike;
grant select any dictionary to mike;
grant create procedure to mike;
grant create table to mike;
grant create synonym to mike;
grant create view to mike;
grant create sequence to mike;
grant debug any procedure to mike;
grant execute any procedure to mike;
grant debug connect session to mike;
grant select any sequence to mike;
grant select any table to mike;
grant unlimited tablespace to mike;
grant alter any snapshot to mike;
grant create trigger to mike;
grant alter any materialized view to mike;
grant select on v_$statname to mike;
grant select on v_$sesstat to mike;
grant select on v_$session to mike;
grant select on v_$mystat to mike;
授予管理员权限
grant dba to mike_dba;
grant all privileges to mike_dba;
grant execute on dbms_lock to mike_dba;
grant create job to mike_dba;
grant create any job to mike_dba;
grant manage scheduler to mike_dba;
grant create external job to mike_dba;
只授予查询权限
grant select any table to mike_query;
grant create session to mike_query;
grant CONNECT to mike_query;
grant select any dictionary to mike_query;
grant SELECT ANY SEQUENCE to mike_query;
grant resource to mike_query;
将resource角色的权限授予mike,并且mike可将resource角色转授给其他用户。
grant resource to mike with admin option;
撤销mike的resource角色。
revoke resource from mike;
grant create session to mike with grant option;
revoke create session from mike;
查看所有权限
SELECT privilege
FROM dba_sys_privs
UNION ALL
SELECT privilege
FROM dba_tab_privs
UNION ALL
SELECT privilege
FROM dba_col_privs;
设置用户的密码永不过期
方法一:
1、创建一个profile文件,设置其profile下密码限定为永不过期。
create profile passwd_unlimit limit PASSWORD_LIFE_TIME unlimited;
2、修改用户的profile文件。
alter user mike profile passwd_unlimit;
3、查看命名为PASSWD_UNLIMIT的profile文件下所附属的资源设置有哪些。
SELECT * FROM dba_profiles s WHERE s.profile = 'PASSWD_UNLIMIT';
方法二:
1、查询用户的额概要文件,并修改概要文件的密码过期参数为永不过期
select username,profile from dba_users where username='mike';
alter profile DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
2、重新修改用户密码,使概要文件生效
Alter user mike identified by "123456";
创建用户的Profile文件
SQL> create profile student limit // student为概要文件名
FAILED_LOGIN_ATTEMPTS 3 // 指定锁定用户的登录失败次数
PASSWORD_LOCK_TIME 5 // 指定用户被锁定天数
PASSWORD_LIFE_TIME 30 // 指定口令可用天数
查询概要文件的参数信息
select * from dba_profiles;