[Tutorial] Standby Database - parte I

DBA Geral (instalação, configuração do banco, scripts do Sql*Plus, shell scripts, batch scripts, etc...)
Responder
pauloaleo
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 181
Registrado em: Qua, 09 Fev 2005 12:30 pm
Localização: SÃO BERNARDO DO CAMPO - SP

DATAGUARD

A tecnologia de alta disponibilidade e proteção de dados da Oracle é bastante divulgada pelo próprio site e por seus manuais. Então, para escrever esse "howto", tive a intenção de fazer um guia rápido e mostrar a facilidade do processo quando usamos o RMAN. Considere também que a instalação foi feita em uma única máquina.

Resumo do que farei a seguir:
- Criar uma instância do zero.
- Modificar os parâmetros para que seja aceito o data guard (archivelog e alguns parâmetros do spfile).
- Backup do banco usando o RMAN, já exportando controlfile para standby.
- Criação do standby database.
- Configurar o Data Guard para Realtime Apply.
- Criar a configuração para o Broker gerenciar o Data Guard.
- Teste de Switch over.

Criar uma instância do zero ou configurar uma já existente para o standby depende do seu cenário para o teste. No meu caso, eu usei o dbca e criei uma instância do zero. O nome é db1n, que será meu nó primário.

Selecionar tudo

[oracle@paleo scripts]$ export ORACLE_SID=db1n
[oracle@paleo scripts]$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.3.0 - Production on Sun Jun 3 23:20:17 2007

Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.

Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production
With the Partitioning, OLAP and Data Mining options

sys:DB1N> !ls -l /backup/b1n
total 8
drwxr-xr-x  2 oracle dba 4096 Jun  3 23:21 arch
drwxr-xr-x  2 oracle dba 4096 Jun  3 23:11 db1n

sys:DB1N> alter system set log_archive_dest_1='LOCATION=/backup/b1n/arch';

System altered.

sys:DB1N> alter system set log_archive_format='%t_%s_%r.dbf' scope=spfile;

System altered.

sys:DB1N> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
sys:DB1N> startup mount
ORACLE instance started.

Total System Global Area     608174080 bytes
Fixed Size                     1263200 bytes
Variable Size                180357536 bytes
Database Buffers             419430400 bytes
Redo Buffers                   7122944 bytes
Database mounted.
sys:DB1N> alter database archivelog;

Database altered.

sys:DB1N> archive log list
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            /backup/b1n/arch
Oldest online log sequence     1
Next log sequence to archive   2
Current log sequence           2
sys:DB1N> !ls -l /backup/b1n/arch
total 0

sys:DB1N> alter database open;

Database altered.

sys:DB1N> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
sys:DB1N> startup nomount
ORACLE instance started.

Total System Global Area     608174080 bytes
Fixed Size                     1263200 bytes
Variable Size                184551840 bytes
Database Buffers             415236096 bytes
Redo Buffers                   7122944 bytes
sys:DB1N>
sys:DB1N> alter system set db_unique_name = 'b1n' scope=spfile;

System altered.

sys:DB1N> alter database mount;

Database altered.

sys:DB1N> alter database force logging;

Database altered.

sys:DB1N> alter system set log_archive_config='DG_CONFIG=(b1n, b2n)';

System altered.

sys:DB1N> alter system set standby_file_management=auto;

System altered.

sys:DB1N> alter system set fal_client=b1n;

System altered.

sys:DB1N> alter system set standby_archive_dest='/backup/b1n/arch';

System altered.

sys:DB1N> alter system set fal_client=b1n;

System altered.

sys:DB1N> alter system set fal_server=b2n;

System altered.

sys:DB1N> alter database open;

Database altered.

sys:DB1N> show parameter name

NAME                                 TYPE        VALUE
------------------------------------ ----------- --------------------------------------------------
db_file_name_convert                 string
db_name                              string      DB1N
db_unique_name                       string      b1n
global_names                         boolean     FALSE
instance_name                        string      db1n
lock_name_space                      string
log_file_name_convert                string
service_names                        string      b1n
sys:DB1N>
Acima foram feitas as configurações básicas para a montagem do standby. O banco foi colocado em archivelog, forçado o log, definido nome único (db_unique_name=b1n) e populados parâmetros do Dataguard, para melhor entendimento desses parâmetros, por favor consulte o manual.

