• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Oracle通过shell脚本查看package的信息

mysql 搞代码 4年前 (2022-01-09) 18次浏览 已收录 0个评论

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

有时候想查看一个package的信息,但是对于package的名字不是很确定,比如只知道一个大概,知道一些关键字,这个时候通过图形工具是查找不到package的信息的,,而且对于package的信息,我只关心package里面有哪些存储过程,哪些函数等,看看简单的参数情况就可以了,类似sqlplus的desc的形式。

shell脚本的实现如下,

以下的脚本是查看是否有对应的package信息。

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

本文来源gaodai^.ma#com搞#代!码网

check again”
exit 0
else
echo ‘*******************************************’
echo ” $PROC_OWNER “

PACK_LIST=` sqlplus -s $DB_CONN_STR@$SH_DB_SID <<END
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的信息,可以使用如下的脚本。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Oracle通过shell脚本查看package的信息

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址