RACasm restore to single-instance rac source server: rac1: 192.168.100.201rac2: 192.168.100.202 target server: 192.168.8.201 main steps for recovery
Recovering RAC asm to a single instance rac source server: rac1: 192.168.100.201 rac2: 192.168.100.202 target server: 192.168.8.201
RAC asm restored to a single instance
Rac source server:
Rac1: 192.168.100.201
Rac2: 192.168.100.202
Target Server:
192.168.8.201
The recovery procedure is as follows:
Restore the initialization parameter file-> modify the parameter file-> restore control file-> resotre data file-> recover data file
1. Correctly install a single instance database. 1) Check the rac file environment variables.
[Oracle @ rac2 log] $ cat/etc/profile. d/oraenv. sh
# Oracle 10g
Export ORACLE_BASE =/oracle/ora10g
Export ORACLE_HOME = $ ORACLE_BASE/product/db
Export CRS_HOME = $ ORACLE_BASE/product/crs
ExportPATH = $ CRS_HOME/bin: $ ORACLE_HOME/bin: $ PATH
Export ORACLE_OWNER = oracle
Export ORACLE_SID = jscn2
ExportLD_LIBRARY_PATH = $ ORACLE_HOME/lib:/usr/lib
Export NLS_LANG = 'American _ america. ZHS16GBK'
# ExportNLS_LANG = 'American _ america. al32utf8'
Umask 022
Do not set the destination server ORACLE_SID
2) install the backup server
Create the target server database based on this environment variable (including database installation, upgrade package installation, and database creation)
2. Recovery Phase 1) Start the target database to nomount
[Oracle @ IM-8-201 ~] $ Rman target/
Recovery Manager: Release 10.2.0.4.0-Production on Tue Nov 22 21:45:18 2011
Copyright (c) 1982,200 7, Oracle. All rights reserved.
Connected to target database (not started)
RMAN> startup nomount;
Startup failure: ORA-01078: failure inprocessing system parameters
LRM-00109: cocould 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
2) restore the spfile from the backup set and save it as pfile. The operation is as follows:
Copy the latest backup of level 0 and subsequent backup files
We can see that the backup set has the following
-Rw-r ----- 1 oracle oinstall 622592 Dec 2 arch_JSCN_20111202_286
-Rw-r ----- 1 oracle oinstall 266752 Dec 2 arch_JSCN_20111202_287
-Rw-r ----- 1 oracle oinstall 140288 Dec 2 arch_JSCN_20111202_296
-Rw-r ----- 1 oracle oinstall 36352 Dec 2 arch_JSCN_20111202_297
-Rw-r ----- 1 oracle oinstall 16908288 Dec 2 control_c-2437751542-20111202-00
-Rw-r ----- 1 oracle oinstall 196608 Dec 2 lev0_JSCN_20111202_288
-Rw-r ----- 1 oracle oinstall 32784384 Dec 2 lev0_JSCN_20111202_289
-Rw-r ----- 1 oracle oinstall 172032 Dec 2 lev0_JSCN_20111202_290
-Rw-r ----- 1 oracle oinstall 388726784Dec 2 16: 12 lev0_jscn_20111202_29
-Rw-r ----- 1 oracle oinstall 256327680Dec 2 16:13 lev0_JSCN_20111202_292
-Rw-r ----- 1 oracle oinstall 9658368 Dec 2 lev0_JSCN_20111202_293
-Rw-r ----- 1 oracle oinstall 15204352 Dec 2 lev0_JSCN_20111202_294
-Rw-r ----- 1 oracle oinstall 1818624 Dec 2 lev0_JSCN_20111202_295
These are all recent backups, control_c-2437751542-20111202-00 a file containing initialization parameters
Let's restore the parameter file
[Oracle @ IM-8-201 ~] $ Rman target/
Recovery Manager: Release 10.2.0.4.0-Production on Tue Nov 22 22:07:18 2011
Copyright (c) 1982,200 7, 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
-- View/home/oracle/initjscn. ora
The next step is to modify the initialization parameters in pfile. ora in two ways:
A. Modify the parameters containing the file path to meet the actual conditions of the current server environment.
B. Modify parameters related to multiple instances.
C memory parameter (if the memory size of the source server and Directory Server is the same, no need to tune it)
The content of the original file is as follows:
Bytes ---------------------------------------------------------------------------------------------------
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
*. Processses = 1500
*. Remote_listener = 'listeners _ JSCN'
*. Remote_login_passwordfile = 'clusive'
*. 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'
Bytes ---------------------------------------------------------------------------------------------------
After the final modification, the initialization parameters here are as follows, for example, the original file is much simpler:
Bytes ---------------------------------------------------------------------------------------------------
*. 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
*. Processses = 150
*. Remote_login_passwordfile = 'clusive'
*. Sessions = 165
*. Sga_target = 261061273
*. Undo_management = 'auto'
Undo_tablespace = 'undotbs1'
*. User_dump_dest = '/oracle/ora10/admin/jscn/udump'
Bytes ---------------------------------------------------------------------------------------------------
Create a directory
[Oracle @ ora-bak-100-119 ~] $ Mkdir-p/oracle/ora10/admin/jscn/adump
[Oracle @ ora-bak-100-119 ~] $ Mkdir-p/oracle/ora10/admin/jscn/bdump
[Oracle @ ora-bak-100-119 ~] $ Mkdir-p/oracle/ora10/admin/jscn/cdump
[Oracle @ ora-bak-100-119 ~] $ Mkdir-p/oracle/ora10/admin/jscn/udump
[Oracle @ ora-bak-100-119 ~] $ Mkdir-p/oracle/ora10/oradata/jscn/
Now we have recovered.
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)
If you encounter the above errors
-- 1. Create a directory
-- 2. Modify pga_aggregate_target to an appropriate value.
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