设为首页 收藏本站
查看: 785|回复: 0

[经验分享] Oracle10g RMAN Windows 2003 Server R2 x64备份迁移到Linux x64

[复制链接]

尚未签到

发表于 2015-11-2 14:11:45 | 显示全部楼层 |阅读模式
  记录源端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'将修改后的pfile传到Linux端  
  

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'
  
  



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 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.logSQL> 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 <machine: vzwc, pid: 15599>
(ADDRESS=(PROTOCOL=tcp)(HOST=vzwc)(PORT=47521))
Service &quot;dbserver&quot; has 2 instance(s).
Instance &quot;ORCL&quot;, status UNKNOWN, has 1 handler(s) for this service...
Handler(s):
&quot;DEDICATED&quot; established:0 refused:0
LOCAL SERVER
Instance &quot;ORCL&quot;, status READY, has 1 handler(s) for this service...
Handler(s):
&quot;DEDICATED&quot; established:0 refused:0 state:ready
LOCAL SERVER
Service &quot;dbserver_XPT&quot; has 1 instance(s).
Instance &quot;ORCL&quot;, status READY, has 1 handler(s) for this service...
Handler(s):
&quot;DEDICATED&quot; 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>
  


  



版权声明:本文为博主原创文章,未经博主允许不得转载。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-134153-1-1.html 上篇帖子: Windows 2003如何打开RDP远程桌面(3389) 下篇帖子: Windows 2003关机慢解决
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表