oracle恢复误删除表

oracle恢复误删除表
 
今天用PLSQL不知道什么原因,用户下的所有表都没了,感觉可能是有人误删了。
部分转于:www.2cto.com  (在使用中遇到一些情况,加少许补充)

最终使用以下命令恢复:
if(您要使用下面这个命令,请先看后面的准备工作)
{
flashback table username.T_tableName to before drop;
                ~~~~~~~~ ~~~~~~~~~~~
                (蓝色)  (红色)
红字:需要恢复的表名
篮字:指定某一用户下的表(这部分可缺省,此时默认恢复该登录用户下的表)}
 
该命令支持 Oracle9i以上版本
准备工作: 
注意需要启动Flashback功能
启用 数据库Flashback 功能 

在win的服务里把所有标记为自动Oracle的服务全都启动起来.如果是Oracle10G,应该有4个服务.
然后,运行cmd.exe,如果Oracle就按照在本机,输入如下命令:sqlplus /nolog.完成后会进入到SQL>的提示符.
这时候如果win的Oracle服务启动起来了,则数据库正常情况下是mount并且是open的,
要想使用startup mount命令,则需要先关闭Oracle数据库.输入:
SQL>shutdown immediate;
就可以关闭数据库.然后,就可以使用startup mount启动数据库到mount状态了.
如果后面还要打开的话,输入
SQL>alter database open;
则会打开数据库.

 
1). 数据库启动到mount状态 
SQL> startup mount; 
2). 检查Flashback 功能, 缺省时功能是关闭的。 
SQL> select name, current_scn, flashback_on from v$database; 
NAME    CURRENT_SCN  FLASHBACK_ON 
--------    -----------          ------------------ 
DBA      945715          NO 
  
3). 启动Flashback功能 
SQL>  alter database flashback on; 
数据库已更改。 
 
SQL>  select name, current_scn, flashback_on from v$database; 
NAME      CURRENT_SCN FLASHBACK_ON 
--------- ----------- ------------------ 
DBA                 0 YES 

本文仅供参考,不当之处请批评指正。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值