Monday, January 18, 2016

CLONING RAC DATABASE

The RAC configuration used for this example:

example_conifig_clone_rac

NOTE*:  Control file and online redo log copies, archived redo log files can be stored in the Flash Recovery Area (FRA) Disk Group.

1. Log onto source RAC database:

[oracle@rac1] export ORACLE_SID=racdb1; . oraenv
[oracle@rac1] sqlplus / as sysdba
SQL> create pfile='/syed/db_home1/dbs/initclone.ora' from spfile;
2. Edit /tmp/initclone.ora and change the appropriate values.
Remove the following entries:

<SOURCE_INSTANCE1>.__db_cache_size=7650410496
<SOURCE_INSTANCE2>.__db_cache_size=7583301632
<SOURCE_INSTANCE1>.__java_pool_size=67108864
<SOURCE_INSTANCE2>.__java_pool_size=67108864
<SOURCE_INSTANCE1>.__large_pool_size=67108864
<SOURCE_INSTANCE2>.__large_pool_size=67108864
<SOURCE_INSTANCE1>.__oracle_base='/app/oracle'
<SOURCE_INSTANCE2>.__oracle_base='/app/oracle'
<SOURCE_INSTANCE1>.__pga_aggregate_target=6643777536
<SOURCE_INSTANCE2>.__pga_aggregate_target=6643777536
<SOURCE_INSTANCE1>.__sga_target=9462349824
<SOURCE_INSTANCE2>.__sga_target=9462349824
<SOURCE_INSTANCE1>.__shared_io_pool_size=0
<SOURCE_INSTANCE2>.__shared_io_pool_size=0
<SOURCE_INSTANCE1>.__shared_pool_size=1409286144
<SOURCE_INSTANCE2>.__shared_pool_size=1476395008
<SOURCE_INSTANCE1>.__streams_pool_size=134217728
<SOURCE_INSTANCE2>.__streams_pool_size=134217728
3. Adjust Memory Target accordingly for your environment

*.memory_target=2G
4. Set spfile parameter:

*.spfile='+DATA/clone/spfileclone.ora'
5. Disable the cluster_database parameter:

*.cluster_database=FALSE
6. Create init parameter under dbs:

[oracle@rac1] export ORACLE_HOME=/syed/db_home1
[oracle@rac1] cd $ORACLE_HOME/dbs
[oracle@rac1] echo "SPFILE='+ +DATA/clone/spfilerclone.ora'" > $ORACLE_HOME/dbs/initclone.ora
7. Edit initclone.ora and add the following convert parameters:

*.log_file_name_convert=('+DATA/racdb','+DATA/clone')
*.db_file_name_convert=('+DATA/racdb','+DATA/clone')
8. Create the directories:

a) From one node only, create the ASM path for clone database:

[oracle@rac1] export ORACLE_SID=+ASM1; . oraenv
[oracle@rac1] asmcmd mkdir +DATA/clone
[oracle@rac1] asmcmd mkdir +DATA/clone/brsadata
b) From one node only, create the OS path for clone admin directories:

[oracle@rac1] mkdir -p /syed/11.2.0/admin/clone/adump
                       
[oracle@rac1 mkdir -p /syed/11.2.0/diag/rdbms/clonedb/clonedb1/cdump
[oracle@rac1] mkdir -p /syed/11.2.0/diag/rdbms/clonedb/clonedb1/trace

c) Repeat step b on node 2 and other nodes in RAC:

