nullnull使用PL/SQL获取创建用户的语句
在写这篇文章之前,xxx已经写过了几篇关于改nullnull主题的文章,想要了解的朋友可以去翻一下之前的文章
Create procedure:
create or replace procedure get_case_sqls_for_ddls_ver1 ascursor get_username isselect username from dba_users;beginfor l_user in get_username loopDBMS_OUTPUT.PUT_LINE('-----------------------');DBMS_OUTPUT.PUT_LINE('select (case');DBMS_OUTPUT.PUT_LINE(' when ((select count(*)');DBMS_OUTPUT.PUT_LINE(' from dba_users');DBMS_OUTPUT.PUT_LINE(' where username = ''' ||l_user.username || ''') > 0)');DBMS_OUTPUT.PUT_LINE(' then dbms_metadata.get_ddl (''USER'', ''' ||l_user.username || ''')');DBMS_OUTPUT.PUT_LINE(' else to_clob ('' -- Note: User not found!'')');DBMS_OUTPUT.PUT_LINE(' end ) "--Extracted_DDL" from dual');DBMS_OUTPUT.PUT_LINE('UNION ALL');DBMS_OUTPUT.PUT_LINE('-----------------------');DBMS_OUTPUT.PUT_LINE('select (case');DBMS_OUTPUT.PUT_LINE(' when ((select count(*)');DBMS_OUTPUT.PUT_LINE(' from dba_ts_quotas');DBMS_OUTPUT.PUT_LINE(' where username = ''' ||l_user.username || ''') > 0)');DBMS_OUTPUT.PUT_LINE(' then dbms_metadata.get_granted_ddl (''TABLESPACE_QUOTA'',
''' || l_user.username || ''')');DBMS_OUTPUT.PUT_LINE(' else to_clob ('' -- Note: No TS Quotas found!'')');DBMS_OUTPUT.PUT_LINE(' end ) from dual');DBMS_OUTPUT.PUT_LINE('UNION ALL');DBMS_OUTPUT.PUT_LINE('-----------------------');DBMS_OUTPUT.PUT_LINE('select (case');DBMS_OUTPUT.PUT_LINE(' when ((select count(*)');DBMS_OUTPUT.PUT_LINE(' from dba_role_privs');DBMS_OUTPUT.PUT_LINE(' where grantee = ''' ||l_user.username || ''') > 0)');DBMS_OUTPUT.PUT_LINE(' then dbms_metadata.get_granted_ddl (''ROLE_GRANT'',
''' || l_user.username || ''')');DBMS_OUTPUT.PUT_LINE(' else to_clob ('' -- Note: No granted roles found!'')');DBMS_OUTPUT.PUT_LINE(' end ) from dual');DBMS_OUTPUT.PUT_LINE('UNION ALL');DBMS_OUTPUT.PUT_LINE('-----------------------');DBMS_OUTPUT.PUT_LINE('select (case');DBMS_OUTPUT.PUT_LINE(' when ((select count(*)');DBMS_OUTPUT.PUT_LINE(' from dba_sys_privs');DBMS_OUTPUT.PUT_LINE(' where grantee = ''' ||l_user.username || ''') > 0)');DBMS_OUTPUT.PUT_LINE(' then dbms_metadata.get_granted_ddl (''SYSTEM_GRANT'',
''' || l_user.username || ''')');DBMS_OUTPUT.PUT_LINE(' else to_clob ('' -- Note: No System Privileges found!'')');DBMS_OUTPUT.PUT_LINE(' end ) from dual');DBMS_OUTPUT.PUT_LINE('UNION ALL');DBMS_OUTPUT.PUT_LINE('-----------------------');DBMS_OUTPUT.PUT_LINE('select (case');DBMS_OUTPUT.PUT_LINE(' when ((select count(*)');DBMS_OUTPUT.PUT_LINE(' from dba_tab_privs');DBMS_OUTPUT.PUT_LINE(' where grantee = ''' ||l_user.username || ''') > 0)');DBMS_OUTPUT.PUT_LINE(' then dbms_metadata.get_granted_ddl (''OBJECT_GRANT'',
''' || l_user.username || ''')');DBMS_OUTPUT.PUT_LINE(' else to_clob ('' -- Note: No Object Privileges found!'')');DBMS_OUTPUT.PUT_LINE(' end ) from dual');DBMS_OUTPUT.PUT_LINE('/');DBMS_OUTPUT.PUT_LINE('----------------------------------------------------------------------');end loop;
end;
/
航行者把树比作指引方向的路灯,劳动者把树比作遮风挡雨的雨伞,诗人把树比作笔下的精灵,而我却要把树比作教师,它就是为我们遮风挡雨的伞,指明方向的路灯,打开知识殿堂的金钥匙。
The above proc when called with the foll. will give the SQLs for all users:
set head off
set pages 0
set serveroutput on size unlimited
spool /tmp/sqls_gathered_frm_trial_run_1.sql
exec get_case_sqls_for_ddls_ver1
spool off
These SQLs generated can in turn be run as follows to get the master-list of all the grants in the database:
spool /tmp/grants_by_running_trial3_ver0.0.sql
conn / as sysdba
set head off
set long 1000000000
set pages 0
exec DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,'SQLTERMINATOR',TRUE);
@/tmp/sqls_gathered_frm_trial_run_1.sql
spool off
文章结束给大家分享下程序员的一些笑话语录: 一条狗在街上闲逛,看见橱窗里一张告示:「招聘程序员。会编程,有团队精神,至少精通两种语言。均等机会。」
那条狗就进去申请,但是被拒绝了。
「我不能雇一条狗在公司里做事。」经理说。
狗不服气,指着告示上「均等机会」几字抗议。
经理没法,叹了口气,不屑地问道:「你会编程吗?」
那条狗默默地走到电脑前,编了个程序,运作准确。
「你有团队精神吗?」经理问。
那条狗掉头看了看门外,一大群野狗在外面虎视耽耽。
「我真的不能雇狗做这份工作。」经理气急败坏地说。
「就算会编程、有团队精神,但是我需要的雇员至少要能精通两种语言。」
那条狗抬头看着经理说:「喵-噢。」
转载于:https://www.cnblogs.com/jiangu66/archive/2013/05/19/3087235.html
nullnull使用PL/SQL获取创建用户的语句相关推荐
- PL/Sql 中创建、调试、调用存储过程
存储过程 所用函数说明 功能:求和与差 原形:GetSumAndSub(p1 in number , p2 in number ,m out number , b out number) 参 ...
- Oracle sql plus创建用户时出现:ORA-65096: 公用用户名或角色名无效
Oracle sql plus创建用户时出现:ORA-65096: 公用用户名或角色名无效 执行 alter session set "_ORACLE_SCRIPT"=true; ...
- Oracle11g本地数据库创建用户和密码,附赠使用PL/SQL软件登录用户
Oracle11g创建用户和密码 步骤: 管理员身份打开cmd命令窗口: 输入sqlplus 先使用管理员账户登录,为了创建普通用户: 用户名:sys as sysdba 密码:随便输 创建新用户,我 ...
- oracle明文显示密码,通过PL/SQL获取密码明文
1.建立加解密JAVA封装PL/SQL package. 加密过程:明文+密钥+加密函数=〉密文 oracle.apps.fnd.security.WebSessionManagerProc.encr ...
- mysql 创建端口号_MySQL命令行 不同端口登录 执行SQL文件 创建用户 赋予权限 修改root密码...
0.安装MySQL服务 1.[不同端口登录] 通过开始菜单-> 程序-> MySQL-> MySQL Command Line Client 通过输入密码Enter password ...
- Oracle操作语句(PL/SQL)创建表空间:第 1 行出现错误: ORA-01119: 创建数据库文件时出错 ORA-27040: 文件创建错误, 无法创建文件OSD-04002: 无法打开文件
1.题目要求: 2.遇到的问题情况: 3.问题分析: 创建表空间时指定的文件目录地址出错 4.解决问题(解决方法): 问:既然是路径出错,那么就找到正确的路径即可,那么正确路径是什么呢? 答:是自己P ...
- pl/sql中创建存储过程并执行
1.创建存储过程 create or replace procedure procedureName is begin update tableName set userName = 'zhangsa ...
- Oracle笔记 八、PL/SQL跳转/判断/循环语句块
--goto跳转语句 --在goto 后,跳转到相应的语句,然后执行该语句和后面所有语句 begin dbms_output.put_line('goto开始了'); goto c; --不被执行 d ...
- PL/SQL developer快速执行选定语句
转载自:https://blog.csdn.net/James199209/article/details/53689989 可能一个sql脚本下有很多的sql语句,如何快速执行指定的语句呢?只要在P ...
最新文章
- #时间预测算法_改进的智慧交通系统出行时间预测算法
- 构建之法第十,十一,十二章阅读
- leetcode算法题--K 个一组翻转链表
- pdf保存如何带批注_带有批注的SpringSelenium测试
- git head指向老版本_Git最全总结
- 使用C#和ASP.NET Core的PayPal智能按钮的客户端/服务器实现
- Node.js(window)基础(1)——用cmd命令行访问某一文件夹下的js文件
- Android5.1蓝牙电话分析及demo
- SketchUp Pro 2022 草图大师设计软件 Mac
- ENVI入门系列教程---一、数据预处理---4.1 遥感图像正射校正
- 连接访问数据库的技术方法
- 杭电ACM 第2007题
- doe五步法_实验设计(DOE)的七大步骤分析
- ArcMap|时空地理加权回归(GTWR)
- mysql strlength_mySQL教程 第7章 存储过程和函数
- 「 微信黑科技 」神奇符号
- 【juns项目】信用卡数据项目2-2:数据设计
- 推荐系统-协同过滤在Spark中的实现
- java调用ip138接口查询ip地址,iP查询接口Javascript代码示例 iP地址查询接口Javascript代码示例 iP138查询网...
- 彻底卸载360画报(流氓屏保软件)---亲测有效
热门文章
- 【开源项目】Socket服务端与客户端传输视频文件
- 返回路径平面上的间隙_裁切机的上刀下刀如何调整?
- charles代理手机调试_H5开发 移动端 调试之 Charles 抓包 和 Map Remote
- java笔试题_Java面试才到笔试就没有然后了?快来签收,高频笔试57题及解答
- C语言精髓篇|函数的参数和返回值
- layui 分页 固定底部_论layui的使用体验
- ns-3文件编译出错总结
- 串口转换器的工作方式及通讯模式介绍
- 工业交换机如何预防雷电?
- 【渝粤教育】国家开放大学2018年秋季 2083T信息技术与教育技术(2) 参考试题