oracle dba 常用语句7(password,role,user)

################## 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;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值