[oracle@rac2] mkdir -p /syed/11.2.0/admin/clone/adump
[oracle@rac2 mkdir -p /syed/11.2.0/diag/rdbms/clonedb/clonedb2/cdump
[oracle@rac2] mkdir -p /syed/11.2.0/diag/rdbms/clonedb/clonedb2/trace


9. Create a TNS entry for target auxiliary database and place in the tnsnames.ora. Add these entries on all nodes in cluster:

clone =
 (DESCRIPTION =
 (ADDRESS = (PROTOCOL = TCP)(HOST = rac1-vip)(PORT = 1521))
 (ADDRESS = (PROTOCOL = TCP)(HOST = rac2-vip)(PORT = 1521))
 (CONNECT_DATA =
 (SERVICE_NAME = clone)
 )
 )

LISTENERS_clone =
 (ADDRESS_LIST =
 (ADDRESS = (PROTOCOL = TCP)(HOST = rac1-vip)(PORT = 1521))
 (ADDRESS = (PROTOCOL = TCP)(HOST = rac2-vip)(PORT = 1521))
 )

LISTENER_clone1 =
 (ADDRESS = (PROTOCOL = TCP)(HOST = rac1-vip)(PORT = 1521))

LISTENER_clone2 =
 (ADDRESS = (PROTOCOL = TCP)(HOST = rac2-vip)(PORT = 1521))




10. If no listener.ora exists, create one as follows

# Node 1
 LISTENER_rac1 =
 (DESCRIPTION_LIST =
 (DESCRIPTION =
 (ADDRESS = (PROTOCOL = TCP)(HOST = rac1-vip)(PORT = 1521)(IP = FIRST))
 (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.203)(PORT = 1521)(IP = FIRST))
 )
 )
# Node 2
 LISTENER_rac2 =
 (DESCRIPTION_LIST =
 (DESCRIPTION =
 (ADDRESS = (PROTOCOL = TCP)(HOST = rac2-vip)(PORT = 1521)(IP = FIRST))
 (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.205)(PORT = 1521)(IP = FIRST))
 )
 )

create passwordfile
===============

[oracle@rac1 db_home1]$ cd dbs
[oracle@rac1 dbs]$ ls
hc_clone.dat  hc_racdb1.dat  initclone.ora.bak  initracb1.bak   initracdb1.ora.bak.rac1  @racdb           spfile.268.901152021
hc_DBUA0.dat  initclone.ora  init.ora           initracdb1.ora  orapwracdb1              snapcf_racdb1.f
[oracle@rac1 dbs]$ cp  orapwracdb1 orapwclone

11. Create an SPFILE from the parameter file, and start the auxiliary instance:

[oracle@rac1] export ORACLE_HOME=/syed/db_home1
[oracle@rac1] export ORACLE_SID=clone
SQL> CONNECT / as sysdba
SQL> CREATE SPFILE='+DATA/clone/spfileclone.ora'
FROM PFILE='/syed/db_home1/dbs/initclone.ora';
SQL> STARTUP NOMOUNT;
12. Then run the following RMAN commands to duplicate the database:
[oracle@rac1 dbs]$ rman target sys/india123@racdb nocatalog auxiliary /

Recovery Manager: Release 11.2.0.1.0 - Production on Wed Jan 20 12:39:05 2016

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

connected to target database: RACDB (DBID=898762433)
using target database control file instead of recovery catalog
connected to auxiliary database: CLONE (not mounted)
RMAN> run {
2> allocate auxiliary channel c1 device type disk;
3> allocate channel c2 device type disk;
4> duplicate target database to 'clone';
5> }

allocated channel: c1
channel c1: SID=131 device type=DISK

allocated channel: c2
channel c2: SID=202 instance=racdb2 device type=DISK

Starting Duplicate Db at 20-JAN-16

contents of Memory Script:
{
   sql clone "alter system set  db_name =
 ''RACDB'' comment=
 ''Modified by RMAN duplicate'' scope=spfile";
   sql clone "alter system set  db_unique_name =
 ''CLONE'' comment=
 ''Modified by RMAN duplicate'' scope=spfile";
   shutdown clone immediate;
   startup clone force nomount
   restore clone primary controlfile;
   alter clone database mount;
}
executing Memory Script

sql statement: alter system set  db_name =  ''RACDB'' comment= ''Modified by RMAN duplicate'' scope=spfile

sql statement: alter system set  db_unique_name =  ''CLONE'' comment= ''Modified by RMAN duplicate'' scope=spfile

Oracle instance shut down

