首页 | 分页显示

AUL/MyDUL Archives

April 17, 2008

Oracle DUL不行就用AUL

    几天以前, 有个朋友告诉我某单位的Oracle数据库坏了, 需要恢复, 很想推荐人家用AUL的, 不过客户自已只信任Oracle的, 并且Oracle已经介入了. 于是我就笑着说, Oracle DUL不行时再来用AUL吧.     其实也只是随便说说而已, 没想到昨天再接到那朋友的电话, 说是Oracle DUL恢复遇到了问题, 客户有CLOB列中存放了很多中文, 用DUL恢复出来后, 这些字段值都成了乱码....

April 16, 2008

AUL Sybase数据恢复工具

    前段时间想着要发展其他数据库上面的AUL恢复软件, 前段时间联系了一个Sybase上的高手, 开发了AUL for Sybase, 现在提供的是测试版本, 我们也正在努力地完善它.     用Sybase的数据库朋友可以试试....

March 28, 2008

选择AUL恢复数据的理由

    某全球500强企业的数据库坏了, 都将AUL列为恢复的方案之一, 为什么?     1, 比Oracle的恢复服务便宜, 节约成本.     2, 比Oracle的恢复服务着更快的响应速度.     3, 和Oracle的恢复服务一样的优质, 并且合法.  ...

March 26, 2008

不是好人, 这么无耻!

    对有一件事情一直不能忘怀, 不得不重提旧事, 想起AUL/MyDUL以前被诽谤的事, 有个人在他自已的QQ群中使劲说他的MYjDUL有多了不起, 还不停地遇人就说AUL/MyDUL是抄jDUL的源代码的, 来中伤本人真正原创的软件.     那时因为忙于改进和完善软件, 因此没有空去理这件事, 经过了三年的发展, 数十次的恢复经历, 相当完善后. 才有空去了解这件事. 经过从多个网友了解来的信息, 充分信某网站宣称自主开发的MYjDUL其实只是AUL/MyDUL第一版的Java源代码而已, 结果还要说AUL是抄jDUL的, 有些人居然做这么丢脸的事....

March 20, 2008

AUL恢复Oracle视图代码?

    AUL的数据恢复主要关注于数据本身, 象视图代码AUL虽不自动整理, 但它们也不过是存放在系统表空间中的数据, 还是可以恢复的. 原理是将系统表的数据导出来, 再导入到新的库中, 然后自已 写SQL语句来进行查询, 就可以获得重建视图的角本了.     需要导出下面几个系统表的数据. unload table sys.USER$ to sys_user.txt; unload...

AUL恢复Oracle Sequence?

    AUL的数据恢复主要关注于数据本身, 象Sequence的信息AUL虽不自动整理, 但它们也不过是存放在系统表空间中的数据, 还是可以恢复的. 原理是将系统表的数据导出来, 再导入到新的库中, 然后自已 写SQL语句来进行查询, 就可以获得重建Sequence的角本了.     需要导出下面几个系统表的数据. unload table sys.USER$ to sys_user.txt; unload...

AUL恢复Oracle触发器?

    AUL的数据恢复主要关注于数据本身, 象触发器代码AUL虽不自动整理, 但它们也不过是存放在系统表空间中的数据, 还是可以恢复的. 原理是将系统表的数据导出来, 再导入到新的库中, 然后自已 写SQL语句来进行查询, 就可以获得重建触发器的角本了.     需要导出下面几个系统表的数据. unload table sys.USER$ to sys_user.txt; unload...

AUL恢复Oracle索引结构?

    AUL的数据恢复主要关注于数据本身, 象索引结构之类的信息AUL虽不自动整理, 但它们也不过是存放在系统表空间中的数据, 还是可以恢复的. 原理是将系统表的数据导出来, 再导入到新的库中, 然后自已 写SQL语句来进行查询, 列出表上的索引信息.     除了SYS.USER$和SYS.OBJ$外, 我们还要导出下面几个系统表的数据. unload table sys.ind$ to sys_ind.txt;...

AUL恢复Oracle存贮过程

    AUL的数据恢复主要关注于数据本身, 象存贮过程之类的代码AUL虽不自动整理, 但它们也不过是存放在系统表空间中的数据, 还是可以恢复的. 原理是将系统表的数据导出来, 再导入到新的库中, 然后自已 写SQL语句来进行查询, 以生成重建存贮过程的代码.     先恢复几张系统表的数据. unload table sys.user$ to sys_user.txt; unload...

March 19, 2008

