Oracle数据迁移技巧和优化思路.pdf
2021-06-10 18:05:23 1.79MB Oracle 数据迁移 优化思路
不小心Truncate表的事情也是有的, 其中大部份时因为工具连错了库, 从儿跑错了角本. 遇到这种事情而没有备份时怎么办呢? 首先要停止数据库, 将这个表所在的表空间的文件拷贝出来, 因为Oracle在Truncate只时将相应Segment的第一个块格式化掉了, 而后面的都还存在, 到下次用时到才真正地重新格式化. 下面来讲一个Truncate表后进行恢复的例子: SQL> CREATE TABLE T_TRUNCATE AS SELECT * FROM TAB; Table created. SQL> SELECT COUNT(*) FROM T_TRUNCATE; COUNT(*) ---------- 14 SQL> ALTER SYSTEM CHECKPOINT; System altered. SQL> TRUNCATE TABLE T_TRUNCATE; Table truncated. SQL> ALTER SYSTEM CHECKPOINT; System altered. 在Truncate时只是Segment Header格式化了, 并将Data Object ID换成一个新的值, 我们可以在AUL中用DESC命令来查看: AUL> desc anysql.t_truncate Storage(OBJ#=9976 OBJD=9977 TS=4 FILE=4 BLOCK=5235 CLUSTER=0) No. SEQ INT Column Name Type --- --- --- ----------------------------- ---------------- 1 1 1 TNAME VARCHAR2(30) NOT NULL 2 2 2 TABTYPE VARCHAR2(7) 3 3 3 CLUSTERID NUMBER 要恢复这个表的数据, 首先要在AUL中运行SCAN EXTENT命令, 因为Segment Header被格式化了, 所以Extent Map也可能丢失, 而Scan Extent则将扫描整个数据文件并将Extent分配信息写入AULEXT.TXT文件: AUL> SCAN EXTENT FILE 4 2006-12-18 21:32:10 2006-12-18 21:32:24 恢复的关键是要获得这个表原来的Data Object ID, 在这个例子中我在Truncate表后什么也没有做就关闭数据库进行恢复了. 从上面的DESC命令可以看出表的Segment Header是(4,5235), 而新的Data Object ID是9977, 老的Data Object ID我们可以从Segment Header的后面一个数据块中得到, 如果这个表有几个Free List Group, 则可能还要再后面几个块. 用AUL的ORADUMP命令来看一下后面一个块: AUL> ORADUMP FILE 4 BLOCK 5236 RDBA=0x01001474(4/5236)=16782452,type=0x06,fmt=0xa2,seq=0x02,flag=0x04 seg/obj=0x000026f8=9976,csc=0x0000.0006caf5,itc=3,typ=1 - DATA FLG=0x32, fls=0, nxt=0x01001471(4/5233)=16782449 ...... 可以看到原来的Data Object ID是9976, 现在可以恢复了, 先不指定原来的Data Object ID试试? AUL> unload table anysql.t_truncate; 2006-12-18 21:33:37 Unload OBJD=9977 FILE=4 BLOCK=5235 CLUSTER=0 ... 2006-12-18 21:33:37 接下来指定原来的Data Object ID, 再试试? AUL> unload table anysql.t_truncate object 9976; 2006-12-18 21:33:45 Unload OBJD=9976 FILE=4 BLOCK=5235 CLUSTER=0 ... P_MV_FACT_SALES|TABL
2021-06-10 15:43:12 18KB oracle 数据恢复 FY_Rec Recove
1
Oracle各种常用的数据迁移方法,包含常用的exp/imp,数据泵等 大家可以看看,有什么补充的或者是纠正的欢迎评论!
2021-05-24 09:22:25 1.59MB Oracle 数据迁移
1
oracle数据字典中各列字段的官方解析
2021-05-14 21:02:07 9.61MB oracle
1
Oracle数据恢复工具,本人亲试成功(重装系统导致数据丢失,已恢复),前提是DBF文件还存在,此工具还适合更复杂的数据丢失恢复,请参照使用说明
2021-04-20 14:06:05 7.21MB Oracle 数据恢复 PRM-DUL
plsql12.zip
2021-04-18 18:03:04 36.01MB Oracle数据连接工具
1
从oralce导出数据到文本 速度很快 有两个简单的例子 开发者很牛 就是没找到最新的文档
2021-03-29 16:47:06 333KB sqluldr ociuldr oracle 数据导出
1
Oracle软件误删损坏不用慌,数据恢复技术来帮忙。只要数据文件尚在,无备份文件也能完整恢复数据库。千万不可因为玩坏了数据库而跑路,一切都还有救!
2021-03-19 10:26:57 240KB Oracle 数据恢复
1
oracle连接工具
2021-03-11 12:01:06 14.47MB oracle数据连接连接工具 plSql oracle
1
讲述如何采用最简单的kafka+flume的方式,实时的去读取oracle中的重做日志+归档日志的信息,从而达到日志文件数据实时写入到hdfs中,然后将hdfs中的数据结构化到hive中。
2021-03-02 21:15:26 837KB hadoop kafka flume oracle
1