Oracle10g RMAN Windows 2003 Server R2 x64备份迁移到Linux x64
记录源端windows上oracle的dbidSQL> select dbid from v$database;DBID----------66428446使用RMAN备份RMAN> RUN{2> ALLOCATE CHANNEL C1 TYPE DISK;3> SQL 'ALTER SYSTEM ARCHIVE LOG CURRENT';4> BACKU
·
记录源端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'
[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 <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 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>
更多推荐
已为社区贡献4条内容
所有评论(0)