Oracle数据恢复服务模式

    AUL工具可用于没有备份情况下的Oracle数据恢复, 提供服务的方式有多种, 顺便和用Oracle DUL提供恢复的方式比较了一下.     1, 现场服务. 如果我们相距很近, 如在同一个城市, 或一两小时路程, 并且刚好是休息时间, 则可以提供现场服务. 比如在上海就提供过现场数据恢复服务, 缺点时受时间和地域限制. Oracle DUL恢复者也同样面临这样的问题.  ...

March 16, 2008

终极Oracle数据恢复工具 -- AUL

    原创工具AUL可以离开Oracle运行环境, 从数据文件中直接读取记录, 当你无法打开数据库(如丢失System表空间, System表空间损坏, 丢失其中一个数据文件, 数据文件时间点不一致, 表被Drop掉或Truncate掉)时, 可以考虑用它来读取剩余数据文件, 将数据恢复成文本文件或Dmp文件, 再装载或导入到新的数据库中. 因此可以被用于没有备份又无法打开数据库情况下的恢复.     经过三年多的研究开发和完善, AUL的功能已经十分完美, 支持文本方式(第二版)及DMP方式(第三版),多种数据类型, 包括BLOB与CLOB(第四版)的恢复, 并在AUL第五版中成功支持压缩表....

February 21, 2008

无SYSTEM时的LOB恢复

    本想将这种情况下的恢复步骤永远藏在心中的, 因为它在实际生活中太难以恢复了. 看到有人真的遇到了这种情况, 我还是将恢复的步骤写一下吧. 先来创建一个表空间及带BLOB字段表. SQL> CREATE TABLESPACE LOBDATA   2    DATAFILE 'C:\oracle\oradata\db10g\lobdata01.dbf' size 24m   3    extent management local uniform size...

November 20, 2007

AUL工具的源代码有多少行?

    今天比较好奇地统计了一下AUL源代码的行数, 想想自已这三年以来为这个软件写了多少行代码, 发现并没有我想象的那么多. 以为早到了一万行了, 原来还差一些.     DMP格式文件的接口部分. C:\mydul-b5>wc -l dmpfile.*     245 dmpfile.c      41 dmpfile.h     286 total...

November 9, 2007

AUL 5对恢复成DMP格式支持得更好了

    为了加上压缩(Compress)表的支持, 完全重写了几个处理块内记录的重要函数, 没想到改完后测试, 发现对DMP格式恢复支持的更好了. 用最新的AUL 4去将"SYS.IND$"恢复成DMP文件, 在导入时发现这个DMP文件不能使用, 遇到了以下错误. import done in UTF8 character set and AL16UTF16 NCHAR character...

November 8, 2007

AUL/MyDUL发展历史回顾

    在完成对Compress表的支持后, AUL/MyDUL已经相当完美了. 很有必要来回忆一下它的版本发展历史, 从2004年年底开始构思以来, 已经经历三个春秋了. 很多人知道我这个人也是因为这个工具, 否则我不名一文. 年份 版本 简介 2004年底 1.0.0 因为看见ITPub上Block格式Dump的文章, 加点注释, 就成了精华贴了, 于是想能不能进一步发展一下, 想想中国不备份的数据库那么多, Oracle...

November 6, 2007

将完成AUL最后一个心愿, 支持Compress表

    通过二十分钟的发呆, 进入了研究Oracle压缩(Compress)表的大门, 随之而来的这几天, 研究得很顺利, AUL 5的测试版发布了. 知道Oracle DUL 10版本支持压缩表后, 心中一直就有一个结, 如今这结已经打开, 剩下的只是多做些测试去发现Bug并解决Bug了. 在对Oracle文件格式的研究中, 我找到了自已的DBA激情, 那就是研究Oracle的兴趣, 给平静的DBA生活增加了一些特有的颜色.    ...

October 18, 2007

AUL成功使用于一个2TB数据库的恢复

    某国外公司的一个2TB的数据仓库坏了, 由于磁盘的问题, 系统表空间上出现了一些块坏. 他们也不是没有备份, 只是最后一次备份是在一个月以前做的, 而最近一段时间装载和处理了很多数据(大约100G左右), 如果直接恢复到一个月以前的备份, 则需要将这些数据重新装载和处理, 将消耗很长的时间. 在数据仓库中, 一般会将数据按时间分表或分区来存放, 因此还是比较容易将最近处理的数据恢复出来的.     他们的领导给他们下了最后命令, 必须在5个工作日之内将这些数据恢复出来, 以供业务部门进行经营分析. 因此他们在对AUL作了一些测试后,...

September 4, 2007

修正AUL恢复ASSM表空间数据时的一个问题

    eagle_fan在Linux机器上装了一个Oracle 11g, 今天在测试AUL对Oracle 11g的支持时, 发现了一个ASSM表空间上的问题, 会导致恢复的记录数偏少, 原因是因为ASSM下每一个Extent的第一个数据块不一定是表的数据.     在Free List管理的模式下, 一个Extent中只有两种块, 数据块和没有被使用的块, 并且数据块总在最低端, 为了程序性能, 当AUL检测到第一个非数据块的块时, 就不处理这个Extent了. 然尔在ASSM的情况下, 一个Extent中可能有三种块,...