A base está pronta para o backup, donde será criado o standby. O RMAN vai conectar-se a base target (db1n) e gerar o backup, note no script usado que o controlfile já será exportado para standby.

Selecionar tudo

[oracle@paleo scripts]$ echo $ORACLE_SID
db1n
[oracle@paleo scripts]$ rman target /

Recovery Manager: Release 10.2.0.3.0 - Production on Sun Jun 3 23:48:56 2007

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

connected to target database: DB1N (DBID=1215438780)

RMAN> list backup;

using target database control file instead of recovery catalog

RMAN> run {
2>   allocate channel d1 type disk;
3>   backup format '/backup/b1n/df_t%t_s%s_p%p' database
4>   include current controlfile for standby;
5>   sql 'alter system archive log current';
6>   backup format '/backup/b1n/al_t%t_s%s_p%p' archivelog all;
7>   release channel d1;
8> }

allocated channel: d1
channel d1: sid=144 devtype=DISK

Starting backup at 03-JUN-07
channel d1: starting full datafile backupset
channel d1: specifying datafile(s) in backupset
input datafile fno=00001 name=/backup/b1n/db1n/system01.dbf
input datafile fno=00003 name=/backup/b1n/db1n/sysaux01.dbf
input datafile fno=00002 name=/backup/b1n/db1n/undotbs01.dbf
input datafile fno=00004 name=/backup/b1n/db1n/users01.dbf
channel d1: starting piece 1 at 03-JUN-07
channel d1: finished piece 1 at 03-JUN-07
piece handle=/backup/b1n/df_t624325825_s1_p1 tag=TAG20070603T235025 comment=NONE
channel d1: backup set complete, elapsed time: 00:00:25
channel d1: starting full datafile backupset
channel d1: specifying datafile(s) in backupset
including standby control file in backupset
including current SPFILE in backupset
channel d1: starting piece 1 at 03-JUN-07
channel d1: finished piece 1 at 03-JUN-07
piece handle=/backup/b1n/df_t624325850_s2_p1 tag=TAG20070603T235025 comment=NONE
channel d1: backup set complete, elapsed time: 00:00:03
Finished backup at 03-JUN-07

sql statement: alter system archive log current

Starting backup at 03-JUN-07
current log archived
channel d1: starting archive log backupset
channel d1: specifying archive log(s) in backup set
input archive log thread=1 sequence=2 recid=1 stamp=624325853
input archive log thread=1 sequence=3 recid=2 stamp=624325853
channel d1: starting piece 1 at 03-JUN-07
channel d1: finished piece 1 at 03-JUN-07
piece handle=/backup/b1n/al_t624325854_s3_p1 tag=TAG20070603T235053 comment=NONE
channel d1: backup set complete, elapsed time: 00:00:02
Finished backup at 03-JUN-07

released channel: d1

RMAN>
Hora de configurar a instância nova. Para que possamos restaurar o backup do rman na nova instância ela necessita estar iniciada em nomount. Para isso, vamos duplicar as áreas de diretórios (lembre-se que estou fazendo isso em uma mesma máquina, caso seu cenário seja em dois servidores, que é o correto, não há necessidade desta duplicação, basta criar a área da nova instância e criar o standby).

Selecionar tudo

[oracle@paleo scripts]$ pwd
/oracle/admin/db1n/scripts
[oracle@paleo scripts]$ cd ..
[oracle@paleo db1n]$ cd ..
[oracle@paleo admin]$ ll -tr
total 16
drwxr-x---  6 oracle dba 4096 Feb 15 14:22 +ASM
drwxr-x---  8 oracle dba 4096 Feb 15 14:28 lx10g
drwxr-xr-x  7 ora92  dba 4096 Mar 27 16:48 lx92
drwxr-x---  9 oracle dba 4096 Jun  3 23:06 db1n

[oracle@paleo admin]$ mkdir -p db2n/scripts
[oracle@paleo admin]$ cd db2n/scripts/
[oracle@paleo scripts]$ cat ../../db1n/scripts/db1n.sh | sed '1,$s/db1n/db2n/' > db2n.sh
[oracle@paleo scripts]$ cat db2n.sh
#!/bin/sh