Oracle instance started

Total System Global Area    2137886720 bytes

Fixed Size                     2215064 bytes
Variable Size               1224737640 bytes
Database Buffers             905969664 bytes
Redo Buffers                   4964352 bytes
allocated channel: c1
channel c1: SID=195 device type=DISK

Starting restore at 20-JAN-16

channel c1: starting datafile backup set restore
channel c1: restoring control file
channel c1: reading from backup piece +DATA/racdb/autobackup/2016_01_15/s_901233279.279.901233283
channel c1: piece handle=+DATA/racdb/autobackup/2016_01_15/s_901233279.279.901233283 tag=TAG20160115T223439
channel c1: restored backup piece 1
channel c1: restore complete, elapsed time: 00:00:17
output file name=+DATA/clone/control01.ctl
output file name=+DATA/clone/control02.ctl
Finished restore at 20-JAN-16

database mounted
RMAN-05529: WARNING: DB_FILE_NAME_CONVERT resulted in invalid ASM names; names changed to disk group only.

contents of Memory Script:
{
   set until scn  1698937;
   set newname for datafile  1 to
 "+data";
   set newname for datafile  2 to
 "+data";
   set newname for datafile  3 to
 "+data";
   set newname for datafile  4 to
 "+data";
   set newname for datafile  5 to
 "+data";
   restore
   clone database
   ;
}
executing Memory Script

executing command: SET until clause

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

Starting restore at 20-JAN-16

channel c1: starting datafile backup set restore
channel c1: specifying datafile(s) to restore from backup set
channel c1: restoring datafile 00002 to +data
channel c1: restoring datafile 00004 to +data
channel c1: reading from backup piece +DATA/racdb/backupset/2016_01_15/nnndf0_tag20160115t223120_0.274.901233089
channel c1: piece handle=+DATA/racdb/backupset/2016_01_15/nnndf0_tag20160115t223120_0.274.901233089 tag=TAG20160115T223120
channel c1: restored backup piece 1
channel c1: restore complete, elapsed time: 00:01:36
channel c1: starting datafile backup set restore
channel c1: specifying datafile(s) to restore from backup set
channel c1: restoring datafile 00001 to +data
channel c1: restoring datafile 00003 to +data
channel c1: restoring datafile 00005 to +data
channel c1: reading from backup piece +DATA/racdb/backupset/2016_01_15/nnndf0_tag20160115t223120_0.273.901233087
channel c1: piece handle=+DATA/racdb/backupset/2016_01_15/nnndf0_tag20160115t223120_0.273.901233087 tag=TAG20160115T223120
channel c1: restored backup piece 1
channel c1: restore complete, elapsed time: 00:01:45
Finished restore at 20-JAN-16

contents of Memory Script:
{
   switch clone datafile all;
}
executing Memory Script

datafile 1 switched to datafile copy
input datafile copy RECID=6 STAMP=901630349 file name=+DATA/clone/datafile/system.300.901630243
datafile 2 switched to datafile copy
input datafile copy RECID=7 STAMP=901630349 file name=+DATA/clone/datafile/sysaux.298.901630147
datafile 3 switched to datafile copy
input datafile copy RECID=8 STAMP=901630349 file name=+DATA/clone/datafile/undotbs1.301.901630245
datafile 4 switched to datafile copy
input datafile copy RECID=9 STAMP=901630349 file name=+DATA/clone/datafile/undotbs2.299.901630151
datafile 5 switched to datafile copy
input datafile copy RECID=10 STAMP=901630349 file name=+DATA/clone/datafile/users.302.901630247

contents of Memory Script:
{
   set until scn  1698937;
   recover
   clone database
    delete archivelog
   ;
}
executing Memory Script

executing command: SET until clause

Starting recover at 20-JAN-16

starting media recovery