August 17, 2007

AUL恢复IOT表的一点改进, 更方便了

    以前AUL要恢复IOT, 总是指导人家看这篇文章, 因为IOT表对象本身是没有数据段的, 而是在索引中存放数据, 因此AUL需要先从OBJ$中找出表对象, 从COL$中取得表结构信息, 再从IND$中取得IOT表的主键索引信息和段的信息, 这是理想的情况. 因为用标准C语言来处理这些复杂的关系太累了, 所以没有实现, 如果这个IOT是分区的, 则可能还要复杂, 因为TABPART$和INDPART$也会被卷进来, 如果再有子分区呢?     不过昨天晚上对非分区的IOT表作了一点改进, 因为创建非分区的IOT表时,...

July 28, 2007

Oracle Open World期间AUL许可证免费申请

    上一次免费申请是在去年的10月份, 因为我太太临产, 不能为大家提供服务, 所以免费.     众多Oracle爱好者期待已久的Open World下击要在上海举行了, 同样不能为大家提供服务, 再次免费, 首先要下载软件(Windows, Linux, Solaris).     申请的方法是, 点击这儿, 然后在用户名处输入"oow2007",...

July 24, 2007

在VMWare上测试了一下AUL对Linux裸设备的支持

    将Oracle数据库的数据文件放在裸设备上, 是很正常的事. 不过我的AUL出来将近两年半了, 还从没有测过裸设备. 因为我认为所有Linux/Unix上的裸设备其实也是一个文件, 在程序中就当作普通的文件来操作就行了, 所以就一直没有作测试. Solaris上用Veritas文件系统作的裸设备到是测试过.     先用fdisk创建一个分区, 然后用dd将windows下的一个Oracle文件拷贝到这个分区. 然后用AUL去打开就行了, 如下所示: [root@RH4SRV1 oracle]# ./aul Register...

July 13, 2007

计划AUL 5, 需要解决压缩表的支持问题

    这几天, 没有比Oracle 11g更让大家关心了, 从白皮书中看出, Oracle对于压缩技术的支持又上升了一个台阶. 从9i版本引入压缩表以来, 经过10g到11g, 按Oracle历来的表现, 尤其是宣称OLTP级的压缩技术, 这一次应当可以广泛应用了.     因为压缩技术在目前用得很少, 因此当初先考虑LOB的支持而实现了第4版本, 接下来要考虑的是对压缩的支持, 而发布到第5版本, 要以11g中的压缩功能为基础去开发. 在过去的一段时间中,...

June 20, 2007

测试11g的AUL数据恢复, 好象块格式没有变.

    热心网友上传了一个Oracle 11g的数据文件, 我就用AUL去测试了一下AUL能不能恢复11g的数据文件, 解开压缩文件后, 创建一个配置文件db.txt, 包括如下行: 1 1 users01.dbf     接下来运行AUL, 并打开配置文件, 用ORADUMP命令查看一下文件头的属性, 从ver的值可以看出数据库是11g的(十六进制0x0b等于十进制11), 而从fmt的值来看, 0xa2表示还是10g的格式, 0xa等于十进制的10....

aul4b不再是Beta版了, 这里的B指的是LOB的支持

    当你下载AUL的可执行文件, 你会发现Windows下是aul4b.exe, Linux下是aul4b_linux, 而Solaris下是aul4b_solaris, 一很多人认为这是一个Beta版本, 但其实不是了. 这里的4b指的是带LOB支持的版本4. 从发行的版本号4.0.2开始, 就不再是Beta版本了, 因为它已经通过了两次正式的LOB恢复考试.     如果b加在版本号之后, 如下所示的则是Beta测试版. Register Code: TRBR-CCPF-F6KJ-ALTT-MNGQ AUL...

June 19, 2007

AUL恢复LOB类型的速度之谜, 慢还是快?

    有人用了AUL去恢复LOB数据, 说是速度很慢, 在每份钟只生成了10M数据, 我不是很相信的. 这中间他们可能在估计速度时估计错了. 以我去过两次恢复LOB的经历, 我恢复15000个LOB值, 生成后的大小是600MB, 大约是花了不到5分钟的(记不清了). AUL在恢复LOB数据时, 有两种方式: Inline方式和File方式.     在Inline方式下, LOB的数据和表的记录是放在一个文件中的(默认), 在这种情况下恢复的速度不太可能是1分钟10MB的数据, 因为恢复一般的表时的速度是一秒钟8MB左右(我用SYS.SOURCE$做测试的),...

