Oracle10g RMAN Windows 2003 Server R2 x64备份迁移到Linux x64

来源:互联网 发布:c语言函数的概念 编辑:程序博客网 时间:2024/06/01 22:27

记录源端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=DISKsql 语句: 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释放的通道: C1RMAN-00571: ===========================================================RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============RMAN-00571: ===========================================================

RMAN跳过坏块备份,将备份集传到Linux

C:\>dbv file=C:\oracle\product\10.2.0\oradata\dbserver\zwc.dbfDBVERIFY: Release 10.2.0.4.0 - Production on 星期一 2月 10 21:47:45 2014Copyright (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: 0x7e6DBVERIFY - 验证完成检查的页总数: 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 2014Copyright (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=DISKsql 语句: 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释放的通道: C1RMAN>

创建并且修改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.ORAorcl.__db_cache_size=436207616orcl.__java_pool_size=4194304orcl.__large_pool_size=4194304orcl.__shared_pool_size=159383552orcl.__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'
将修改后的pfile传到Linux端

orcl.__db_cache_size=436207616orcl.__java_pool_size=4194304orcl.__large_pool_size=4194304orcl.__shared_pool_size=159383552orcl.__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'


Linux端开始恢复,set dbid nomount数据库
[oracle@vzwc bak]$ rman target /Recovery Manager: Release 10.2.0.4.0 - Production on Mon Feb 10 22:22:16 2014Copyright (c) 1982, 2007, Oracle.  All rights reserved.connected to target database (not started)RMAN> set dbid=66428446executing command: SET DBIDRMAN> startup nomount pfile='/bak/initorcl.ora'Oracle instance startedTotal System Global Area     612368384 bytesFixed Size                     2085872 bytesVariable Size                167775248 bytesDatabase Buffers             436207616 bytesRedo Buffers                   6299648 bytesRMAN> 

还原controlfile,mount database

RMAN> restore controlfile from '/bak/0JP0A78U_1_1_BAK_CTL';Starting restore at 10-FEB-14using target database control file instead of recovery catalogallocated channel: ORA_DISK_1channel ORA_DISK_1: sid=540 devtype=DISKchannel ORA_DISK_1: restoring control filechannel ORA_DISK_1: restore complete, elapsed time: 00:00:03output filename=/u01/app/oracle/oradata/dbserver/control01.ctloutput filename=/u01/app/oracle/oradata/dbserver/control02.ctloutput filename=/u01/app/oracle/oradata/dbserver/control03.ctlFinished restore at 10-FEB-14RMAN> alter database mount;database mountedreleased 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_ARCFile Name: /bak/0JP0A78U_1_1_BAK_CTLFile Name: /bak/20140210_17_1_BAK_DATAFile Name: /bak/20140210_16_1_BAK_DATAFile Name: /bak/initorcl.oraDo you really want to catalog the above files (enter YES or NO)? YEScataloging files...cataloging doneList of Cataloged Files=======================File Name: /bak/20140210_18_1_BAK_ARCFile Name: /bak/0JP0A78U_1_1_BAK_CTLFile Name: /bak/20140210_17_1_BAK_DATAFile Name: /bak/20140210_16_1_BAK_DATAList of Files Which Where Not Cataloged=======================================File Name: /bak/initorcl.ora  RMAN-07517: Reason: The file header is corruptedRMAN> 

可以看到提示,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_DATABS 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_DATABS 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_ARCBS 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-14RMAN> 

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: c1channel c1: sid=540 devtype=DISKexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEStarting restore at 10-FEB-14channel c1: restoring datafile 00006input datafile copy recid=5 stamp=839198158 filename=/u01/app/oracle/product/10.2.0/db_1/dbs/C:ORACLEPRODUCT10.2.0ORADATADBSERVERZWC.DBFdestination for restore of datafile 00006: /u01/app/oracle/oradata/dbserver/zwc.dbfchannel c1: copied datafile copy of datafile 00006output filename=/u01/app/oracle/oradata/dbserver/zwc.dbf recid=13 stamp=839198270channel c1: starting datafile backupset restorechannel c1: specifying datafile(s) to restore from backup setrestoring datafile 00001 to /u01/app/oracle/oradata/dbserver/system01.dbfrestoring datafile 00002 to /u01/app/oracle/oradata/dbserver/undotbs01.dbfrestoring datafile 00003 to /u01/app/oracle/oradata/dbserver/sysaux01.dbfrestoring datafile 00004 to /u01/app/oracle/oradata/dbserver/users01.dbfrestoring datafile 00005 to /u01/app/oracle/oradata/dbserver/example01.dbfchannel c1: reading from backup piece C:\BAK\20140210_16_1_BAK_DATAchannel c1: restored backup piece 1failover to piece handle=/bak/20140210_16_1_BAK_DATA tag=TAG20140210T215842channel c1: restore complete, elapsed time: 00:00:25Finished restore at 10-FEB-14datafile 1 switched to datafile copyinput datafile copy recid=19 stamp=839198299 filename=/u01/app/oracle/oradata/dbserver/system01.dbfdatafile 2 switched to datafile copyinput datafile copy recid=20 stamp=839198299 filename=/u01/app/oracle/oradata/dbserver/undotbs01.dbfdatafile 3 switched to datafile copyinput datafile copy recid=21 stamp=839198299 filename=/u01/app/oracle/oradata/dbserver/sysaux01.dbfdatafile 4 switched to datafile copyinput datafile copy recid=22 stamp=839198299 filename=/u01/app/oracle/oradata/dbserver/users01.dbfdatafile 5 switched to datafile copyinput datafile copy recid=23 stamp=839198299 filename=/u01/app/oracle/oradata/dbserver/example01.dbfdatafile 6 switched to datafile copyinput datafile copy recid=24 stamp=839198299 filename=/u01/app/oracle/oradata/dbserver/zwc.dbfreleased channel: c1RMAN> 

recover database

RMAN> recover database;Starting recover at 10-FEB-14allocated channel: ORA_DISK_1channel ORA_DISK_1: sid=540 devtype=DISKstarting media recoverychannel ORA_DISK_1: starting archive log restore to default destinationchannel ORA_DISK_1: restoring archive logarchive log thread=1 sequence=20channel ORA_DISK_1: reading from backup piece C:\BAK\20140210_18_1_BAK_ARCchannel ORA_DISK_1: restored backup piece 1failover to piece handle=/bak/20140210_18_1_BAK_ARC tag=TAG20140210T215852channel ORA_DISK_1: restore complete, elapsed time: 00:00:01archive log filename=/arch/ARC0000000020_0839181856.0001 thread=1 sequence=20unable to find archive logarchive log thread=1 sequence=21RMAN-00571: ===========================================================RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============RMAN-00571: ===========================================================RMAN-03002: failure of recover command at 02/10/2014 22:40:08RMAN-06054: media recovery requesting unknown log: thread 1 seq 21 lowscn 644274RMAN> 

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 sysdbaSQL*Plus: Release 10.2.0.4.0 - Production on Mon Feb 10 22:42:56 2014Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.Connected to:Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing optionsSQL> 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        2019 rows selected.SQL> archive log listDatabase log mode              Archive ModeAutomatic archival             EnabledArchive destination            c:\archOldest online log sequence     19Next log sequence to archive   21Current 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 clauseStarting recover at 10-FEB-14using channel ORA_DISK_1starting media recoverymedia recovery complete, elapsed time: 00:00:01Finished recover at 10-FEB-14RMAN> 

注意如果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.LOGSQL> 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 UNUSEDSQL> 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.DBFSQL> 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.dbfSQL> 

创建spfile

SQL> show parameter spfileNAME                                 TYPE        VALUE------------------------------------ ----------- ------------------------------spfile                               stringSQL> SQL> SQL> create spfile from pfile='/bak/initorcl.ora';File created.SQL> shutdown immediateDatabase closed.Database dismounted.ORACLE instance shut down.SQL> startupORACLE instance started.Total System Global Area  612368384 bytesFixed Size                  2085872 bytesVariable Size             167775248 bytesDatabase Buffers          436207616 bytesRedo Buffers                6299648 bytesDatabase mounted.Database opened.SQL> show parameter spfileNAME                                 TYPE        VALUE------------------------------------ ----------- ------------------------------spfile                               string      /u01/app/oracle/product/10.2.0                                                 /db_1/dbs/spfileORCL.oraSQL> 

创建监听和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 startLSNRCTL for Linux: Version 10.2.0.4.0 - Production on 10-FEB-2014 23:18:27Copyright (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 - ProductionSystem parameter file is /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.oraLog messages written to /u01/app/oracle/product/10.2.0/db_1/network/log/listener.logListening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=vzwc)(PORT=1521)))Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=vzwc)(PORT=1521)))STATUS of the LISTENER------------------------Alias                     LISTENERVersion                   TNSLSNR for Linux: Version 10.2.0.4.0 - ProductionStart Date                10-FEB-2014 23:18:28Uptime                    0 days 0 hr. 0 min. 0 secTrace Level               offSecurity                  ON: Local OS AuthenticationSNMP                      OFFListener Parameter File   /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.oraListener Log File         /u01/app/oracle/product/10.2.0/db_1/network/log/listener.logListening 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 statusLSNRCTL for Linux: Version 10.2.0.4.0 - Production on 10-FEB-2014 23:19:00Copyright (c) 1991, 2007, Oracle.  All rights reserved.Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=vzwc)(PORT=1521)))STATUS of the LISTENER------------------------Alias                     LISTENERVersion                   TNSLSNR for Linux: Version 10.2.0.4.0 - ProductionStart Date                10-FEB-2014 23:18:28Uptime                    0 days 0 hr. 0 min. 32 secTrace Level               offSecurity                  ON: Local OS AuthenticationSNMP                      OFFListener Parameter File   /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.oraListener Log File         /u01/app/oracle/product/10.2.0/db_1/network/log/listener.logListening 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 serviceLSNRCTL for Linux: Version 10.2.0.4.0 - Production on 10-FEB-2014 23:19:09Copyright (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 <machine: vzwc, pid: 15599>         (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 SERVERService "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 SERVERThe command completed successfully

验证恢复

[oracle@vzwc admin]$ sqlplus / as sysdbaSQL*Plus: Release 10.2.0.4.0 - Production on Mon Feb 10 23:19:43 2014Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.Connected to:Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing optionsSQL> show parameter _nameNAME                                 TYPE        VALUE------------------------------------ ----------- ------------------------------db_file_name_convert                 stringdb_name                              string      dbserverdb_unique_name                       string      dbserverglobal_names                         boolean     FALSEinstance_name                        string      ORCLlock_name_space                      stringlog_file_name_convert                stringservice_names                        string      dbserverSQL> SQL> conn zwc@dbserverEnter password: Connected.SQL> select tname from tab;TNAME------------------------------TAB01SQL> 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------------ ------------ ------------------- ------- - - -SYSICOL$                                       20              2 TABLE08-MAY-08    08-MAY-08    2008-05-08:00:53:58 VALID   N N NSQL> 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.dbfDBVERIFY: Release 10.2.0.4.0 - Production on Mon Feb 10 23:24:05 2014Copyright (c) 1982, 2007, Oracle.  All rights reserved.DBVERIFY - Verification starting : FILE = /u01/app/oracle/oradata/dbserver/zwc.dbfDBV-00200: Block, DBA 25166953, already marked corruptDBV-00200: Block, DBA 25166956, already marked corruptDBVERIFY - Verification completeTotal Pages Examined         : 12800Total Pages Processed (Data) : 12137Total Pages Failing   (Data) : 0Total Pages Processed (Index): 0Total Pages Failing   (Index): 0Total Pages Processed (Other): 662Total Pages Processed (Seg)  : 0Total Pages Failing   (Seg)  : 0Total Pages Empty            : 1Total Pages Marked Corrupt   : 2Total Pages Influx           : 0Highest 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$logfileSQL> /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.log13 rows selected.SQL> 



0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 在微信上买东西退货不退钱怎么办 手机分期付款不还款被起诉了怎么办 朋友用我的花呗分期不还钱怎么办 朋友用我身份证办分期不还钱怎么办 我手机号被别人绑定信用卡了怎么办 5s用不了4g网络怎么办 红米手机返回键没了怎么办 小米手机进水了开不了机怎么办 手机返回键和菜单键失灵怎么办 苹果5s指纹按键坏了怎么办 小米手机安卓系统耗电量大怎么办? 苹果5s充不进去电怎么办 苹果手机6s返回键失灵怎么办 本人被骗同时被利用骗了别人怎么办 京东取消订单后货到了该怎么办 京东电信日租卡流量顶置了怎么办 苹果6s进水后闪光灯不亮怎么办 华为手机情景义停车事项过期怎么办 拼多多付款后商品下架了怎么办 淘宝上买化妆品买到假货了怎么办 找苹果官网解id发票丢了怎么办 客人已交订金但要取消宴席怎么办 京东买的小米电视碎屏了怎么办 京东购买的电视碎屏了怎么办 淘宝上买手机不能用不给退怎么办 天猫申请退货退款卖家不处理怎么办 在淘宝买到货到付款的假苹果怎么办 跟朋友买手机买到假货怎么办 在淘宝网上买到不合格的产品怎么办 淘宝打假师打了我的店铺怎么办 收藏品公司关门跑路员工怎么办 客户快递签收后说货物短缺怎么办 京东商城买东西商家不换货怎么办 在商场买东西过几天就降价了怎么办 天猫买东西不退货不退款怎么办 买买8p美版的怎么办 京东金条银行卡被冻结还不了怎么办 在瑞士刚买的浪琴手表不走了怎么办 刚买的手表表镜有划痕 怎么办 唯品会上买的手表有质量问题怎么办 我买的对方材料没开票给我怎么办