龙空技术网

【Oracle】存储过程 Drop后闪回恢复

弹指一辉 6

前言:

此刻兄弟们对“oracle调用带输出参数的存储过程”大概比较关心,看官们都想要剖析一些“oracle调用带输出参数的存储过程”的相关内容。那么小编也在网摘上汇集了一些有关“oracle调用带输出参数的存储过程””的相关文章,希望咱们能喜欢,姐妹们一起来学习一下吧!

文中使用的Oracle版本为10g。

flashback教程又来了,这次flashback的是误操作删除的存储过程。

本操作需要在获得DBA账号权限的前提下进行操作,只要执行如下脚本:

select textfrom dba_source as of timestamp to_timestamp('<time>', 'YYYY-MM-DD HH24:MI:SS')where owner = '<tablespace>' and name = '<procedures_name>'order by line;

这条语句共需传入3个参数,一个是时间,这个时间一般来说是被删除的确切时间。第二个是表空间,有了表空间才知道存储过程的拥有者是谁,最后是存储过程的名称,这个好理解如果连删除掉的存储过程名称都不知道那还查个鬼。

最后需要根据行序号(line)进行自然排序,为什么还需要排序呢?

因为查询出来的内容虽然说是存储过程,但是是一个数据集来的。可以简单理解成原本存储过程的每一行在这里会形成一行记录,同时会被记录行数。将所有内容都导出到命令窗口中进行再执行即可恢复存储过程。

这样就很有意思了,从这里可以推测出Oracle数据库在存储未知容量的数据时也是通过切割存储的方式来存储的,这种方式会形成一张虚拟的纵表,纵表内容可以超出一般字段类型的容量大小。这为后面我们做大数据量存储提供了思路。

标签: #oracle调用带输出参数的存储过程