通过shell脚本查看procedure的信息

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

可以使用如下的shell脚本来查找procedure的信息。
以下的脚本可以查找是否有需要的prcedure信息。

PROC_OWNER=`sqlplus -silent $DB_CONN_STR@$SH_DB_SID < 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 < 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;

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23718752/viewspace-1263598/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/23718752/viewspace-1263598/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值