由一个目录下可以存放多少文件引出的问题

    一个目录下(没有子目录)最多可以存放多少个文件? 我现在也不知道答案. 只不过文件太多时, 很不方便, 不能进行ls等操作, 而且访问可能会很慢.     今年总共进行过两次LOB数据类型的恢复, 而且都是恢复成文本格式的, 这样的话, 每一个数据库中的LOB值都被恢复成一个文件, 存放在运行AUL的目录下. 还好这两次恢复出来的文件数不多, 都只有1.2万条左右的记录, 恢复后生成了1.2万和1.5万个文件, 就这样已经让某些目录操作不太方便了. 遇到更多的LOB记录要恢复怎么办?...

May 31, 2007

AUL功能改进, 生成建表的SQL文件

    在有SYSTEM的情况下, 生成DMP格式时, 会自动包含一个建表的语句, 而在导出成文本文件时, 则没有生成建表语句. 从以往的经历来看, 文本方式的导出更稳定一些, 另外DBA找不表建表语句的情况也常发生, 出于这两点, 我对AUL作了一点改进, 在以文本方式导出时, 自动生成一个建表的SQL文件.     在AUL中早就可以看表结构了: AUL> desc anysql.emp...

May 9, 2007

AUL升级, 更改sqlldr控制文件选项的默认值

    AUL在恢复成文本格式时, 可以自动生成一个sqlldr的控制文件, 这极大地方便和简化了数据恢复的过程, 在实际的使用中, 遇到了几个sqlldr的问题. 为了方便恢复, 改更了一些默认值. 在本次修改以前, 控制文件的选项为: -- -- Generated by AUL/MyDUL, for table anysql.mem_member --...

May 8, 2007

使用iconv来进行CLOB数据的恢复

    一个韩国的Oracle数据库, System表空间的文件被删除了需要进行恢复. 还好整个的数据文件的大小只有500MB, 在免费的范围内, 不用交钱他们自已就可以恢复. 但今天被他们问了太多的问题, 有些烦了, 所以我将免费的范围缩小了, 第一, 只能免费打开2个文件了, 原来是4个, 第二, 相对文件号为1的还可免费读取前512MB, 不为1的则只能读取256MB了. 他的数据库中有CLOB字段, 还好值都不大, 而且是Enable Storage...

April 17, 2007

AUL中未用过的恢复删除记录的功能

    AUL中有个选项可以试图恢复被删除的记录, 不过这个选项我未没有下式用过, 因为它只适合于没有DELETE的表, 如果这个表本身有DELETE操作, 则这个命令基本上会失败, 这是因为在Oracle中, 记录被打上了DELETE标记后, 那部份空间有可能被重用了, 也有可能引起AUL程序非法退出. 不过在实验室环境中我们还是可以玩一玩的, 下面以EMP表为例: SQL> SELECT COUNT(*) FROM ANYSQL.EMP;   COUNT(*) ----------...

April 8, 2007

全套出售AUL/MyDUL, 包括源代码, 请估值!

    AUL是本人开发的一个在极端情况下进行Oracle数据恢复的软件, 具有很高的科技含量和一定的商业价值. 什么是极端情况? 第一, 没有备份; 第二, 常规方法无法恢复; 第三, 数据很重要, 但又无法或成本太高而进行重新输入. 如丢失了Oracle的System表空间, System表空间损坏到无法启动的地步, 意外删除表空间或表, 意外截断(Truncate)表等, 在过去的两年中, AUL已经成功地为十几个客户救回了超过300G/几十亿条记录的数据. 现在最新版本已经支持Oracle CLOB/BLOB类型,...

March 6, 2007

宣布AUL 3退役, AUL 4开始工作.

    AUL 4是在AUL 3的基础上加上了对Oracle BLOB/CLOB数据类型的支持, 于2006年12月份开始修改工作, 于2007年1月份发布了Beta版本. 在经历一次正式的恢复需求后会将Beta版本发布为正式版本, 现在已经到时间了. 不久前成功地为一个外国客户恢复了一个有BLOB字段的表, 总共恢复了12922个图片/PDF/DOC等文件, 恢复出来的数据成功地得到了客户的认同, 图片打开没有问题, 只有少数(小于10个)的PDF文件打开后是空白页, 这就不确定是谁的问题了. 因此郑重宣布AUL 3退役, AUL 4版本正式开始战斗,...

March 3, 2007

一网友和我确认, 他可以被轻松破解AUL.

    一月份在网上发现AUL被破解的信息, 周五早上一网友发给我如下消息: AUL> set licence 00EFBFBF   Registered, Elapsed: 725     这证明了AUL的确被破解了! 整个程序中最弱的环节可以就是在这儿了, 虽然这个许可证的模型很好. 我不是计算机科班出生的, 大学时数学这门课还学得特差, 要不也搞个比较复杂的线性代数, 距阵运行等算法进去....