archived log for thread 1 with sequence 82 is already on disk as file +DATA/racdb/archivelog/2016_01_15/thread_1_seq_82.275.901233273
archived log for thread 1 with sequence 83 is already on disk as file +DATA/racdb/archivelog/2016_01_17/thread_1_seq_83.280.901368789
archived log for thread 1 with sequence 84 is already on disk as file +DATA/racdb/archivelog/2016_01_17/thread_1_seq_84.283.901373093
archived log for thread 1 with sequence 85 is already on disk as file +DATA/racdb/archivelog/2016_01_17/thread_1_seq_85.284.901397975
archived log for thread 1 with sequence 86 is already on disk as file +DATA/racdb/archivelog/2016_01_18/thread_1_seq_86.286.901472441
archived log for thread 1 with sequence 87 is already on disk as file +DATA/racdb/archivelog/2016_01_18/thread_1_seq_87.287.901485653
archived log for thread 1 with sequence 88 is already on disk as file +DATA/racdb/archivelog/2016_01_19/thread_1_seq_88.291.901575321
archived log for thread 1 with sequence 89 is already on disk as file +DATA/racdb/archivelog/2016_01_20/thread_1_seq_89.293.901622163
archived log for thread 2 with sequence 12 is already on disk as file +DATA/racdb/archivelog/2016_01_15/thread_2_seq_12.276.901233275
archived log for thread 2 with sequence 13 is already on disk as file +DATA/racdb/archivelog/2016_01_17/thread_2_seq_13.281.901368819
archived log for thread 2 with sequence 14 is already on disk as file +DATA/racdb/archivelog/2016_01_17/thread_2_seq_14.282.901368833
archived log for thread 2 with sequence 15 is already on disk as file +DATA/racdb/archivelog/2016_01_18/thread_2_seq_15.285.901415385
archived log for thread 2 with sequence 16 is already on disk as file +DATA/racdb/archivelog/2016_01_18/thread_2_seq_16.288.901485655
archived log for thread 2 with sequence 17 is already on disk as file +DATA/racdb/archivelog/2016_01_18/thread_2_seq_17.289.901485667
archived log for thread 2 with sequence 18 is already on disk as file +DATA/racdb/archivelog/2016_01_19/thread_2_seq_18.290.901548029
archived log for thread 2 with sequence 19 is already on disk as file +DATA/racdb/archivelog/2016_01_20/thread_2_seq_19.294.901623779
archived log file name=+DATA/racdb/archivelog/2016_01_15/thread_1_seq_82.275.901233273 thread=1 sequence=82
archived log file name=+DATA/racdb/archivelog/2016_01_15/thread_2_seq_12.276.901233275 thread=2 sequence=12
archived log file name=+DATA/racdb/archivelog/2016_01_17/thread_1_seq_83.280.901368789 thread=1 sequence=83
archived log file name=+DATA/racdb/archivelog/2016_01_17/thread_2_seq_13.281.901368819 thread=2 sequence=13
archived log file name=+DATA/racdb/archivelog/2016_01_17/thread_2_seq_14.282.901368833 thread=2 sequence=14
archived log file name=+DATA/racdb/archivelog/2016_01_17/thread_1_seq_84.283.901373093 thread=1 sequence=84
archived log file name=+DATA/racdb/archivelog/2016_01_18/thread_2_seq_15.285.901415385 thread=2 sequence=15
archived log file name=+DATA/racdb/archivelog/2016_01_17/thread_1_seq_85.284.901397975 thread=1 sequence=85
archived log file name=+DATA/racdb/archivelog/2016_01_18/thread_1_seq_86.286.901472441 thread=1 sequence=86
archived log file name=+DATA/racdb/archivelog/2016_01_18/thread_2_seq_16.288.901485655 thread=2 sequence=16
archived log file name=+DATA/racdb/archivelog/2016_01_18/thread_1_seq_87.287.901485653 thread=1 sequence=87
archived log file name=+DATA/racdb/archivelog/2016_01_18/thread_2_seq_17.289.901485667 thread=2 sequence=17
archived log file name=+DATA/racdb/archivelog/2016_01_19/thread_1_seq_88.291.901575321 thread=1 sequence=88
archived log file name=+DATA/racdb/archivelog/2016_01_19/thread_2_seq_18.290.901548029 thread=2 sequence=18
archived log file name=+DATA/racdb/archivelog/2016_01_20/thread_2_seq_19.294.901623779 thread=2 sequence=19
archived log file name=+DATA/racdb/archivelog/2016_01_20/thread_1_seq_89.293.901622163 thread=1 sequence=89
media recovery complete, elapsed time: 00:04:16
Finished recover at 20-JAN-16

