ORACLE存储过程生成视图,设置指定用户访问指定视图
2015-05-28 08:34
246 查看
存储过程:
任务执行:
修改任务:
授权给某个用户查看指定的视图:
删除job:
限制用户登录数量:
CREATE OR REPLACE PROCEDURE P_MERGER_VIEW IS v_sql VARCHAR2(5000); BEGIN v_sql := 'CREATE OR REPLACE VIEW SIM_MERGER_VIEW (dvc_address,dvc_type,priority,total) AS SELECT DVC_ADDRESS, CASE WHEN DVC_TYPE IS NULL THEN ''其他'' ELSE DVC_TYPE END, PRIORITY, COUNT(1) FROM SIM_EVENT PARTITION(P' || TO_CHAR(SYSDATE-1, 'yyyyMMdd') || ') GROUP BY DVC_ADDRESS, PRIORITY,DVC_TYPE'; EXECUTE IMMEDIATE v_sql; END P_MERGER_VIEW;任务调度:每天凌晨1点执行
variable n number; begin dbms_job.submit(:n, 'P_MERGER_VIEW;', sysdate,'TRUNC(sysdate)+1+1/(24)'); commit; end;/
任务执行:
begin dbms_job.run(41); end;
修改任务:
begin dbms_job.change(62 ,'MY_JOP;', to_date('2011-08-01 22:00:00', 'yyyy-mm-dd hh24:mi:ss'),'sysdate+1'); commit; end;
授权给某个用户查看指定的视图:
grant select on 视图名 to 用户名;
删除job:
begin dbms_job.remove(41); end;
限制用户登录数量:
最后还要对NORTHBOUND用户进行连接数的限制,以免第三方无限制的连接数据库,造成数据库SESSION暴涨: conn / as sysdba alter system set resource_limite=true scope=both sid='*'; 新建profile, 初始限制为1 ,用于测试。 create profile third_user limit SESSIONS_PER_USER 1 FAILED_LOGIN_ATTEMPTS unlimited; alter user NORTHBOUND profile third_user; 将会话数调整到30 alter profile third_user limit SESSIONS_PER_USER 30;
相关文章推荐
- 利用samba设置匿名登录和用户个人登录访问指定资源。登录samba会出现灰色的guest
- DCOM服务端及客户端指定用户访问的安全设置
- Sql2008不同用户指定访问数据库的权限设置!
- SQL通过角色创建只能访问指定视图的用户
- MySQL 设置某个用户访问指定表命令
- SQL Server数据库授权指定用户访问指定表或视图
- mysql 设置用户指定访问某个数据库。
- ftp设置用户只能够访问指定的目录
- 使用 ACL 设置用户访问指定文件/目录的权限 | Linux 中国
- MySQL创建用户,并设置指定访问数据库
- sqlserver 创建用户只能访问指定视图
- sqlserver 创建用户只能访问指定视图
- DCOM服务端及客户端指定用户访问的安全设置
- DCOM服务端及客户端指定用户访问的安全设置
- Summary_MySQL设置用户访问指定数据库
- nginx中设置限制指定用户或IP组访问权限
- linux设置其他用户可以访问本用户下的文件夹的权限
- centos7安装FTP,并配置用户只可访问指定文件夹
- Oracle创建用户并给用户授权查询指定表或视图的权限
- Mysql中使某个用户只能访问指定的数据库