February 10, 2007

本周AUL遇到1TB数据库的恢复请求!

    周四晚上先将电脑背回家并开机上网, 然后和朋友一起出去吃饭, 回来时发现有陌生人加了我的MSN和Skype, 用英文说是要购买一个AUL的许可证(来自意大利). 将其加入到好友列表中后, 就问他遇到了什么问题, 对方说是有一个1TB大小的数据库坏了, 刚听到时我开心, 这下年终奖有着落了. 当然紧张的心情也是有的, 因为AUL从没有遇到过那么大的数据, 最大的一次是05年70GB的恢复. 于是我继续问他到底是什么回事, 原来是遇到了ORA-01221错误, 这个错误是指Oracle认为这个数据文件的格式是坏的, 从错误手册上可以找到这样的解释: When the...

February 2, 2007

AUL版本更新, 对SCAN TABLE命令的增强

    今日eygle发现一个AUL的小问题, 在没有SYSTEM表空间时运行"SCAN TABLE"命令的输出中的UNLOAD命令居然没有列的类型信息, 按理说应当是有的. 在仔细思考后, 在本机成功地模拟出类似情况. 这是因为SCAN TABLE命令在跑时, 总是从文件头读到文件未, 当发现有一个块是表的数据或IOT的数据后, 就根据块中记录的记录条数字节来确定是否用这个块为猜测的样本块, 而实际上, 这个记录条数字节中的记录数也包括了已经删除的记录.     假设有一前一后两个数据块都属于同一个表, 在前一个块中的记录都已经被全部清楚掉了, 只有后面一个数据块有真实的数据,...

January 29, 2007

