存档

2014年6月 的存档

exp一张大表报ORA-01555和ORA-22922

2014年6月26日 没有评论

好早之前的一个活,一个pc server,windows下装的oracle9i,想换ibm p570小机,数据需从pc server迁移到小机,一张大表含blob类型字段,表数据量4T,当数据量导出到1.5TB时就会报ORA-01555和ORA-22922错。做了N多尝试,还是用了Oracle MOS的方案,原因还是在于有一些LOB数据库坏掉了,这里记录一下。

1 建一张临时表,用于存坏掉LOB相应行的rowid,例如:corrupt_lobs

SQL> create table corrupt_lobs (corrupt_rowid rowid, err_num number);

2 看一下表结构

DESC LOBDATA

Name Null? Type
———- ——— ————
ID NOT NULL NUMBER
DOCUMENT BLOB

阅读全文…

分类: Oracle 标签: , ,

amdu,从非挂载的asm提取文件

2014年6月8日 没有评论

ASM是10g时引入的,使用的人不多,偶尔有一些吃“螃蟹”的基本都是用在了linux下做rac,抑或是测着玩,原因在于大家对于新事物还都是观望的态度,传统的裸设备用久了也用熟了。而ASM是一个黑盒,如果ASM坏了,里面的数据文件等各种文件都读不出来岂不傻眼了,干着急没办法,只能求助于Oracle。
从11g开始,Oracle悄无生息的在$ORACLE_HOME/bin目录下多了amdu这个工具,手册上没有这个工具的任何信息,顶多是执行amdu -help会列出这个工具的各种选项,不过google或baidu一下内容就多了,会从各个搜索结果只言片语中立体的了解这个工具,细心一点也会知道Oracle mysupport上的DOC_ID:553639.1简单介绍了这个,Oracle也提供了10g的amdu的版本。
说了这么多,amdu倒底干啥用的,简单的说就是使用它可以从一个崩溃的ASM中把数据文件等各种文件读出来,它的存在为极大的增强最终用户使用asm的信心。它是给Oracle supporter的,不是面向最终用户的。不是每个最终用户都有Oracle服务,所以多学些知识没有坏处,如下以一个测试案例演示一下这个工具的使用。
阅读全文…

分类: Oracle 标签: