通过shell脚本查看procedure的信息(r2笔记85天)

在一个schema中,可能含有大量的procedure, 有时候想查看具体的信息,一般得通过toad,plsql dev等工具来查看,有时候在尽可能摆脱图形工具的前提下,想能够尽快的查找一些信息,还是使用shell脚本更快,更准,更直接。 可以使用如下的shell脚本来查找procedure的信息。 以下的脚本可以查找是否有需要的prcedure信息。

PROC_OWNER=`sqlplus -silent $DB_CONN_STR@$SH_DB_SID <<END
set pagesize 40 feedback off verify off heading on echo  off
col owner format a20
col object_name format a30
set linesize  150
select owner,  object_name,object_id,object_type,aggregate,pipelined,parallel,interface,deterministic,authid  from dba_procedures
where owner=upper('$1')   and  object_type='PROCEDURE'  and object_name like '%'||upper('$2')||'%'
/
exit;
END`
if [ -z "$PROC_OWNER" ]; then
 echo "no object exists, please check  again"
 exit 0
else
 echo  '*******************************************'
 echo " $PROC_OWNER     "
 echo  '*******************************************'
fi

以下的脚本可以查看对应的procedure信息

PROC_OWNER=`sqlplus -silent $DB_CONN_STR@$SH_DB_SID <<END
set pagesize 40 feedback off verify off heading on echo  off
col owner format a20
col object_name format a30
set linesize  150
select owner,  object_name,object_id,object_type,aggregate,pipelined,parallel,interface,deterministic,authid  from dba_procedures
where owner=upper('$1')   and  object_type='PROCEDURE'  and object_name like '%'||upper('$2')||'%'
/
exit;
END`
if [ -z "$PROC_OWNER" ]; then
 echo "no object exists, please check  again"
 exit 0
else
 echo  '*******************************************'
 echo " $PROC_OWNER     "
 echo '*******************************************'
fi

脚本运行的结果如下:

[ora11g@rac1 dbm_lite]$ ksh findproc.sh  n1
*******************************************
 
OWNER                 OBJECT_NAME                     OBJECT_ID OBJECT_TYPE   AGG PIP PAR INT DET  AUTHID
-------------------- ------------------------------ ----------  ------------- --- --- --- --- --- ------------
N1                   TEST_DUMP_CSV                        15163 PROCEDURE     NO  NO  NO  NO  NO  DEFINER    
*******************************************
[ora11g@rac1 dbm_lite]$ ksh  showproc.sh n1 test_dmp_csv
no object exists, please check  again

[ora11g@rac1 dbm_lite]$ ksh showproc.sh n1  test_dump_csv
*******************************************
 
OWNER                 OBJECT_NAME                     OBJECT_ID OBJECT_TYPE   AGG PIP PAR INT DET  AUTHID
-------------------- ------------------------------ ----------  ------------- --- --- --- --- --- ------------
N1                    TEST_DUMP_CSV                       15163 PROCEDURE     NO  NO  NO  NO  NO   DEFINER    
*******************************************
.
procedure  test_dump_csv
as
    l_rows  number;
begin
    l_rows := dump_csv(  'select *
                           from t
                            ',
                        ',', '/tmp', 'test.dat' );
end;

原文发布于微信公众号 - 杨建荣的学习笔记(jianrong-notes)

原文发表时间:2014-09-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏杨建荣的学习笔记

生产环境sql语句调优实战第七篇(r2笔记99天)

在数据迁移完成之后,开始了例行的后期数据库维护,早上一来就发现了一个sql执行时间很长了。达到了37279秒。最后在改进调优之后执行速度在1分钟以内。 这个速度...

3428
来自专栏数据库新发现

如何使用USE_CONCAT提示

USE_CONCAT提示强迫优化器扩展查询中的每一个OR谓词为独立的查询块. 最后合并所有查询块的结果,返回结果集给用户。

1262
来自专栏杨建荣的学习笔记

关于drop user的cascade选项解惑(52天)

在数据库中,有时候需要删除用户,大多数时候都需要使用cascade选项,有些时候却不需要,想知道在这个简单的命令之后数据库倒底在干什么, 这时候给一些指定的操作...

3678
来自专栏杨建荣的学习笔记

数据库突然宕机无法open的问题及解决

测试的数据库有一天突然宕机,然后无法正常open了,这个问题虽然过去了一段时间,也在这儿总结一把。 从alert日志中的信息如下。 Fri Jan 10 16...

3626
来自专栏杨建荣的学习笔记

物化视图相关的性能改进 (r7笔记第58天)

今天早上开发的一个同事找到我说他早上做了一个统计查询,但是感觉速度很慢,已经过了一个小时了还没有反应。想让我看看是什么情况。 我通过v$session查到有一个...

3375
来自专栏杨建荣的学习笔记

巧用shell脚本分析数据库用户(r2第4天)

在数据库维护中,可能对于一个陌生的schema,需要了解它的一些情况,可以使用如下的脚本来很快得到一个报告,里面包含了详尽的信息。 用户占用的空间,权限,角色和...

3327
来自专栏deed博客

Oracle在Linux下安装

2042
来自专栏杨建荣的学习笔记

Oracle 12c中JOB运行失败的简单处理(r11笔记第66天)

在之前简单分析过一个12c中数据字典的小问题。 Oracle 12c数据字典的小问题(r11笔记第49天) 最近查看邮件,12c的一个PDB还是存在JOB运行异...

3217
来自专栏杨建荣的学习笔记

关于等待事件"read by other session"(r3笔记第89天)

在查看数据库负载的时候,发现早上10点开始到12点的这两个钟头,系统负载异常的高。于是抓取了一个awr报告。 Snap IdSnap TimeSessions...

2939
来自专栏杨建荣的学习笔记

11g升级性能问题之一 重建user_synonyms (笔记27天)

在测试环境11g升级之后,从测试那边反馈查询syn反应很慢。要持续差不多10分钟。其实这个syn中的数据只有200多条第一反应是cpu 100%了,查看果然是因...

3475

扫码关注云+社区