标签云
asm恢复 bbed bootstrap$ dul In Memory kcbzib_kcrsds_1 kccpb_sanity_check_2 MySQL恢复 ORA-00312 ORA-00607 ORA-00704 ORA-00742 ORA-01110 ORA-01555 ORA-01578 ORA-01595 ORA-08103 ORA-600 2131 ORA-600 2662 ORA-600 3020 ORA-600 4000 ORA-600 4137 ORA-600 4193 ORA-600 4194 ORA-600 16703 ORA-600 kcbzib_kcrsds_1 ORA-600 KCLCHKBLK_4 ORA-15042 ORA-15196 ORACLE 12C oracle dul ORACLE PATCH Oracle Recovery Tools oracle加密恢复 oracle勒索 oracle勒索恢复 oracle异常恢复 Oracle 恢复 ORACLE恢复 ORACLE数据库恢复 oracle 比特币 OSD-04016 YOUR FILES ARE ENCRYPTED 勒索恢复 比特币加密文章分类
- Others (2)
- 中间件 (2)
- WebLogic (2)
- 操作系统 (103)
- 数据库 (1,768)
- DB2 (22)
- MySQL (77)
- Oracle (1,609)
- Data Guard (52)
- EXADATA (8)
- GoldenGate (24)
- ORA-xxxxx (166)
- ORACLE 12C (72)
- ORACLE 18C (6)
- ORACLE 19C (15)
- ORACLE 21C (3)
- Oracle 23ai (8)
- Oracle ASM (69)
- Oracle Bug (8)
- Oracle RAC (54)
- Oracle 安全 (6)
- Oracle 开发 (28)
- Oracle 监听 (29)
- Oracle备份恢复 (591)
- Oracle安装升级 (97)
- Oracle性能优化 (62)
- 专题索引 (5)
- 勒索恢复 (86)
- PostgreSQL (30)
- pdu工具 (6)
- PostgreSQL恢复 (9)
- SQL Server (32)
- SQL Server恢复 (13)
- TimesTen (7)
- 达梦数据库 (3)
- 达梦恢复 (1)
- 生活娱乐 (2)
- 至理名言 (11)
- 虚拟化 (2)
- VMware (2)
- 软件开发 (39)
- Asp.Net (9)
- JavaScript (12)
- PHP (2)
- 小工具 (22)
-
最近发表
- ORA-600 kokiasg1故障分析(obj$中核心字典序列全部被恶意删除)
- ORA-00756 ORA-10567故障数据0丢失恢复
- 数据库文件变成32k故障恢复
- tcp连接过多导致监听TNS-12532 TNS-12560 TNS-00502错误
- 文件系统格式化MySQL数据库恢复
- .sstop勒索加密数据库恢复
- 解决一次硬件恢复之后数据文件0kb的故障恢复case
- Error in invoking target ‘libasmclntsh19.ohso libasmperl19.ohso client_sharedlib’问题处理
- ORA-01171: datafile N going offline due to error advancing checkpoint
- linux环境oracle数据库被文件系统勒索加密为.babyk扩展名溯源
- ORA-600 ksvworkmsgalloc: bad reaper
- ORA-600 krccfl_chunk故障处理
- Oracle Recovery Tools恢复案例总结—202505
- ORA-600 kddummy_blkchk 数据库循环重启
- 记录一次asm disk加入到vg通过恢复直接open库的案例
- CHECKDB 发现了 N 个分配错误和 M 个一致性错误
- 达梦数据库dm.ctl文件异常恢复
- Oracle Recovery Tools修复ORA-00742、ORA-600 ktbair2: illegal inheritance故障
- 可能是 tempdb 空间用尽或某个系统表不一致故障处理
- 11.2.0.4库中遇到ORA-600 kcratr_nab_less_than_odr报错
月归档:四月 2012
ORA-00600[KSSADP1]
检查数据库发现ORA-00600[KSSADP1]错误
Thu Apr 19 21:16:45 2012 Errors in file /oracle9/app/admin/crm/udump/crm1_ora_442896.trc: ORA-00600: internal error code, arguments: [KSSADP1], [], [], [], [], [], [], [] Thu Apr 19 21:16:45 2012 Errors in file /oracle9/app/admin/crm/udump/crm1_ora_442896.trc: ORA-00600: internal error code, arguments: [KSSADP1], [], [], [], [], [], [], [] Thu Apr 19 21:16:45 2012 Trace dumping is performing id=[cdmp_20120419211645] Thu Apr 19 21:16:46 2012 Errors in file /oracle9/app/admin/crm/udump/crm1_ora_442896.trc: ORA-00600: internal error code, arguments: [KSSADP1], [], [], [], [], [], [], [] Thu Apr 19 21:16:47 2012 Errors in file /oracle9/app/admin/crm/udump/crm1_ora_442896.trc: ORA-00600: internal error code, arguments: [KSSADP1], [], [], [], [], [], [], []
分析crm1_ora_442896.trc信息
Oracle9i Enterprise Edition Release 9.2.0.8.0 - 64bit Production With the Partitioning, Real Application Clusters, OLAP and Oracle Data Mining options JServer Release 9.2.0.8.0 - Production ORACLE_HOME = /oracle9/app/product/9.2.0 System name: AIX Node name: zwq_crm1 Release: 3 Version: 5 Machine: 00C420B44C00 Instance name: crm1 Redo thread mounted by this instance: 1 Oracle process number: 2354 Unix process pid: 442896, image: oracle@zwq_crm1 (TNS V1-V3) *** SESSION ID:(927.39278) 2012-04-19 21:16:45.317 *** 2012-04-19 21:16:45.317 ksedmp: internal or fatal error ORA-00600: internal error code, arguments: [KSSADP1], [], [], [], [], [], [], [] ----- Call Stack Trace ----- calling call entry argument values in hex location type point (? means dubious value) -------------------- -------- -------------------- ---------------------------- ksedmp+0148 bl ksedst 1029746FC ? ksfdmp+0018 bl 01FD4014 kgerinv+00e8 bl _ptrgl kgesinv+0020 bl kgerinv 9001000A02B56F8 ? 9001000A02B9450 ? FFFFFFFFFFF8430 ? 000000458 ? 900000000CBAFA4 ? ksesin+005c bl kgesinv FFFFFFFFFFF88E0 ? 1101FAF78 ? 900000000C0ECC0 ? 000010000 ? 000000002 ? kssadpm_stage+00c4 bl ksesin 102973C84 ? 000000000 ? 00000001E ? 000000000 ? 000000069 ? 00000000C ? 000000000 ? 000000000 ? ksqgel+0138 bl kssadpm_stage 000000000 ? 000000000 ? 000000000 ? 000000000 ? kcftis+003c bl ksqgel 000000000 ? 4029C61E0 ? 000000002 ? 0FFFFC16C ? 102A7977C ? 000000000 ? 000000003 ? 002A36408 ? kcfhis+001c bl kcftis krbbcc+0238 bl kcfhis 11043B590 ? krbpgc+001c bl krbbcc ksmupg+0074 bl _ptrgl ksuded+00b8 bl ksmupg 102924988 ? 000000020 ? ksupucg+10ec bl ksuded 700000C376F5740 ? 000000000 ? 000000000 ? opiodr+0474 bl ksupucg 100000001 ? ttcpip+0cc4 bl _ptrgl opitsk+0d60 bl ttcpip 11000CF90 ? 442442216B736800 ? FFFFFFFFFFFBF00 ? 1102E04BC ? 1102D7D20 ? 0000006A0 ? 1102D83C0 ? 0000006A0 ? opiino+0758 bl opitsk 000000000 ? 000000000 ? opiodr+08cc bl _ptrgl opidrv+032c bl opiodr 3C00000018 ? 4101FAF78 ? FFFFFFFFFFFF840 ? 0A000F350 ? sou2o+0028 bl opidrv 3C0C000000 ? 4A00E8B50 ? FFFFFFFFFFFF840 ? main+0138 bl 01FD3A28 __start+0098 bl main 000000000 ? 000000000 ? --------------------- Binary Stack Dump --------------------- Cursor Dump: ---------------------------------------- Cursor 1 (110360418): CURROW curiob: 110369b78 curflg: 46 curpar: 0 curusr: 0 curses 700000c376f5740 cursor name: select nvl(max(cpmid),0) from x$kcccp where cpsta = 2 child pin: 0, child lock: 700000d9b9c5bb8, parent lock: 700000d088e0fa0 xscflg: 1100024, parent handle: 70000031d588d88, xscfl2: 4040401 bhp size: 160/600 ---------------------------------------- Cursor 2 (110360468): CURBOUND curiob: 1103656f0 curflg: c7 curpar: 0 curusr: 0 curses 700000c376f5740 cursor name: SELECT SUBSTR(VERSION,1,INSTR(VERSION,'.') - 1 ) FROM V$INSTANCE child pin: 0, child lock: 700000d21e60930, parent lock: 700000327837ce0 xscflg: 141024, parent handle: 700000304e2f020, xscfl2: 4000401 bhp size: 160/600 ---------------------------------------- Cursor 3 (1103604b8): CURBOUND curiob: 1103b6aa8 curflg: c7 curpar: 0 curusr: 0 curses 700000c376f5740 cursor name: SELECT SUBSTR(VERSION,1 + INSTR(VERSION,'.',1,1) ,INSTR(VERSION,'.',1,2) - INSTR(VERSION,'.',1,1) - 1 ) FROM V$INSTANCE child pin: 0, child lock: 700000d5e382ee8, parent lock: 700000c93581d40 xscflg: 141024, parent handle: 700000d73daa1c0, xscfl2: 4000401 bhp size: 160/600 ---------------------------------------- Cursor 4 (110360508): CURBOUND curiob: 1103b66b8 curflg: c7 curpar: 0 curusr: 0 curses 700000c376f5740 cursor name: SELECT SUBSTR(VERSION,1 + INSTR(VERSION,'.',1,2) ,INSTR(VERSION,'.',1,3) - INSTR(VERSION,'.',1,2) - 1 ) FROM V$INSTANCE child pin: 0, child lock: 700000d16de7978, parent lock: 700000c44059d30 xscflg: 141024, parent handle: 700000259c4a700, xscfl2: 4000401 bhp size: 160/600 ---------------------------------------- Cursor 5 (110360558): CURBOUND curiob: 1103b3868 curflg: 46 curpar: 0 curusr: 0 curses 700000c376f5740 cursor name: SELECT SYSDATE FROM SYS.DUAL child pin: 0, child lock: 700000d589cea48, parent lock: 70000026b311fb0 xscflg: 100024, parent handle: 700000d2eaee328, xscfl2: 4600409 bhp size: 280/632 ---------------------------------------- Cursor 6 (1103605a8): CURBOUND curiob: 1103b3408 curflg: 46 curpar: 0 curusr: 0 curses 700000c376f5740 cursor name: SELECT TO_CHAR(SYSDATE,'YYYY','NLS_CALENDAR=Gregorian'),TO_CHAR(SYSDATE,'MM','NLS_CALENDAR=Gregorian'), TO_CHAR(SYSDATE,'DD','NLS_CALENDAR=Gregorian') FROM X$DUAL child pin: 0, child lock: 70000033f1753c8, parent lock: 700000db8c6dd18 xscflg: 100024, parent handle: 700000cbc6ad8b0, xscfl2: 4600409 bhp size: 160/600 End of cursor dump ksedmp: no current context area ----- Dump of the Fixed PGA -----
找到相关文档Note:262996.1,经过分析,产生错误的原因是由在本版本的数据库中SGA管理中存在的漏洞造成,但此错误没有对数据库的数据造成损坏及性能影响.
处理建议
1.当前版本ORACLE已经不再提供补丁支持,建议升级到高版本解决(有sr中介绍10.2中解决);
2.由于此报错并没有对数据库的数据及性能造成损坏及影响,可以忽此错误。
记录一次ARC1: Destination LOG_ARCHIVE_DEST_2 network reconnect abandoned解决
Data Guard主库出现如下错误
导致归档日志不同通过LOG_ARCHIVE_DEST_2传输到备库
Thu Apr 19 19:58:40 2012 Errors in file /u01/app/oracle/admin/orcl/udump/orcl_ora_6756.trc: Thu Apr 19 19:58:40 2012 Errors in file /u01/app/oracle/admin/orcl/udump/orcl_ora_6756.trc: Thu Apr 19 19:58:40 2012 Errors in file /u01/app/oracle/admin/orcl/udump/orcl_ora_6756.trc: Thu Apr 19 20:00:26 2012 ARC1: Attempting destination LOG_ARCHIVE_DEST_2 network reconnect (3113) ARC1: Destination LOG_ARCHIVE_DEST_2 network reconnect abandoned PING[ARC1]: Error 3113 when pinging standby standby. Thu Apr 19 20:18:18 2012 Errors in file /u01/app/oracle/admin/orcl/udump/orcl_ora_6756.trc: Thu Apr 19 20:18:18 2012 Errors in file /u01/app/oracle/admin/orcl/udump/orcl_ora_6756.trc: Thu Apr 19 20:18:18 2012 Errors in file /u01/app/oracle/admin/orcl/udump/orcl_ora_6756.trc: Thu Apr 19 20:33:27 2012 ARC1: Attempting destination LOG_ARCHIVE_DEST_2 network reconnect (3113) ARC1: Destination LOG_ARCHIVE_DEST_2 network reconnect abandoned [oracle@localhost ~]$ oerr ora 3113 03113, 00000, "end-of-file on communication channel" // *Cause: The connection between Client and Server process was broken. // *Action: There was a communication error that requires further investigation. // First, check for network problems and review the SQL*Net setup. // Also, look in the alert.log file for any errors. Finally, test to // see whether the server process is dead and whether a trace file // was generated at failure time. 提示连接错误
orcl_ora_6756.trc文件内容
这里没有得任何重要的有效信息
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production With the Partitioning, OLAP and Data Mining options ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1 System name: Linux Node name: fcdb1 Release: 2.6.18-194.el5 Version: #1 SMP Fri Apr 2 14:58:14 EDT 2010 Machine: x86_64 Instance name: orcl Redo thread mounted by this instance: 1 Oracle process number: 21 Unix process pid: 6756, image: oracle@fcdb1 (TNS V1-V3) *** 2012-04-19 19:51:32.033 *** ACTION NAME:(0000045 STARTED16) 2012-04-19 19:51:32.026 *** MODULE NAME:(backup incr datafile) 2012-04-19 19:51:32.026 *** SERVICE NAME:(SYS$USERS) 2012-04-19 19:51:32.026 *** SESSION ID:(1518.294) 2012-04-19 19:51:32.026 *** ACTION NAME:(0000062 STARTED68) 2012-04-19 19:58:40.083 *** MODULE NAME:(backup full datafile) 2012-04-19 19:58:40.083 *** 2012-04-19 19:58:40.083 *** ACTION NAME:(0000068 STARTED16) 2012-04-19 19:58:40.156 *** 2012-04-19 20:18:18.436 *** ACTION NAME:(0000118 STARTED16) 2012-04-19 20:18:18.436 *** MODULE NAME:(backup incr datafile) 2012-04-19 20:18:18.436
查看相关参数
SQL> show parameter archive; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ log_archive_config string DG_CONFIG=(primary,standby) log_archive_dest_1 string LOCATION=/u01/app/oracle/arch VALID_FOR=(ALL_LOGFILES,ALL_RO LES) DB_UNIQUE_NAME=primary log_archive_dest_2 string SERVICE=standby LGWR ASYNC VAL ID_FOR=(ONLINE_LOGFILES,PRIMAR Y_ROLE) DB_UNIQUE_NAME=standby log_archive_dest_state_1 string ENABLE log_archive_dest_state_2 string ENABLE
测试TNS
[oracle@fcdb1 bdump]$ tnsping standby TNS Ping Utility for Linux: Version 10.2.0.1.0 - Production on 19-APR-2012 20:47:51 Copyright (c) 1997, 2005, Oracle. All rights reserved. Used parameter files: Used TNSNAMES adapter to resolve the alias Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.203)(PORT = 1521))) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl))) OK (0 msec) [oracle@fcdb1 bdump]$ sqlplus sys/oracle@standby as sysdba SQL*Plus: Release 10.2.0.1.0 - Production on Thu Apr 19 20:49:05 2012 Copyright (c) 1982, 2005, Oracle. All rights reserved. Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production With the Partitioning, OLAP and Data Mining options
问题原因分析
从log_archive_dest_2 参数上可以看出默认是配置lgwr进程传输日志,但是因为备库没有配置standby redo log,所以使得启动arch传输日志,然后出现该问题,因为在传输过程中出现异常,导致arch不能继续和备库建立连接。
解决方法
查看了很多资料,给出的解决方法都是重启主库或者备库解决,我想既然是ARCH建立连接的失败,那么重启log_archive_dest_state_2参数,让arch进程重启。
SQL> ALTER SYSTEM SET log_archive_dest_state_2='DEFER' SCOPE=BOTH; System altered. SQL> ALTER SYSTEM SET log_archive_dest_state_2='ENABLE' SCOPE=BOTH; System altered. SQL> alter system switch logfile; System altered. --alert日志 Thu Apr 19 20:51:12 2012 ALTER SYSTEM SET log_archive_dest_state_2='DEFER' SCOPE=BOTH; Thu Apr 19 20:51:32 2012 ALTER SYSTEM SET log_archive_dest_state_2='ENABLE' SCOPE=BOTH; LNS1 started with pid=35, OS id=7012 Thu Apr 19 20:51:47 2012 Thread 1 advanced to log sequence 2025 Current log# 2 seq# 2025 mem# 0: /u01/app/oracle/oradata/orcl/redo02.log Thu Apr 19 20:51:48 2012 ****************************************************************** LGWR: Setting 'active' archival for destination LOG_ARCHIVE_DEST_2 ****************************************************************** Thu Apr 19 20:52:02 2012 Thread 1 advanced to log sequence 2026 Current log# 3 seq# 2026 mem# 0: /u01/app/oracle/oradata/orcl/redo03.log Thread 1 cannot allocate new log, sequence 2027
这个时候,查看备库日志也已经传输过去,通过修改log_archive_dest_state_2解决
ARC1: Attempting destination LOG_ARCHIVE_DEST_2 network reconnect (3113) ARC1: Destination LOG_ARCHIVE_DEST_2 network reconnect abandoned
发表在 Oracle
评论关闭
利用scn增量备份实现数据库增量恢复
数据库版本
SQL> select * from v$version; BANNER -------------------------------------------------------------------------------- Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production PL/SQL Release 11.2.0.3.0 - Production CORE 11.2.0.3.0 Production TNS for Linux: Version 11.2.0.3.0 - Production NLSRTL Version 11.2.0.3.0 - Production
全备数据库
RMAN> backup as compressed backupset database format '/u01/oracle/oradata/tmp/ora11g_0_%U'; Starting backup at 18-APR-12 using channel ORA_DISK_1 channel ORA_DISK_1: starting compressed full datafile backup set channel ORA_DISK_1: specifying datafile(s) in backup set input datafile file number=00001 name=/u01/oracle/oradata/ora11g/system01.dbf input datafile file number=00002 name=/u01/oracle/oradata/ora11g/sysaux01.dbf input datafile file number=00003 name=/u01/oracle/oradata/ora11g/undotbs01.dbf input datafile file number=00004 name=/u01/oracle/oradata/ora11g/users01.dbf input datafile file number=00006 name=/u01/oracle/oradata/ora11g/xifenfei02.dbf channel ORA_DISK_1: starting piece 1 at 18-APR-12 channel ORA_DISK_1: finished piece 1 at 18-APR-12 piece handle=/u01/oracle/oradata/tmp/ora11g_0_07n8p916_1_1 tag=TAG20120418T234958 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:01:15 channel ORA_DISK_1: starting compressed full datafile backup set channel ORA_DISK_1: specifying datafile(s) in backup set including current control file in backup set including current SPFILE in backup set channel ORA_DISK_1: starting piece 1 at 18-APR-12 channel ORA_DISK_1: finished piece 1 at 18-APR-12 piece handle=/u01/oracle/oradata/tmp/ora11g_0_08n8p93h_1_1 tag=TAG20120418T234958 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01 Finished backup at 18-APR-12
创建测试数据库验证恢复标准
SQL> conn chf/xifenfei Connected. SQL> drop table xifenfei purge; Table dropped. SQL> create table xifenfei as 2 select * from dba_objects; Table created. SQL> insert into xifenfei 2 select * from dba_objects; 74534 rows created. SQL> / 74534 rows created. SQL> / 74534 rows created. SQL> commit; Commit complete. SQL> select count(*) from xifenfei; COUNT(*) ---------- 298136 SQL> create table xifenfei01 as 2 select * from dba_objects; Table created. SQL> alter system switch logfile; System altered. SQL> / System altered. SQL> / System altered. SQL> / System altered. SQL> create table chf.xifenfei02 as 2 select * from dba_objects; Table created. SQL> alter system switch logfile; System altered.
异机恢复库
RMAN> restore controlfile from '/u01/oracle/oradata/tmp/ora11g_0_08n8p93h_1_1'; Starting restore at 19-APR-12 using channel ORA_DISK_1 channel ORA_DISK_1: restoring control file channel ORA_DISK_1: restore complete, elapsed time: 00:00:01 output file name=/u01/oracle/oradata/ora11g/control01.ctl output file name=/u01/oracle/oradata/ora11g/control02.ctl Finished restore at 19-APR-12 RMAN> alter database mount; database mounted released channel: ORA_DISK_1 RMAN> list backup; List of Backup Sets =================== BS Key Type LV Size Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 7 Full 262.79M DISK 00:01:08 18-APR-12 BP Key: 7 Status: AVAILABLE Compressed: YES Tag: TAG20120418T234958 Piece Name: /u01/oracle/oradata/tmp/ora11g_0_07n8p916_1_1 List of Datafiles in backup set 7 File LV Type Ckp SCN Ckp Time Name ---- -- ---- ---------- --------- ---- 1 Full 1155510 18-APR-12 /u01/oracle/oradata/ora11g/system01.dbf 2 Full 1155510 18-APR-12 /u01/oracle/oradata/ora11g/sysaux01.dbf 3 Full 1155510 18-APR-12 /u01/oracle/oradata/ora11g/undotbs01.dbf 4 Full 1155510 18-APR-12 /u01/oracle/oradata/ora11g/users01.dbf 6 Full 1155510 18-APR-12 /u01/oracle/oradata/ora11g/xifenfei02.dbf --这里可以发现备份时的scn,增量备份时取这里的最小scn为起点 --为了排除影响,删除所有归档日志记录 RMAN> delete archivelog all; RMAN> list archivelog all; specification does not match any archived log in the repository RMAN> restore database; Starting restore at 19-APR-12 using channel ORA_DISK_1 channel ORA_DISK_1: starting datafile backup set restore channel ORA_DISK_1: specifying datafile(s) to restore from backup set channel ORA_DISK_1: restoring datafile 00001 to /u01/oracle/oradata/ora11g/system01.dbf channel ORA_DISK_1: restoring datafile 00002 to /u01/oracle/oradata/ora11g/sysaux01.dbf channel ORA_DISK_1: restoring datafile 00003 to /u01/oracle/oradata/ora11g/undotbs01.dbf channel ORA_DISK_1: restoring datafile 00004 to /u01/oracle/oradata/ora11g/users01.dbf channel ORA_DISK_1: restoring datafile 00006 to /u01/oracle/oradata/ora11g/xifenfei02.dbf channel ORA_DISK_1: reading from backup piece /u01/oracle/oradata/tmp/ora11g_0_07n8p916_1_1 channel ORA_DISK_1: piece handle=/u01/oracle/oradata/tmp/ora11g_0_07n8p916_1_1 tag=TAG20120418T234958 channel ORA_DISK_1: restored backup piece 1 channel ORA_DISK_1: restore complete, elapsed time: 00:01:36 Finished restore at 19-APR-12 [oracle@xifenfei oradata]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.3.0 Production on Thu Apr 19 00:54:42 2012 Copyright (c) 1982, 2011, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> select file#,to_char(checkpoint_change#,'9999999999999999') "SCN", 2 to_char(RESETLOGS_CHANGE#,'9999999999999999') "RESETLOGS SCN" 3 from v$datafile_header; FILE# SCN RESETLOGS SCN ---------- ---------------------------------- ---------------------------------- 1 1155510 787897 2 1155510 787897 3 1155510 787897 4 1155510 787897 6 1155510 787897 SQL> select file#,to_char(checkpoint_change#,'999999999999999') "SCN", 2 to_char(last_change#,'999999999999999')"STOP_SCN" from v$datafile; FILE# SCN STOP_SCN ---------- -------------------------------- -------------------------------- 1 1155510 2 1155510 3 1155510 4 1155510 6 1155510
基于scn增量备份
RMAN> BACKUP INCREMENTAL FROM SCN 1155510 DATABASE 2> FORMAT '/u01/oracle/oradata/tmp/ora11_scn_%U' tag 'XIFENFEI'; Starting backup at 19-APR-12 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=125 device type=DISK backup will be obsolete on date 26-APR-12 archived logs will not be kept or backed up channel ORA_DISK_1: starting full datafile backup set channel ORA_DISK_1: specifying datafile(s) in backup set input datafile file number=00001 name=/u01/oracle/oradata/ora11g/system01.dbf input datafile file number=00002 name=/u01/oracle/oradata/ora11g/sysaux01.dbf input datafile file number=00003 name=/u01/oracle/oradata/ora11g/undotbs01.dbf input datafile file number=00004 name=/u01/oracle/oradata/ora11g/users01.dbf input datafile file number=00006 name=/u01/oracle/oradata/ora11g/xifenfei02.dbf channel ORA_DISK_1: starting piece 1 at 19-APR-12 channel ORA_DISK_1: finished piece 1 at 19-APR-12 piece handle=/u01/oracle/oradata/tmp/ora11_scn_0bn8pbsd_1_1 tag=XIFENFEI comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:45 using channel ORA_DISK_1 backup will be obsolete on date 26-APR-12 archived logs will not be kept or backed up channel ORA_DISK_1: starting full datafile backup set channel ORA_DISK_1: specifying datafile(s) in backup set including current control file in backup set channel ORA_DISK_1: starting piece 1 at 19-APR-12 channel ORA_DISK_1: finished piece 1 at 19-APR-12 piece handle=/u01/oracle/oradata/tmp/ora11_scn_0cn8pbtq_1_1 tag=XIFENFEI comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01 Finished backup at 19-APR-12
增量恢复
RMAN> catalog start with '/u01/oracle/oradata/tmp/ora11_scn_09n8pa5h_1_1'; searching for all files that match the pattern /u01/oracle/oradata/tmp/ora11_scn_09n8pa5h_1_1 List of Files Unknown to the Database ===================================== File Name: /u01/oracle/oradata/tmp/ora11_scn_09n8pa5h_1_1 Do you really want to catalog the above files (enter YES or NO)? yes cataloging files... cataloging done List of Cataloged Files ======================= File Name: /u01/oracle/oradata/tmp/ora11_scn_09n8pa5h_1_1 RMAN> recover database; Starting recover at 19-APR-12 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=125 device type=DISK channel ORA_DISK_1: starting incremental datafile backup set restore channel ORA_DISK_1: specifying datafile(s) to restore from backup set destination for restore of datafile 00001: /u01/oracle/oradata/ora11g/system01.dbf destination for restore of datafile 00002: /u01/oracle/oradata/ora11g/sysaux01.dbf destination for restore of datafile 00003: /u01/oracle/oradata/ora11g/undotbs01.dbf destination for restore of datafile 00004: /u01/oracle/oradata/ora11g/users01.dbf destination for restore of datafile 00006: /u01/oracle/oradata/ora11g/xifenfei02.dbf channel ORA_DISK_1: reading from backup piece /u01/oracle/oradata/tmp/ora11_scn_0bn8pbsd_1_1 channel ORA_DISK_1: piece handle=/u01/oracle/oradata/tmp/ora11_scn_0bn8pbsd_1_1.bak tag=XIFENFEI channel ORA_DISK_1: restored backup piece 1 channel ORA_DISK_1: restore complete, elapsed time: 00:00:07 starting media recovery --这里表现出来的是利用归档日志恢复,实质是基于scn增量备份的备份集恢复 archived log file name=/u01/oracle/oradata/archivelog/ora11g/1_49_777766629.dbf thread=1 sequence=49 archived log file name=/u01/oracle/oradata/archivelog/ora11g/1_50_777766629.dbf thread=1 sequence=50 archived log file name=/u01/oracle/oradata/archivelog/ora11g/1_51_777766629.dbf thread=1 sequence=51 archived log file name=/u01/oracle/oradata/archivelog/ora11g/1_52_777766629.dbf thread=1 sequence=52 archived log file name=/u01/oracle/oradata/archivelog/ora11g/1_53_777766629.dbf thread=1 sequence=53 archived log file name=/u01/oracle/oradata/archivelog/ora11g/1_54_777766629.dbf thread=1 sequence=54 archived log file name=/u01/oracle/oradata/archivelog/ora11g/1_55_777766629.dbf thread=1 sequence=55 archived log file name=/u01/oracle/oradata/archivelog/ora11g/1_56_777766629.dbf thread=1 sequence=56 archived log file name=/u01/oracle/oradata/archivelog/ora11g/1_57_777766629.dbf thread=1 sequence=57 unable to find archived log archived log thread=1 sequence=58 RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: failure of recover command at 04/19/2012 00:55:48 RMAN-06054: media recovery requesting unknown archived log for thread 1 with sequence 58 and starting SCN of 1157379 SQL> select file#,to_char(checkpoint_change#,'9999999999999999') "SCN", 2 to_char(RESETLOGS_CHANGE#,'9999999999999999') "RESETLOGS SCN" 3 from v$datafile_header; FILE# SCN RESETLOGS SCN ---------- ---------------------------------- ---------------------------------- 1 1157379 787897 2 1157379 787897 3 1157379 787897 4 1157379 787897 6 1157379 787897 SQL> select file#,to_char(checkpoint_change#,'999999999999999') "SCN", 2 to_char(last_change#,'999999999999999')"STOP_SCN" from v$datafile; FILE# SCN STOP_SCN ---------- -------------------------------- -------------------------------- 1 1157379 2 1157379 3 1157379 4 1157379 6 1157379 SQL> alter database open resetlogs; Database altered. SQL> select count(*) from chf.xifenfei; COUNT(*) ---------- 298136 SQL> select TABLE_NAME from dba_tables where table_name LIKE 'XIFENFEI%'; TABLE_NAME ------------------------------------------------------------ XIFENFEI02 XIFENFEI01 XIFENFEI
使用rman基于scn实现数据库增量恢复是在dg中修复gap的时候常见的方法,其实该方法也可以使用常规的增量恢复,通过人工控制,实现数据库的某种特殊的业务需求(特殊的数据迁移).处理思路主要是获得备库的数据文件最小scn(这个scn可能是通过全备恢复或者增量恢复产生),然后基于该SCN实现数据库增量备份,然后利用该备份进行增量恢复.