contents of Memory Script:
{
   shutdown clone immediate;
   startup clone nomount;
   sql clone "alter system set  db_name =
 ''CLONE'' comment=
 ''Reset to original value by RMAN'' scope=spfile";
   sql clone "alter system reset  db_unique_name scope=spfile";
   shutdown clone immediate;
   startup clone nomount;
}
executing Memory Script

database dismounted
Oracle instance shut down

connected to auxiliary database (not started)
Oracle instance started

Total System Global Area    2137886720 bytes

Fixed Size                     2215064 bytes
Variable Size               1224737640 bytes
Database Buffers             905969664 bytes
Redo Buffers                   4964352 bytes
allocated channel: c1
channel c1: SID=131 device type=DISK

sql statement: alter system set  db_name =  ''CLONE'' comment= ''Reset to original value by RMAN'' scope=spfile

sql statement: alter system reset  db_unique_name scope=spfile

Oracle instance shut down

connected to auxiliary database (not started)
Oracle instance started

Total System Global Area    2137886720 bytes

Fixed Size                     2215064 bytes
Variable Size               1224737640 bytes
Database Buffers             905969664 bytes
Redo Buffers                   4964352 bytes
allocated channel: c1
channel c1: SID=131 device type=DISK
sql statement: CREATE CONTROLFILE REUSE SET DATABASE "CLONE" RESETLOGS ARCHIVELOG
  MAXLOGFILES    192
  MAXLOGMEMBERS      3
  MAXDATAFILES     1024
  MAXINSTANCES    32
  MAXLOGHISTORY      292
 LOGFILE
  GROUP  1 ( '+DATA/clone/redo01.log' ) SIZE 50 M  REUSE,
  GROUP  2 ( '+DATA/clone/redo02.log' ) SIZE 50 M  REUSE
 DATAFILE
  '+DATA/clone/datafile/system.300.901630243'
 CHARACTER SET WE8MSWIN1252

sql statement: ALTER DATABASE ADD LOGFILE

  INSTANCE 'i2'
  GROUP  3 ( '+DATA/clone/redo03.log' ) SIZE 50 M  REUSE,
  GROUP  4 ( '+DATA/clone/redo04.log' ) SIZE 50 M  REUSE

contents of Memory Script:
{
   set newname for tempfile  1 to
 "+data";
   switch clone tempfile all;
   catalog clone datafilecopy  "+DATA/clone/datafile/sysaux.298.901630147",
 "+DATA/clone/datafile/undotbs1.301.901630245",
 "+DATA/clone/datafile/undotbs2.299.901630151",
 "+DATA/clone/datafile/users.302.901630247";
   switch clone datafile all;
}
executing Memory Script

executing command: SET NEWNAME

renamed tempfile 1 to +data in control file

cataloged datafile copy
datafile copy file name=+DATA/clone/datafile/sysaux.298.901630147 RECID=1 STAMP=901630881
cataloged datafile copy
datafile copy file name=+DATA/clone/datafile/undotbs1.301.901630245 RECID=2 STAMP=901630881
cataloged datafile copy
datafile copy file name=+DATA/clone/datafile/undotbs2.299.901630151 RECID=3 STAMP=901630881
cataloged datafile copy
datafile copy file name=+DATA/clone/datafile/users.302.901630247 RECID=4 STAMP=901630881

