Author: mac
-
Oracle PRM-DUL 私のデータがどこですか?
ORACLEデータベース によくあるエラ の解決策 プロのOracle Databaseの復旧サービスを提供 携帯番号: +86 13764045638 メール:[email protected] 2009年のOracle研究会で、幸いなことに、胡さんと出会った。人は他人の一面を見るだけで、友達になれるかどうかすぐ分かれる。胡さんもその友達の一人だった。後に一緒に過ごした時間を思い出せば、私たちはいつも同じ趣味と考えを持っていた。 私たちの相違点があまりないが、強いて言えば、彼はgeekであったが、私がそうではなかった。このような言い方が彼の耳に入たら、怒ってくれるかもしれない。彼は謙遜で控えめな人であったが、その技術レベルは私があった一番優れたゲームプログランマと近っている。 私は彼と出会った前に、彼がDULツールの開發者の人しか知らなかった。このツールとOracle自身に持っているDULと似ている。今の名前はPRM-DUL となった。そのツールでunloadingがデータファイルのデータを直接に抽出する。 PRM-DUL などDULのツールは不器用なDBAが壊れたデータベースを見つけて、バックアップが足りない場合に、データをリカバリする最後の救い手である。データベースからデータを読み取ることによって、(データベースはこの段階で起動できない)、データを含むSQL * Loader compatibleデータファイルを構造する。これはリカバリの最後手段である。データをデータベースにロードできたら何よりだが、これはエクスポートのかわりものじゃないから、データを早めにunloaderすることもないから、大事なリカバリツールである。 胡さんが私にテストの協力を求めた。私もいざとなると、このツールより効率的に使えるために、私のサーバでこのツールをテストした。それに案外面白かった。このテストで学んだことは以下の通り: 1)一部簡単な設定を事前に完成する必要がある。これはかなり簡単なことで、JDKを完成できれば、獲得できるデータファイルDBFファイルをPRM-DULをインストールするサーバに置けばいい。 2)これはSunのJDKに適用できるが、一部のLinuxオープンソースソフトウェアに適用できない。私たちはトラブルために、何度もメールを送って、大変な時間をかかったが、胡さんが私のサーバにアクセスして、一夜だけで解決できた。 3)配置が終われば、次のステップは楽勝だ。すべてのコマンドラインの結末にブランクとセミコロンを追加すればいい。次はその外見である(すべても独立したデータベースあるいは壊れたデータベースに起こる) www.parnassusdata.comにはより詳しい情報がある。完全なPDFフォーマットのPRM-DULガイドブックもある。 多くの人が多くの場合にPRM-DULのようなツールを使わないだろう。けど、すべてのDBAもその存在を知ったほうがいい。いざとなると、使えるから。必要とすれば以下のような選択肢がある。一つは短時間のPRM-DULライセンスを獲得し、自分でリカバリする。あるいは私たちに協力を求めてください。(でも、すべての業務もリカバリできないデータベースに頼りにしていれば、まずはどうしてこうなったか反省してください)。胡さんは責任感がある人だ。常に徹夜して、異なった時間帯の人々のために、トラブルを解決する。それに、何より、PRM-DULを使えば、直接Oracleに助けを求めるより、ずっと安い。
-
ORACLE PRM-DULのリカバリ :RAIDが壊れた後にORACLEデータを抽出する
ORACLEデータベース によくあるエラ の解決策 プロのOracle Databaseの復旧サービスを提供 携帯番号: +86 13764045638 メール:[email protected] 前週の金曜日で、RAIDがシャットダウンしたあと、Oracle9 iデータベースが起動できなくなったとお客様からの知らせがあった。この話を続く前に、言っておきたいことがある。このデータベースは我々が担当していない。私たちはこの知らせを受けた前に、このデータベース自身が存在していることですら知らなかった。一部のユーザーがすべてを私たちに担当させたが、一部のユーザーが五分五分であった。けど、私たちに対して、お客様がどのやり方を取っても構わない。これはユーザーそれぞれ異なった選択である。いや、ちょっと話がわき道にそれた。 原因を探して見れば、このデータベースはNOARCHIVELOGモードであったうえに、コールドバックアップもない。一回だけのデータベースをエクスポートしたこともない。しかも、こんなことはいつも金曜日に起こる! まずは、壊れたオンラインredoログで最初シャットダウンをリカバリしたが、失敗した。そして、お客様が人工的にリカバリしてみたが、状況があまり変わっていない。その上に、シャットダウンした直後、すぐにコールドバックアップを作成していないから。これらの試しがよりひどい損害をもたらしたか私たちも見当がつかない。 SCNをゆっくり増やしてリカバリしてみた。異なったredoログメンバーも試した。けど、なかなかリカバリできず、ORA-600 [3020]が現れた。 _allow_resetlogs_corruption OPEN RESETLOGS でログファイルを成功にリセットしたが、データベースがまだ起動できず、「一部のオブジェクトが見つけ出せない」とエラ情報を返した。 一言で言えば、システムテーブルスペースが足りないから、データベースを起動出来ない。 このあとでいくつかのアイデアが生み出したが、やはりOracle PRM-DULを使うことが最適だった。PRM-DULはData ExtractionでDatabaseをUnloadingすることと意味している。その機能は起動できなくなったデータベースからデータを抽出する。もちろんこれはデータベース損害次第である。 より詳しい情報は「PRM-DULガイドブック」に参考してください。 もし、あいにくお客様がこのような場合に遭遇したら、www.parnassusdata.com に登録してください。そこで、PRM-DUL体験版をもらえる。あるいは私たちにデータ抽出サビースの申請を出してください。私はもう既にPRM-DULについて詳しいから、一つ目の方法を選んだ。 それを使ったら、数時間だけでデータを収集できた。胡さんより、実演バーションをもらった。 実演バーションで、すべてのテーブルに前の10行のデータを抽出できた。すべても成功に実行できたと確認できたら、お客様が七日のライセンスをもらった。私は数分だけで抽出コマンドを再び実行したが、なんと、PRM-DULが奇跡的にすべてのテーブルのダンプファイルもリカバリできた。後で必要なのはほかのパソコンにコピするだけ PRM-DULはすべてのシーケンスもPL / SQLオブジェクトも作成した。いくつのSYSオブジェクトをダンプするだけで、インディクスと制約が抽出できるが、ユーザーが同じデータモデルを持っているから、そこから定義を抽出する方が簡単になる。 お客様はこんな短い時間にこれほど致命的な損害をリカバリできたことに高く評価した。これはすべてもPRM-DULとその開發者、胡さんのおかげだ。胡さん、金曜日に仕事を早めに完成できて、ありがとうございました。
-
Oracle 碎片化解决方案
如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复! 诗檀软件专业数据库修复团队 服务热线 : 13764045638 QQ号:47079569 邮箱:[email protected] Oracle中可能的碎片化汇总 何处碎片化了? 发生原因 性能影响 容量影响 解決方案 block 数据块 1行的大小>1block时发生(行链接 chained rows) 全面影响块的访问 因为碎片化所以所需容量增加 扩大block size block 数据块 更新一个更大的值(行迁移 migrated rows) 全面影响块的访问 同上 重建表 or 更大的pctfree? Table 表 插入值后,发生大量删除(HWM上升后不会因为delete而下降) 全扫描性能恶化 同上 重建表、SHRINK index 索引 Index key值的更新以及删除 Index扫描性能恶化 同上 重建索引?coalesce? extent 盘区 表以及index的追加或者删除 使用LOCAL extent Management 后几乎没有 同上…
-
Linux系统上的SCSI磁盘错误诊断技巧
如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复! 诗檀软件专业数据库修复团队 服务热线 : 13764045638 QQ号:47079569 邮箱:[email protected] 当出现 scsi disk error 时至少收集如下数据: /var/log/messages* /sbin/fdisk -l /bin/cat /proc/scsi/scsi /bin/dmesg 一旦你收集了如上数据后 ,检查如上日志中与scsi error相关的记录。 若错误一直发生在某个设备上,则考虑替换该设备。 若错误发生在某个总线的不同对象上,则还需要进一步的诊断。 在下面的情况中,id 为设备对象号。 在下面的例子中我们看到的是 0号通道,id=1 并且 lun=0 ,每一行的错误都指向同一个id。我们也能看到该磁盘的不同扇区所爆出的错误。 /var/log/messages Dec 20 10:33:23 localhost kernel: SCSI disk error : host 0 channel 0 id 1 lun 0 return code =…
-
【11g新特性】Cardinality Feedback基数反馈
Cardinality Feedback基数反馈是版本11.2中引入的关于SQL 性能优化的新特性,该特性主要针对 统计信息陈旧、无直方图或虽然有直方图但仍基数计算不准确的情况, Cardinality基数的计算直接影响到后续的JOIN COST等重要的成本计算评估,造成CBO选择不当的执行计划。以上是Cardinality Feedback特性引入的初衷。 但是每一个Oracle新版本引入的新特性 都被一些老外DBA称之为buggy ,Cardinality Feedback基数反馈多少也造成了一些麻烦,典型的情况是测试语句性能时,第一次的性能最好,之后再运行其性能变差。 我们来看一下 Cardinality Feedback基数反馈是如何作用的: 注意使用普通用户来测试Cardinality Feedback,sys用户被默认禁用该特性 Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 – 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> conn maclean/oracle 已连接。 SQL> show parameter dynamic NAME TYPE VALUE ———————————— ———————- ——————————…
-
Oracle ASM 磁盘 header_status UNKNOWN 且磁盘组不在mount
如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复! 诗檀软件专业数据库修复团队 服务热线 : 13764045638 QQ号:47079569 邮箱:[email protected] 适用于: Oracle Database – Enterprise Edition – 版本 11.2.0.1 及以上 本文信息适用于任何平台。 *** 11-Jun-2014检查相关性*** 症状 Tue Jan 01 22:54:20 2013 SQL> alter diskgroup DG_DWH_201209 mount force NOTE: cache registered group DG_DWH_201209 number=7 incarn=0xcf54c88d NOTE: cache began mount (first) of group DG_DWH_201209 number=7 incarn=0xcf54c88d Errors in file /ora11gr2/app/ora11gr2/diag/asm/+asm/+ASM/trace/+ASM_ora_18332.trc:…
-
Oracle ASM 磁盘,MOUNT_STATUS=CLOSED HEADER_STATUS=MEMBER GROUP_NUMBER=0
如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复! 诗檀软件专业数据库修复团队 服务热线 : 13764045638 QQ号:47079569 邮箱:[email protected] 适用于: Oracle Database – Enterprise Edition – 版本 11.2.0.1及以上 本文信息适用于任何平台。 *** 12-Mar-2015检查相关性*** 症状 ASM DISK WITH MOUNT_STATUS=CLOSED HEADER_STATUS=MEMBER GROUP_NUMBER=0 GROUP_NUMBER DISK_NUMBER MOUNT_S HEADER_STATU MODE_ST STATE OS_MB TOTAL_MB FREE_MB NAME FAILGROUP LABEL PATH 0 0 CLOSED MEMBER ONLINE NORMAL 69711 0 0 …
-
Oracle 使用DBMS_REPAIR 或事件 10231从损坏表中抽取数据
如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复! 诗檀软件专业数据库修复团队 服务热线 : 13764045638 QQ号:47079569 邮箱:[email protected] 05-Jun-2015检查相关性 ***************** *** IMPORTANT *** ***************** 本文是文章Note:28814.1的扩展,有关处理块损坏错误,其中数据块的块包装wrapper指示块是坏的。 (通常为ORA-1578错误)。 只有当块内部损坏,这里的详细内容才适用(例如:对于ORA-600或其他错误)。在这种情况下,从Oracle8i及以上版本,可以使用DBMS_REPAIR标记问题块为软损坏soft corrupt,使得被访问时会发出ORA-1578。参阅10.2文档了解使用DBMS_REPAIR.CHECK_OBJECT/ FIX_CORRUPT_BLOCKS的细节。 在读本说明之前,请参阅Note:28814.1 。 本方法仅适用于堆组织heap-organized表。 对于索引组织表(IOT),参阅Note 794772.1 – EVENT 43810 “check-and-skip corrupt blocks in index scans” including IOT’s 简介 ~~~~~~~~~~~~ 本文说明了如何在对象上跳过损坏块,使用SKIP_CORRUPT 表标识flag (Oracle8i及以上可用)或特殊Oracle事件号10231 ,在Oracle releases 7 到8.1 inclusive可用。 本文信息说明了如何使用这些选项。 在继续处理之前,你应该: a)…
-
Oracle DBMS_REPAIR 脚本
如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复! 诗檀软件专业数据库修复团队 服务热线 : 13764045638 QQ号:47079569 邮箱:[email protected] 适用于: Oracle Database – Enterprise Edition – 版本 8.1.5.0 到 12.1.0.2 [Release 8.1.5 to 12.1] 本文信息适用于任何平台。 11-Sep-2012检查相关性 21-Nov-2013检查相关性 26-Feb-2016检查相关性 目的 该脚本旨在提供一个简单,快捷的方式来运行DBMS_REPAIR以识别并跳过损坏块 要求 SQL*Plus 配置 以SYS用户运行sqlplus 指导 1.运行sqlplus。例如: sqlplus ‘/ as sysdba’ 2. 从sqlplus运行脚本 CAUTION 此示例代码仅供教育目的,不受Oracle Support的支持。它经过内部测试,但是我们不保证它对你有用。请确保你在使用之前在测试环境中运行它。 脚本 REM 在给定表空间中创建repair 表: BEGIN DBMS_REPAIR.ADMIN_TABLES ( TABLE_NAME => ‘REPAIR_TABLE’,…
-
Oracle 存在重复磁盘/设备时,ASM磁盘组无法mount: ORA-15032, ORA-15017, ORA-15063
如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复! 诗檀软件专业数据库修复团队 服务热线 : 13764045638 QQ号:47079569 邮箱:[email protected] 适用于: Oracle Database – Enterprise Edition –版本11.2.0.1 及以上 本文信息适用于任何平台。 *** 11-May-2014检查相关性*** 症状 2 node RAC – 11201 – Solaris10 ASM 不mount ASM 磁盘组,因为它发现磁盘不足。由于OCR磁盘储存在ASM中,这防止Oracle集群件的CRS 启动: alert__ASM1.log: ~~~~~~~~~~~~~ … Fri Oct 19 13:09:35 2012 NOTE: No asm libraries found in the system ERROR: -5(Duplicate disk DATA:DATA_0000) <———– Notice…