mkdir -p /backup/b1n/db2n
mkdir -p /oracle/10g/cfgtoollogs/dbca/db2n
mkdir -p /oracle/10g/dbs
mkdir -p /oracle/admin/db2n/adump
mkdir -p /oracle/admin/db2n/bdump
mkdir -p /oracle/admin/db2n/cdump
mkdir -p /oracle/admin/db2n/dpdump
mkdir -p /oracle/admin/db2n/pfile
mkdir -p /oracle/admin/db2n/udump
ORACLE_SID=db2n; export ORACLE_SID
echo You should Add this entry in the /etc/oratab: db2n:/oracle/10g:Y
/oracle/10g/bin/sqlplus /nolog @/oracle/admin/db2n/scripts/db1n.sql
[oracle@paleo scripts]$ ll -tr
total 4
-rw-r--r--  1 oracle dba 482 Jun  3 23:57 db2n.sh
[oracle@paleo scripts]$ sh ./db2n.sh
You should Add this entry in the /etc/oratab: db2n:/oracle/10g:Y

SQL*Plus: Release 10.2.0.3.0 - Production on Sun Jun 3 23:58:13 2007

Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.

SP2-0310: unable to open file "/oracle/admin/db2n/scripts/db1n.sql"
idle> exit
[oracle@paleo scripts]$ ps -ef | grep pmon_
oracle   28293     1  0 23:30 ?        00:00:00 ora_pmon_db1n
oracle   28418 27728  0 23:58 pts/2    00:00:00 grep pmon_
[oracle@paleo scripts]$ cat ../../db1n/scripts/init.ora | sed '1,$s/db1n/db2n/' | egrep -v '^#' > init.ora
[oracle@paleo scripts]$ vi init.ora
[oracle@paleo scripts]$ cat init.ora
db_block_size=8192
db_file_multiblock_read_count=16
open_cursors=300
db_domain=""
db_name=db1n
db_unique_name=b2n

background_dump_dest=/oracle/admin/db2n/bdump
core_dump_dest=/oracle/admin/db2n/cdump
user_dump_dest=/oracle/admin/db2n/udump
job_queue_processes=10
compatible=10.2.0.3.0
processes=150
sga_target=605028352
audit_file_dest=/oracle/admin/db2n/adump
remote_login_passwordfile=EXCLUSIVE
dispatchers="(PROTOCOL=TCP) (SERVICE=db2nXDB)"
pga_aggregate_target=201326592
undo_management=AUTO
undo_tablespace=UNDOTBS1

db_file_name_convert =('/backup/b1n/db1n', '/backup/b2n/db2n')
log_file_name_convert =('/backup/b1n/db1n', '/backup/b2n/db2n')

