oracle中如何找包体 oracle中的包

如何读取oracle的包\包体和视图的定义查看表的定义:
set long 999999
select dbms_metadata.get_ddl('TABLE',upper('table_name') from dual ;
查看视图的定义:
select text from user_views where view_name=upper('view_name') ;
查看index的定义:
select dbms_metadata.get_ddl('INDEX',upper('index_name') from dual ;
select index_name,index_type,table_owner,table_name from user_indexes where table_name='TEMP3';
查看procedure的定义:
select text from user_source where name='PROCEDURE_NAME' ;
查看trigger的定义:
select trigger_body from user_triggers where trigger_name='trigger_name' ;
如何找回oracle中被覆盖的包体程序SELECT obj#
FROM obj$ AS OF TIMESTAMP TO_TIMESTAMP('删除之前的时间', 'YYYY-MM-DD HH24:MI:SS')
WHERE NAME = '存储过程名';
SELECT *
FROM source$ AS OF TIMESTAMP TO_TIMESTAMP('删除之前的时间', 'YYYY-MM-DD HH24:MI:SS')
WHERE obj# = 172442;
ORDER BY line;
时间不长的话可以使用这种flashback的方式恢复 。
时间太长的话 , 只能使用logminer , 看一下了 。
如何查询oracle pkg可以通过dba_source来查询 。
如,知道pkg名字为STANDARD
则可以:
select * from dba_source where name='STANDARD';
注意:STANDARD必须用应为半角大写 。
结果截图:
【oracle中如何找包体 oracle中的包】关于oracle中如何找包体和oracle中的包的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读