ORACLE中取PACKAGE脚本,Oracle通过shell脚本查看package的信息

有时候想查看一个package的信息,但是对于package的名字不是很确定,比如只知道一个大概,知道一些关键字,这个时候通过图形工具

有时候想查看一个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 like upper('$2%') and type='PACKAGE'

and (text like '%PROCEDURE %' or text like '%FUNCTION %' )

order by name,line;

exit;

END`

echo "  $PACK_LIST    "

echo '*******************************************'

fi

exit

运行脚本的情况如下所示。

[ora11g@rac1 dbm_lite]$ ksh findpack.sh sys dbms_metadata

*******************************************

OBJECT_NAME                    OWNER                SUBOBJECT_ OBJECT_TYPE          OBJECT_ID CREATED  LAST_DDL_ STATUS

------------------------------ -------------------- ---------- ------------------- ---------- --------- --------- -------

DBMS_METADATA                  SYS                            PACKAGE BODY            11981 23-JAN-14 23-JAN-14 VALID

SYS                            PACKAGE                  8399 23-JAN-14 23-JAN-14 VALID

DBMS_METADATA_BUILD            SYS                            PACKAGE                  8401 23-JAN-14 23-JAN-14 VALID

SYS                            PACKAGE BODY            11984 23-JAN-14 23-JAN-14 VALID

DBMS_METADATA_DIFF            SYS                            PACKAGE BODY            11986 23-JAN-14 23-JAN-14 VALID

SYS                            PACKAGE                  8405 23-JAN-14 23-JAN-14 VALID

DBMS_METADATA_DPBUILD          SYS                            PACKAGE BODY            11985 23-JAN-14 23-JAN-14 VALID

SYS                            PACKAGE                  8403 23-JAN-14 23-JAN-14 VALID

DBMS_METADATA_INT              SYS                            PACKAGE BODY            11982 23-JAN-14 23-JAN-14 VALID

SYS                            PACKAGE                  9666 23-JAN-14 23-JAN-14 VALID

DBMS_METADATA_UTIL            SYS                            PACKAGE                  9681 23-JAN-14 23-JAN-14 VALID

SYS                            PACKAGE BODY            11983 23-JAN-14 23-JAN-14 VALID

NAME                          TEXT

------------------------------ ----------------------------------------------------------------------------------------------------

DBMS_METADATA                    FUNCTION open (

PROCEDURE set_filter (

PROCEDURE set_filter (

PROCEDURE set_filter (

PROCEDURE set_count (

PROCEDURE set_xmlformat (

FUNCTION get_query (

如果想知道更多的package的信息,可以使用如下的脚本。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值