[oracle@paleo scripts]$ ll -tr
total 8
-rw-r--r--  1 oracle dba 482 Jun  3 23:57 db2n.sh
-rw-r--r--  1 oracle dba 646 Jun  4 00:04 init.ora
[oracle@paleo scripts]$ ll /backup
total 44484
-rw-r--r--  1 paleo dba 45465757 May 19 16:51 paleo.dmp.18may07.gz
drwx-w----  2 oracle dba    16384 Feb 15 15:27 lost+found
drwxr-xr-x  3 oracle dba     4096 May 24 00:38 lx10g
drwxr-xr-x  3 ora92  dba     4096 May 21 00:39 lx92
drwxr-xr-x  5 oracle dba     4096 Jun  3 23:58 b1n
drwxr-xr-x  3 oracle dba     4096 May 24 00:27 tmp
[oracle@paleo scripts]$
[oracle@paleo scripts]$ mkdir /backup/b2n
[oracle@paleo scripts]$ mkdir /backup/b2n/db2n
[oracle@paleo scripts]$ ll /backup
total 44488
-rw-r--r--  1 paleo dba 45465757 May 19 16:51 paleo.dmp.18may07.gz
drwx-w----  2 oracle dba    16384 Feb 15 15:27 lost+found
drwxr-xr-x  3 oracle dba     4096 May 24 00:38 lx10g
drwxr-xr-x  3 ora92  dba     4096 May 21 00:39 lx92
drwxr-xr-x  5 oracle dba     4096 Jun  3 23:58 b1n
drwxr-xr-x  2 oracle dba     4096 Jun  4 00:04 b2n
drwxr-xr-x  3 oracle dba     4096 May 24 00:27 tmp
[oracle@paleo scripts]$ ll /oracle/10g/dbs
total 6992
-rw-rw----  1 oracle dba    1583 May 31 20:27 ab_+ASM.dat
-rw-rw----  1 oracle dba    1544 Apr 16 10:14 hc_+ASM.dat
-rw-rw----  1 oracle dba    1544 Apr 16 10:15 hc_lx10g.dat
-rw-rw----  1 oracle dba    1544 Jun  3 23:08 hc_db1n.dat
-rw-rw-r--  1 oracle dba   12920 May  3  2001 initdw.ora
-rw-r-----  1 oracle dba      37 Feb 15 14:30 initlx10g.ora
-rw-r-----  1 oracle dba    8385 Sep 11  1998 init.ora
-rw-rw----  1 oracle dba      24 Feb 15 14:22 lk+ASM
-rw-rw----  1 oracle dba      24 Feb 15 14:28 lkLX10G
-rw-rw----  1 oracle dba      24 Jun  3 23:29 lkB1N
-rw-rw----  1 oracle dba      24 Jun  3 23:08 lkDB1N
-rw-r-----  1 oracle dba    1536 Feb 15 14:22 orapw+ASM
-rw-r-----  1 oracle dba    1536 May 24 00:38 orapwlx10g
-rw-r-----  1 oracle dba    1536 Jun  3 23:11 orapwdb1n
-rw-r-----  1 oracle dba 7061504 Jun  3 23:50 snapcf_db1n.f
-rw-r-----  1 oracle dba    1536 Feb 15 14:23 spfile+ASM.ora
-rw-r-----  1 oracle dba    3584 Jun  3 23:30 spfiledb1n.ora
[oracle@paleo scripts]$ orapwd file=/oracle/10g/dbs/orapwdb2n password=oracle
[oracle@paleo scripts]$
[oracle@paleo scripts]$ cd /oracle/10g/network/admin
[oracle@paleo admin]$ ll -tr
total 24
-rw-r--r--  1 oracle dba  172 Dec 26  2003 shrept.lst
drwxr-x---  2 oracle dba 4096 Feb 15 14:08 samples
-rw-r--r--  1 oracle dba 1126 May 23 00:29 tnsnames.ora
-rw-r--r--  1 oracle dba 4605 May 23 01:06 sqlnet.log
-rw-r--r--  1 oracle dba  722 May 23 01:10 listener.ora
[oracle@paleo admin]$ vi tnsnames.ora
[oracle@paleo admin]$ cat tnsnames.ora
# tnsnames.ora Network Configuration File: /oracle/10g/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.

LX10G =
(DESCRIPTION =
  (ADDRESS = (PROTOCOL = TCP)(HOST = paleo.mportes.local)(PORT = 1521))
  (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = lx10g)
  )
)

LX92 =
(DESCRIPTION =
  (ADDRESS = (PROTOCOL = TCP)(HOST = paleo.mportes.local)(PORT = 1621))
  (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = lx92)
  )
)

b1n =
(DESCRIPTION =
  (ADDRESS = (PROTOCOL = TCP)(HOST = paleo.mportes.local)(PORT = 1521))
  (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SID = db1n)
  )
)

b2n =
(DESCRIPTION =
  (ADDRESS = (PROTOCOL = TCP)(HOST = paleo.mportes.local)(PORT = 1521))
  (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SID = db2n)
  )
)


EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
  (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
  )
  (CONNECT_DATA =
    (SID = PLSExtProc)
    (PRESENTATION = RO)
  )
)


[oracle@paleo admin]$ vi listener.ora
[oracle@paleo admin]$ cat listener.ora
# listener.ora Network Configuration File: /oracle/10g/network/admin/listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
(SID_LIST =
  (SID_DESC =
    (SID_NAME = PLSExtProc)
    (ORACLE_HOME = /oracle/10g)
    (PROGRAM = extproc)
  )
  (SID_DESC =
    (GLOBAL_DBNAME = lx10g)
    (ORACLE_HOME = /oracle/10g)
    (SID_NAME = lx10g)
  )
  (SID_DESC =
    (GLOBAL_DBNAME = b1n_DGMGRL)
    (ORACLE_HOME = /oracle/10g)
    (SID_NAME = db1n)
  )
  (SID_DESC =
    (GLOBAL_DBNAME = b2n_DGMGRL)
    (ORACLE_HOME = /oracle/10g)
    (SID_NAME = db2n)
  )
)

