rac源服务器:
rac1:192.168.100.201
rac2:192.168.100.202
目标服务器:
192.168.8.201
恢复的主要步骤如下:
恢复初始化参数文件->修改参数文件->恢复控制文件->resotre数据文件->recover数据文件
[oracle@linuxso.com ~]$ rman target /
Recovery Manager: Release 10.2.0.4.0 -Production on Tue Nov 22 21:45:18 2011
Copyright (c) 1982, 2007, Oracle. All rights reserved.
connected to target database (not started)
RMAN> startup nomount;
startup failed: ORA-01078: failure inprocessing system parameters
LRM-00109: could not open parameter file'/oracle/ora10g/product/db/dbs/initjscnora'
starting Oracle instance without parameterfile for retrival of spfile
Oracle instance started
Total System Global Area 159383552 bytes
Fixed Size 2082400 bytes
Variable Size 67111328 bytes
Database Buffers 83886080 bytes
Redo Buffers 6303744 bytes
把最近的0级备份和后面的备份文件拷贝到
我们看到备份集有如下
-rw-r----- 1 oracle oinstall 622592 Dec 2 16:11 arch_JSCN_20111202_286
-rw-r----- 1 oracle oinstall 266752 Dec 2 16:11 arch_JSCN_20111202_287
-rw-r----- 1 oracle oinstall 140288 Dec 2 16:13 arch_JSCN_20111202_296
-rw-r----- 1 oracle oinstall 36352 Dec 2 16:13 arch_JSCN_20111202_297
-rw-r----- 1 oracle oinstall 16908288 Dec 2 16:13 control_c-2437751542-20111202-00
-rw-r----- 1 oracle oinstall 196608 Dec 2 16:11 lev0_JSCN_20111202_288
-rw-r----- 1 oracle oinstall 32784384 Dec 2 16:11 lev0_JSCN_20111202_289
-rw-r----- 1 oracle oinstall 172032 Dec 2 16:11 lev0_JSCN_20111202_290
-rw-r----- 1 oracle oinstall 388726784Dec 2 16:12 lev0_JSCN_20111202_291
-rw-r----- 1 oracle oinstall 256327680Dec 2 16:13 lev0_JSCN_20111202_292
-rw-r----- 1 oracle oinstall 9658368 Dec 2 16:13 lev0_JSCN_20111202_293
-rw-r----- 1 oracle oinstall 15204352 Dec 2 16:13 lev0_JSCN_20111202_294
-rw-r----- 1 oracle oinstall 1818624 Dec 2 16:13 lev0_JSCN_20111202_295
这几个都是最近的备份,control_c-2437751542-20111202-00一个包含初始化参数文件
让我们恢复参数文件
[oracle@linuxso.com ~]$ rman target /
Recovery Manager: Release 10.2.0.4.0 -Production on Tue Nov 22 22:07:18 2011
Copyright (c) 1982, 2007, Oracle. All rights reserved.
connected to target database: DUMMY (notmounted)
RMAN> restore spfile to pfile'/home/oracle/initjscn.ora' from '/orabak/lev2_JSCN_20111201_182';
Starting restore at 22-NOV-11
using target database control file insteadof recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=39 devtype=DISK
channel ORA_DISK_1: autobackup found:/orabak/lev2_JSCN_20111201_182
channel ORA_DISK_1: SPFILE restore fromautobackup complete
Finished restore at 22-NOV-11
--查看/home/oracle/initjscn.ora
接下来要做的是个体力活,修改 pfile.ora中的初始化参数,主要有两方面的修改
a 修改含文件路径的参数,达到符合当前服务器环境的实际情况
b 修改多实例相关的参数
c 内存参数(如果源服务器和目录服务器内存一样大,不用调)
原文件内容如下:
---------------------------------------------------------------------------------------------------
jscn2.__db_cache_size=1207959552
jscn1.__db_cache_size=1207959552
jscn2.__java_pool_size=16777216
jscn1.__java_pool_size=16777216
jscn2.__large_pool_size=16777216
jscn1.__large_pool_size=16777216
jscn2.__shared_pool_size=352321536
jscn1.__shared_pool_size=352321536
jscn2.__streams_pool_size=0
jscn1.__streams_pool_size=0
*.audit_file_dest='/oracle/ora10g/admin/jscn/adump'
*.background_dump_dest='/oracle/ora10g/admin/jscn/bdump'
*.cluster_database_instances=2
*.cluster_database=true
*.compatible='10.2.0.3.0'
*.control_files='+DATA/jscn/controlfile/current.263.768517111'
*.core_dump_dest='/oracle/ora10g/admin/jscn/cdump'
*.db_block_size=8192
*.db_create_file_dest='+DATA'
*.db_domain=''
*.db_file_multiblock_read_count=8
*.db_name='jscn'
*.dispatchers='(PROTOCOL=TCP)(SERVICE=jscnXDB)'
jscn1.instance_number=1
jscn2.instance_number=2
*.job_queue_processes=10
jscn1.log_archive_dest_1='location=/oraarch1/'
jscn2.log_archive_dest_1='location=/oraarch2/'
jscn1.log_archive_dest_2='service=jscn2'
jscn2.log_archive_dest_2='service=jscn1'
*.open_cursors=300
*.pga_aggregate_target=2512388096
*.processes=1500
*.remote_listener='LISTENERS_JSCN'
*.remote_login_passwordfile='exclusive'
*.sessions=1655
*.sga_target=1610612736
jscn1.standby_archive_dest='/oraarch2/'
jscn2.standby_archive_dest='/oraarch1'
jscn2.thread=2
jscn1.thread=1
*.undo_management='AUTO'
jscn1.undo_tablespace='UNDOTBS1'
jscn2.undo_tablespace='UNDOTBS2'
*.user_dump_dest='/oracle/ora10g/admin/jscn/udump'
---------------------------------------------------------------------------------------------------
最终修改完之后,这里的初始化参数如下,比如原来的文件精简不少:
---------------------------------------------------------------------------------------------------
*.audit_file_dest='/oracle/ora10/admin/jscn/adump'
*.background_dump_dest='/oracle/ora10/admin/jscn/bdump'
*.compatible='10.2.0.3.0'
*.control_files='/oracle/ora10/oradata/jscn/control01.ctl','/oracle/ora10/oradata/jscn/control02.ctl','/oracle/ora10/oradata/jscn/control03.ctl'
*.core_dump_dest='/oracle/ora10/admin/jscn/cdump'
*.db_block_size=8192
*.db_domain=''
*.db_file_multiblock_read_count=8
*.db_name='jscn'
*.job_queue_processes=10
*.log_archive_dest_1='location=/oraarch'
*.open_cursors=300
*.pga_aggregate_target=251238809
*.processes=150
*.remote_login_passwordfile='exclusive'
*.sessions=165
*.sga_target=261061273
*.undo_management='AUTO'
undo_tablespace='UNDOTBS1'
*.user_dump_dest='/oracle/ora10/admin/jscn/udump'
---------------------------------------------------------------------------------------------------
创建相应的目录
[oracle@linuxso.com ~]$ mkdir -p/oracle/ora10/admin/jscn/adump
[oracle@linuxso.com ~]$ mkdir -p/oracle/ora10/admin/jscn/bdump
[oracle@linuxso.com ~]$ mkdir -p/oracle/ora10/admin/jscn/cdump
[oracle@linuxso.com ~]$ mkdir -p/oracle/ora10/admin/jscn/udump
[oracle@linuxso.com ~]$ mkdir -p /oracle/ora10/oradata/jscn/
现在我们开始恢复了
SQL> create spfile from pfile='/home/oracle/initjscn.ora';
File created.
SQL> shutdown immediate
SQL> startup nomount
ORACLE instance shut down.
SQL> startup nomount
ORA-07446: sdnfy: bad value'/oracle/ora10g/admin/jscn/udump' for parameter user_dump_dest.
SQL> startup nomount
ORACLE instance started.
ORA-04030: out of process memory whentrying to allocate 32 bytes (sqlarea,tmp)
如果碰到以上错误
--1、创建相应的目录
--2、修改pga_aggregate_target为合适的值
SQL> startup nomount
ORACLE instance started.
Total System Global Area 264241152 bytes
Fixed Size 2083200 bytes
Variable Size 83887744 bytes
Database Buffers 171966464 bytes
Redo Buffers 6303744 bytes
控制文件我们默认是自动备份的,所以我们要选取最新的控制文件来恢复数据
-rw-r----- 1 oracle oinstall 16908288 Dec 2 16:13 control_c-2437751542-20111202-00
1 设置dbid
[oracle@linuxso.com ~]$ rman target /
Recovery Manager: Release 10.2.0.4.0 -Production on Tue Nov 22 23:55:44 2011
Copyright (c) 1982, 2007, Oracle. All rights reserved.
connected to target database: jscn (notmounted)
RMAN> set dbid= 2437751542
executing command: SET DBID
RMAN> restore controlfile from'/orabak/201112/01_L0/cro_c-2437751542-20111201-00';
Starting restore at 23-NOV-11
using target database control file insteadof recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=157 devtype=DISK
channel ORA_DISK_1: restoring control file
channel ORA_DISK_1: restore complete,elapsed time: 00:00:03
outputfilename=/oracle/ora10g/oradata/jscn/control01.ctl
outputfilename=/oracle/ora10g/oradata/jscn/control02.ctl
Finished restore at 23-NOV-11
RMAN> alter database mount;
database mounted
先查看源文件配置,这些内容存在在控制文件中
数据文件:
[oracle@linuxso.com ~]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.4.0 - Productionon Wed Nov 23 09:43:49 2011
Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise EditionRelease 10.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Miningand Real Application Testing options
SQL> conn jscn/jscn
Connected.
SQL> desc nihao;
Name Null? Type
------------------------------------------------- ----------------------------
ID NUMBER