datafile 2 switched to datafile copy
input datafile copy RECID=1 STAMP=901630881 file name=+DATA/clone/datafile/sysaux.298.901630147
datafile 3 switched to datafile copy
input datafile copy RECID=2 STAMP=901630881 file name=+DATA/clone/datafile/undotbs1.301.901630245
datafile 4 switched to datafile copy
input datafile copy RECID=3 STAMP=901630881 file name=+DATA/clone/datafile/undotbs2.299.901630151
datafile 5 switched to datafile copy
input datafile copy RECID=4 STAMP=901630881 file name=+DATA/clone/datafile/users.302.901630247

contents of Memory Script:
{
   Alter clone database open resetlogs;
}
executing Memory Script

database opened
Finished Duplicate Db at 20-JAN-16
released channel: c2
released channel: c1

RMAN>


SQL> select name, open_mode from v$database;

NAME      OPEN_MODE
--------- --------------------
CLONE     READ WRITE

SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL>
SQL>  select member from v$logfile;

MEMBER
--------------------------------------------------------------------------------
+DATA/clone/redo02.log
+DATA/clone/redo01.log
+DATA/clone/redo03.log
+DATA/clone/redo04.log

SQL> select name from v$tempfile;

NAME
--------------------------------------------------------------------------------
+DATA/clone/tempfile/temp.311.901630915

SQL> select name from v$controlfile;

NAME
--------------------------------------------------------------------------------
+DATA/clone/control01.ctl
+DATA/clone/control02.ctl




14. Add the entry for oratab file (located under /etc or /var/opt/oracle) for target auxiliary db:

a) Add in For node 1 oratab file:

clone1:/syed/db_home1:N          # line added by Agent
b) Add in For node 2 oratab file:

clone2:/syed/db_home1:N          # line added by Agent


15. Enable the cluster parameter in the target auxiliary database from one node only

Recovery Manager complete.
[oracle@rac1 dbs]$ export ORACLE_HOME=/syed/db_home1
[oracle@rac1 dbs]$  export ORACLE_SID=clone
[oracle@rac1 dbs]$  sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Wed Jan 20 13:28:19 2016

Copyright (c) 1982, 2009, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options

SQL> alter system set cluster_database=TRUE scope=spfile;

System altered.

SQL>shutdown immediate;



16. Rename the init file and then copy the init file across to the

[oracle@rac1 dbs]$ . oraenv
ORACLE_SID = [clone] ? clone1
The Oracle base for ORACLE_HOME=/syed/db_home1 is /syed/11.2.0
[oracle@rac1 dbs]$ mv $ORACLE_HOME/dbs/initclone.ora $ORACLE_HOME/dbs/initclone1.ora
[oracle@rac1 dbs]$ scp $ORACLE_HOME/dbs/initclone1.ora rac2:/syed/db_home1/dbs/initclone      2.ora
initclone1.ora                                        100%   37     0.0KB/s   00:00
[oracle@rac1 dbs]$


=====================================================================


17. Add the second thread of online redo logs and enable that thread;

SQL> startup


18. Start up the second instance:

SQL> ALTER DATABASE ADD LOGFILE THREAD 2 GROUP 5 '+DATA' SIZE 250M reuse;
SQL> ALTER DATABASE ADD LOGFILE MEMBER '+DG_REDO' TO GROUP 5 ;
SQL> ALTER DATABASE ADD LOGFILE THREAD 2 GROUP 6  '+DG_REDO' SIZE 250M reuse;
SQL> ALTER DATABASE ADD LOGFILE MEMBER '+DATA' TO GROUP 6;
SQL> ALTER DATABASE ADD LOGFILE THREAD 2 GROUP 7 '+DG_REDO' SIZE 250M reuse;
SQL> ALTER DATABASE ADD LOGFILE MEMBER '+DATA' TO GROUP 7;
SQL> ALTER DATABASE ADD LOGFILE THREAD 2 GROUP 8 '+DG_REDO' SIZE 250M reuse;
SQL> ALTER DATABASE ADD LOGFILE MEMBER '+DATA' TO GROUP 8;
SQL> ALTER DATABASE ENABLE PUBLIC THREAD 2;


