有时候想查看一个package的信息,但是对于package的名字不是很确定,比如只知道一个大概,知道一些关键字,这个时候通过图形工具是查找不到package的信息的,而且对于package的信息,我只关心package里面有哪些存储过程,哪些函数等,看看简单的参数情况就可以了,类似sqlplus的desc的形式。
shell脚本的实现如下,
以下的脚本是查看是否有对应的package信息。
PROC_OWNER=`sqlplus -silent $DB_CONN_STR@$SH_DB_SID <
set pagesize 50 feedback off verify off heading on echo off
col owner format a20
col object_name format a30
col subobject_name format a10
set linesize 150
break on object_name
select object_name,owner,subobject_name,object_type,object_id, created,last_ddl_time,status
from dba_objects where object_type like 'PACKAGE%' and object_name like upper('$2%') and owner=upper('$1')
order by object_name
/
exit;
END`
if [ -z "$PROC_OWNER" ]; then
echo "no object exists, please check again"
exit 0
else
echo '*******************************************'
echo " $PROC_OWNER "
PACK_LIST=` sqlplus -s $DB_CONN_STR@$SH_DB_SID <
col name format a30
col text format a100
set linesize 200
set pages 50
break on name
select name,text from dba_source where owner like UPPER('$1') and name