欢迎光临
我们一直在努力

搜索Oracle DDL中的关键字

如果要导出DD用户下的所有定义,那么在SQL*Plus中代码如下所示:

SET PAGESIZE 0

SET TRIMSPOOL ON

SET LINESIZE 10000

SET LONG 90000

SET FEEDBACK OFF

SET FEED OFF

SET ECHO OFF

SPOOL /tmp/schema_dd.sql

SELECT CASE

         WHEN U.OBJECT_TYPE IN

              ('PROCEDURE', 'FUNCTION','PACKAGE', 'TRIGGER') THEN

          DBMS_METADATA.GET_DDL(U.OBJECT_TYPE, U.OBJECT_NAME, 'DD') ||

          CHR(10) || '/'

         ELSE

          DBMS_METADATA.GET_DDL(U.OBJECT_TYPE, U.OBJECT_NAME, 'DD')||

          CHR(10) || ';'

       END AS SCOTT_DDL

  FROM USER_OBJECTS U

 WHERE U.OBJECT_TYPE IN

       ('PROCEDURE','FUNCTION','PACKAGE','TRIGGER')

       AND U.OBJECT_NAME not like 'BIN%';

SPOOL OFF;

则可以导出DD用户下所有的DDL语句到/tmp/schema_dd.sql文件中。

找DDL中的关键字

fgrep 999 * | grep -v 999999

fgrep 9999 * | grep -v 999999

fgrep CN30006 * | grep -v CN300006

fgrep CN3000006 * | grep -v CN300006

另外一个更简单的找关键字的方法

select * from dba_source t where OWNER='DD' and upper(text) like '%999%' and upper(text) not like '%999999%';

select * from dba_source t where OWNER='DD' and upper(text) like '%CN30006%' and upper(text) not like '%CN300006%';

select * from dba_source t where OWNER='DD' and upper(text) like '%CN3000006%' and upper(text) not like '%CN300006%';

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。