记录源端windows上oracle的dbid
- SQL> select dbid from v$database;
- DBID
- ----------
- 66428446
使用RMAN备份
- RMAN> RUN{
- 2> ALLOCATE CHANNEL C1 TYPE DISK;
- 3> SQL 'ALTER SYSTEM ARCHIVE LOG CURRENT';
- 4> BACKUP AS BACKUPSET FORMAT 'c:\bak\%T_%s_%p_BAK_DATA' DATABASE;
- 5> BACKUP ARCHIVELOG ALL FORMAT 'c:\bak\%T_%s_%p_BAK_ARC' DELETE INPUT;
- 6> BACKUP CURRENT CONTROLFILE FORMAT 'c:\bak\%U_BAK_CTL';
- 7> RELEASE CHANNEL C1;
- 8> }
- 使用目标数据库控制文件替代恢复目录
- 分配的通道: C1
- 通道 C1: sid=521 devtype=DISK
- sql 语句: ALTER SYSTEM ARCHIVE LOG CURRENT
- 启动 backup 于 10-2月 -14
- 通道 C1: 启动全部数据文件备份集
- 通道 C1: 正在指定备份集中的数据文件
- 输入数据文件 fno=00001 name=C:\ORACLE\PRODUCT\10.2.0\ORADATA\DBSERVER\SYSTEM01.DBF
- 输入数据文件 fno=00003 name=C:\ORACLE\PRODUCT\10.2.0\ORADATA\DBSERVER\SYSAUX01.DBF
- 输入数据文件 fno=00005 name=C:\ORACLE\PRODUCT\10.2.0\ORADATA\DBSERVER\EXAMPLE01.DBF
- 输入数据文件 fno=00006 name=C:\ORACLE\PRODUCT\10.2.0\ORADATA\DBSERVER\ZWC.DBF
- 输入数据文件 fno=00002 name=C:\ORACLE\PRODUCT\10.2.0\ORADATA\DBSERVER\UNDOTBS01.DBF
- 输入数据文件 fno=00004 name=C:\ORACLE\PRODUCT\10.2.0\ORADATA\DBSERVER\USERS01.DBF
- 通道 C1: 正在启动段 1 于 10-2月 -14
- MAN-03009: backup 命令 (C1 通道上, 在 02/10/2014 21:50:37 上) 失败
- ORA-19566: 超出损坏块限制 0 (文件 C:\ORACLE\PRODUCT\10.2.0\ORADATA\DBSERVER\ZWC.DBF)
- 继续执行其它作业步骤, 将不重新运行失败的作业
- 通道 C1: 启动全部数据文件备份集
- 通道 C1: 正在指定备份集中的数据文件
- 备份集中包括当前控制文件
- 在备份集中包含当前的 SPFILE
- 通道 C1: 正在启动段 1 于 10-2月 -14
- 通道 C1: 已完成段 1 于 10-2月 -14
- 段句柄=C:\BAK\20140210_9_1_BAK_DATA 标记=TAG20140210T215036 注释=NONE
- 通道 C1: 备份集已完成, 经过时间:00:00:02
- 释放的通道: C1
- RMAN-00571: ===========================================================
- RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
- RMAN-00571: ===========================================================
RMAN跳过坏块备份,将备份集传到Linux
- C:\>dbv file=C:\oracle\product\10.2.0\oradata\dbserver\zwc.dbf
- DBVERIFY: Release 10.2.0.4.0 - Production on 星期一 2月 10 21:47:45 2014
- Copyright (c) 1982, 2007, Oracle. All rights reserved.
- DBVERIFY - 开始验证: FILE = C:\oracle\product\10.2.0\oradata\dbserver\zwc.dbf
- 页 1129 标记为损坏
- Corrupt block relative dba: 0x01800469 (file 6, block 1129)
- Bad check value found during dbv:
- Data in bad block:
- type: 6 format: 2 rdba: 0x01800469
- last change scn: 0x0000.0009c385 seq: 0x1 flg: 0x06
- spare1: 0x0 spare2: 0x0 spare3: 0x0
- consistency value in tail: 0xc3850601
- check value in block header: 0x9a56
- computed block checksum: 0xd64e
- 页 1132 标记为损坏
- Corrupt block relative dba: 0x0180046c (file 6, block 1132)
- Bad check value found during dbv:
- Data in bad block:
- type: 6 format: 2 rdba: 0x0180046c
- last change scn: 0x0000.0009c385 seq: 0x1 flg: 0x06
- spare1: 0x0 spare2: 0x0 spare3: 0x0
- consistency value in tail: 0xc3850601
- check value in block header: 0xd748
- computed block checksum: 0x7e6
- DBVERIFY - 验证完成
- 检查的页总数: 12800
- 处理的页总数 (数据): 12135
- 失败的页总数 (数据): 0
- 处理的页总数 (索引): 0
- 失败的页总数 (索引): 0
- 处理的页总数 (其它): 159
- 处理的总页数 (段) : 0
- 失败的总页数 (段) : 0
- 空的页总数: 504
- 标记为损坏的总页数: 2
- 流入的页总数: 0
- 最高块 SCN : 639878 (0.639878)
- C:\>
- 恢复管理器: Release 10.2.0.4.0 - Production on 星期一 2月 10 21:58:28 2014
- Copyright (c) 1982, 2007, Oracle. All rights reserved.
- 连接到目标数据库: DBSERVER (DBID=66428446)
- RMAN>
- RMAN>
- RMAN> run{
- 2> ALLOCATE CHANNEL C1 TYPE DISK;
- 3> SQL 'ALTER SYSTEM ARCHIVE LOG CURRENT';
- 4> SET MAXCORRUPT FOR DATAFILE 6 TO 2;
- 5> BACKUP AS BACKUPSET FORMAT 'c:\bak\%T_%s_%p_BAK_DATA' DATABASE;
- 6> BACKUP ARCHIVELOG ALL FORMAT 'c:\bak\%T_%s_%p_BAK_ARC' DELETE INPUT;
- 7> BACKUP CURRENT CONTROLFILE FORMAT 'c:\bak\%U_BAK_CTL';
- 8> RELEASE CHANNEL C1;
- 9> }
- 使用目标数据库控制文件替代恢复目录
- 分配的通道: C1
- 通道 C1: sid=521 devtype=DISK
- sql 语句: ALTER SYSTEM ARCHIVE LOG CURRENT
- 正在执行命令: SET MAX CORRUPT
- 启动 backup 于 10-2月 -14
- 通道 C1: 启动全部数据文件备份集
- 通道 C1: 正在指定备份集中的数据文件
- 输入数据文件 fno=00001 name=C:\ORACLE\PRODUCT\10.2.0\ORADATA\DBSERVER\SYSTEM01.DBF
- 输入数据文件 fno=00003 name=C:\ORACLE\PRODUCT\10.2.0\ORADATA\DBSERVER\SYSAUX01.DBF
- 输入数据文件 fno=00005 name=C:\ORACLE\PRODUCT\10.2.0\ORADATA\DBSERVER\EXAMPLE01.DBF
- 输入数据文件 fno=00006 name=C:\ORACLE\PRODUCT\10.2.0\ORADATA\DBSERVER\ZWC.DBF
- 输入数据文件 fno=00002 name=C:\ORACLE\PRODUCT\10.2.0\ORADATA\DBSERVER\UNDOTBS01.DBF
- 输入数据文件 fno=00004 name=C:\ORACLE\PRODUCT\10.2.0\ORADATA\DBSERVER\USERS01.DBF
- 通道 C1: 正在启动段 1 于 10-2月 -14
- 通道 C1: 已完成段 1 于 10-2月 -14
- 段句柄=C:\BAK\20140210_16_1_BAK_DATA 标记=TAG20140210T215842 注释=NONE
- 通道 C1: 备份集已完成, 经过时间:00:00:07
- 通道 C1: 启动全部数据文件备份集
- 通道 C1: 正在指定备份集中的数据文件
- 备份集中包括当前控制文件
- 在备份集中包含当前的 SPFILE
- 通道 C1: 正在启动段 1 于 10-2月 -14
- 通道 C1: 已完成段 1 于 10-2月 -14
- 段句柄=C:\BAK\20140210_17_1_BAK_DATA 标记=TAG20140210T215842 注释=NONE
- 通道 C1: 备份集已完成, 经过时间:00:00:02
- 完成 backup 于 10-2月 -14
- 启动 backup 于 10-2月 -14
- 当前日志已存档
- 通道 C1: 正在启动存档日志备份集
- 通道 C1: 正在指定备份集中的存档日志
- 输入存档日志线程 =1 序列 =19 记录 ID=18 时间戳=839195922
- 输入存档日志线程 =1 序列 =20 记录 ID=19 时间戳=839195932
- 通道 C1: 正在启动段 1 于 10-2月 -14
- 通道 C1: 已完成段 1 于 10-2月 -14
- 段句柄=C:\BAK\20140210_18_1_BAK_ARC 标记=TAG20140210T215852 注释=NONE
- 通道 C1: 备份集已完成, 经过时间:00:00:02
- 通道 C1: 正在删除存档日志
- 存档日志文件名 =C:\ARCH\ARC00019_0839181856.001 记录 ID=18 时间戳 =839195922
- 存档日志文件名 =C:\ARCH\ARC00020_0839181856.001 记录 ID=19 时间戳 =839195932
- 完成 backup 于 10-2月 -14
- 启动 backup 于 10-2月 -14
- 通道 C1: 启动全部数据文件备份集
- 通道 C1: 正在指定备份集中的数据文件
- 备份集中包括当前控制文件
- 通道 C1: 正在启动段 1 于 10-2月 -14
- 通道 C1: 已完成段 1 于 10-2月 -14
- 段句柄=C:\BAK\0JP0A78U_1_1_BAK_CTL 标记=TAG20140210T215854 注释=NONE
- 通道 C1: 备份集已完成, 经过时间:00:00:01
- 完成 backup 于 10-2月 -14
- 释放的通道: C1
- RMAN>
创建并且修改pfile
- SQL> create pfile from spfile;
- 文件已创建。
- SQL> show parameter spfile;
- NAME TYPE VALUE
- ------------------------------------ ----------- ------------------------------
- spfile string C:\ORACLE\PRODUCT\10.2.0\DB_1\
- DATABASE\SPFILEORCL.ORA
- orcl.__db_cache_size=436207616
- orcl.__java_pool_size=4194304
- orcl.__large_pool_size=4194304
- orcl.__shared_pool_size=159383552
- orcl.__streams_pool_size=0
- *.audit_file_dest='C:\oracle\product\10.2.0\admin\dbserver\adump'
- *.background_dump_dest='C:\oracle\product\10.2.0\admin\dbserver\bdump'
- *.compatible='10.2.0.3.0'
- *.control_files='C:\oracle\product\10.2.0\oradata\dbserver\control01.ctl','C:\oracle\product\10.2.0\oradata\dbserver\control02.ctl','C:\oracle\product\10.2.0\oradata\dbserver\control03.ctl'
- *.core_dump_dest='C:\oracle\product\10.2.0\admin\dbserver\cdump'
- *.db_block_size=8192
- *.db_domain=''
- *.db_file_multiblock_read_count=16
- *.db_name='dbserver'
- *.dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'
- *.job_queue_processes=10
- *.log_archive_dest_1='LOCATION=c:\arch'
- *.log_archive_format='ARC%S_%R.%T'
- *.nls_language='SIMPLIFIED CHINESE'
- *.nls_territory='CHINA'
- *.open_cursors=300
- *.pga_aggregate_target=203423744
- *.processes=500
- *.remote_login_passwordfile='EXCLUSIVE'
- *.sessions=555
- *.sga_target=612368384
- *.undo_management='AUTO'
- *.undo_tablespace='UNDOTBS1'
- *.user_dump_dest='C:\oracle\product\10.2.0\admin\dbserver\udump'
- orcl.__db_cache_size=436207616
- orcl.__java_pool_size=4194304
- orcl.__large_pool_size=4194304
- orcl.__shared_pool_size=159383552
- orcl.__streams_pool_size=0
- *.audit_file_dest='/u01/app/oracle/admin/dbserver/adump'
- *.background_dump_dest='/u01/app/oracle/admin/dbserver/bdump'
- *.compatible='10.2.0.3.0'
- *.control_files='/u01/app/oracle/oradata/dbserver/control01.ctl','/u01/app/oracle/oradata/dbserver/control02.ctl','/u01/app/oracle/oradata/dbserver/control03.ctl'
- *.core_dump_dest='/u01/app/oracle/admin/dbserver/cdump'
- *.db_block_size=8192
- *.db_domain=''
- *.db_file_multiblock_read_count=16
- *.db_name='dbserver'
- *.dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'
- *.job_queue_processes=10
- *.log_archive_dest_1='LOCATION=/arch'
- *.log_archive_format='ARC%S_%R.%T'
- *.nls_language='SIMPLIFIED CHINESE'
- *.nls_territory='CHINA'
- *.open_cursors=300
- *.pga_aggregate_target=203423744
- *.processes=500
- *.remote_login_passwordfile='EXCLUSIVE'
- *.sessions=555
- *.sga_target=612368384
- *.undo_management='AUTO'
- *.undo_tablespace='UNDOTBS1'
- *.user_dump_dest='/u01/app/oracle/admin/dbserver/udump'
- [oracle@vzwc bak]$ rman target /
- Recovery Manager: Release 10.2.0.4.0 - Production on Mon Feb 10 22:22:16 2014
- Copyright (c) 1982, 2007, Oracle. All rights reserved.
- connected to target database (not started)
- RMAN> set dbid=66428446
- executing command: SET DBID
- RMAN> startup nomount pfile='/bak/initorcl.ora'
- Oracle instance started
- Total System Global Area 612368384 bytes
- Fixed Size 2085872 bytes
- Variable Size 167775248 bytes
- Database Buffers 436207616 bytes
- Redo Buffers 6299648 bytes
- RMAN>
还原controlfile,mount database
- RMAN> restore controlfile from '/bak/0JP0A78U_1_1_BAK_CTL';
- Starting restore at 10-FEB-14
- using target database control file instead of recovery catalog
- allocated channel: ORA_DISK_1
- channel ORA_DISK_1: sid=540 devtype=DISK
- channel ORA_DISK_1: restoring control file
- channel ORA_DISK_1: restore complete, elapsed time: 00:00:03
- output filename=/u01/app/oracle/oradata/dbserver/control01.ctl
- output filename=/u01/app/oracle/oradata/dbserver/control02.ctl
- output filename=/u01/app/oracle/oradata/dbserver/control03.ctl
- Finished restore at 10-FEB-14
- RMAN> alter database mount;
- database mounted
- released channel: ORA_DISK_1
注册备份集
- RMAN> catalog start with '/bak/';
- searching for all files that match the pattern /bak/
- List of Files Unknown to the Database
- =====================================
- File Name: /bak/20140210_18_1_BAK_ARC
- File Name: /bak/0JP0A78U_1_1_BAK_CTL
- File Name: /bak/20140210_17_1_BAK_DATA
- File Name: /bak/20140210_16_1_BAK_DATA
- File Name: /bak/initorcl.ora
- Do you really want to catalog the above files (enter YES or NO)? YES
- cataloging files...
- cataloging done
- List of Cataloged Files
- =======================
- File Name: /bak/20140210_18_1_BAK_ARC
- File Name: /bak/0JP0A78U_1_1_BAK_CTL
- File Name: /bak/20140210_17_1_BAK_DATA
- File Name: /bak/20140210_16_1_BAK_DATA
- List of Files Which Where Not Cataloged
- =======================================
- File Name: /bak/initorcl.ora
- RMAN-07517: Reason: The file header is corrupted
- RMAN>
可以看到提示,pfile文件无法注册进去
- RMAN> list backup;
- List of Backup Sets
- ===================
- BS Key Type LV Size
- ------- ---- -- ----------
- 10 Full 710.09M
- List of Datafiles in backup set 10
- File LV Type Ckp SCN Ckp Time Name
- ---- -- ---- ---------- --------- ----
- 1 Full 644266 10-FEB-14 C:\ORACLE\PRODUCT\10.2.0\ORADATA\DBSERVER\SYSTEM01.DBF
- 2 Full 644266 10-FEB-14 C:\ORACLE\PRODUCT\10.2.0\ORADATA\DBSERVER\UNDOTBS01.DBF
- 3 Full 644266 10-FEB-14 C:\ORACLE\PRODUCT\10.2.0\ORADATA\DBSERVER\SYSAUX01.DBF
- 4 Full 644266 10-FEB-14 C:\ORACLE\PRODUCT\10.2.0\ORADATA\DBSERVER\USERS01.DBF
- 5 Full 644266 10-FEB-14 C:\ORACLE\PRODUCT\10.2.0\ORADATA\DBSERVER\EXAMPLE01.DBF
- 6 Full 644266 10-FEB-14 C:\ORACLE\PRODUCT\10.2.0\ORADATA\DBSERVER\ZWC.DBF
- Backup Set Copy #1 of backup set 10
- Device Type Elapsed Time Completion Time Compressed Tag
- ----------- ------------ --------------- ---------- ---
- DISK 00:00:04 10-FEB-14 NO TAG20140210T215842
- List of Backup Pieces for backup set 10 Copy #1
- BP Key Pc# Status Piece Name
- ------- --- ----------- ----------
- 10 1 AVAILABLE C:\BAK\20140210_16_1_BAK_DATA
- Backup Set Copy #2 of backup set 10
- Device Type Elapsed Time Completion Time Compressed Tag
- ----------- ------------ --------------- ---------- ---
- DISK 00:00:04 10-FEB-14 NO TAG20140210T215842
- List of Backup Pieces for backup set 10 Copy #2
- BP Key Pc# Status Piece Name
- ------- --- ----------- ----------
- 16 1 AVAILABLE /bak/20140210_16_1_BAK_DATA
- BS Key Type LV Size
- ------- ---- -- ----------
- 11 Full 6.80M
- Control File Included: Ckp SCN: 644268 Ckp time: 10-FEB-14
- SPFILE Included: Modification time: 10-FEB-14
- Backup Set Copy #1 of backup set 11
- Device Type Elapsed Time Completion Time Compressed Tag
- ----------- ------------ --------------- ---------- ---
- DISK 00:00:02 10-FEB-14 NO TAG20140210T215842
- List of Backup Pieces for backup set 11 Copy #1
- BP Key Pc# Status Piece Name
- ------- --- ----------- ----------
- 11 1 AVAILABLE C:\BAK\20140210_17_1_BAK_DATA
- Backup Set Copy #2 of backup set 11
- Device Type Elapsed Time Completion Time Compressed Tag
- ----------- ------------ --------------- ---------- ---
- DISK 00:00:02 10-FEB-14 NO TAG20140210T215842
- List of Backup Pieces for backup set 11 Copy #2
- BP Key Pc# Status Piece Name
- ------- --- ----------- ----------
- 15 1 AVAILABLE /bak/20140210_17_1_BAK_DATA
- BS Key Size
- ------- ----------
- 12 2.50K
- List of Archived Logs in backup set 12
- Thrd Seq Low SCN Low Time Next SCN Next Time
- ---- ------- ---------- --------- ---------- ---------
- 1 19 644196 10-FEB-14 644256 10-FEB-14
- 1 20 644256 10-FEB-14 644274 10-FEB-14
- Backup Set Copy #1 of backup set 12
- Device Type Elapsed Time Completion Time Compressed Tag
- ----------- ------------ --------------- ---------- ---
- DISK 00:00:01 10-FEB-14 NO TAG20140210T215852
- List of Backup Pieces for backup set 12 Copy #1
- BP Key Pc# Status Piece Name
- ------- --- ----------- ----------
- 12 1 AVAILABLE C:\BAK\20140210_18_1_BAK_ARC
- Backup Set Copy #2 of backup set 12
- Device Type Elapsed Time Completion Time Compressed Tag
- ----------- ------------ --------------- ---------- ---
- DISK 00:00:01 10-FEB-14 NO TAG20140210T215852
- List of Backup Pieces for backup set 12 Copy #2
- BP Key Pc# Status Piece Name
- ------- --- ----------- ----------
- 13 1 AVAILABLE /bak/20140210_18_1_BAK_ARC
- BS Key Type LV Size Device Type Elapsed Time Completion Time
- ------- ---- -- ---------- ----------- ------------ ---------------
- 13 Full 6.77M DISK 00:00:00 10-FEB-14
- BP Key: 14 Status: AVAILABLE Compressed: NO Tag: TAG20140210T215854
- Piece Name: /bak/0JP0A78U_1_1_BAK_CTL
- Control File Included: Ckp SCN: 644281 Ckp time: 10-FEB-14
- RMAN>
set newname datafile,之后switch更新controlfile
- RMAN> run{
- 2> allocate channel c1 type disk;
- 3> set newname for datafile 1 to '/u01/app/oracle/oradata/dbserver/system01.dbf';
- 4> set newname for datafile 2 to '/u01/app/oracle/oradata/dbserver/undotbs01.dbf';
- set newname for datafile 3 to '/u01/app/oracle/oradata/dbserver/sysaux01.dbf';
- set newname for datafile 4 to '/u01/app/oracle/oradata/dbserver/users01.dbf';
- set newname for datafile 5 to '/u01/app/oracle/oradata/dbserver/example01.dbf';
- set newname for datafile 6 to '/u01/app/oracle/oradata/dbserver/zwc.dbf';
- 9> restore database;
- 10> switch datafile all;
- 11> release channel c1;
- 12> }
- allocated channel: c1
- channel c1: sid=540 devtype=DISK
- executing command: SET NEWNAME
- executing command: SET NEWNAME
- executing command: SET NEWNAME
- executing command: SET NEWNAME
- executing command: SET NEWNAME
- executing command: SET NEWNAME
- Starting restore at 10-FEB-14
- channel c1: restoring datafile 00006
- input datafile copy recid=5 stamp=839198158 filename=/u01/app/oracle/product/10.2.0/db_1/dbs/C:ORACLEPRODUCT10.2.0ORADATADBSERVERZWC.DBF
- destination for restore of datafile 00006: /u01/app/oracle/oradata/dbserver/zwc.dbf
- channel c1: copied datafile copy of datafile 00006
- output filename=/u01/app/oracle/oradata/dbserver/zwc.dbf recid=13 stamp=839198270
- channel c1: starting datafile backupset restore
- channel c1: specifying datafile(s) to restore from backup set
- restoring datafile 00001 to /u01/app/oracle/oradata/dbserver/system01.dbf
- restoring datafile 00002 to /u01/app/oracle/oradata/dbserver/undotbs01.dbf
- restoring datafile 00003 to /u01/app/oracle/oradata/dbserver/sysaux01.dbf
- restoring datafile 00004 to /u01/app/oracle/oradata/dbserver/users01.dbf
- restoring datafile 00005 to /u01/app/oracle/oradata/dbserver/example01.dbf
- channel c1: reading from backup piece C:\BAK\20140210_16_1_BAK_DATA
- channel c1: restored backup piece 1
- failover to piece handle=/bak/20140210_16_1_BAK_DATA tag=TAG20140210T215842
- channel c1: restore complete, elapsed time: 00:00:25
- Finished restore at 10-FEB-14
- datafile 1 switched to datafile copy
- input datafile copy recid=19 stamp=839198299 filename=/u01/app/oracle/oradata/dbserver/system01.dbf
- datafile 2 switched to datafile copy
- input datafile copy recid=20 stamp=839198299 filename=/u01/app/oracle/oradata/dbserver/undotbs01.dbf
- datafile 3 switched to datafile copy
- input datafile copy recid=21 stamp=839198299 filename=/u01/app/oracle/oradata/dbserver/sysaux01.dbf
- datafile 4 switched to datafile copy
- input datafile copy recid=22 stamp=839198299 filename=/u01/app/oracle/oradata/dbserver/users01.dbf
- datafile 5 switched to datafile copy
- input datafile copy recid=23 stamp=839198299 filename=/u01/app/oracle/oradata/dbserver/example01.dbf
- datafile 6 switched to datafile copy
- input datafile copy recid=24 stamp=839198299 filename=/u01/app/oracle/oradata/dbserver/zwc.dbf
- released channel: c1
- RMAN>
recover database
- RMAN> recover database;
- Starting recover at 10-FEB-14
- allocated channel: ORA_DISK_1
- channel ORA_DISK_1: sid=540 devtype=DISK
- starting media recovery
- channel ORA_DISK_1: starting archive log restore to default destination
- channel ORA_DISK_1: restoring archive log
- archive log thread=1 sequence=20
- channel ORA_DISK_1: reading from backup piece C:\BAK\20140210_18_1_BAK_ARC
- channel ORA_DISK_1: restored backup piece 1
- failover to piece handle=/bak/20140210_18_1_BAK_ARC tag=TAG20140210T215852
- channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
- archive log filename=/arch/ARC0000000020_0839181856.0001 thread=1 sequence=20
- unable to find archive log
- archive log thread=1 sequence=21
- RMAN-00571: ===========================================================
- RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
- RMAN-00571: ===========================================================
- RMAN-03002: failure of recover command at 02/10/2014 22:40:08
- RMAN-06054: media recovery requesting unknown log: thread 1 seq 21 lowscn 644274
- RMAN>
RMAN-06054: media recovery requesting unknown log: thread 1 seq 21 lowscn 644274
提示介质恢复到一个未知的SCN,可以使用set until scn或者set until time解决
查看源端windows的sequence#
- [oracle@vzwc ~]$ sqlplus sys/oracle@192.168.1.8:1521/dbserver as sysdba
- SQL*Plus: Release 10.2.0.4.0 - Production on Mon Feb 10 22:42:56 2014
- Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
- Connected to:
- Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
- With the Partitioning, OLAP, Data Mining and Real Application Testing options
- SQL> select sequence# from v$archived_log;
- SEQUENCE#
- ----------
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- SEQUENCE#
- ----------
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 19 rows selected.
- SQL> archive log list
- Database log mode Archive Mode
- Automatic archival Enabled
- Archive destination c:\arch
- Oldest online log sequence 19
- Next log sequence to archive 21
- Current log sequence 21
在备份时只有sequence#2-sequence#20是归档,21还是online redolog,所以没有copy过来,可以通过指定sequence#来解决, set until sequence 21
- RMAN> run{
- 2> set until sequence 21;
- 3> recover database;
- 4> }
- executing command: SET until clause
- Starting recover at 10-FEB-14
- using channel ORA_DISK_1
- starting media recovery
- media recovery complete, elapsed time: 00:00:01
- Finished recover at 10-FEB-14
- RMAN>
注意如果windows是x86 32位系统在recover database之后需要执行以下操作
SQL> alter database open resetlogs migrate;
SQL> @?/rdbms/admin/utlirp.sql
SQL> @?/rdbms/admin/utlrp.sql
SQL> shutdown immediate;
SQL> startup
open数据库resetlogs
- RMAN> alter database open resetlogs;
- database opened
调整redo log和temp tablespace
- SQL> select member from v$logfile;
- MEMBER
- ----------------------------------------------------------------------------------------------------
- /u01/app/oracle/product/10.2.0/db_1/dbs/C:ORACLEPRODUCT10.2.0ORADATADBSERVERREDO03.LOG
- /u01/app/oracle/product/10.2.0/db_1/dbs/C:ORACLEPRODUCT10.2.0ORADATADBSERVERREDO02.LOG
- /u01/app/oracle/product/10.2.0/db_1/dbs/C:ORACLEPRODUCT10.2.0ORADATADBSERVERREDO01.LOG
- SQL> select group#,sequence#,bytes/1024/1024,members,status from v$log;
- GROUP# SEQUENCE# BYTES/1024/1024 MEMBERS STATUS
- ---------- ---------- --------------- ---------- ----------------
- 1 1 50 1 CURRENT
- 2 0 50 1 UNUSED
- 3 0 50 1 UNUSED
- SQL> alter database drop logfile group 2;
- Database altered.
- SQL> alter database add logfile group 2('/u01/app/oracle/oradata/dbserver/redo02.log') size 50M;
- Database altered.
- SQL> alter database drop logfile group 3;
- Database altered.
- SQL> alter database add logfile group 3('/u01/app/oracle/oradata/dbserver/redo03.log') size 50M;
- Database altered.
- SQL> alter system switch logfile;
- System altered.
- SQL> alter database drop logfile group 1;
- Database altered.
- SQL> alter database add logfile group 1('/u01/app/oracle/oradata/dbserver/redo01.log') size 50M;
- Database altered.
- SQL> select a.group#,a.bytes/1024/1024,a.members,a.status,b.member from v$log a,v$logfile b where a.group#=b.group#;
- GROUP# A.BYTES/1024/1024 MEMBERS STATUS MEMBER
- ---------- ----------------- ---------- ---------------- --------------------------------------------------------------------------------
- 3 50 1 INACTIVE /u01/app/oracle/oradata/dbserver/redo03.log
- 2 50 1 CURRENT /u01/app/oracle/oradata/dbserver/redo02.log
- 1 50 1 UNUSED /u01/app/oracle/oradata/dbserver/redo01.log
- SQL> select name from v$tempfile;
- NAME
- -------------------------------------------------------------------------------------------------------------------------------
- C:\ORACLE\PRODUCT\10.2.0\ORADATA\DBSERVER\TEMP01.DBF
- SQL> create temporary tablespace temptbs tempfile '/u01/app/oracle/oradata/dbserver/temptbs01.dbf' size 100M autoextend on;
- Tablespace created.
- SQL> alter database default temporary tablespace temptbs;
- Database altered.
- SQL> drop tablespace temp including contents and datafiles;
- Tablespace dropped.
- SQL> select name from v$tempfile;
- NAME
- --------------------------------------------------------------------------------------------------------------------------------
- /u01/app/oracle/oradata/dbserver/temptbs01.dbf
- SQL>
创建spfile
- SQL> show parameter spfile
- NAME TYPE VALUE
- ------------------------------------ ----------- ------------------------------
- spfile string
- SQL>
- SQL>
- SQL> create spfile from pfile='/bak/initorcl.ora';
- File created.
- SQL> shutdown immediate
- Database closed.
- Database dismounted.
- ORACLE instance shut down.
- SQL> startup
- ORACLE instance started.
- Total System Global Area 612368384 bytes
- Fixed Size 2085872 bytes
- Variable Size 167775248 bytes
- Database Buffers 436207616 bytes
- Redo Buffers 6299648 bytes
- Database mounted.
- Database opened.
- SQL> show parameter spfile
- NAME TYPE VALUE
- ------------------------------------ ----------- ------------------------------
- spfile string /u01/app/oracle/product/10.2.0
- /db_1/dbs/spfileORCL.ora
- SQL>
创建监听和tns
- [oracle@vzwc admin]$ cat listener.ora
- # listener.ora Network Configuration File: /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora
- # Generated by Oracle configuration tools.
- SID_LIST_LISTENER =
- (SID_LIST =
- (SID_DESC =
- (GLOBAL_DBNAME = dbserver)
- (ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)
- (SID_NAME = ORCL)
- )
- )
- LISTENER =
- (DESCRIPTION =
- (ADDRESS = (PROTOCOL = TCP)(HOST = vzwc)(PORT = 1521))
- )
- [oracle@vzwc admin]$ cat tnsnames.ora
- # tnsnames.ora Network Configuration File: /u01/app/oracle/product/10.2.0/db_1/network/admin/tnsnames.ora
- # Generated by Oracle configuration tools.
- DBSERVER =
- (DESCRIPTION =
- (ADDRESS_LIST =
- (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.7)(PORT = 1521))
- )
- (CONNECT_DATA =
- (SERVICE_NAME = dbserver)
- )
- )
- [oracle@vzwc admin]$
- [oracle@vzwc admin]$
- [oracle@vzwc admin]$
- [oracle@vzwc admin]$
- [oracle@vzwc admin]$
- [oracle@vzwc admin]$ lsnrctl start
- LSNRCTL for Linux: Version 10.2.0.4.0 - Production on 10-FEB-2014 23:18:27
- Copyright (c) 1991, 2007, Oracle. All rights reserved.
- Starting /u01/app/oracle/product/10.2.0/db_1/bin/tnslsnr: please wait...
- TNSLSNR for Linux: Version 10.2.0.4.0 - Production
- System parameter file is /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora
- Log messages written to /u01/app/oracle/product/10.2.0/db_1/network/log/listener.log
- Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=vzwc)(PORT=1521)))
- Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=vzwc)(PORT=1521)))
- STATUS of the LISTENER
- ------------------------
- Alias LISTENER
- Version TNSLSNR for Linux: Version 10.2.0.4.0 - Production
- Start Date 10-FEB-2014 23:18:28
- Uptime 0 days 0 hr. 0 min. 0 sec
- Trace Level off
- Security ON: Local OS Authentication
- SNMP OFF
- Listener Parameter File /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora
- Listener Log File /u01/app/oracle/product/10.2.0/db_1/network/log/listener.log
- Listening Endpoints Summary...
- (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=vzwc)(PORT=1521)))
- Services Summary...
- Service "dbserver" has 1 instance(s).
- Instance "ORCL", status UNKNOWN, has 1 handler(s) for this service...
- The command completed successfully
- [oracle@vzwc admin]$
- [oracle@vzwc admin]$
- [oracle@vzwc admin]$
- [oracle@vzwc admin]$
- [oracle@vzwc admin]$
- [oracle@vzwc admin]$
- [oracle@vzwc admin]$ lsnrctl status
- LSNRCTL for Linux: Version 10.2.0.4.0 - Production on 10-FEB-2014 23:19:00
- Copyright (c) 1991, 2007, Oracle. All rights reserved.
- Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=vzwc)(PORT=1521)))
- STATUS of the LISTENER
- ------------------------
- Alias LISTENER
- Version TNSLSNR for Linux: Version 10.2.0.4.0 - Production
- Start Date 10-FEB-2014 23:18:28
- Uptime 0 days 0 hr. 0 min. 32 sec
- Trace Level off
- Security ON: Local OS Authentication
- SNMP OFF
- Listener Parameter File /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora
- Listener Log File /u01/app/oracle/product/10.2.0/db_1/network/log/listener.log
- Listening Endpoints Summary...
- (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=vzwc)(PORT=1521)))
- Services Summary...
- Service "ORCLXDB" has 1 instance(s).
- Instance "ORCL", status READY, has 1 handler(s) for this service...
- Service "dbserver" has 2 instance(s).
- Instance "ORCL", status UNKNOWN, has 1 handler(s) for this service...
- Instance "ORCL", status READY, has 1 handler(s) for this service...
- Service "dbserver_XPT" has 1 instance(s).
- Instance "ORCL", status READY, has 1 handler(s) for this service...
- The command completed successfully
- [oracle@vzwc admin]$
- [oracle@vzwc admin]$
- [oracle@vzwc admin]$
- [oracle@vzwc admin]$
- [oracle@vzwc admin]$ lsnrctl service
- LSNRCTL for Linux: Version 10.2.0.4.0 - Production on 10-FEB-2014 23:19:09
- Copyright (c) 1991, 2007, Oracle. All rights reserved.
- Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=vzwc)(PORT=1521)))
- Services Summary...
- Service "ORCLXDB" has 1 instance(s).
- Instance "ORCL", status READY, has 1 handler(s) for this service...
- Handler(s):
- "D000" established:0 refused:0 current:0 max:1022 state:ready
-
DISPATCHER
- (ADDRESS=(PROTOCOL=tcp)(HOST=vzwc)(PORT=47521))
- Service "dbserver" has 2 instance(s).
- Instance "ORCL", status UNKNOWN, has 1 handler(s) for this service...
- Handler(s):
- "DEDICATED" established:0 refused:0
- LOCAL SERVER
- Instance "ORCL", status READY, has 1 handler(s) for this service...
- Handler(s):
- "DEDICATED" established:0 refused:0 state:ready
- LOCAL SERVER
- Service "dbserver_XPT" has 1 instance(s).
- Instance "ORCL", status READY, has 1 handler(s) for this service...
- Handler(s):
- "DEDICATED" established:0 refused:0 state:ready
- LOCAL SERVER
- The command completed successfully
验证恢复
- [oracle@vzwc admin]$ sqlplus / as sysdba
- SQL*Plus: Release 10.2.0.4.0 - Production on Mon Feb 10 23:19:43 2014
- Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
- Connected to:
- Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
- With the Partitioning, OLAP, Data Mining and Real Application Testing options
- SQL> show parameter _name
- NAME TYPE VALUE
- ------------------------------------ ----------- ------------------------------
- db_file_name_convert string
- db_name string dbserver
- db_unique_name string dbserver
- global_names boolean FALSE
- instance_name string ORCL
- lock_name_space string
- log_file_name_convert string
- service_names string dbserver
- SQL>
- SQL> conn zwc@dbserver
- Enter password:
- Connected.
- SQL> select tname from tab;
- TNAME
- ------------------------------
- TAB01
- SQL> select * from tab01 where rownum=1;
- OWNER
- ------------------------------
- OBJECT_NAME
- --------------------------------------------------------------------------------
- SUBOBJECT_NAME OBJECT_ID DATA_OBJECT_ID OBJECT_TYPE
- ------------------------------ ---------- -------------- -------------------
- CREATED LAST_DDL_TIM TIMESTAMP STATUS T G S
- ------------ ------------ ------------------- ------- - - -
- SYS
- ICOL$
- 20 2 TABLE
- 08-MAY-08 08-MAY-08 2008-05-08:00:53:58 VALID N N N
- SQL> select count(*) from tab01;
- select count(*) from tab01
- *
- ERROR at line 1:
- ORA-01578: ORACLE data block corrupted (file # 6, block # 1129)
- ORA-01110: data file 6: '/u01/app/oracle/oradata/dbserver/zwc.dbf'
源端windows备份的时候跳过了坏块,在Linux端恢复的时候坏块还是存在的
- [oracle@vzwc ~]$ dbv file=/u01/app/oracle/oradata/dbserver/zwc.dbf
- DBVERIFY: Release 10.2.0.4.0 - Production on Mon Feb 10 23:24:05 2014
- Copyright (c) 1982, 2007, Oracle. All rights reserved.
- DBVERIFY - Verification starting : FILE = /u01/app/oracle/oradata/dbserver/zwc.dbf
- DBV-00200: Block, DBA 25166953, already marked corrupt
- DBV-00200: Block, DBA 25166956, already marked corrupt
- DBVERIFY - Verification complete
- Total Pages Examined : 12800
- Total Pages Processed (Data) : 12137
- Total Pages Failing (Data) : 0
- Total Pages Processed (Index): 0
- Total Pages Failing (Index): 0
- Total Pages Processed (Other): 662
- Total Pages Processed (Seg) : 0
- Total Pages Failing (Seg) : 0
- Total Pages Empty : 1
- Total Pages Marked Corrupt : 2
- Total Pages Influx : 0
- Highest block SCN : 639878 (0.639878)
- SQL> l
- 1 select name from v$datafile
- 2 union all
- 3 select name from v$tempfile
- 4 union all
- 5 select name from v$controlfile
- 6 union all
- 7* select member from v$logfile
- SQL> /
- NAME
- --------------------------------------------------------------------------------
- /u01/app/oracle/oradata/dbserver/system01.dbf
- /u01/app/oracle/oradata/dbserver/undotbs01.dbf
- /u01/app/oracle/oradata/dbserver/sysaux01.dbf
- /u01/app/oracle/oradata/dbserver/users01.dbf
- /u01/app/oracle/oradata/dbserver/example01.dbf
- /u01/app/oracle/oradata/dbserver/zwc.dbf
- /u01/app/oracle/oradata/dbserver/temptbs01.dbf
- /u01/app/oracle/oradata/dbserver/control01.ctl
- /u01/app/oracle/oradata/dbserver/control02.ctl
- /u01/app/oracle/oradata/dbserver/control03.ctl
- /u01/app/oracle/oradata/dbserver/redo03.log
- /u01/app/oracle/oradata/dbserver/redo02.log
- /u01/app/oracle/oradata/dbserver/redo01.log
- 13 rows selected.
- SQL>
暂无评论

目录视图
摘要视图
订阅



