`
itspace
  • 浏览: 961076 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

ORACLE 9I 删除列以后怎么恢复数据

阅读更多
论坛上有位朋友提到:
“删除列以后怎么恢复数据

ora9i 数据库里面
有个朋友误操作,执行了
alter table xxx drop column xxx_col
被删除的列是有值的,
现在怎么才能找回来被删掉的列的值。

俺试了logmgr,可惜只能找到alter table的信息,
请大家看看有什么办法。”
===========================
下面我们就做个测试,呵呵
SQL> select * from v$version;

BANNER
----------------------------------------------------------------
Oracle9i Enterprise Edition Release 9.2.0.4.0 - 64bit Production
PL/SQL Release 9.2.0.4.0 - Production
CORE    9.2.0.3.0       Production
TNS for Linux: Version 9.2.0.4.0 - Production
NLSRTL Version 9.2.0.4.0 - Production

1.创建一张测试表
SQL>  create table t  (a number,b number);

Table created.

SQL>  insert into t values (1,2);

1 row created.

SQL> /

1 row created.

SQL> /

1 row created.

SQL> commit;

Commit complete.

2。取得当前scn

SQL> col scn for 999999999999999999999
SQL> select dbms_flashback.get_system_change_Number  scn from dual;

                   SCN
----------------------
                306920
3.使用闪回查询
SQL> select * from t as of scn 306920;

         A          B
---------- ----------
         1          2
         1          2
         1          2
可以看到在scn为306920有2列3行数据。
4。删除其中一列数据
SQL> alter table t drop column a;

Table altered.
5.再次使用闪回查询

SQL> select * from t as of scn 306920;
select * from t as of scn 306920
              *
ERROR at line 1:
ORA-01466: unable to read data - table definition has changed
很显然,闪回查询不支持,因为此时表结构已经发生了变化。
发生这种情况,9i只能使用不完全恢复,恢复到306920,将数据库read only,然后导出表格T。10g碰到这种情况方便许多了,在闪回打开的情况下,只需要将数据库闪回到306920 read only打开即可。

0
0
分享到:
评论
2 楼 itspace 2010-01-20  
rabbitbug 写道
把数据库闪回到306920后
那期间其他修改的数据怎么恢复到最新的状态?
能不能只表闪回?

如果表结构发生变化,闪回表格是不支持的。
1 楼 rabbitbug 2010-01-19  
把数据库闪回到306920后
那期间其他修改的数据怎么恢复到最新的状态?
能不能只表闪回?

相关推荐

    在windows下删除oracle9i

    在windows下删除oracle9i,通过本文档可以直接删除电脑所装的oracle

    Oracle9i灾难恢复详细步骤 pdf

    Oracle9i灾难恢复详细步骤 编写本篇文档的目的是当Oracle9i 数据库出现灾难时怎样使用有效备份来进行数据库的不完全恢复。 二、本文档适合情况 1. 服务器崩溃,例如所有硬盘损坏、存储损坏,造成数据库崩溃,丢失...

    Oracle 9i中如何监视索引的使用情况

    索引可以加速查询搜索,特别是在一个数据仓库的环境中...在Oracle9i之前,要知道一个索引是否被使用是困难的,因此许多数据库都有许多没用的索引。本文的目的就是向大家介绍通过Oracle9i中的新特性来辨别未使用的索引。

    ORACLE9i_优化设计与系统调整

    §1.1.1 Oracle数据字典 23 §1.1.2 表空间与数据文件 24 §1.1.3 Oracle实例(Instance) 24 §1.2 Oracle文件 26 §1.2.1 数据文件 26 §1.2.2 控制文件 26 §1.2.3 重做日志文件 26 §1.2.4 其它支持文件 26 §...

    利用oracle闪回技术恢复误删除的表或误更新的记录.pdf

    为了使 Oracle 数据库从任何逻辑误操作中迅速地恢复,Oracle 推出了闪回技术。 该技术首 先以闪回查询( Flashback Query)出现在 Oracle 9i 版本中,后来 Oracle 在 10g 中对该技术 进行了全面扩展,提供了闪回...

    Oracle8i_9i数据库基础

    §10.1.4 快速大量删除数据Truncate 215 §10.1.5 Rowid的使用 215 §10.1.6 在查询中不让记录被更新 217 §10.1.7 EXCEPTIONS(违反完整性)问题 217 §10.1.8 Not in和Not Exists 218 §10.1.9 关于 COPY命令 218 ...

    《Oracle 9i中文版基础教程 》随书光盘

    4.6 书4.6节的SQL录入数据命令范例 4.7 书4.7节的SQL删除数据命令范例 4.8 书4.8节的SQL更新数据命令范例第5章 Jinit11810.exe,基于Web的管理客户机程序第6章 初始化参数文件init.ora第7章 常见方案对象的SQL命令...

    清除Oracle中无用索引

    让我们看看Oracle9i提供了什么样的方法让你找到这些索引并删除它们。过程是相当简单的。Oracle9i有一个工具能够让你使用ALTER INDEX命令监视索引的使用。然后你可以查找这些没有使用的索引并从数据库里删除它们。

    赤兔Oracle数据库恢复软件 v11.6.zip

    31.支持对误删除数据的恢复,即使被删除数据的表中有LOB列,即使被删除数据的表中对应row directory中所有记录的offset都已经完全被Oracle清除 赤兔Oracle数据库恢复软件软件安装   把下载好的安装包解压到...

    Oracle9i的init.ora参数中文说明

    Oracle9i初始化参数中文说明 Blank_trimming: 说明: 如果值为TRUE, 即使源长度比目标长度 (SQL92 兼容) 更长, 也允许分配数据。 值范围: TRUE | FALSE 默认值: FALSE serializable: 说明: 确定查询是否获取表级...

    删除Oracle数据库的方法

    彻底删除Windows上的Oracle试试: 1、 开始->设置->控制面板->管理工具->服务 停止所有Oracle服务。 2、 开始->程序->Oracle - OraHome92->Oracle ...3、注册表键删除:运行“删除Orcal 9i数据库.bat”。

    POWER DATA RECOVERY深度扫描恢复数据软件

    深度扫描恢复数据软件,是一款专门针对oracle数据库在磁盘中被删除,以及误格式化等情况。软件采用最新的碎片级恢复技术,可以在文件系统或者文件破坏严重的情况下完美恢复数据。支持从oracle8i,oracle 9i,oracle 10...

    蓝梦软件BestRecoveryForOracle碎片级数据恢复软件

    支持从oracle8i,oracle 9i,oracle 10g,oracle 11g数据库的碎片恢复,并且支持所有的页面大小:从1024字节 - 32768字节全线支持。在普通恢复软件对oracle恢复无效的情况下,oracle数据库恢复软件将是您的首选。 ...

    oracle数据库丢失恢复 ,systen01,dbf丢失恢复程序

    4.支持oracle windows linux unlix平台的数据库,的数据文件实例恢复,在DBA无法恢复的情况我们是最后的选择。 5.自动识别块大小,也可指定块大小,在表空间块大小不一致的情况下,可自动识别每个表空间的原始块...

    PRM-DUL Oracle(数据库恢复工具) v4.1.zip

    PRM-DUL Oracle数据库恢复工具,一款专为Oracle数据救援而研发的企业级工具。可在多个操作平台(AIX/HPUX/SOLARIS/Linux/Windows)使用并支持对Oracle 9i/10g/11g/12c各版本数据库的数据救援工作。软件基于JAVA 开发...

    清除Oracle中无用索引 改善DML性能

    许多Oracle管理人员只要看见在一个...在Oracle9i出现以前,没有办法确定SQL查询没有使用的索引。Oracle9i有一个工具能够让你使用ALTER INDEX命令监视索引的使用。你可以查找这些没有使用的索引并从数据库里删除它们。

    oracle 12c 数据库 教程

    Spfile:二进制,9i 之后 Pfile:文本,9i 之前 6 可以将 spfile 转换为 pfile 6 注意:scope 的取值有三个:memory、spfile、both 7 一个表空间(tablespace)由一组段组成 8 Tablespaces(表...

    天盾Oracle数据库恢复软件 v1.1.zip

    天盾oracle数据库恢复软件是一款针对oracle数据库在磁盘中被删除,以及误格式化等情况而设计的专门的数据库恢复软件。 软件采用最新的碎片级恢复技术,可以在文件系统或者文件破坏严重的情况下完美恢复客户的数据。...

    Oracle_RAC安装配置指导书

     Oracle RAC主要支持Oracle9i、10g、11g版本,可以支持24 x 7 有效的数据库应用系统,在低成本服务器上构建高可用性数据库系统,并且自由部署应用,无需修改代码。在Oracle RAC环境下,Oracle集成提供了集群软件和...

Global site tag (gtag.js) - Google Analytics