通过shell脚本查看procedure的信息

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

目录
相关文章
|
4天前
|
Java 关系型数据库 MySQL
Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
【4月更文挑战第12天】Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
30 3
|
1天前
|
监控 Shell 应用服务中间件
第十二章 Shell脚本编写及常见面试题(二)
第十二章 Shell脚本编写及常见面试题(二)
|
1天前
|
监控 关系型数据库 Shell
第十二章 Shell脚本编写及常见面试题(一)
第十二章 Shell脚本编写及常见面试题(一)
|
2天前
|
监控 Shell
生产环境Shell脚本Ping监控主机是否存活(多种方法)
生产环境Shell脚本Ping监控主机是否存活(多种方法)
|
2天前
|
运维 Shell
Shell脚本判断IP是否合法性(多种方法)
Shell脚本判断IP是否合法性(多种方法)
|
8天前
|
运维 监控 Shell
利用Shell脚本编写局域网监控软件:实时监测主机连接情况
本文介绍了如何使用Shell脚本创建一个局域网监控工具,以实时检查主机连接状态。脚本包括扫描IP地址范围检测主机可达性及使用`netstat`监控ESTABLISHED连接。此外,还展示了如何每60秒将连接数数据自动提交到指定网站API,以便实时跟踪网络活动。这个自动化监控系统有助于提升网络安全性和故障排查效率。
32 0
|
9天前
|
Shell
Shell脚本之流程控制语句
Shell脚本之流程控制语句
|
10天前
|
JSON 运维 监控
训练shell常用脚本练习(三)
【4月更文挑战第14天】shell代码训练(三)
31 1
|
13天前
|
存储 弹性计算 Shell
ecs服务器shell常用脚本练习(十)
【4月更文挑战第11天】shell代码训练(十)
143 0
|
14天前
|
弹性计算 Shell Go
ecs服务器shell常用脚本练习(九)
【4月更文挑战第10天】shell代码训练(八)
140 0