19. Stop all instances on each node for the target auxiliary database

a) From node 1 perform the following:

[oracle@rac1] export ORACLE_SID=clone1; . oraenv
[oracle@rac1] sqlplus / as sysdba
SQL> shutdown immediate;

b) Then perform for other instances in the cluster:

[oracle@rac2 ~]$ . oraenv
ORACLE_SID = [oracle] ? clone2
The Oracle base for ORACLE_HOME=/syed/db_home1 is /syed/11.2.0
[oracle@rac2 ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Wed Jan 20 14:08:21 2016

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup;
ORACLE instance started.

Total System Global Area 2137886720 bytes
Fixed Size                  2215064 bytes
Variable Size            1275069288 bytes
Database Buffers          855638016 bytes
Redo Buffers                4964352 bytes
Database mounted.
Database opened.
SQL> alter system set cluster_database=TRUE scope=spfile;

System altered.


SQL> shutdown immediate;



20. To add into the cluster, add the new database to srvctl:

[oracle@rac1] srvctl add database -d clone -o /syed/db_home1
[oracle@rac1] srvctl modify database -d clone -p '+DATA/clone/spfileclone.ora' -s open
[oracle@rac1] srvctl add instance -d clone -i clone1 -n rac1
[oracle@rac1] srvctl add instance -d clone -i clone2 -n rac2



20. Start the RAC database

[oracle@rac1] srvctl start database -d clone


[oracle@rac1 dbs]$ srvctl add instance -d clone -i clone2 -n rac2
[oracle@rac1 dbs]$ srvctl start database -d clone
[oracle@rac1 dbs]$ srvctl status  database -d clone
Instance clone1 is running on node rac1
Instance clone2 is running on node rac2


21. Now verify that the RAC database has now registered with the cluster.

For pre-11.2 run:

[grid@rac1 ~]$ crsctl stat res -t
--------------------------------------------------------------------------------
NAME           TARGET  STATE        SERVER                   STATE_DETAILS
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.CRS.dg
               ONLINE  ONLINE       rac1
               ONLINE  ONLINE       rac2
ora.DATA.dg
               ONLINE  ONLINE       rac1
               ONLINE  ONLINE       rac2
ora.LISTENER.lsnr
               ONLINE  ONLINE       rac1
               ONLINE  ONLINE       rac2
ora.asm
               ONLINE  ONLINE       rac1                     Started
               ONLINE  ONLINE       rac2                     Started
ora.eons
               ONLINE  ONLINE       rac1
               ONLINE  ONLINE       rac2
ora.gsd
               OFFLINE OFFLINE      rac1
               OFFLINE OFFLINE      rac2
ora.net1.network
               ONLINE  ONLINE       rac1
               ONLINE  ONLINE       rac2
ora.ons
               ONLINE  ONLINE       rac1
               ONLINE  ONLINE       rac2
ora.registry.acfs
               ONLINE  ONLINE       rac1
               ONLINE  ONLINE       rac2
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       rac2
ora.LISTENER_SCAN2.lsnr
      1        ONLINE  ONLINE       rac1
ora.LISTENER_SCAN3.lsnr
      1        ONLINE  ONLINE       rac1
ora.clone.db
      1        ONLINE  ONLINE       rac1                     Open
      2        ONLINE  ONLINE       rac2                     Open
ora.oc4j
      1        OFFLINE OFFLINE
ora.rac1.vip
      1        ONLINE  ONLINE       rac1
ora.rac2.vip
      1        ONLINE  ONLINE       rac2
ora.racdb.db
      1        OFFLINE OFFLINE
      2        ONLINE  ONLINE       rac2                     Open
ora.scan1.vip
      1        ONLINE  ONLINE       rac2
ora.scan2.vip
      1        ONLINE  ONLINE       rac1
ora.scan3.vip
      1        ONLINE  ONLINE       rac1


crs_stat –t
Or for 11.2 run:

crsctl stat res -t

No comments:

Post a Comment