Author: mac

  • MySQL: 如何使用myisam-recover-options选项?myisamrecover

    适用于: MySQL 服务器-版本4.0及以上 本文信息适用于所有平台。   目标 学习MySQL的myisamrecoveroptions选项并如何将它用于启动服务器时崩溃的MyISAM表的自动修复。 myisam‐recover‐options 在MySQL 5.1及更早版本中叫做mysqlrecover。   修复 myisam‐recover‐options选项是用于创建启动MySQL时MyISAM 的自动恢复。myisam‐recover‐options选项能使用以下值: DEFAULT: 不用备份,强制,或快速检查进行恢复。 BACKUP: 如果数据文件在恢复时被更改,将MYD 文件的备份保存为 tbl_name‐datetime.BAK。 FORCE: 即使会从.MYD 文件丢失多于一行仍运行恢复。 QUICK: 如果没有任何delete块就不检查行。   myisam‐recover‐options 也允许值的组合,例如果数据文件在恢复时被更改,即使创建备份时丢失了多于一行,FORCE,BACKUP 结合恢复的使用。   myisam‐recover‐options的QUICK和DEFAULT值是两个最安全的选项,因为它们不删除任何数据。这也使得它们对于自动恢复是很适合的值。DEFAULT和FORCE的差异是即使FORCE不能从之前完成的语句中找到所有行,它仍被允许继续恢复。因此,建议将FORCE与BACKUP结合,使得在对MyISAM数据文件作更改之前创建一个备份。   所以在myisam‐recover‐options 选项使用DEFAULT 是个好方法,但如果失败的话,如果错误经常出现且可以接受潜在丢失数据的风险,建议手动修复并仅使用myisamrecover=FORCE,BACKUP。   你应该在执行手动修复之前创建表的备份。   如果你需要自动修复表而不重启MySQL ,你需要使用调度服务启 myisamchk, CHECK TABLE,且/或REPAIR TABLE 来定期检查并修复表的错误。MySQL 5.1及以上你能使用EVENTs;在MySQL 5.0及以下,你需要使用操作系统提供的scheduler。   如果你选择使用myisamchk,你必须确保在运行myisamchk时没有其他程序在使用表。 参见: MyISAM Startup Options Setting Up…

  • MySQL InnoDB表的Table is Full错误

    症状 4.x, 5.0.84 及以下, 5.1.37 及以下, 带 InnoDB 插件的5.1.40及以下 使用 InnoDB 表空间且不使用 innodb_file_per_table 的所有版本   重现问题: 使用自动扩展 InnoDB 表空间包括使用 innodb_file_per_table 的所有版本   原因 4.x, 5.0.84 及以下, 5.1.37 及以下, 及带 InnoDB 插件的5.1.40 及以下 使用 fixed size InnoDB 表空间和不使用 innodb_file_per_table的所有版本 使用自动扩展InnoDB 表空间包括使用 innodb_file_per_table的所有版本   解决方案 Versions 4.x, 5.0.84 及以下, 5.1.37 及以下, 带 InnoDB 插件的5.1.40 及以下 使用固定大小InnoDB 表空间和不使用…

  • 什么导致了MySQL服务器中的MyISAM 表损坏?

      应用于: MySQL 服务器-版本:4.0 到 5.5 –发行版:到5.5 MySQL 服务器-版本:4.0 以上–发行版:4.0 以上 MySQL 服务器-版本:4.0 到 5.5 –发行版:4.0 到 5.5   所有平台   目标 说明MyISAM 表损坏的具体原因   解决方案   MyISAM 存储引擎非常可靠。但如果时常遇到MyISAM 表损坏,你最好思考导致这个问题的原因。在查询数据时,以下错误信息通常意味着表损坏:   Error 1034 Incorrect key file for table: ‘…’. Try to repair it   或包含以下错误号码之一的信息:   Error 126 = Index file is crashed Error 127…

  • GoldenGate OGG 1403错误解决方法

    1. 错误描述 WARNING OGG-01154 Oracle GoldenGate Delivery for Oracle, repyxb.prm: SQL error 1403 mapping SGPM.P_SMS_SEND to SGPM.P_SMS_SEND. WARNING OGG-01003 Oracle GoldenGate Delivery for Oracle, repyxb.prm:  Repositioning to rba 2509817 in seqno 1. ERROR OGG-01296 Oracle GoldenGate Delivery for Oracle, repyxb.prm:  Error mapping from SGPM.P_SMS_SEND to SGPM.P_SMS_SEND. ERROR OGG-01668 Oracle GoldenGate Delivery for Oracle, repyxb.prm:  PROCESS…

  • 深入了解Oracle ASM(二):ASM File number 1 文件目录

    ASM file number 1 – the File Directory   ASM文件目录File Directory针对本Disk Group中的每一个文件包含一条记录。该记录指向该文件的前60个数据盘区extents,必要时还包括间接盘区indirect extents。该文件目录在必要容纳更多文件数目时会自动增长。每一个文件目录记录保持更新以下文件信息:   文件大小 该文件的块大小 文件种类,例如:数据文件,ASM元数据文件,在线日志,归档日志,控制文件等等 文件冗余度:外部、2路或者3路镜像 条带化配置,coarse or fine 到前60个extent的直接盘区指针(direct extent pointer) 300个间接盘区指针(indirect extent pointers) 创建时间戳 最后修改或更新时间戳 指向别名目录中的用户别名和文件名 ASM 1号文件 file number 1 文件号file number是文件目录中找到对应文件记录的重要索引键。 其中第一条记录是该文件目录自身。为了找出过期的文件号,所以在每个文件创建时都生成了一个唯一的32 bit的识别号incarnation number。由此,disk group的ID+ file number + 该incarnation number 可以做到唯一识别某个指定文件。   请注意,约定俗成地将ASM文件的第一个block称为0号块–block zero。 0号块通常包含十分重要的接口信息。   文件目录file directory 的位置 …

  • Oracle亚太用户组社区领导人峰会(APOUC)圆满落幕

    亚太甲骨文用户组社区进入新阶段   北京,2014年10月17日 —— 近日,第十届甲骨文亚太用户组社区领导人峰会(Asia Pacific Oracle User Group Community (APOUC) Leaders’ meeting)在香港顺利闭幕,来自中国,日本,泰国,印度等国家的21个用户组25个领军人物齐聚一堂,共同探讨Oracle独立用户组社区的发展状况,同时针对包括JAVA,Database,Application等技术分享相关的最佳实践、创意和经典案例。 会议背景及亮点 凭借在全球范围内拥有超过900个用户组的庞大基数,Oracle用户组社区为所有客户提供了一个包含联络网、信息和最佳实践分享的环境。同时,作为收集信息反馈的关键来源,该社区也帮助甲骨文公司为现有客户提高产品质量、服务水平和综合体验。 APOUC的宗旨是为亚太地区Oracle用户组领导人和Oracle之间搭建面对面的沟通桥梁,为用户组社区领导人提供 甲骨文产品和服务的最新资讯,并促进亚太Oracle用户组之间的相互了解和合作。 甲骨文以不同的方式支持其独立用户组社区的发展,甲骨文用户组社区领导人峰会就是其中一种方式。作为一年一次的年度盛会,甲骨文亚太用户组社区领导人峰会同步在亚洲、美洲、欧洲等地区举行,与全球用户大会不同的是,甲骨文亚太用户组社区领导人峰会讨论的内容更加因地制宜,让不同区域的用户对自身所在地区的产品应用更有的放矢,同时能够向其它地区的开发者们学习先进或独特的技术经验。 本次峰会是APOUC阔别香港四年后再次于港举办,会上来自甲骨文香港的市场总监Sylvia Lee向与会嘉宾致欢迎辞。 活动期间,与会者重点探讨了SaaS、移动、物联网、大数据等行业热点话题。同时,甲骨文全球客户计划全球副总裁Tony Banham和iTech 亚太区的Peter Yu分别针对大家关心的Oracle Reference项目和Oracle技术网的ACE项目做了详细讲解。 来自Oracle的用户组团队就用户组和Oracle合作的方式和途径、全球其他地区Oracle用户组的概况和成功实践、未来相关Oracle用户组社区的计划和安排等话题进行了详细介绍。 下午与会者就“Java”以及“Oracle Tech&Apps”两个核心话题进行深入探讨和案例分享。颇受欢迎的“四分钟演讲”环节中有十六位与会者分享其用���组的最佳实践、创新想法和社区故事。 在Java专场中,来自印度、中国大陆、台湾、澳大利亚等Java用户组领导人还介绍了近期围绕Java 8发布而举行的全球Java巡讲活动。该活动于5月来到中国,并于4月30日-10日,分别在北京、广州、上海、南京、杭州举行了7场共创Java未来的活动。来自广东,上海,南京及GreenTea JUG的Java 用户组还于各自城市成功举办了 Java 8的分享和庆祝活动。 甲骨文高管及相关引言 甲骨文公司高级副总裁及首席客户官Jeb Dasteel表示:“Oracle 一直致力于在全球范围建立强大独立的用户组,随着亚太地区近年来经济的迅速发展,亚太地区的用户组社区领导人峰会也日益重要。基于此次大会的分享和领导人们的建议,未来甲骨文会继续积极开发,加大资源共享力度,为开发者带来更多与时俱进并且紧跟当地市场的产品。同时,我们也对甲骨文用户组领导层的辛勤努力表示感谢,并期待更多的用户可以加入我们的社区。” SHOUG主席刘相兵表示,能与亚太地区包括泰国、日本、斯里兰卡、印度的Oracle用户组管理者齐聚一堂,共同探讨Oracle 用户组OUG组织的发展前景与Oracle公司的技术发展则不枉此行。 支持性资源 Oracle 用户组 Oracle用户组活动 参与用户组活动 新Oracle用户组平台发布 Oracle用户组网页 在Twitter上关注Oracle 用户组 联系用户组团队 Oracle用户组视频 CNOUC用户组视频  

  • 【Oracle ASM】PST Partnership Status Table介绍

    Partner and Status Table 相关:https://www.askmac.cn/archives/know-oracle-asm-basic-html.html 一般来说aun=1 是保留给Partner and Status Table(PST)的拷贝使用的。 一般5个ASM DISK将包含一份PST拷贝。多数的PST内容必须相同且验证有效。否则无法判断哪些ASM DISK实际拥有相关数据。 在 PST中每一条记录对应Diskgroup中的一个ASM DISK。每一条记录会对一个ASM disk枚举其partners的ASM DISK。同时会有一个flag来表示该DISK是否是ONLINE可读写的。这些信息对recovery是否能做很重要。 PST表的Blkn=0是PST的header,存放了如下的信息: Timestamp to indicate PST is valid Version number to compare with other PST copies List of disks containing PST copies Bit map for shadow paging updates PST的最后一个块是heartbeat block,当diskgroup mount时其每3秒心跳更新一次。 如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复! 诗檀软件专业数据库修复团队 服务热线 : 13764045638   QQ号:47079569  …

  • MySQL InnoDB存储引擎表损坏恢复指南

    目的 故障排除步骤 适用于: MySQL服务器版本 5.0至5.7[5.0版到5.7]   A 第一反应 A.1 停止,备份,重启 停止MySQL 服务器。如果它已经下线或崩溃,跳到步骤 2。 代码:   /etc/init.d/mysqld stop   这里的目的是要冻结数据和表文件的当前状态,这样就没有新的写入发生,并且我们能创建文件副本,而无需注意文件更改会导致数据不一致,或存储信息的丢失。   2.如果不是整个MySQL数据目录,备份您的数据和日志文件。 代码:   mkdir /root/innodb.bak (or backup path of your choice) cd /var/lib/mysql (or alternate data directory, if con figured) dd if=ibdata1 of=ibdata1.bak conv=noerror cp -p ./ibdata* /root/innodb.bak/ cp -p ./ib_log* /root/innodb.bak/ 首先,你创建了存放任何文件副本的目录,然后你在/var/lib/mysql(或你的数据目录)中创建了ibdata1 文件的本地备份,还有ibdata和ib_logfiles的备份到你的备份目录。我喜欢同时使用dd和cp创建(多个)ibdata文件的副本,因为两个工具的性质不同。 Dd工具复制原始文件,而CP复制文件内容到一个新的文件。我没有遇到过任何情况中这是恢复成功的关键,但这仍是我的习惯,我认为这绝不是一个坏习惯。…

  • 恢复MySQL中损坏的Innodb表

    假设你在使用MySQL中的InnoDB表,但是硬件出现问题,或者遇到了驱动程序错误,内核错误,电源故障或某些罕见的MySQL错误,而在InnoDB表空间的某些页被损坏。在这种情况下,Innodb通常打印出如下:   InnoDB: Database page corruption on disk or a failed InnoDB: file read of page 7. InnoDB: You may have to recover from a backup. 080703 23:46:16 InnoDB: Page dump in ascii and hex (16384 bytes): … A LOT OF HEX AND BINARY DATA… 080703 23:46:16 InnoDB: Page checksum 587461377, prior-to-4.0.14-form checksum 772331632 InnoDB:…

  • Oracle DUL(data unloader) 専用データ復旧ツールユーザーズマニュアル

    ORACLEデータベースを正常にオープンできない場合やマウントできない場合、データベースが損傷した場合等にオラクルデータベースファイル(~.dbf)を直接読み込むことによって、ファイルから有効なデータを抽出するツールです。 Oracleデータベース救済-リカバリ-運用とメンテナンス-オプティマイザサビースは詩檀ソフトに訪ねてください。 にいる方は:+86  13764045638   独立したc–プログラム、 DULは独立したCプログラムで、データファイルのテーブルから直にラインを読み取る。OracleのRDBMSを全然使われていない。DULはダーティリードする。すべてのトランザクションが提出されたと仮定する。メディア・リカバリが完成されたかを確認する必要はない。   最後の手段     DULはほかの方法で検索できないデータを検索できるので、これがEXP,SQL *などの代用品ではなくて、最後の手段だ。正常な環境にはふさわしくない。 DULを使う前に、RDBMSにいろんな隠しの手段が壊滅したデータベースを起動できることを知ることが必要である。記録なしのinit.oraパラメータとトランザクションがロールフォワードがスキップできて、ローるバックや特定したSMON動作が使えない。     データベースが壊滅した–データブロックがまだ大丈夫 データベースが壊滅したことはまだ大丈夫だが、独立したデータブロックが100%に正確ということを確保しないといけない。すべてをエクスポートしてテストする時に、ブロックが壊れていないことと正確なセグメントに属していることを確保してください。もし、スキャンしている時に壊れたブロックを見つけたとしたら、エラ情報がロードプログラムに印刷してエクスポートする。そして次の行かブロックをインポートする。 cluster/テーブル/インデックスのライン DULはcluster/テーブル/インデックスのラインにあるデータをエクスポートするしかできない。これはトリガをダンプしない、ストアドプロシージャ、テーブルまたビューのSQLスクリプトを作成しません。(これを説明するデータディクショナリーはエクスポートできる)。そのデータはSQL * LoaderあるいはIMPに適応したフォーマットにエクスポートされる。同時に、SQL * Loaderマッチ制御ファイルも作成される。 DULはインデックスとインデックス組織テーブルをエクスポートできる。これはテーブルになくした行と識別子の数を確かめたい時に使える。   クロスプラットフォームエクスポート クロスプラットフォームエクスポートを支持している。データベースがDUL-ホストと異なったオペレーションシステムからコピーできる。(今まで関わったデータベース/システム:Sequent/ptx, Vax Vms, Alpha Vms, MVS, HP9000/8xx, IBM AIX, SCO Unix, Alpha OSF/1, Intel Windows NT)。 強力な機能 DULの運用あるいはハングにはデータベースがどれほど壊れていることにかかわらず、ダンプできない。ほぼすべてのOracle機能を支持している。ほかの支持するデータベース構造:ラインリンク、ライン移行、ハッシュ/索引クラスタ、long型、のRAW、行ID、日付、数値、複数の空きリスト・グループ(複数の空きリスト・グループ)、ハイレベルセグメント(セグメントハイウォーターマーク)、NULLが、NULLの列が尾を表示、無制限の拡張、Oracle8の新しいデータブロックレイアウト、パーティションテーブル。後で追加したlobs、圧縮インデックス、9iR2圧縮テーブルも支持している。変数配列(VARRAY)と抽象データ型ADT(ユーザーが定義したもの)は一部だけで支持される。データはexpコマンドキットでエクスポートされたダンプファイルからリカバリできる。Unpumpについて、pumpファイルを支持するために、一部の初期的な手配を完成した。   支持するRDBMSバーション DULはOracle 6以後のバーションに適応する。DULはすでに6.0.26から10.2までのバーションテストを経過し、古いデータブロックヘッダー配置(6.0.27.2前)も支持する。 マルチバイト支持 DUL可转换为UTF8。这是为了存储在UTF16的 NCLOBS。 DULはシングルバイトのアプリケーションである。そのコマンドパーサはマルチバイト文字を理解できないが、あらゆるマルチバイトをエクスポートできる。すべてのトラブルに対して、解決策がある。 注意 MLSLABELS…