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

来源:互联网 发布:我的世界枪械手机版js 编辑:程序博客网 时间:2024/06/05 03:02
################## 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 ; ---- 激活 roleset 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;