LISTENER =
(DESCRIPTION =
  (ADDRESS = (PROTOCOL = TCP)(HOST = paleo.mportes.local)(PORT = 1521))
)

[oracle@paleo admin]$
[oracle@paleo admin]$ cd -
/oracle/admin/db2n/scripts
[oracle@paleo scripts]$
[oracle@paleo scripts]$ pwd
/oracle/admin/db2n/scripts
[oracle@paleo scripts]$ ll -tr
total 8
-rw-r--r--  1 oracle dba 482 Jun  3 23:57 db2n.sh
-rw-r--r--  1 oracle dba 646 Jun  4 00:04 init.ora
[oracle@paleo scripts]$ echo $ORACLE_SID
db1n
[oracle@paleo scripts]$ export ORACLE_SID=db2n
[oracle@paleo scripts]$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.3.0 - Production on Mon Jun 4 00:08:31 2007

Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.

Connected to an idle instance.

idle> startup nomount pfile=./init.ora
ORACLE instance started.

Total System Global Area     608174080 bytes
Fixed Size                     1263200 bytes
Variable Size                167774624 bytes
Database Buffers             432013312 bytes
Redo Buffers                   7122944 bytes
idle> exit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production
With the Partitioning, OLAP and Data Mining options
[oracle@paleo scripts]$ ps -ef | grep pmon_
oracle   28293     1  0 Jun03 ?        00:00:00 ora_pmon_db1n
oracle   28515     1  0 00:08 ?        00:00:00 ora_pmon_db2n
oracle   28544 27728  0 00:08 pts/2    00:00:00 grep pmon_
[oracle@paleo scripts]$ tnsping b1n

TNS Ping Utility for Linux: Version 10.2.0.3.0 - Production on 04-JUN-2007 00:09:15

Copyright (c) 1997, 2006, Oracle.  All rights reserved.

Used parameter files:


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = paleo.mportes.local)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SID = db1n)))
TNS-12541: TNS:no listener
[oracle@paleo scripts]$ lsnrctl start

LSNRCTL for Linux: Version 10.2.0.3.0 - Production on 04-JUN-2007 00:09:22

Copyright (c) 1991, 2006, Oracle.  All rights reserved.

Starting /oracle/10g/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 10.2.0.3.0 - Production
System parameter file is /oracle/10g/network/admin/listener.ora
Log messages written to /oracle/10g/network/log/listener.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=paleo.mportes.local)(PORT=1521)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=paleo.mportes.local)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 10.2.0.3.0 - Production
Start Date                04-JUN-2007 00:09:22
Uptime                    0 days 0 hr. 0 min. 0 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /oracle/10g/network/admin/listener.ora
Listener Log File         /oracle/10g/network/log/listener.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=paleo.mportes.local)(PORT=1521)))
Services Summary...
Service "PLSExtProc" has 1 instance(s).
Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "lx10g" has 1 instance(s).
Instance "lx10g", status UNKNOWN, has 1 handler(s) for this service...
Service "b1n_DGMGRL" has 1 instance(s).
Instance "db1n", status UNKNOWN, has 1 handler(s) for this service...
Service "b2n_DGMGRL" has 1 instance(s).
Instance "db2n", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
[oracle@paleo scripts]$ tnsping b1n

TNS Ping Utility for Linux: Version 10.2.0.3.0 - Production on 04-JUN-2007 00:09:28

Copyright (c) 1997, 2006, Oracle.  All rights reserved.

Used parameter files:


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = paleo.mportes.local)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SID = db1n)))
OK (0 msec)

[oracle@paleo scripts]$ rman target sys/oracle@b1n auxiliary /

Recovery Manager: Release 10.2.0.3.0 - Production on Mon Jun 4 00:12:38 2007

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

connected to target database: DB1N (DBID=1215438780)
connected to auxiliary database: DB1N (not mounted)

RMAN> run {
2>     allocate auxiliary channel C1 device type disk;
3>     duplicate target database for standby;
4> }

using target database control file instead of recovery catalog
allocated channel: C1
channel C1: sid=156 devtype=DISK

Starting Duplicate Db at 04-JUN-07

