在一个schema中,可能含有大量的procedure, 有时候想查看具体的信息,一般得通过toad,plsql dev等工具来查看,有时候在尽可能摆脱
在一个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;
本文永久更新链接地址: