Author: mac
-
ORACLE RMAN针对坏块的修复技巧
如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复! 诗檀软件专业数据库修复团队 服务热线 : 13764045638 QQ号:47079569 邮箱:[email protected] 损坏块的RMAN 在这种情况下,我们的数据库管理员Bob决定使用RMAN的块多媒体功能只恢复数据文件的损坏块。 首先,Bob检查了为本次损坏生成的alert.log 文件和一个跟踪文件,如下: Hex dump of (file 4, block 76) in trace filec:\oracle\product\10.2.0\admin\db1\udump\db1_ora_2968.trc Corrupt block relative dba: 0x0100004c (file 4, block 76) Bad check value found during buffer read Data in bad block: type: 6 format: 2 rdba: 0x0100004c last change scn: 0x0000.00086aeb seq:…
-
Oracle RMAN针对丢失控制文件的场景
如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复! 诗檀软件专业数据库修复团队 服务热线 : 13764045638 QQ号:47079569 邮箱:[email protected] RMAN 从丢失的控制文件 当没有备份文件可用,但是重做日志不完整时 第五情景 Bob 丢失了所有的控制文件,删除了控制文件的RMAN备份,Bob 需要创建一个新的控制文件,以便不丢失重做日志文件中的数据,他使用故障发生之前生成的sql 命令, 创建控制文件,恢复数据库。 现在问题很严重,Bob已经失去了所有的控制文件,最糟糕的是,他没有任何备份。 所以,他需要重建控制文件,幸运的是,通过使用create controlfile 命令重建控制文件,Oracle帮助 Bob 解决了问题,看一下这个案例。 首先, Bob 会移动控制文件,在这种情况下请注意,需要重做日志完整,使用重做日志和归档日志,我们和Bob 能够打开数据库,为了模拟控制文件丢失,将其移动到另一个位置。 SQL> alter database backup controlfile to trace; $ mv *.ctl control_backup/ 因为 Bob丢失了控制文件, 他立刻使用 abort选项终止了实例。 SQL> shut abort; ORACLE instance shut down. 为了再次创建控制文件, Bob 需要这个文件存储的所有数据库信息,并且这必须和数据库结构完全匹配,通过使用下列命令,获得当前结构和创建命令是可能的: alter database backup…
-
Oracle RMAN针对丢失undo数据文件的恢复场景
如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复! 诗檀软件专业数据库修复团队 服务热线 : 13764045638 QQ号:47079569 邮箱:[email protected] RMAN撤消数据文件丢失 情景 2: 撤消数据文件丢失和数据库不完全关闭 该情景中, 由于停电数据库不完全关闭,你丢失了撤销数据文件存在于的硬件驱动,为创建该情景,执行下列步骤: 为了用一些数据填充撤销数据文件,从 dba_objects创建一个表,通过不进行下列交易更新任何列: SQL> create table t as select * from dba_objects; Table created. SQL> update t set owner=null; 49814 rows updated. SQL> 现在使用shutdown abort命令关闭数据库,移动撤销数据文件到另一个位置: SQL> shutdown abort ORACLE instance shut down. [oracle@locahost db2]$ mv undotbs01.dbf undotbs01.dbf_backup SQL> startup ORACLE instance started.…
-
Oracle 通过不完全恢复取消删除表空间的方法
如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复! 诗檀软件专业数据库修复团队 服务热线 : 13764045638 QQ号:47079569 邮箱:[email protected] [提问] ARCHIVELOG模式的数据库中,因为误删除了数据库的表空间,所以通过不完整的介质恢复,可以恢复到删除表空间之前的状态。请告诉我操作方法。 [回答] 在警报日志中调查删除表空间的时刻。 Mon Nov 26 13:32:40 2001 drop tablespace local_ts including contents 没有1.个时间点之前的控制文件的备份(被删除的表空间的文件的entry)时,通过TO TRACE从现在的控制文件的备份中获得。 alter database backup controlfile to trace; 对已生成trace 文件进行如下修复。 – 删除trace的vendor – 将CREATE CONTROLFILE命令的NORESETLOGS变更成RESETLOGS – 追加CREATE CONTROLFILE命令中删除完成的表空间文件的entry – 删除CREATE CONTROLFILE以外的命令(RECOVER DATABASE等) 执行日志切换,最后的日志归档完成后终止实例 restore 1.的时刻之前获得的所有数据文件的备份。 如果有控制文件的备份的话就业需要restore。 因为没有控制文件的备份,以2的方法来制成脚本时,以NOMOUNT启动实例,执行2的CREATE CONTROLFILE命令。 4.中,控制文件的备份restore完成时,以MOUNT启动实例 指定删除表空间的时刻,执行不完全恢复。 recover…
-
Oracle RMAN: 所有online REDO日志文件都损坏时的恢复方法
如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复! 诗檀软件专业数据库修复团队 服务热线 : 13764045638 QQ号:47079569 邮箱:[email protected] [Problem] 包含current的online REDO日志文件全部损坏了。 控制文件,数据文件没有损坏。 用RMAN获得备份。 使用catalog。并以归档日志模式来使用。 通过RMAN来修复的方法。 [To reproduce] 包含current的online REDO日志文件都损坏时,就会发生这样的故障。 。 SVRMGR> alter system switch logfile; ORA-03113: end-of-file on communication channel Alertファイル: Thu Nov 30 17:46:50 2000 Errors in file /export/home/rman/ora816c/admin/tar816c/bdump/tar816c_lgwr_1880.trc: ORA-00313: open failed for members of log group 3 of…
-
重新连接Pro*C等应用时发生 ORA-12154
如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复! 诗檀软件专业数据库修复团队 服务热线 : 13764045638 QQ号:47079569 邮箱:[email protected] [Problem] 在检测故障时,如果拔掉LAN线的话,试着重新连接的话就会发生ORA-12203。 我认为这个操作没有问题,但如果重新连接的话就会导致ORA-12154。 之后如果修复LAN问题也会产生同样的问题。 [Action] 本问题中,如果报告出现了故障的话,就会就会在R8.1.6中修复。 这个问题如果发生一次的话(ORA-12203,就会写入到sqlnet.log 中,如果指定没有访问 log directory 的权限的directory 的话就会导致发生这个问题。 SQL*Net trace上,就会出现无法找到如下服务名的错误。 nnfun2a: address for name “test1.world” not found 如下例所示,在 sqlnet.ora 中变更输出地址的话,请添加一下访问权限。 log_directory_client = /xxx/xxx
-
Oracle [DATAPUMP] 在所有数据库模式下执行 expdp/impdp 的方法
如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复! 诗檀软件专业数据库修复团队 服务热线 : 13764045638 QQ号:47079569 邮箱:[email protected] Oracle Database – Enterprise Edition – 版本 10.1.0.2 以后 这个文件的内容可以适用于所有平台。 目的 说明使用 R10.1中的新utility DATAPUMP ,通过任意数据库模式下的expdp/impdp 恢复数据库的方法。 对策 [详细内容] 顺序的流程与Document 1724083.1(KROWN#71554)中介绍的传统的の exp/imp也是相同的。另外可能需要对执行这个顺序的用户要赋予EXP_FULL_DATABASE role。 执行expdp时,事先制成指定 directory 的目录。(这个目录中会生成转储文件。) (例) SQL> create directory dpump_dir as ‘/home/oracle/backup/’; 所有数据库模式中,通过expdp 输出数据。 (例) % expdp system/manager full=y dumpfile=fulldb.dmp directory=dpump_dir logfile=full_expdp.log 查看是否正确设定环境变量以及初始化参数文件的设定 。…
-
Oracle 使用KFED/ DD修复ASM磁盘头损坏
如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复! 诗檀软件专业数据库修复团队 服务热线 : 13764045638 QQ号:47079569 邮箱:[email protected] 概述 注意– 不要在生产系统上运行这些命令,因为很容易就会损坏数据 ASM 11.1.0.7版本及更高版本中,ASM磁盘头块在分配单元1中的倒数第二个ASM元数据块中有备份 Kfed 参数 aun -读取分配单位(AU)号码。默认值是AU0,或ASM磁盘的开始 aus – AU大小. 默认为1048576 (1MB). 从非默认AU大小的磁盘组读取时,指定AUS。 blkn – 读块号。默认值是块0,或者AU的第一个块。 dev – ASM磁盘或设备名称。注意,关键字dev可以省略,但ASM磁盘名称是必须的。 了解ASM 磁盘布局 Read ASM disk header block from AU[0] [root@grac41 Desktop]# kfed read /dev/asm_test_1G_disk1 | egrep ‘name|size|type’ kfbh.type: 1 ; 0x002: KFBTYP_DISKHEAD <– ASM disk header kfdhdb.dskname: TEST_0000 ; 0x028:…
-
Oracle kfed – ASM 元数据编辑器
如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复! 诗檀软件专业数据库修复团队 服务热线 : 13764045638 QQ号:47079569 邮箱:[email protected] kfed 是一款未公开的ASM实用程序,可以用于读取并修改ASM元数据块。它是个独立的实用程序,独立于ASM实例,因此可以在安装或卸载的磁盘组中使用。Kfed最强大的特点是能够修复损坏的ASM元数据。 kfed二分制出现在最近的ASM版本中。但如果你在$ ORACLE_HOME/ bin目录下没有看到它(例如,它可能不会出现在10.1版本),它可能被建在其他目录中,如下所示: $ cd $ORACLE_HOME/rdbms/lib $ make -f ins* ikfed kfed read 有KFED读命令,我们可以读取单一的ASM元数据块。句法是 $ kfed read [aun=ii aus=jj blkn=kk dev=]asm_disk_name 其中该命令行参数为 aun -读取分配单位(AU)号码。默认值是AU0,或ASM磁盘的开始 aus – AU大小. 默认为 1048576 (1MB). 从非默认AU大小的磁盘组读取时,指定AUS。 blkn – 读块号。默认值是块0,或者AU的第一个块。 dev – ASM磁盘或设备名称。注意,关键字dev可以省略,但ASM磁盘名称是必须的。 使用kfed读取ASM磁盘头块 下面是使用kfed程序从ASM磁盘/ dev / sda1中读取ASM磁盘头的一个例子。 $ kfed read /dev/sda1 | more kfbh.endian: …
-
Oracle数据恢复:文件系统格式化,ASM和字典损坏 3个案例
如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复! 诗檀软件专业数据库修复团队 服务热线 : 13764045638 QQ号:47079569 邮箱:[email protected] 上周以来,我帮助许多用户进行数据恢复,解救了数据库的多重危险。下面和大家分享一下这些案例: 案例一:存储维护时,误用、格式化正在使用中的硬盘,导致数据库崩溃。 用户格式化ext3文件系统后,导致情况变得更加复杂。 客户原有系统使用ASM存储管理,约2T存储设备的两个硬盘得以恢复,我们有两个硬盘数据重组ASM默认AU大小为1M,在两个磁盘之间保持平衡(平衡)。存储平衡是Oracle技术的性能改进,但是,在发生故障的情况下,你会发现这个技术折磨人,通常使用文件系统,文件将被存储在单个系统上,ASM被分散,从而导致即使是第一次创建系统表空间,也必然在两个磁盘之间交替存储。 好了,那么我们应该明白:做磁盘维护一定要小心,如果有必要,使用工具来比较磁盘分区,我以前常用UE来比较。 案例二:使用Raid 5磁盘阵列,瞬间失去了两个硬盘驱动器。强制上线,导致数据不一致,数据库无法启动。 最初的错误信息Redo日志进一步损坏ASM,正确安装后台RBAL进程有时陷于僵局。 最后检查时,我们发现多个数据文件存在损坏,这就意味着损坏磁盘并加载,使得多个文件被损坏。该数据库是一个非存档备份,比较麻烦,因为数据的量是在TB级进行恢复。 在我看来,这种情况下的进程,有几个方面值得商榷,但不改变最终的结果,但是我总结了一些新的DBA代码,还做了个PPT关于“DBA误判”,有机会后共享ACOUG。 最后,我们指导用户通过工具进行数据提取恢复 案例三:客户经常创建表空间,并删除表空间,从而导致不一致的数据字典,数据库无法正常运行。 我觉得这是Oracle Metalink的错误,虽然没有标记,但属于Oracle自己的问题。出错的最后表现是,两个表空间文件正常,但删除提示不存在,也影响其他操作。 第一个表空间DROP操作会导致以下错误: Thu Jun 24 20:00:04 2010 DROP TABLESPACE FMI is Thu Jun 24 20:00:04 2010 ORA-959 signalled during: DROP TABLESPACE FMI 然后就是以下ORA-00600错误: Thu Jun 24 20:03:59…