contents of Memory Script:
{
 restore clone standby controlfile;
 sql clone 'alter database mount standby database';
}
executing Memory Script

Starting restore at 04-JUN-07

channel C1: starting datafile backupset restore
channel C1: restoring control file
channel C1: reading from backup piece /backup/b1n/df_t624325850_s2_p1
channel C1: restored backup piece 1
piece handle=/backup/b1n/df_t624325850_s2_p1 tag=TAG20070603T235025
channel C1: restore complete, elapsed time: 00:00:03
output filename=/oracle/10g/dbs/cntrldb2n.dbf
Finished restore at 04-JUN-07

sql statement: alter database mount standby database

contents of Memory Script:
{
 set newname for tempfile  1 to
"/backup/b2n/db2n/temp01.dbf";
 switch clone tempfile all;
 set newname for datafile  1 to
"/backup/b2n/db2n/system01.dbf";
 set newname for datafile  2 to
"/backup/b2n/db2n/undotbs01.dbf";
 set newname for datafile  3 to
"/backup/b2n/db2n/sysaux01.dbf";
 set newname for datafile  4 to
"/backup/b2n/db2n/users01.dbf";
 restore
 check readonly
 clone database
 ;
}
executing Memory Script

executing command: SET NEWNAME

renamed temporary file 1 to /backup/b2n/db2n/temp01.dbf in control file

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

Starting restore at 04-JUN-07

channel C1: starting datafile backupset restore
channel C1: specifying datafile(s) to restore from backup set
restoring datafile 00001 to /backup/b2n/db2n/system01.dbf
restoring datafile 00002 to /backup/b2n/db2n/undotbs01.dbf
restoring datafile 00003 to /backup/b2n/db2n/sysaux01.dbf
restoring datafile 00004 to /backup/b2n/db2n/users01.dbf
channel C1: reading from backup piece /backup/b1n/df_t624325825_s1_p1
channel C1: restored backup piece 1
piece handle=/backup/b1n/df_t624325825_s1_p1 tag=TAG20070603T235025
channel C1: restore complete, elapsed time: 00:00:35
Finished restore at 04-JUN-07

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

datafile 1 switched to datafile copy
input datafile copy recid=5 stamp=624327223 filename=/backup/b2n/db2n/system01.dbf
datafile 2 switched to datafile copy
input datafile copy recid=6 stamp=624327223 filename=/backup/b2n/db2n/undotbs01.dbf
datafile 3 switched to datafile copy
input datafile copy recid=7 stamp=624327223 filename=/backup/b2n/db2n/sysaux01.dbf
datafile 4 switched to datafile copy
input datafile copy recid=8 stamp=624327223 filename=/backup/b2n/db2n/users01.dbf
Finished Duplicate Db at 04-JUN-07
released channel: C1

RMAN> exit


Recovery Manager complete.
[oracle@paleo scripts]$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.3.0 - Production on Mon Jun 4 00:13:59 2007

Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.


Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production
With the Partitioning, OLAP and Data Mining options

idle> select NAME, OPEN_MODE, PROTECTION_MODE, database_role from v$database;

NAME      OPEN_MODE  PROTECTION_MODE      DATABASE_ROLE
--------- ---------- -------------------- ----------------
DB1N      MOUNTED    MAXIMUM PERFORMANCE  PHYSICAL STANDBY

1 row selected.

idle>
Standby database configurado! Vamos recapitular o que fizemos até aqui: um backup da instância primária com o rman, criamos uma estrutura de diretórios nova para a instância auxiliar (physical standby) e copiamos o init.ora com algumas alterações para que pudesse subir como standby, criamos um arquivo de senha e configuramos a rede (listener e tnsnames) além de subir o listener. Com a comunicação estabelecida, pudemos conectar ao target, que é nó primário, e no auxiliar instância que está apenas iniciada em NOMOUNT; então, pedimos para restaurar o backup do primário, porém ao invés de clonar, pedimos para ao RMAN que criasse o standby e como visto acimo no select, está perfeitamente configurado e esperando para receber os archives.


CONTINUA:
Standby Database - parte II
Dulima-SP
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 193
Registrado em: Qui, 24 Jan 2008 1:56 pm
Localização: SP
Dulima

DBA Oracle Jr

Show de Bola...
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante