在AnySQL.net中搜索标签(Tags) '数据恢复' 的结果:
关于AUL数据恢复的两件小事 -- 一口价
第一件发生了比较久了, 一个广东东莞的传统行业公司的员工找上我, 说他并不是数据库管理员, 但需要恢复一个数据库. 技术及服务被压迫了这么长一段时间后, 企业应当为这些软件建设支付一定的成本了. 但其实这一步很难, 因为他以个人名义请我帮忙, 理由是不想让公司知道, 而因此丢了饭碗, 并且愿意为此服务支付200元的价格. 东莞是珠三角有名的经济重镇, 作何感想? 最后当然是拒绝了, 我并不想帮私人恢复数据, 因为私人没什么数据需要放在Oracle中. 如果中国的技术人员就这样的活法, 有什么尊严可言? 关于技术人员在公司中的受重视程度, 很多人心里明白. 第二件发生不久, 一个北京的技术出生的老板找上我, 说是要恢复一个比较大的库(超出了AUL免费版的范围了)中的一小部份数据. 我给了一个价格, 后来打了半价, 最后他还是很难同意, 这中间大约已经过了6个小时. 这一段时间内不停地站在他的本次立场上为我设计AUL合理的收费方式, 和我聊这些当然我还是感谢他的, 不管怎么样都是为了AUL好. 但聊到最后, 最大的原因尽然是因为我不肯让一点价, 这个一口价让他感觉到很不爽, 没有享受到在平常买卖中讨价还价的乐趣, 在此之前他已经在这个上面研究了三天了, 我敢保证我出的价格已经很底了,...
IOT表中段的命名规律, 以及AUL对IOT的支持
AUL对于IOT表的恢复是支持的, 但需要手工修改一下生成的字典信息. 首先来看一下IOT表的数据段的命名规律. 考虑下面两个IOT表: CREATE TABLE T_IOT ( COL1 NUMBER NOT NULL PRIMARY KEY, COL2 VARCHAR2(20) ) ORGANIZATION INDEX; CREATE TABLE T_IOT2 ( COL1 NUMBER NOT NULL CONSTRAINT PK_T_IOT2 PRIMARY KEY, COL2 VARCHAR2(20) )...
AUL 4中如何恢复分区表的LOB字段?
当遇到分区表的LOB字段时, 不能直接进行恢复, 需要修改一下AULOBJ.TXT中的LOB索引分区的名称, 这是由于LOB索引的分区名和表的分区名不同引起的, 而我的程序是假定是具有相同的分区名的. 请看下面的演示, 先创建一个有LOB字段的分区表: SQL> CREATE TABLE T_HASHLOB (COL1 NUMBER, COL2 CLOB) 2 LOB(COL2) STORE AS (DISABLE STORAGE IN ROW) 3 PARTITION BY HASH(COL1) PARTITIONS 2; Table created. 接下来插入几条记录, 交提交, 到SYS用户下进行CHECKPOINT. 在AUL 4中重新UNLOAD系统数据字典后, 用DESC来看一下T_HASHLOB表的情况: AUL>...
AUL 4 Beta程序更新情况 - 2006.12.21
这几天对AUL 4继续进行完善, 比刚发布Beta时的程序已经好多了, 不过版本号还是没有变化. 先来重温一下刚发布时的一些限制吧. 没有经过足够多的测试. 目前的测试仅在10g上进行. 对于CLOB的字符集转换还有些问题. 对LOB Index的访问用Index Full Scan的算法, 需要改进. 对于CHUNK SIZE大于一个数据块的情况还不支持. 到现在又有那些改进呢? 做了更多的测试, 不同大小的CLOB/BLOB, Inline或Outline的 在8i上也做了一些测试 CLOB的字符集转换支持GBK和UTF8. 对LOB Index的访问已经采用Index Range Scan的算法. 可以指定CHUNK SIZE了. 已经对现在的程序充满信心了, 正在等待实践的检验. 留下仅有的一个问题是, 如何支持同一表的LOB的CHUNK大小不同的情况....
AUL 4现阶段对LOB CHUNK的支持情况
通过试验, 发现LOB的一个CHUNK中的所有块必须是在一个Extent中的, 并且是连续的, 不相信的话你可以试试能不能指定CHUNK的大小的值为大于表的Next Extent的值? 基于这个规律, 在AUL 4中增加了对CHUNK的有限支持. 下面上用于测试的两张表, 只有一个字段, 为CLOB类型, 表中只有有一条记录, 内容相同: SQL> SELECT TABLE_NAME,COLUMN_NAME,CHUNK FROM USER_LOBS; TABLE_NAME COLUMN_NAME CHUNK --------------- ------------ ---------- T_CHUNK2 COL1 32768 T_CHUNK1 COL1 16384 接下来用新增的CHUNK选项指定表中所有LOB的CHUNK大小, 单位是数据块, 默认值是1, 从这儿我们可以看出如果一个表中有多个LOB字段, 且CHUNK大小不一样, AUL 4现在还是不支持的. 下面我们将LOB内容导出成独立的文件: AUL> set clob_edian...
在AUL中如何轻松恢复TRUNCATE的表?
不小心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...
在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 Current LOB_CONVERT is : 1-GBK AUL> set charset 852 Current CHARSET is : 0x0354 AUL> set output_style dmp Current OUTPUT_STYLE...
在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 7 ) 8 LOB(BLOB3) STORE AS (DISABLE STORAGE IN ROW) 9 / Table created. SQL> INSERT INTO T_BLOBDEMO VALUES (1, '3031323334', NULL, NULL);...
在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 7 ) 8 LOB(CLOB3) STORE AS (DISABLE STORAGE IN ROW) 9 / Table created. SQL> INSERT INTO T_CLOBDEMO VALUES (1,'INLINE CLOB', NULL,NULL); 1...
AUL4中几个和LOB有关的选项
AUL 4.0.0将正式支持LOB数据类型, 包括Inline LOB, In row LOB和Out of Row LOB. 这里面需要先介绍一下和LOB有关的几个选项. 首先是只和CLOB有关的两个选项: 1, SET CLOB_EDIAN {BIG | LITTLE} 当数据库中的字符集为固定长度时(如单字节字符集和那些字符集名字中后缀是FIXED), 存贮在CLOB中的数据的字符集和数据库的字符集相同. 然而当数据库的字符集为变长时, CLOB中的数据以固定的Unicode格式存贮, Unicode字符集包括两个字节, 因此就有高位优先(Big Edian)和低位优先(Little Edian)的问题. 在10g以前, CLOB的字节优先和机器的硬件相同, 从10g开始, CLOB中的Unicode则总是高位优先(Big Edian)的. 因此增加这个选项来指定CLOB的字节顺序. ...
AUL/MyDUL 4.0.0 Beta发布了
去年我曾经说, 如果AUL能支持LOB或压缩块的任一功能, 都会将版本升一级. 今天发布4.0.0 Beta版本, 是对LOB的支持有了进一步的突破. 你可以下载Beta版本进行LOB恢复测试. 恢复LOB需要设置很多的选项, 这些选项会在以后的文章中介绍. 为什么是Beta版本, 有如下原因: 没有经过足够多的测试. 目前的测试仅在10g上进行. 对于CLOB的字符集转换还有些问题. 对LOB Index的访问用Index Full Scan的算法, 需要改进. 对于CHUNK SIZE大于一个数据块的情况还不支持. 当然也有一些目前同类软件还不具有的特点, LOB的数据可以恢复成DMP格式, 以方便装载. 同其他恢复软件一样, 要利用这个功能, AUL所需的字典信息必需存在(有System表空间或手工编辑它们). 将会在以后的二到三个月时间内进行最大程度的改进, 和足够多的测试, 希望能在农历年后发布4.0.0正式版本....
AUL所需要的数据字典 -- Column
在没有system的情况下, 使用AUL进行数据恢复时不能输出成dmp格式的,这时我们可以构造这些信息,在这儿我要讲的是AULCOL.TXT文件, 这个文件名必须是大写的, 其中包括十三个列信息,中间用逗号分开的. 1, Object ID 2, Column Order 3, Column Storage Order 4, Column Name 5, Column Type ID 6, Column Maximum Storage Length 7, Precision 8, Scale 9, Nullable 10, INTCOL#, Column Created Order 11,...
修复一个AUL恢复负数的Bug, dmp格式恢复不受影响
BINARY AUL (Bug) AUL (Fixed) SQLPLUS Result c107 6 6 6 3e5f66 -6 -6 -6 3f2966 -0.60 -0.60 -.6 3f5f66 -0.06 -0.06 -.06 402966 -0.0060 -0.0060 -.006 405f66 -0.0006 -0.0006 -.0006 3e2966 -60...
AUL所需要的数据字典 -- 段存贮信息
在没有system的情况下, 使用AUL进行数据恢复时不能输出成dmp格式的,这时我们可以构造这些信息,在这儿我要讲的是AULTAB.TXT文件, 这个文件名必须是大写的, 其中包括六列信息,中间用逗号分开的. 1, Object ID 2, Data Object ID 3, Tablespace ID 4, The relative file number of segment header 5, The block number of segment header 6, The create order in cluster if table is...
为AUL增加对NCHAR/NVARCHAR2类型的支持
有人用AUL去恢复带有NCHAR/NVARCHAR2类型列的表时, 遇到了问题, 导成文本方式则不知道如何用SQLLDR装入到新的数据库中, 而恢复成DMP格式时, 则导入后变成乱码. 这是因为AUL在设计时没有考虑NCHAR/NVARCHAR2这样的数据类型. 其原因是数据库的字符集是WE8ISO8859P1, 一个单字节的字符集, 而民族语言字符集则为AL16UTF16, 一个双字节的UNICODE字符集. 用AUL恢复时是不进行任何字符集转换的, 于是导出的文本文件中就有两种字符集了. 而在DMP文件中对于不同的列类型, 其内部的格式有所不同. 我花了三个小时增加了DMP格式对NCHAR/NVARCHAR2的支持, 看在AUL中DESC一个表的结果: AUL> DESC SYS.TEST_NCHAR Storage(OBJ#=9876 OBJD=9876 TS=0 FILE=1 BLOCK=28465 CLUSTER=0) No. SEQ INT Column Name Type --- --- --- ---------------- ---------------- 1 ...
AUL所需要的数据字典 -- 对象信息
在没有system的情况下, 使用AUL进行数据恢复时不能输出成dmp格式的,这时我们可以构造这些信息,在这儿我要讲的是AULOBJ.TXT文件, 这个文件名必须是大写的, 其中包括五列信息,中间用逗号分开的: 1, Object ID 2, User ID 3, Object Name 4, Sub-Object Name, partition or sub-partition name 5, Object Type ID 在有system表空间的情况下,是用"unload table obj$;"这个命令来生成的,如: 9756,5,CUST_INFO,,2 9786,5,FILE$,,2 9776,25,TEST,,2 9787,5,DMPTEST,,2 对于对象类型编码, 可以去查看DBA_OBJECTS视图的定义, 如果你下载了AnySQL,...
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 user$;"命令来生成的....
在AUL/MyDUL中运行角本文件进行快速恢复
上周一网友问我, 说他的库中有900个表, 用AUL/MyDUL的话如何快速恢复? 如果一行一行地打命令, 那肯定是不行的. 虽然我没有官方DUL那样可以按用户导出, 或全库导出, 不过我也提供了一个解决的方案, 通过角本文件. 首先通过LIST TABLE命令来生成恢复的命令. AUL> list table anysql UNLOAD TABLE anysql.P_MV_FACT_SALES TO P_MV_FACT_SALES.txt; UNLOAD TABLE anysql.TIME_DIM TO TIME_DIM.txt; UNLOAD TABLE anysql.FACT_SALES TO FACT_SALES.txt; UNLOAD TABLE anysql.MV_FACT_SALES TO MV_FACT_SALES.txt; UNLOAD...
正式开始出售AUL/MyDUL的正式许可证
9号我在网上发布了一个在线申请AUL许可证的CGI程序, 以便我不在线时也可以获得许可证来进行数据恢复. 2006年10月份是免费的, 从11月份开始, 将不再免费, 需要购买才可以访问了. 网上许可证的价格将比恢复服务的价格低很多, 且AUL/MyDUL是易于使用的, 并支持10g等最新版本的数据库, 因此, 购买许可证是一个比较实惠的选择. 如何计算许可证的次数, 不同的日期访问都算一次, 当日期相同时, 五次访问才算一次许可证, 如下面的访问列表, 只算作3次: DAY=20061013 IP=58.212.85.189 CODE=5IFW-1D8F-UB4U-MT6J-K89C DAY=20061013 IP=66.211.156.98 CODE=OC0Y-USYX-PP5C-YAGD-O6AN DAY=20061014 IP=200.6.100.10 CODE=AU3I-KV2S-KQKM-30VS-TV46 DAY=20061014 IP=69.140.195.22 CODE=F901-OX9H-RTAN-NMTT-RDON DAY=20061014 IP=69.140.195.22 CODE=GLHF-22F5-TR7F-0KL1-NQS5 DAY=20061014 IP=65.113.143.60...
10月份下半个月免费AUL许可证的请求情况
下半个月的申请次数还是比较多的, 但我想真正使用它来恢复的次数是少的, 因为有些是从同一个IP来的; 并且很多人可能还不清楚许可证的使用方法, 因此有很多申请其实是没有实际作用的. 来看一下吧... DAY=20061017 IP=211.96.15.27 CODE=BOG3-FT04-3XMF-FTU6-4YSE DAY=20061017 IP=212.68.138.137 CODE=SB9J-1XZT-KHNI-RO0T-IR6L DAY=20061017 IP=58.20.108.23 CODE=FMDO-DU90-49H6-V1W9-DRUI DAY=20061017 IP=61.178.48.199 CODE=EBIE-WHZT-5WCF-AB44-QDW0 DAY=20061017 IP=61.178.48.199 CODE=ZVKS-AQKH-PV6Y-BTK6-KAUE DAY=20061017 IP=69.71.188.90 CODE=PTPP-MHWE-AN20-LSUY-0R2K DAY=20061018 IP=218.244.187.201 CODE=XCX1-TAFL-2CIP-02LX-HCOK DAY=20061018 IP=222.91.162.118 CODE=IZJP-DCO2-GWF7-X9DT-14D1 DAY=20061018 IP=222.91.162.118 CODE=YZ4G-TV7D-MRKC-F42B-WFVX DAY=20061018 IP=222.91.162.118 CODE=ZM6K-26WC-G99N-LVNI-3L2R...
改变网上AUL许可证的计数方式, 取消IP上的限制
对在线销售的AUL许可证的计数方法作了一点改变, 在新的方法中不将IP地址列入考虑, 当不同日期的访问仍计数, 在同一天内五次访问将会计数一次. 但要注意, 不要对页面进行刷新, 重复的访问也会计算次数的. 下面是到今天为止, 10月份免费的请求情况, 同时我们也来计数一下: USER NAME = free // count = 1 DAY=20061013 IP=58.212.85.189 CODE=5IFW-1D8F-UB4U-MT6J-K89C DAY=20061013 IP=66.211.156.98 CODE=OC0Y-USYX-PP5C-YAGD-O6AN //count = 2 DAY=20061014 IP=200.6.100.10 CODE=AU3I-KV2S-KQKM-30VS-TV46 DAY=20061014 IP=65.113.143.60 CODE=9WBJ-9Q1A-74W1-UK7C-PO88 DAY=20061014 IP=65.113.143.60 CODE=UJ42-URTU-ZEPK-16NZ-2M7L...
10月份上半个月免费AUL许可证的请求情况
随着DBA技术水平的整体提高, 对于AUL/MyDUL这一类软件的使用需求越来越少了, 我于9号在网上发布了一个CGI, 通过网上可以在线早请许可证了. 下面是这一周多一点的时间以来free帐号(密码:200610)的使用情况, 用了5次, 不算多. DAY=20061013 IP=58.212.85.189 CODE=5IFW-1D8F-UB4U-MT6J-K89C DAY=20061013 IP=66.211.156.98 CODE=OC0Y-USYX-PP5C-YAGD-O6AN DAY=20061014 IP=200.6.100.10 CODE=AU3I-KV2S-KQKM-30VS-TV46 DAY=20061014 IP=69.140.195.22 CODE=F901-OX9H-RTAN-NMTT-RDON DAY=20061014 IP=69.140.195.22 CODE=GLHF-22F5-TR7F-0KL1-NQS5 DAY=20061014 IP=65.113.143.60 CODE=9WBJ-9Q1A-74W1-UK7C-PO88 DAY=20061014 IP=65.113.143.60 CODE=UJ42-URTU-ZEPK-16NZ-2M7L 在CGI发布之前, 我给过别人两次的正式许可证, 这样总共是七次了. 不过不知道真正地解决问题的有几次, 没有人问我如何使用AUL/MyDUL, 也没有人给我反馈信息. free帐号现在还有5次的免费机会, 不知道会不会被用完....
从网上获取AUL/MyDUL的正式许可证
为了更好地支持十月份的免费AUL/MyDUL的策略, 写了一个CGI角本来计算许可证, 这样可以在我的网站上直接申请了, 而不需要在邮件或MSN等工具中问我了. 只需要将随机生成的注册码填进去, 点击Generate按钮就可以了. Register Code: 过了十月份, 再按Generate键是将会提示输入用户名和口令, 这就表示不免费了, 请联系我或等待下一个免费周期. 你也可以选择成为我的收费用户, 就没有限制了. 更新: 请直接访问本站的网页来生成, 在RSS订阅中不能正常使用....
AUL/MyDUL许可证的申请, 激活和使用的步骤
有很多人不明白如何申请和使用AUL/MyDUL的许可证, 这儿讲一下申请和使用的步骤. 1, 下载最新版的AUL/MyDUL软件. 2, 最好是在MSN或Skype, AIM等IM工具中和我取得即时联系. 3, 打开一个AUL/MyDUL窗口, 将注册码(红色部分)告诉我, 注意不要退出这个AUL/MyDUL. Register Code: FLGM-J7RC-LVM6-TX2C-VWP0 AUL : AnySQL UnLoader(MyDUL) for Oracle 8/8i/9i/10g, Trial Version 3.2.2 (C) Copyright Lou Fangxin 2005-2006 (AnySQL.net), all rights...
AUL/MyDUL生成SQL Loader控制文件的一个小问题
今日偶儿发现AUL/MyDUL在生成SQL Loader的控制文件时, 有一个参数的设置好象有些问题, 如果不改动的而直接装载的话, 会跳过第一行记录. 数据没有影响的, 请大家放心. 这些参数值拷贝自另一个工具, 在那个工具中我将字段名作为文本文件的第一行, 在AUL/MyDUL恢复成文本格式时, 没有打印字段名, 因此如果SKIP参数设为1的话, 就会跳过一行. 不便之处, 请大家见谅. 原来的AUL/MyDUL输出的控制文件例子: -- -- Generated by AUL/MyDUL, for table hr.test -- OPTIONS(DIRECT=TRUE,READSIZE=4194304,ERRORS=-1,SKIP=1,ROWS=50000) 程序已经修改并上传到网站了, 新版本输出的控制文件例子: -- -- Generated by AUL/MyDUL, for...
规划好你的数据库, 享用免费的AUL/MyDUL恢复
最近被骗了一次AUL的恢复, 想想也算了, 本来10月份我就宣布可以免费使用AUL的, 不过事后我加上了免费仅针对大陆企业和个人, 因为这次骗我的是台资的. 其实好好规划你的数据库, 对于大部份企业的数据库来说免费的许可证(同时最多打开4个文件, 最多读取文件前面512M)足够了. 在AnySQL中恢复是一个表空间的所有文件来操作的, 在默认的限制中, 每个表空间的前2G是免费的, 实际上我过去做的恢复中, 有一半的情况是只有一个1G大小的文件. 所以只要规划好, 对于大部份企业够用了. 可以从以下几方面来考虑: 将表和索引分开表空间存贮 设计好Extent的大小, 如果是字典管理(DMT), 注意INITIAL EXTENT, NEXT EXTENT的大小设置, 特别要注意PCTINCREASE的设置; 如果是本地管理的表空间, 设置合理的UNIFORM SIZE, 或采用自动分配. 对于不同大小的表分开表空间存贮, 小表放一个表间表, 中等大小的表放一个表空间, 很大的表或分区可以分开放一个表空间, 只要每个表空间不超过2G, 则所有的数据都可以免费用AUL来恢复. 禁用数据文件的自动扩展, 通过增加文件来扩展表空间的空间....
技术的狭隘生存空间, 忠告大家收了钱后才去做技术服务?
一个用月薪2400RMB高薪招聘大量DBA的光寶集團下面的一个分公司(廣晶電子)数据库中某个用户下的表全部被删掉了(Drop Table), 这事和我有什么关系呢? 他们在我主页上下载AUL/MyDUL后进行了偿试, 发现这个程序是可以恢复出数据来的, 后来就在邮件/MSN上联系我. 说是急, 很急, 非常急! 因为还没有到我在主页上宣布的免费许可证的时间, 所以这次还不是免费的服务. 在没有彻底讲清楚恢复服务运行的方式(个人或公司名义)之前, 我就将正式的许可证告诉他们用了, 并提供了如何恢复的指导, 我采用这种动态许可证的方式, 本就是为了快速恢复设计的, 在这个场合也确实管用, 如果要到现场去做, 光路上就得这么多时间了吧. 200多个被删除的表在当天就全部恢复出来了. 一些所谓的大公司, 在有求于你(请你干活)时, 总会说他们是大公司大集团, 干完活谈费用时总会说你一个人一天赚个一二千就可以了, 而不管你做的是什么活. 在费用方面没有谈好, 最后他们说"我們只好將恢復出來的數據刪除,另請Oracle公司或別的公司來做恢復工作", 对于事情这样的了解方法, 我欣然同意. 还说"我們在恢復之后,還是有部分數據遺失,需要重新輸入", 当然表都能被删除, 记录也当然能被一条一条地删除, 对于删除的记录AUL是不进行恢复的. 我所怀疑的是他们能将恢复出来的数据真的删除后重来吗?...
2006年10月份,一个月免费的AUL许可证
将在整个2006年10月份提供免费的AUL许可证, 你只要将许可证码贴在这儿或发送到我的邮箱, 我会及时回复的. 时间从10月1日开始, 到10月31号为止. 此活动仅限于大陆地区的企业及个人. 只提供免费的许可证, 但不提供联机的技术支持, 因为在我的网站上已经写了很多这方面的文章了. 从过去的一段时间来看, 找我的那些外国人都可以自行用AUL进行恢复, 所以我想你们也能, 要相信自已. 有一个连续剧"The Appreentice"很不错, 可以用来学英语, 外面有得买的. 谁有那么不幸会遇到数据库坏呢? 谁又会那么幸运地可以得到免费的许可证呢? 整个8月份和9月份, 天下太平, 没有人向我求救....
在AUL/MyDUL中如何恢复被Truncate的表
最近至少看到二次错误地截断(Truncate)表的例子, 并在网上询问如何恢复, 在这儿我给出AUL/MyDUL的解决方案, 下面是我用的一个测试表: ASQL> DESC TRUNCDEMO NO# NAME NULLABLE TYPE --- ----------------- -------- ------------ 1 COL1 VARCHAR2(20) ASQL> SELECT * FROM TRUNCDEMO; COL1 ----- ROW 1 ROW 2 2 rows returned. 接下来我们来截断表, 其实这个操作只是重新格式化了段头块(Segment Header), 并分配一个新的数据对象号(Data Object...
今日删除一贴, 在Blog上说人坏话总不是好事.
今日删除关于骗取我的数据恢复服务一贴, 不管如何, 在这儿这样说人总是不好, 我需要对我这样的冲动向他们说声对不起. 并且认真思过, 决定以后尽量不再有类似事件发生. 因为不管如何的结果, 对我都没有损失. 有两位朋友在哪儿留言了, 如果发现不见了, 请原谅, 被黑之前的主页我曾删除几条看起来不太好的留言, 结果让人家费力又留了几条, 所以对此事先声明. 如果有那位朋友转裁了此贴的内容, 请也一并删除, 谢谢! 从这儿看来自已的忍字还没有到火侯, 需要修练! 网络上的纠纷有时也会引起生活上的悲剧....
没有SYSTEM时如何恢复数据?
在Oracle数据库中, 所有的表结构的信息都存放在SYSTEM表空间中. 光从数据文件的角度看, 我们只能从文件中找到一个数据对象的编号及你 想要的数据. 在丢失SYSTEM的情况下, 还是可以通过扫描所有的数据文件而恢复数据. 但是并不知道这些记录本属于那个表, 需要DBA和开发人员一起去确定这些 记录是那个表的. 下面是一个用AUL/MyDUL去做没有SYSTEM的恢复的例子. 我创建了一个只有2M大小的表空间(一个数据文件, 压缩后6KB), 并在这个表 空间上创建了几张表, 插入一些记录, 然后在Oracle中发一个Checkpoint命令或正常关闭, 以让Oracle将所有的内容写入文件中. 创建表的SQL语句如下: SQL> CREATE TABLE TEST1 (COL1 VARCHAR2(10)); SQL> CREATE TABLE TEST2 (COL1 VARCHAR2(10)); SQL> CREATE TABLE TEST3 (COL1...
AUL/MyDUL恢复成DMP格式时的注意事项
AUL/MyDUL的基本目标是恢复数据, 所以恢复出来的DMP格式文件只包括了一个基本的建表语句和所有的数据. 和exp工具导出生成的文件不同, 在exp的文件中包括了建表的完全语法, 及其索引, 约束及触发器. 在AUL/MyDUL生成的文件中不会包括以下信息: 表的Storage子句及其他属性 分区表或子分区的定义 表的索引信息 除非空(Not Null)之外的其他所有约束 列上的默认值 建在表上的索引 表的权限信息 生成的DMP格式文件总是以"mydul"用户导出的; 并且一个表只能生成一个DMP文件, 不能象exp那样用FILESIZE选项来指定文件大小来生成多个文件; DMP文件的版本是8.1.7, 那怕你的数据库是8.1.7以前的版本, 所以在恢复时必须用8.1.7以上的版本的exp来进行导入. 关于多个DMP文件的支持, 也许会在以后的版本中实现....
在AUL/MyDUL中如何处理坏块/死块?
在Oracle中偶儿会遇到坏块而不能读取的情况, 这时我们首先要想到的是从备份中恢复. 当有一个坏块时, 你就应当用RMAN或DBV去检查整个文件, 它们可以帮助你找出这个文件中所有的坏块. 在AUL/MyDUL中, 坏块并不一定是不能恢复的, 只有那些引起了AUL/MyDUL程序异常退出的坏块(已经遇到过几次了)才是问题, 异常退出通常是因为程序访问内存出了边界. 对于这些块我将他们命名为死块, 处理这种块时需要额外的步骤. 首先是要将他们找出来, 通过设置"set verbose 1"这样的调试命令, AUL/MyDUL会在屏幕上打印出当前正在处理的块的地址(RDBA). 当程序退出时, 我们只需要将最后一行中的块地址标记为死块就行了, 然后重新开始恢复. 如果数据文件中有多个这样的块, 我们可能要这样进行好多个回合. 如下所示: AUL> set verbose 1 Current VERBOSE is : 1 AUL> unload table mydul.t_lob to...
AUL/MyDUL更新到3.2.1版本
此次更新内容: 1, 更改"UNLOAD OBJECT"命令的默认列类型为"RAW",原先为跳过没有指定的列. 2, 提高"SCAN TABLE"命令中列类型自动猜测的准确度. 3, 改变"SCAN TABLE"命令实现的逻辑过程, 获得更好更全的输出. 现在我们在一个2M的表空间中创建一个小表,如下所示: CREATE TABLE TEST ( COL1 CHAR(10), COL2 VARCHAR2(10), COL3 DATE, COL4 NUMBER, COL5 BINARY_FLOAT, COL6 BINARY_DOUBLE ); INSERT INTO...
AUL/MyDUL更新到3.2.0版本
此次更新内容: 1, 改变动态注册码的长度. 2, 标记为坏块之前检查是否已经标记过了. 3, 更改查找坏块列表的算法,采用二分法, 提高效率. 4, 增加一个新的命令"corrupt list"来显示已经标记的坏块. 请看如下例子: Register Code: Z239-VV3O-HT3G-AA43-G027 AUL : AnySQL UnLoader(MyDUL) for Oracle 8/8i/9i/10g, release 3.2.0 (C) Copyright Lou Fangxin 2005-2006 (IamDBA.com), all rights reserved. AUL> open db10g.cfg...
丢了当前或活动的日志后还能起动数据库吗?
这几天网上恶耗不断, 昨天有人问我这个问题, 我认为这样的情况有很大的运气成份在里面, 不一定能open resetlogs的. 已有工程师在那他那儿试了以下步骤了. 1, 直接open resetlogs报, ora-600 [2662] 2, 用(Event 10015)ADJUST_SCN (在eygle.com上查一下)调整数据库的SCN. 3, 第二步的open resetlogs产生了以下错误信息 *** 2006-01-22 02:58:54.086 ksedmp: internal or fatal error ORA-00600: internal ..., arguments: [4194], [39], [59], ... Current SQL statement for...
站内搜索 | Search
总数: 512 | 留言: 1561
- Name: Fangxin Lou
- MSN: anysql©live.com
- Mail:anysql©yahoo.com
anysql©gmail.com