如果要导出DD用户下的所有定义,那么在sql*Plus中代码如下所示: SET PAGESIZE 0 SET TRIMSPOOL ON SET LINESIZE 10000 SET LONG 9
如果要导出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%';
--结束END--
本文标题: 搜索Oracle DDL中的关键字
本文链接: https://www.lsjlt.com/news/49217.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-05-13
2024-05-13
2024-05-13
2024-05-13
2024-05-12
2024-05-12
2024-05-12
2024-05-12
2024-05-12
2024-05-12
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0