################## managing password security and resources ####################
alter user user_name account unlock/open;---- 锁定 / 打开用户 ;
alter user user_name password expire;--- 设定口令到期
/* 建立口令配置文件 ,failed_login_attempts 口令输多少次后锁, password_lock_times 指多少天后口令被自动解锁 */
create profile profile_name limit failed_login_attempts 3 password_lock_times 1/1440;
/* 创建口令配置文件 */
create profile profile_name limit failed_login_attempts 3 password_lock_time unlimited password_life_time 30 password_reuse_time 30 password_verify_function verify_function password_grace_time 5;
/* 建立资源配置文件 */
create profile prfile_name limit session_per_user 2 cpu_per_session 10000 idle_time 60 connect_time 480;
alter user user_name profile profile_name;
/* 设置口令解锁时间 */
alter profile profile_name limit password_lock_time 1/24;
/*password_life_time 指口令文件多少时间到期, password_grace_time 指在第一次成功登录后到口令到期有多少天时间可改变口令 */
alter profile profile_name limit password_lift_time 2 password_grace_time 3;
/*password_reuse_time 指口令在多少天内可被重用 ,password_reuse_max 口令可被重用的最大次数 */
alter profile profile_name limit password_reuse_time 10[password_reuse_max 3];
alter user user_name identified by input_password;----- 修改用户口令
drop profile profile_name;
/* 建立了 profile 后,且指定给某个用户,则必须用 CASCADE 才能删除 */
drop profile profile_name CASCADE;
alter system set resource_limit=true;--- 启用自愿限制 , 缺省是 false
/* 配置资源参数 */
alter profile profile_name limit cpu_per_session 10000 connect_time 60 idle_time 5;
/* 资源参数 (session 级 )
cpu_per_session 每个 session 占用 cpu 的时间 单位 1/100 秒
sessions_per_user 允许每个用户的并行 session 数
connect_time 允许连接的时间 单位分钟
idle_time 连接被空闲多少时间后,被自动断开 单位分钟
logical_reads_per_session 读块数
private_sga 用户能够在 SGA 中使用的私有的空间数 单位 bytes
(call 级 )
cpu_per_call 每次 (1/100 秒 ) 调用 cpu 的时间
logical_reads_per_call 每次调用能够读的块数
*/
alter profile profile_name limit cpu_per_call 1000 logical_reads_per_call 10;
desc dbms_resouce_manager;--- 资源管理器包
/* 获取资源信息的表或视图 */
select * from dba_users/dba_profiles;
###### Managing users ############
show parameter os;
create user testuser1 identified by kxf_001;
grant connect,createtable to testuser1;
alter user testuser1 quota 10m on tablespace_name;
/* 创建用户 */
create user user_name identified by password default tablespace tablespace_name temporary tablespace tablespace_name quota 15m on tablespace_name password expire;
/* 数据库级设定缺省临时表空间 */
alter database default temporary tablespace tablespace_name;
/* 制定数据库级的缺省表空间 */
alter database default tablespace tablespace_name;
/* 创建 os 级审核的用户,需知道 os_authent_prefix ,表示 oracle 和 os 口令对应的前缀 ,'OPS$' 为此参数的值,此值可以任意设置 */
create user user_name identified by externally default OPS$tablespace_name tablespace_name temporary tablespace tablespace_name quota 15m on tablespace_name password expire;
/* 修改用户使用表空间的限额 , 回滚表空间和临时表空间不允许授予限额 */
alter user user_name quota 5m on tablespace_name;
/* 删除用户或删除级联用户 ( 用户对象下有对象的要用 CASCADE ,将其下一些对象一起删除 )*/
drop user user_name [CASCADE];
/* 每个用户在哪些表空间下有些什么限额 */
desc dba_ts_quotas;select * from dba_ts_quotas where username='...';
/* 改变用户的缺省表空间 */
alter user user_name default tablespace tablespace_name;
######### Managing Privileges #############
grant create table,create session to user_name;
grant create any table to user_name; revoke create any table from user_name;
/* 授予权限语法 ,public 标识所有用户 ,with admin option 允许能将权限授予第三者的权限 */
grant system_privs,[......] to [user/role/public],[....] [with admin option];
select * from v$pwfile_users;
/* 当 O7_dictionary_accessiblity 参数为 True 时,标识 select any table 时,包括系统表也能 select , 否则,不包含系统表 ; 缺省为 false*/
show parameter O7;
/* 由于 O7_dictionary_accessiblity 为静态参数,不能动态改变,故加 scope=spfile, 下次启动时才生效 */
alter system set O7_dictionary_accessiblity=true scope=spfile;
/* 授予对象中的某些字段的权限,如 select 某表中的某些字段的权限 */
grant [object_privs(column,....)],[...] on object_name to user/role/public,... with grant option;
/*oracle 不允许授予 select 某列的权限 , 但可以授 insert ,update 某列的权限 */
grant insert(column_name1,column_name2,...) on table_name to user_name with grant option;
select * from dba_sys_privs/session_privs/dba_tab_privs/user_tab_privs/dba_col_privs/user_col_privs;
/*db/os/none 审计被记录在 数据库 / 操作系统 / 不审计 缺省是 none*/
show parameter audit_trail;
/* 启动对表的 select 动作 */
audit select on user.table_name by session;
/*by session 在每个 session 中发出 command 只记录一次, by access 则每个 command 都记录 */
audit [create table][select/update/insert on object by session/access][whenever successful/not successful];
desc dbms_fga;--- 进一步设计,则可使用 dbms_fgs 包
/* 取消审计 */
noaudit select on user.table_name;
/* 查被审计信息 */
select * from all_def_audit_opts/dba_stmt_audit_opts/dba_priv_audit_opts/dba_obj_audit_opts;
/* 获取审计记录 */
select * from dba_audit_trail/dba_audit_exists/dba_audit_object/dba_audit_session/dba_audit_statement;
########### Managing Role #################
create role role_name; grant select on table_name to role_name; grant role_name to user_name; set role role_name;
create role role_name;
create role role_name identified by password;
create role role_name identified externally;
set role role_name ; ---- 激活 role
set role role_name identified by password;
alter role role_name not identified;
alter role role_name identified by password;
alter role role_name identified externally;
grant priv_name to role_name [WITH ADMIN OPTION];
grant update(column_name1,col_name2,...) on table_name to role_name;
grant role_name1 to role_name2;
/* 建立 default role, 用户登录时,缺省激活 default role*/
alter user user_name default role role_name1,role_name2,...;
alter user user_name default role all;
alter user user_name default role all except role_name1,...;
alter user user_name default role none;
set role role1 [identified by password],role2,....;
set role all;
set role except role1,role2,...;
set role none;
revoke role_name from user_name;
revoke role_name from public;
drop role role_name;
select * from dba_roles/dba_role_privs/role_role_privs/dba_sys_privs/role_sys_privs/role_tab_privs/session_roles;
oracle dba 常用语句7(password,role,user)
最新推荐文章于 2021-04-04 19:21:34 发布