oracle-odu小试牛刀--恢复drop表的数据
|
SQL> alter tablespace zdgame2 offline;
Tablespace altered.
|
2. 然后需要使用logminer来查找被drop表的data object id:
|
SQL> select group#,status from v$log;
GROUP# STATUS
---------- ----------------
1 INACTIVE
2 CURRENT
3 INACTIVE
SQL> select member from v$logfile where group#=2;
MEMBER
--------------------------------------------------
/u01/app/oradata/ora11g/redo02.log
SQL> exec sys.dbms_logmnr.add_logfile(logfilename=>'/u01/app/oradata/ora11g/redo02.log');
PL/SQL procedure successfully completed.
SQL> exec sys.dbms_logmnr.start_logmnr(options=>sys.dbms_logmnr.dict_from_online_catalog);
PL/SQL procedure successfully completed.
SQL> select scn,to_char(timestamp,'yyyymmddhh24miss'),sql_redo from v$logmnr_contents where operation='DDL' and sql_redo like '%acct_module_role%' order by 2
--在这里得到drop表的时间结点 --20151125113452
SQL> select scn,timestamp,sql_redo from v$logmnr_contents where timestamp=to_date('2015-11-25 11:34:52','yyyy-mm-dd hh24:mi:ss') order by 1;
1.0790E+12 25-NOV-15
delete from "SYS"."OBJ$" where "OBJ#" = '68199' and "DATAOBJ#" = '68199' and "OW
SCN TIMESTAMP
---------- ---------
SQL_REDO
--------------------------------------------------------------------------------
NER#" = '62' and "NAME" = 'ACCT_MODULE_ROLE' and "NAMESPACE" = '1' and "SUBNAME"
IS NULL and "TYPE#" = '2' and "CTIME" = TO_DATE('25-NOV-15', 'DD-MON-RR') and "
MTIME" = TO_DATE('25-NOV-15', 'DD-MON-RR') and "STIME" = TO_DATE('25-NOV-15', 'D
D-MON-RR') and "STATUS" = '1' and "REMOTEOWNER" IS NULL and "LINKNAME" IS NULL a
nd "FLAGS" = '0' and "OID$" IS NULL and "SPARE1" = '6' and "SPARE2" = '1' and "S
PARE3" = '62' and "SPARE4" IS NULL and "SPARE5" IS NULL and "SPARE6" IS NULL and
ROWID = 'AAAAASAABAAAP25AAI';
|
从最后一个查询语句从可以看到 objectid 为:68199
|
[oracle@***** odu]$ ./odu
Oracle Data Unloader:Release 3.0.8
Copyright (c) 2008,2009 XiongJun. All rights reserved.
Email: magic007cn@gmail.com
loading default config.......
byte_order little
block_size 8192
db_timezone -7
client_timezone 8
data_path data
charset_name ZHS16GBK
ncharset_name AL16UTF16
output_format text
lob_storage infile
clob_byte_order little
load control file 'config.txt' successful
loading default control file ......
ts# fn rfn bsize blocks bf offset filename
---- ---- ---- ----- -------- -- ------ --------------------------------------------
0 1 1 8192 89600 N 0 /u01/app/oradata/ora11g/system01.dbf
1 2 2 8192 76800 N 0 /u01/app/oradata/ora11g/sysaux01.dbf
2 3 3 8192 76160 N 0 /u01/app/oradata/ora11g/undotbs01.dbf
4 4 4 8192 14560 N 0 /u01/app/oradata/ora11g/users01.dbf
5 5 5 8192 2621440 N 0 /data/oradata/ora11g/******.dbf
6 6 6 8192 1310720 N 0 /data/oradata/ora11g/******.dbf
load control file 'control.txt' successful
loading dictionary data......
ODU> scan extent tablespace 5;
scan extent start: 2015-11-25 11:52:21
scanning extent...
scanning extent finished.
scan extent completed: 2015-11-25 11:52:27
ODU> unload object 68199 sample --68199是上面查出来的结果
Unloading Object,object ID: 68199, Cluster: 0
output data is in file : 'data/ODU_0000068199.txt'
Sample result:
object id: 68199
tablespace no: 5
sampled 56 rows
column count: 6
column 1 type: NUMBER
column 2 type: VARCHAR2
column 3 type: VARCHAR2
column 4 type: VARCHAR2
column 5 type: NUMBER
column 6 type: NUMBER
COMMAND:
unload object 68199 tablespace 5 column NUMBER VARCHAR2 VARCHAR2 VARCHAR2 NUMBER NUMBER
ODU> unload object 68199 tablespace 5 column NUMBER VARCHAR2 VARCHAR2 VARCHAR2 NUMBER NUMBER
Unloading Object,object ID: 68199, Cluster: 0
56 rows unloaded
|
|
[oracle@×××××× data]$ ll
total 20
-rw-r--r-- 1 oracle dba 366 Nov 25 11:54 ODU_0000068199.ctl
-rw-r--r-- 1 oracle dba 184 Nov 25 11:54 ODU_0000068199.sql --为建表语句
-rw-r--r-- 1 oracle dba 7264 Nov 25 11:54 ODU_0000068199.txt --恢复的数据
-rw-r--r-- 1 oracle dba 773 Nov 25 11:53 sample.txt
|
oracle-odu小试牛刀--恢复drop表的数据的更多相关文章
- Oracle 备份、恢复单表或多表数据步骤
Oracle 备份.恢复单表或多表数据步骤,适用于 Oracle 8.9.10. *备份单表或多表数据: exp user/password@server file=filefullpa ...
- oracle 批量更新之将一个表的数据批量更新至另一个表
oracle 批量更新之将一个表的数据批量更新至另一个表 CreationTime--2018年7月3日17点38分 Author:Marydon Oracle 将一个表的指定字段的值更新至另一个 ...
- Oracle使用fy_recover_data恢复truncate删除的数据
(一)truncate操作概述 在生产中,truncate是使用的多的命令,在使用不当的情况下,往往会造成表的数据全部丢失,恢复较为困难.对于truncate恢复,常见的有以下几种方法可以进行恢复: ...
- oracle RAC 11g sqlload 生产表导入数据(ORA-12899)
背景:由于即将来临的双十一,业务部门(我司是做京东,天猫的短信服务),短信入库慢,需要DBA把数据库sqlload进数据库. 表结构如下: MRS VARCHAR2(100), STATUS VARC ...
- oracle批量修改多个表的数据
方法一 写PL/SQL,开cursor declare l_varID varchar2(20); l_varSubName varchar2(30); cursor mycur is sele ...
- mysql InnoDB通过.frm和.ibd恢复表和数据
ibdata1是一个用来构建innodb系统表空间的文件,这个文件包含了innodb表的元数据.撤销记录.修改buffer和双写buffer.如果file-per-table选项打开的话,该文件则不一 ...
- 两种方法将oracle数据库中的一张表的数据导入到另外一个oracle数据库中
oracle数据库实现一张表的数据导入到另外一个数据库的表中的方法有很多,在这介绍两个. 第一种,把oracle查询的数据导出为sql文件,执行sql文件里的insert语句,如下: 第一步,导出sq ...
- Oracle中恢复drop掉的表中的数据
今天同事不小心把生产上的一张表直接drop掉了,没有做备份,哥们慌的一匹,来找我这个小白来帮忙解决,于是心血来潮简单总结一下. 其实在oralce中,用drop删掉一张表,其实不会真正的删除,只是把表 ...
- Oracle恢复drop误删除的表和建用户操作
一.表的恢复 对误删的表,只要没有使用PURGE永久删除选项,那么从flash back区恢复回来希望是挺大的.一般步骤有: 1.从flash back里查询被删除的表 select * from r ...
随机推荐
- HTML页面刷新、跳转
HTML方式 1.页面刷新 <!-- 5秒之后,跳转到http://www.qunar.com页面 --> <meta http-equiv="refresh" ...
- ZooKeeper -- 分布式开源协调服务
ZooKeeper是一个为分布式应用所设计的开源协调服务,适用于大型的分布式系统,可以提供统一命名服务.状态同步服务.集群管理.分布式应用配置项的管理等服务.ZooKeeper支持Java和C两种编程 ...
- ORACLE 11G内存管理方式
SGA包含的组件: 组件名 说明 参数 buffer cache 存放从数据文件中读取的数据拷贝,所有用户之间是可以共享的 db_cache_size db_keep_cache_size db_re ...
- ViewController添加子控制器 并且弹出
/** * 初始化子控制器 */ - (void)setupChildVcs { for (int i = 0; i<6; i++) { UIViewController *vc = [[UI ...
- PostgreSQL表空间
postgres=# \h create tablespace Command: CREATE TABLESPACEDescription: define a new tablespaceSyntax ...
- 转:Curl详解
用途说明 curl命令是一个功能强大的网络工具,它能够通过http.ftp等方式下载文件,也能够上传文件.其实curl远不止前面所说的那些功能,大家可以通过man curl阅读手册页获取更多的信息.类 ...
- jquery ajax 个人总结
jquery : 在获取对象的时候,不要用dem的与jquery的混合写法,有的时候 用js获取到的对象 没有JQUERY对应的方法 会报一些不知道的错误.(即如果要使用jquery 就使用jque ...
- malloc心得
使用malloc时,要有一种在内存中随机分配一块内存的思想,然后再把分配好的内存的首地址返回来.
- UVALive 6145 Version Controlled IDE(可持久化treap、rope)
题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_ ...
- hdu4918 Query on the subtree
树分治,设当前树的分治中心为x,其子树分治中心为y,则设father[y]=x,分治下去则可以得到一颗重心树,而且树的深度是logn. 询问操作(x,d),只需要查询重心树上x到重心树根节点上的节点的 ...