AUL几个命令中RDBA的新表示方式

    在AUL中有几个命令(OSDUMP, UNLOAD, ORADUMP, BCHECK, CORRUPT, ROWID)可以用RDBA来指定一个Block的地址, 很多人都知道相对块地址(RDBA, 一个32Bit的不带符号的正数, Relative Data Block Address)其实由文件号(RFILE#, 前10个Bit)和块号(BLOCK#, 后22个Bit)组成, 在DUMP或其他很多地方, 引用RDBA时都是用十六进制的数值来表示的. 在本文之前, 在AUL中不能指定一个十六进制的值,...

January 23, 2007

开始编写一本AUL用户指南

    AUL从开发到现在已经走过两个年头了, 功能渐渐地走向稳定, 也获得了不少人的关注, 但直到现在还没有一个完整的用户指南, 给AUL的使用者带来了一点的麻烦. 虽然在主页上写了不少的关于如何使用AUL的文章, 但零零碎碎地不容易看懂, 没有条理性. 我的几个朋友早就劝说我写一本AUL的使用方面的文档了, 而我迟迟没有写, 完全是我的错.     从ITPub北京年会加来, 有朋友再劝说我好好写个文档, 我才认识到它的重要性. 经过了两年多路, 就算我自已在使用AUL时也需要在网上寻找以前发过的贴子,...

January 16, 2007

AUL/MyDUL被破解? 算号器惊现网上...

    今天在有道Blog搜索中搜索AnySQL单词, 却发现AUL被破解(Crack)的信息出现在网上, 很感荣幸, 我的一个工具竞出现在破解的列表上. 马上存下来做个纪念.     出现在有道搜索结果上的快照(截图):     点进去之后, 又存了一个快照(截图):     不知道他破解用了多长时间, 因为我又要改算法了, 对于这样一个没什么人用的工具, 破解工作是否能取得足够的回报?...

January 5, 2007

IOT表中段的命名规律, 以及AUL对IOT的支持

    AUL对于IOT表的恢复是支持的, 但需要手工修改一下生成的字典信息. 首先来看一下IOT表的数据段的命名规律. 考虑下面两个IOT表: CREATE TABLE T_IOT (    COL1 NUMBER NOT NULL PRIMARY KEY,    COL2 VARCHAR2(20)...

December 25, 2006

AUL 4中如何恢复分区表的LOB字段?

    当遇到分区表的LOB字段时, 不能直接进行恢复, 需要修改一下AULOBJ.TXT中的LOB索引分区的名称, 这是由于LOB索引的分区名和表的分区名不同引起的, 而我的程序是假定是具有相同的分区名的. 请看下面的演示, 先创建一个有LOB字段的分区表: SQL> CREATE TABLE T_HASHLOB (COL1 NUMBER, COL2 CLOB)   2  LOB(COL2) STORE AS...

December 21, 2006

AUL 4 Beta程序更新情况 - 2006.12.21

    这几天对AUL 4继续进行完善, 比刚发布Beta时的程序已经好多了, 不过版本号还是没有变化. 先来重温一下刚发布时的一些限制吧. 没有经过足够多的测试. 目前的测试仅在10g上进行. 对于CLOB的字符集转换还有些问题. 对LOB Index的访问用Index Full Scan的算法, 需要改进. 对于CHUNK SIZE大于一个数据块的情况还不支持.     到现在又有那些改进呢?...

December 19, 2006

AUL 4现阶段对LOB CHUNK的支持情况

    通过试验, 发现LOB的一个CHUNK中的所有块必须是在一个Extent中的, 并且是连续的, 不相信的话你可以试试能不能指定CHUNK的大小的值为大于表的Next Extent的值? 基于这个规律, 在AUL 4中增加了对CHUNK的有限支持. 下面上用于测试的两张表, 只有一个字段, 为CLOB类型, 表中只有有一条记录, 内容相同: SQL> SELECT TABLE_NAME,COLUMN_NAME,CHUNK FROM USER_LOBS;...

December 18, 2006

在AUL中如何轻松恢复TRUNCATE的表?

    不小心Truncate表的事情也是有的, 其中大部份时因为工具连错了库, 从儿跑错了角本. 遇到这种事情而没有备份时怎么办呢? 首先要停止数据库, 将这个表所在的表空间的文件拷贝出来, 因为Oracle在Truncate只时将相应Segment的第一个块格式化掉了, 而后面的都还存在, 到下次用时到才真正地重新格式化. 下面来讲一个Truncate表后进行恢复的例子: SQL> CREATE TABLE T_TRUNCATE AS SELECT * FROM...

December 17, 2006

在10g(Windows)上测试LOB数据的DMP格式恢复

    现在我们将两张LOB的演示表, 用AUL 4.0.0 Beta恢复成DMP格式, 然后看看能不能成功导入到数据库中: AUL> set clob_edian big   Current CLOB_EDIAN is : BIG AUL> set lob_convert 1...

在10g(Windows)上测试BLOB数据恢复

    下面是用AUL 4.0.0 Beta版本恢复Windows上10g R2数据库BLOB数据的一个演示, 首先是创建测试表: SQL> CREATE TABLE T_BLOBDEMO   2  (   3    ID NUMBER,   4    BLOB1 BLOB,   5    BLOB2 BLOB,   6    BLOB3 BLOB...

在10g(Windows)上测试CLOB数据恢复

    下面是用AUL 4.0.0 Beta版本恢复Windows上10g R2数据库CLOB数据的一个演示, 首先是创建测试表: SQL> CREATE TABLE T_CLOBDEMO   2  (   3    ID NUMBER,   4    CLOB1 CLOB,   5    CLOB2 CLOB,   6    CLOB3 CLOB...

December 16, 2006

AUL4中几个和LOB有关的选项

    AUL 4.0.0将正式支持LOB数据类型, 包括Inline LOB, In row LOB和Out of Row LOB. 这里面需要先介绍一下和LOB有关的几个选项. 首先是只和CLOB有关的两个选项:     1, SET CLOB_EDIAN {BIG...

December 15, 2006

AUL/MyDUL 4.0.0 Beta发布了

    去年我曾经说, 如果AUL能支持LOB或压缩块的任一功能, 都会将版本升一级. 今天发布4.0.0 Beta版本, 是对LOB的支持有了进一步的突破.     你可以下载Beta版本进行LOB恢复测试. 恢复LOB需要设置很多的选项, 这些选项会在以后的文章中介绍. 为什么是Beta版本, 有如下原因: 没有经过足够多的测试. 目前的测试仅在10g上进行. 对于CLOB的字符集转换还有些问题. 对LOB Index的访问用Index...

December 7, 2006

AUL所需要的数据字典 -- Column

    在没有system的情况下, 使用AUL进行数据恢复时不能输出成dmp格式的,这时我们可以构造这些信息,在这儿我要讲的是AULCOL.TXT文件, 这个文件名必须是大写的, 其中包括十三个列信息,中间用逗号分开的. 1, Object ID 2, Column Order 3, Column Storage Order 4, Column Name 5,...

December 6, 2006

修复一个AUL恢复负数的Bug, dmp格式恢复不受影响

BINARY AUL (Bug) AUL (Fixed) SQLPLUS Result c107 6 6 6   3e5f66 -6 -6 -6   3f2966 -0.60...

December 5, 2006

AUL所需要的数据字典 -- 段存贮信息

    在没有system的情况下, 使用AUL进行数据恢复时不能输出成dmp格式的,这时我们可以构造这些信息,在这儿我要讲的是AULTAB.TXT文件, 这个文件名必须是大写的, 其中包括六列信息,中间用逗号分开的. 1, Object ID 2, Data Object ID 3, Tablespace ID 4, The relative file...

为AUL增加对NCHAR/NVARCHAR2类型的支持

    有人用AUL去恢复带有NCHAR/NVARCHAR2类型列的表时, 遇到了问题, 导成文本方式则不知道如何用SQLLDR装入到新的数据库中, 而恢复成DMP格式时, 则导入后变成乱码. 这是因为AUL在设计时没有考虑NCHAR/NVARCHAR2这样的数据类型. 其原因是数据库的字符集是WE8ISO8859P1, 一个单字节的字符集, 而民族语言字符集则为AL16UTF16, 一个双字节的UNICODE字符集. 用AUL恢复时是不进行任何字符集转换的, 于是导出的文本文件中就有两种字符集了. 而在DMP文件中对于不同的列类型, 其内部的格式有所不同.     我花了三个小时增加了DMP格式对NCHAR/NVARCHAR2的支持, 看在AUL中DESC一个表的结果:...

November 28, 2006

AUL所需要的数据字典 -- 对象信息

    在没有system的情况下, 使用AUL进行数据恢复时不能输出成dmp格式的,这时我们可以构造这些信息,在这儿我要讲的是AULOBJ.TXT文件, 这个文件名必须是大写的, 其中包括五列信息,中间用逗号分开的: 1, Object ID 2, User ID 3, Object Name 4, Sub-Object Name, partition or...

November 27, 2006

AUL所需要的数据字典 -- 用户信息

    在没有system的情况下, 使用MYDMP进行数据恢复时不能输出成dmp格式的,这时我们可以构造这些信息,在这儿我要讲的是AULUSR.TXT文件, 这个文件名必须是大写的, 其中包括两列信息(userid,username),中间用逗号分开的. 如: 0,SYS 1,PUBLIC 2,CONNECT 3,RESOURCE 4,DBA 5,SYSTEM ...... 25,TEST     在有System表间的情况下, 这个文件是用"unload table...

November 20, 2006

在AUL/MyDUL中运行角本文件进行快速恢复

    上周一网友问我, 说他的库中有900个表, 用AUL/MyDUL的话如何快速恢复? 如果一行一行地打命令, 那肯定是不行的. 虽然我没有官方DUL那样可以按用户导出, 或全库导出, 不过我也提供了一个解决的方案, 通过角本文件.     首先通过LIST TABLE命令来生成恢复的命令. AUL> list table anysql UNLOAD...

November 1, 2006

正式开始出售AUL/MyDUL的正式许可证

    9号我在网上发布了一个在线申请AUL许可证的CGI程序, 以便我不在线时也可以获得许可证来进行数据恢复. 2006年10月份是免费的, 从11月份开始, 将不再免费, 需要购买才可以访问了.     网上许可证的价格将比恢复服务的价格低很多, 且AUL/MyDUL是易于使用的, 并支持10g等最新版本的数据库, 因此, 购买许可证是一个比较实惠的选择.     如何计算许可证的次数, 不同的日期访问都算一次, 当日期相同时,...

October 10, 2006

从网上获取AUL/MyDUL的正式许可证

    为了更好地支持十月份的免费AUL/MyDUL的策略, 写了一个CGI角本来计算许可证, 这样可以在我的网站上直接申请了, 而不需要在邮件或MSN等工具中问我了.     只需要将随机生成的注册码填进去, 点击Generate按钮就可以了. Register Code:     过了十月份, 再按Generate键是将会提示输入用户名和口令, 这就表示不免费了, 请联系我或等待下一个免费周期. 你也可以选择成为我的收费用户, 就没有限制了....

AUL/MyDUL许可证的申请, 激活和使用的步骤

    有很多人不明白如何申请和使用AUL/MyDUL的许可证, 这儿讲一下申请和使用的步骤.     1, 下载最新版的AUL/MyDUL软件.     2, 最好是在MSN或Skype, AIM等IM工具中和我取得即时联系.     3, 打开一个AUL/MyDUL窗口, 将注册码(红色部分)告诉我, 注意不要退出这个AUL/MyDUL. Register...

AUL/MyDUL生成SQL Loader控制文件的一个小问题

    今日偶儿发现AUL/MyDUL在生成SQL Loader的控制文件时, 有一个参数的设置好象有些问题, 如果不改动的而直接装载的话, 会跳过第一行记录. 数据没有影响的, 请大家放心. 这些参数值拷贝自另一个工具, 在那个工具中我将字段名作为文本文件的第一行, 在AUL/MyDUL恢复成文本格式时, 没有打印字段名, 因此如果SKIP参数设为1的话, 就会跳过一行. 不便之处, 请大家见谅.     原来的AUL/MyDUL输出的控制文件例子:...

October 8, 2006

规划好你的数据库, 享用免费的AUL/MyDUL恢复

    最近被骗了一次AUL的恢复, 想想也算了, 本来10月份我就宣布可以免费使用AUL的, 不过事后我加上了免费仅针对大陆企业和个人, 因为这次骗我的是台资的. 其实好好规划你的数据库, 对于大部份企业的数据库来说免费的许可证(同时最多打开4个文件, 最多读取文件前面512M)足够了.     在AnySQL中恢复是一个表空间的所有文件来操作的, 在默认的限制中, 每个表空间的前2G是免费的, 实际上我过去做的恢复中, 有一半的情况是只有一个1G大小的文件. 所以只要规划好, 对于大部份企业够用了. 可以从以下几方面来考虑:...

September 18, 2006

在AUL/MyDUL中如何恢复被Truncate的表

    最近至少看到二次错误地截断(Truncate)表的例子, 并在网上询问如何恢复, 在这儿我给出AUL/MyDUL的解决方案, 下面是我用的一个测试表: ASQL> DESC TRUNCDEMO NO# NAME              NULLABLE TYPE --- ----------------- -------- ------------   1 COL1                       VARCHAR2(20) ASQL>...

September 5, 2006

没有SYSTEM时如何恢复数据?

    在Oracle数据库中, 所有的表结构的信息都存放在SYSTEM表空间中. 光从数据文件的角度看, 我们只能从文件中找到一个数据对象的编号及你 想要的数据. 在丢失SYSTEM的情况下, 还是可以通过扫描所有的数据文件而恢复数据. 但是并不知道这些记录本属于那个表, 需要DBA和开发人员一起去确定这些 记录是那个表的. 下面是一个用AUL/MyDUL去做没有SYSTEM的恢复的例子.     我创建了一个只有2M大小的表空间(一个数据文件, 压缩后6KB), 并在这个表 空间上创建了几张表, 插入一些记录,...

September 4, 2006

AUL/MyDUL恢复成DMP格式时的注意事项

    AUL/MyDUL的基本目标是恢复数据, 所以恢复出来的DMP格式文件只包括了一个基本的建表语句和所有的数据. 和exp工具导出生成的文件不同, 在exp的文件中包括了建表的完全语法, 及其索引, 约束及触发器. 在AUL/MyDUL生成的文件中不会包括以下信息: 表的Storage子句及其他属性 分区表或子分区的定义 表的索引信息 除非空(Not Null)之外的其他所有约束 列上的默认值 建在表上的索引 表的权限信息     生成的DMP格式文件总是以"mydul"用户导出的;...

August 18, 2006

在AUL/MyDUL中如何处理坏块/死块?

    在Oracle中偶儿会遇到坏块而不能读取的情况, 这时我们首先要想到的是从备份中恢复. 当有一个坏块时, 你就应当用RMAN或DBV去检查整个文件, 它们可以帮助你找出这个文件中所有的坏块. 在AUL/MyDUL中, 坏块并不一定是不能恢复的, 只有那些引起了AUL/MyDUL程序异常退出的坏块(已经遇到过几次了)才是问题, 异常退出通常是因为程序访问内存出了边界. 对于这些块我将他们命名为死块, 处理这种块时需要额外的步骤.     首先是要将他们找出来, 通过设置"set verbose 1"这样的调试命令, AUL/MyDUL会在屏幕上打印出当前正在处理的块的地址(RDBA)....

AUL/MyDUL更新到3.2.1版本

    此次更新内容: 1, 更改"UNLOAD OBJECT"命令的默认列类型为"RAW",原先为跳过没有指定的列. 2, 提高"SCAN TABLE"命令中列类型自动猜测的准确度. 3, 改变"SCAN TABLE"命令实现的逻辑过程, 获得更好更全的输出.     现在我们在一个2M的表空间中创建一个小表,如下所示: CREATE TABLE TEST (...

AUL/MyDUL更新到3.2.0版本

    此次更新内容: 1, 改变动态注册码的长度. 2, 标记为坏块之前检查是否已经标记过了. 3, 更改查找坏块列表的算法,采用二分法, 提高效率. 4, 增加一个新的命令"corrupt list"来显示已经标记的坏块.     请看如下例子: Register Code: Z239-VV3O-HT3G-AA43-G027 AUL...

当前分类: AUL/MyDUL

Creative Commons License
本站版权: 共用创作 CC
署名-非商业性-相同方式分享
本站基于MT-3.36免费版
(©)版权所有, 2004 - 2008, www.AnySQL.net, 保留所有权利.
MSN: loufangxin(a)msn.com, Mail: anysql(at)126.com/support(at)iamdba.com, Skype ID:anysql