oracle 存储过程误删,存储过程误删可以恢复吗?

********************************************************************************

以下是详细验证代码,oracle 9i

********************************************************************************

SQL*Plus: Release 9.2.0.1.0 - Production on 星期三 3月 25 20:39:50 2009

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.

SQL> connect sys/system@orcl as sysdba;

已连接。

SQL> grant execute on dbms_flashback to scott;

授权成功。

SQL> connect scott/tiger@orcl

已连接。

SQL> create or replace procedure test

2  as

3  begin

4    null;

5  end;

6  /

过程已创建。

SQL> select name,type,line,text from user_source where name = 'TEST';

NAME                           TYPE               LINE TEXT

------------------------------ ------------ ---------- --------------------------------------------------

TEST                           PROCEDURE             1 procedure test

TEST                           PROCEDURE             2 as

TEST                           PROCEDURE             3 begin

TEST                           PROCEDURE             4   null;

TEST                           PROCEDURE             5 end;

SQL> select dbms_flashback.get_system_change_number from dual;

GET_SYSTEM_CHANGE_NUMBER

------------------------

441590592

SQL> drop procedure test;

过程已丢弃。

SQL> select name,type,line,text from user_source where name = 'TEST';

未选定行

SQL> connect sys/system@orcl as sysdba;

已连接。

SQL> alter system checkpoint;

系统已更改。

SQL> connect scott/tiger@orcl

已连接。

SQL> select dbms_flashback.get_system_change_number from dual;

GET_SYSTEM_CHANGE_NUMBER

------------------------

441591005

SQL> exec  dbms_flashback.enable_at_system_change_number(441590592);

PL/SQL 过程已成功完成。

SQL> select name,type,line,text from user_source where name = 'TEST';

NAME                           TYPE               LINE TEXT

------------------------------ ------------ ---------- --------------------------------------------------

TEST                           PROCEDURE             1 procedure test

TEST                           PROCEDURE             2 as

TEST                           PROCEDURE             3 begin

TEST                           PROCEDURE             4   null;

TEST                           PROCEDURE             5 end;

SQL> exec dbms_flashback.disable;

PL/SQL 过程已成功完成。

SQL> insert into user_source select * from user_source as of scn(441590592);

insert into user_source select * from user_source as of scn(441590592)

*

ERROR 位于第 1 行:

ORA-01031: 权限不足

SQL> connect sys/system@orcl as sysdba;

已连接。

SQL> grant insert on user_source to scott;

授权成功。

SQL> connect scott/tiger@orcl

已连接。

SQL> insert into user_source select * from user_source as of scn(441590592);

insert into user_source select * from user_source as of scn(441590592)

*

ERROR 位于第 1 行:

ORA-01031: 权限不足

SQL> connect sys/system@orcl as sysdba;

已连接。

SQL> insert into user_source select * from user_source as of scn(441590592);

insert into user_source select * from user_source as of scn(441590592)

*

ERROR 位于第 1 行:

ORA-01732: 此视图的数据操纵操作非法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值