2.Step-by-Step Instructions for Creating a Physical Standby Database
准备工作:创建转储目录
[oracle@ocm2 dbs]$ mkdir -p /u01/app/oracle/admin/PRODSTD/adump[oracle@ocm2 dbs]$ mkdir -p /u01/app/oracle/admin/PRODSTD/bdump[oracle@ocm2 dbs]$ mkdir -p /u01/app/oracle/admin/PRODSTD/cdump[oracle@ocm2 dbs]$ mkdir -p /u01/app/oracle/admin/PRODSTD/udump Table 3-2 Creating a Physical Standby Database
ReferenceTaskDatabaseSection 3.2.1
Create a Backup Copy of the Primary DatabaseDatafiles
Primary
Section 3.2.2
Create a Control File for the Standby Database
Primary
Section 3.2.3
Prepare an Initialization Parameter Filefor the Standby Database
Primary
Section 3.2.4
Copy Files from the Primary System to theStandby System
Primary
Section 3.2.5
Set Up the Environment to Support the StandbyDatabase
Standby
Section 3.2.6
Start the Physical Standby Database
Standby
Section 3.2.7
Verify the Physical Standby Database IsPerforming Properly
Standby
2.1.Create a Backup Copy of the Primary Database Datafiles
冷备份主库
SYS@PROD>![oracle@ocm1 ~]$ cd /u01/app/oracle/oradata/[oracle@ocm1 oradata]$ lltotal 4drwxr-xr-x 7 oracle oinstall 4096 Mar 19 13:16 PROD[oracle@ocm1 oradata]$ tar -czvf PROD.tar.gz PRODPROD/PROD/Disk1/PROD/Disk1/temp01.dbfPROD/Disk1/standby07.logPROD/Disk1/standby11.logPROD/Disk1/redo03.logPROD/Disk1/standby10.logPROD/Disk1/standby09.logPROD/Disk1/system01.dbfPROD/Disk1/redo01.logPROD/Disk1/standby08.logPROD/Disk1/standby06.logPROD/Disk1/control01.ctlPROD/Disk1/users01.dbfPROD/Disk1/sysaux01.dbfPROD/Disk1/example01.dbfPROD/Disk1/redo02.logPROD/Disk1/redo05.logPROD/Disk1/redo04.logPROD/Disk1/undotbs01.dbfPROD/Disk2/PROD/Disk2/standby07_1.logPROD/Disk2/standby06_1.logPROD/Disk2/redo03_1.logPROD/Disk2/standby09_1.logPROD/Disk2/standby08_1.logPROD/Disk2/control02.ctlPROD/Disk2/redo05_1.logPROD/Disk2/redo02_1.logPROD/Disk2/redo01_1.logPROD/Disk2/redo04_1.logPROD/Disk2/standby10_1.logPROD/Disk2/standby11_1.logPROD/Disk2/arch/PROD/Disk2/arch/arc_05p3jeqe_1_1.bakPROD/Disk3/PROD/Disk3/control03.ctlPROD/Disk4/PROD/Disk5/PROD/Disk5/bak/PROD/Disk5/bak/PROD_04p3jeq8_1_1.bakPROD/Disk5/bak/PROD_03p3jemu_1_1.bak[oracle@ocm1 oradata]$ exitexit
2.2.Create a Control File for the Standby Database
成备库的控制文件
SYS@PROD>startup mountORACLE instance started.
Total System Global Area 524288000 bytesFixed Size 1220360 bytesVariable Size 171966712 bytesDatabase Buffers 348127232 bytesRedo Buffers 2973696 bytesDatabase mounted.SYS@PROD>SYS@PROD>ALTER DATABASE CREATE STANDBY CONTROLFILE AS '/home/oracle/control01.ctl';
Database altered.
SYS@PROD> ALTER DATABASE OPEN;
Database altered.
2.3.Prepare an Initialization Parameter File for the Standby Database
准备备库的参数文件initPRODSTD.ora
①在主库中将主库的pfile文件传输到备库中[oracle@ocm1 ~]$ cd /u01/app/oracle/product/10.2.0/db_1/dbs[oracle@ocm1 dbs]$ lltotal 6744-rw-rw---- 1 oracle oinstall 1544 Mar 25 09:59 hc_PROD.dat-rw-r----- 1 oracle oinstall 12920 May 3 2001 initdw.ora-rw-r----- 1 oracle oinstall 8385 Sep 11 1998 init.ora-rw-r--r-- 1 oracle oinstall 1827 Mar 25 09:39 initPROD.ora-rw-rw---- 1 oracle oinstall 24 Mar 18 10:18 lkPROD-rw-r----- 1 oracle oinstall 5120 Mar 18 09:54 orapwPROD-rw-r--r-- 1 oracle oinstall 318 Mar 17 20:37 pfile.ora-rw-r----- 1 oracle oinstall 6832128 Mar 19 19:51 snapcf_PROD.f-rw-r----- 1 oracle oinstall 4608 Mar 25 09:57 spfilePROD.ora[oracle@ocm1 dbs]$ scp initPROD.ora ocm2.localdomain:/u01/app/oracle/product/10.2.0/db_1/dbsThe authenticity of host 'ocm2.localdomain (192.168.1.156)' can't be established.RSA key fingerprint is de:2a:4c:d0:b2:20:88:4c:a2:72:24:11:50:4b:d6:74.Are you sure you want to continue connecting (yes/no)? yesWarning: Permanently added 'ocm2.localdomain,192.168.1.156' (RSA) to the list of known hosts.oracle@ocm2.localdomain's password: initPROD.ora 100% 1827 1.8KB/s 00:00 [oracle@ocm1 dbs]$
②,在备库中修改pfile
[oracle@ocm2 ~]$ cd /u01/app/oracle/product/10.2.0/db_1/dbs[oracle@ocm2 dbs]$ lltotal 48-rw-rw---- 1 oracle oinstall 1544 Mar 24 14:10 hc_EMREP.dat-rw-r----- 1 oracle oinstall 12920 May 3 2001 initdw.ora-rw-r----- 1 oracle oinstall 8385 Sep 11 1998 init.ora-rw-r--r-- 1 oracle oinstall 1827 Mar 25 10:08 initPROD.ora-rw-rw---- 1 oracle oinstall 24 Mar 20 15:14 lkEMREP-rw-r----- 1 oracle oinstall 1536 Mar 20 16:16 orapwEMREP-rw-r----- 1 oracle oinstall 2560 Mar 24 14:10 spfileEMREP.ora[oracle@ocm2 dbs]$ mv initPROD.ora initPRODSTD.ora[oracle@ocm2 dbs]$ vi initPRODSTD.ora
修改内容如下: PRODSTD.__db_cache_size=331350016PRODSTD.__java_pool_size=4194304PRODSTD.__large_pool_size=4194304PRODSTD.__shared_pool_size=180355072PRODSTD.__streams_pool_size=0*.BACKGROUND_DUMP_DEST='/u01/app/oracle/admin/PRODSTD/bdump'*.control_files='/u01/app/oracle/oradata/PRODSTD/Disk1/control01.ctl','/u01/app/oracle/oradata/PRODSTD/Disk2/control02.ctl','/u01/app/oracle/oradata/PRODSTD/Disk3/control03.ctl'*.CORE_DUMP_DEST='/u01/app/oracle/admin/PRODSTD/cdump'*.DB_BLOCK_SIZE=8192*.DB_CREATE_FILE_DEST='/u01/app/oracle/oradata/PRODSTD/Disk1'*.DB_CREATE_ONLINE_LOG_DEST_1='/u01/app/oracle/oradata/PRODSTD/Disk1'*.DB_NAME='PROD'*.db_recovery_file_dest_size=4294967296*.db_recovery_file_dest='/home/oracle/flash'*.job_queue_processes=15*.max_dispatchers=10*.max_shared_servers=30*.processes=135*.sessions=300*.SGA_TARGET=500M*.shared_server_sessions=200*.shared_servers=10*.UNDO_MANAGEMENT='auto'*.undo_retention=5400*.UNDO_TABLESPACE='undotbs1'*.USER_DUMP_DEST='/u01/app/oracle/admin/PRODSTD/udump'*.utl_file_dir='/home/oracle','/home/oracle/temp','/home/oracle/scripts'
##parameter for Primary DatabaseDB_NAME=PROD DB_UNIQUE_NAME=PRODSTDLOG_ARCHIVE_CONFIG='DG_CONFIG=(PROD,PRODSTD)'CONTROL_FILES='/u01/app/oracle/oradata/PRODSTD/Disk1/control01.ctl','/u01/app/oracle/oradata/PRODSTD/Disk2/control02.ctl','/u01/app/oracle/oradata/PRODSTD/Disk3/control03.ctl' LOG_ARCHIVE_DEST_1='location=/u01/app/oracle/oradata/PRODSTD/Disk2/arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=PRODSTD'LOG_ARCHIVE_DEST_2='SERVICE=PROD LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=PROD'LOG_ARCHIVE_DEST_STATE_1=ENABLELOG_ARCHIVE_DEST_STATE_2=ENABLEREMOTE_LOGIN_PASSWORDFILE=EXCLUSIVELOG_ARCHIVE_FORMAT=%t_%s_%r.arcLOG_ARCHIVE_MAX_PROCESSES=30##parameter for Standby Database FAL_SERVER=PRODFAL_CLIENT=PRODSTDDB_FILE_NAME_CONVERT='PROD','PRODSTD'LOG_FILE_NAME_CONVERT='PROD','PRODSTD'STANDBY_FILE_MANAGEMENT=AUTO
2.4.Copy Files from the Primary System to the Standby System
从主库拷贝文件到备库
①password parameter file created in 1.2
[oracle@ocm2 ~]$ cd /u01/app/oracle/product/10.2.0/db_1/dbs[oracle@ocm1 dbs]$ scp orapwPROD ocm2.localdomain:/u01/app/oracle/product/10.2.0/db_1/dbsoracle@ocm2.localdomain's password: orapwPROD 100% 5120 5.0KB/s 00:01 [oracle@ocm1 dbs]$
在备库中修改密码文件名称[oracle@ocm2 ~]$ cd /u01/app/oracle/product/10.2.0/db_1/dbs[oracle@ocm2 dbs]$ lltotal 56-rw-rw---- 1 oracle oinstall 1544 Mar 24 14:10 hc_EMREP.dat-rw-r----- 1 oracle oinstall 12920 May 3 2001 initdw.ora-rw-r----- 1 oracle oinstall 8385 Sep 11 1998 init.ora-rw-r--r-- 1 oracle oinstall 1960 Mar 25 10:13 initPRODSTD.ora-rw-rw---- 1 oracle oinstall 24 Mar 20 15:14 lkEMREP-rw-r----- 1 oracle oinstall 1536 Mar 20 16:16 orapwEMREP-rw-r----- 1 oracle oinstall 5120 Mar 25 10:17 orapwPROD-rw-r----- 1 oracle oinstall 2560 Mar 24 14:10 spfileEMREP.ora[oracle@ocm2 dbs]$ mv orapwPROD orapwPRODSTD
②Backup datafiles created in Section 2.1
[oracle@ocm1 dbs]$ scp /u01/app/oracle/oradata/PROD.tar.gz ocm2.localdomain:/u01/app/oracle/oradata/oracle@ocm2.localdomain's password: PROD.tar.gz 100% 225MB 2.8MB/s 01:20 [oracle@ocm1 dbs]$
在备库中恢复
[oracle@ocm2 ~]$ cd /u01/app/oracle/oradata/[oracle@ocm2 oradata]$ lltotal 230872drwxr-x--- 2 oracle oinstall 4096 Mar 20 15:16 EMREP-rw-r--r-- 1 oracle oinstall 236170241 Mar 25 10:21 PROD.tar.gz[oracle@ocm2 oradata]$ tar -xzvf PROD.tar.gzPROD/PROD/Disk1/PROD/Disk1/temp01.dbfPROD/Disk1/standby07.logPROD/Disk1/standby11.logPROD/Disk1/redo03.logPROD/Disk1/standby10.logPROD/Disk1/standby09.logPROD/Disk1/system01.dbfPROD/Disk1/redo01.logPROD/Disk1/standby08.logPROD/Disk1/standby06.logPROD/Disk1/control01.ctlPROD/Disk1/users01.dbfPROD/Disk1/sysaux01.dbfPROD/Disk1/example01.dbfPROD/Disk1/redo02.logPROD/Disk1/redo05.logPROD/Disk1/redo04.logPROD/Disk1/undotbs01.dbfPROD/Disk2/PROD/Disk2/standby07_1.logPROD/Disk2/standby06_1.logPROD/Disk2/redo03_1.logPROD/Disk2/standby09_1.logPROD/Disk2/standby08_1.logPROD/Disk2/control02.ctlPROD/Disk2/redo05_1.logPROD/Disk2/redo02_1.logPROD/Disk2/redo01_1.logPROD/Disk2/redo04_1.logPROD/Disk2/standby10_1.logPROD/Disk2/standby11_1.logPROD/Disk2/arch/PROD/Disk2/arch/arc_05p3jeqe_1_1.bakPROD/Disk3/PROD/Disk3/control03.ctlPROD/Disk4/PROD/Disk5/PROD/Disk5/bak/PROD/Disk5/bak/PROD_04p3jeq8_1_1.bakPROD/Disk5/bak/PROD_03p3jemu_1_1.bak[oracle@ocm2 oradata]$ [oracle@ocm2 oradata]$ lltotal 230876drwxr-x--- 2 oracle oinstall 4096 Mar 20 15:16 EMREPdrwxr-xr-x 7 oracle oinstall 4096 Mar 19 13:16 PROD-rw-r--r-- 1 oracle oinstall 236170241 Mar 25 10:21 PROD.tar.gz[oracle@ocm2 oradata]$ mv PROD PRODSTD[oracle@ocm2 oradata]$ lltotal 230876drwxr-x--- 2 oracle oinstall 4096 Mar 20 15:16 EMREPdrwxr-xr-x 7 oracle oinstall 4096 Mar 19 13:16 PRODSTD-rw-r--r-- 1 oracle oinstall 236170241 Mar 25 10:21 PROD.tar.gz[oracle@ocm2 oradata]$ rm -rf PROD.tar.gz [oracle@ocm2 oradata]$ lltotal 8drwxr-x--- 2 oracle oinstall 4096 Mar 20 15:16 EMREPdrwxr-xr-x 7 oracle oinstall 4096 Mar 19 13:16 PRODSTD-路径和PROD的路径一致
删除PRODSTD中原主库控制文件[oracle@ocm2 oradata]$ pwd/u01/app/oracle/oradata[oracle@ocm2 oradata]$ rm -rf PRODSTD/Disk1/control01.ctl [oracle@ocm2 oradata]$ rm -rf PRODSTD/Disk2/control02.ctl [oracle@ocm2 oradata]$ rm -rf PRODSTD/Disk3/control03.ctl
③Standby control file created in Section2.2
[oracle@ocm1 dbs]$ scp /home/oracle/control01.ctl ocm2.localdomain:/u01/app/oracle/oradata/PRODSTD/Disk1oracle@ocm2.localdomain's password: control01.ctl 100% 6672KB 3.3MB/s 00:02 [oracle@ocm1 dbs]$
④Initialization parameter file created in Section2.3,已经拷贝
2.5 Set Up the Environment to Support the Standby Database
Step 1 Create a Windows-based service.-linux操作下面不用操作这一步Step 2 Create a password file. 2.4.1已经创建Step 3 Configure listeners for the primary and standby databases.Step 4 Create Oracle Net service names.
ocm1[oracle@ocm1 dbs]$ cd /u01/app/oracle/product/10.2.0/db_1/network/admin/[oracle@ocm1 admin]$ lltotal 20-rw-r--r-- 1 oracle oinstall 712 Mar 18 12:30 listener.oradrwxr-x--- 2 oracle oinstall 4096 Mar 16 19:17 samples-rw-r----- 1 oracle oinstall 172 Dec 26 2003 shrept.lst-rw-r--r-- 1 oracle oinstall 41 Mar 18 13:38 sqlnet.ora-rw-r--r-- 1 oracle oinstall 589 Mar 18 18:47 tnsnames.ora
[oracle@ocm1 admin]$ cat listener.ora LISTENER= (DESCRIPTION= (ADDRESS_LIST= (ADDRESS=(PROTOCOL=tcp)(HOST=ocm1.localdomain)(PORT=1521)) (ADDRESS=(PROTOCOL=ipc)(KEY=extproc))))SID_LIST_LISTENER= (SID_LIST= (SID_DESC= (GLOBAL_DBNAME=PROD) (ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1) (SID_NAME=PROD)) (SID_DESC= (GLOBAL_DBNAME=PRODSTD) (ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1)----添加 (SID_NAME=PRODSTD)) (SID_DESC= (SID_NAME=plsextproc) (ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1) (PROGRAM=extproc)))
LSNR2= (DESCRIPTION= (ADDRESS_LIST= (ADDRESS=(PROTOCOL=tcp)(HOST=ocm1.localdomain)(PORT=1526)) (ADDRESS=(PROTOCOL=ipc)(KEY=extproc1))))[oracle@ocm1 admin]$ cat tnsnames.ora prod=(DESCRIPTION= (ADDRESS=(PROTOCOL=tcp)(HOST=ocm1.localdomain)(PORT=1521)) (CONNECT_DATA= (SERVICE_NAME=PROD) (SERVER=dedicated))) PRODSTD=(DESCRIPTION= (ADDRESS=(PROTOCOL=tcp)(HOST=ocm2.localdomain)(PORT=1521))-添加 (CONNECT_DATA= (SERVICE_NAME=PRODSTD) (SERVER=dedicated)))[oracle@ocm1 admin]$
[oracle@ocm1 admin]$ lsnrctl start
LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 25-MAR-2014 10:48:36
Copyright (c) 1991, 2005, 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.1.0 - ProductionSystem parameter file is /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.oraLog messages written to /u01/app/oracle/product/10.2.0/db_1/network/log/listener.logListening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ocm1.localdomain)(PORT=1521)))Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=extproc)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ocm1.localdomain)(PORT=1521)))STATUS of the LISTENER------------------------Alias LISTENERVersion TNSLSNR for Linux: Version 10.2.0.1.0 - ProductionStart Date 25-MAR-2014 10:48:38Uptime 0 days 0 hr. 0 min. 0 secTrace Level offSecurity ON: Local OS AuthenticationSNMP OFFListener Parameter File /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.oraListener Log File /u01/app/oracle/product/10.2.0/db_1/network/log/listener.logListening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ocm1.localdomain)(PORT=1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=extproc)))Services Summary...Service "EMREP" has 1 instance(s). Instance "EMREP", status UNKNOWN, has 1 handler(s) for this service...Service "PROD" has 1 instance(s). Instance "PROD", status UNKNOWN, has 1 handler(s) for this service...Service "PRODSTD" has 1 instance(s). Instance "PRODSTD", status UNKNOWN, has 1 handler(s) for this service...Service "plsextproc" has 1 instance(s). Instance "plsextproc", status UNKNOWN, has 1 handler(s) for this service...The command completed successfully[oracle@ocm1 admin]$
ocm2:
[oracle@ocm2 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=PROD) (ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1) (SID_NAME=PROD)) (SID_DESC= (GLOBAL_DBNAME=PRODSTD) (ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1) ----------添加 (SID_NAME=PRODSTD)) (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1) (PROGRAM = extproc) ) )
LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = ocm2.localdomain)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0)) ) )
[oracle@ocm2 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.
EXTPROC_CONNECTION_DATA = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0)) ) (CONNECT_DATA = (SID = PLSExtProc) (PRESENTATION = RO) ) )PROD = (description = (address=(protocol=tcp)(host=ocm1.localdomain)(port=1521)) (connect_data= (server = dedicated) (service_name = PROD) ) ) PRODSTD = (description = (address=(protocol=tcp)(host=ocm2.localdomain)(port=1521)) --添加 (connect_data= (server = dedicated) (service_name = PRODSTD) ) )
[oracle@ocm2 admin]$
[oracle@ocm2 admin]$ lsnrctl start
LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 25-MAR-2014 11:03:00
Copyright (c) 1991, 2005, 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.1.0 - ProductionSystem parameter file is /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.oraLog messages written to /u01/app/oracle/product/10.2.0/db_1/network/log/listener.logListening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ocm2.localdomain)(PORT=1521)))Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC0)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=ocm2.localdomain)(PORT=1521)))STATUS of the LISTENER------------------------Alias LISTENERVersion TNSLSNR for Linux: Version 10.2.0.1.0 - ProductionStart Date 25-MAR-2014 11:03:02Uptime 0 days 0 hr. 0 min. 0 secTrace Level offSecurity ON: Local OS AuthenticationSNMP OFFListener Parameter File /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.oraListener Log File /u01/app/oracle/product/10.2.0/db_1/network/log/listener.logListening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ocm2.localdomain)(PORT=1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC0)))Services Summary...Service "PLSExtProc" has 1 instance(s). Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...Service "PROD" has 1 instance(s). Instance "PROD", status UNKNOWN, has 1 handler(s) for this service...Service "PRODSTD" has 1 instance(s). Instance "PRODSTD", status UNKNOWN, has 1 handler(s) for this service...The command completed successfully[oracle@ocm2 admin]$ Step 5 Create a server parameter file for the standby database.
[oracle@ocm2 ~]$ export ORACLE_SID=PRODSTD[oracle@ocm2 ~]$ sqlplus "/as sysdba"
SQL*Plus: Release 10.2.0.1.0 - Production on Tue Mar 25 11:06:14 2014
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to an idle instance.
SYS@PRODSTD>create spfile from pfile;
File created.
2.6.Start the Physical Standby Database
启动备库 Step 1 Start the physical standby database.
SYS@PRODSTD>startup mountORACLE instance started.
Total System Global Area 524288000 bytesFixed Size 1220360 bytesVariable Size 188743928 bytesDatabase Buffers 331350016 bytesRedo Buffers 2973696 bytesDatabase mounted.SYS@PRODSTD>备库SYS@PRODSTD>select database_role,switchover_status from v$database;
DATABASE_ROLE SWITCHOVER_STATUS---------------- --------------------PHYSICAL STANDBY RECOVERY NEEDED主库SYS@PROD>select database_role,switchover_status from v$database;
DATABASE_ROLE SWITCHOVER_STATUS---------------- --------------------PRIMARY SESSIONS ACTIVE Step 2 Start Redo Apply.备库只有在mount状态的时候可以应用日志,read only状态不能应用日志应用日志调用2个MRP进程启动LEO3库日志应用并后台运行alter database recover managed standby database disconnect from session parallel 2;
备库SYS@PRODSTD>alter database recover managed standby database disconnect from session parallel 2;
Database altered.
SYS@PRODSTD>select database_role,switchover_status from v$database;
DATABASE_ROLE SWITCHOVER_STATUS---------------- --------------------PHYSICAL STANDBY SESSIONS ACTIVE
主库SYS@PROD>select database_role,switchover_status from v$database;
DATABASE_ROLE SWITCHOVER_STATUS---------------- --------------------PRIMARY SESSIONS ACTIVE Step 3 Test archival operations to the physical standby database.
SYS@PROD>alter system switch logfile;
System altered.
tail -f alert_PROD.log
LNS1 started with pid=59, OS id=9381Tue Mar 25 11:23:53 2014Thread 1 advanced to log sequence 13 Current log# 5 seq# 13 mem# 0: /u01/app/oracle/oradata/PROD/Disk1/redo05.log Current log# 5 seq# 13 mem# 1: /u01/app/oracle/oradata/PROD/Disk2/redo05_1.logTue Mar 25 11:23:54 2014******************************************************************LGWR: Setting 'active' archival for destination LOG_ARCHIVE_DEST_2******************************************************************LNS: Standby redo logfile selected for thread 1 sequence 13 for destination LOG_ARCHIVE_DEST_2Tue Mar 25 11:23:55 2014ARC4: Standby redo logfile selected for thread 1 sequence 12 for destination LOG_ARCHIVE_DEST_2 tail -f alert_PRODSTD.log
Tue Mar 25 11:23:54 2014Redo Shipping Client Connected as PUBLIC-- Connected User is ValidRFS[2]: Assigned to RFS process 4259RFS[2]: Identified database type as 'physical standby'Tue Mar 25 11:23:54 2014Redo Shipping Client Connected as PUBLIC-- Connected User is ValidRFS[3]: Assigned to RFS process 4257RFS[3]: Identified database type as 'physical standby'Primary database is in MAXIMUM PERFORMANCE modePrimary database is in MAXIMUM PERFORMANCE modeRFS[3]: Successfully opened standby log 6: '/u01/app/oracle/oradata/PRODSTD/Disk1/standby06.log'Tue Mar 25 11:23:55 2014RFS[2]: Successfully opened standby log 7: '/u01/app/oracle/oradata/PRODSTD/Disk1/standby07.log'Tue Mar 25 11:23:58 2014Media Recovery Log /u01/app/oracle/oradata/PRODSTD/Disk2/arch/1_12_842523531.arcMedia Recovery Waiting for thread 1 sequence 13 (in transit)Tue Mar 25 11:24:30 2014Redo Shipping Client Connected as PUBLIC-- Connected User is ValidRFS[4]: Assigned to RFS process 4262RFS[4]: Identified database type as 'physical standby'
2.7 Verify the Physical Standby Database Is Performing Properly
Step 2 Force a log switch to archive the current online redo log file.
SYS@PROD>ALTER SYSTEM SWITCH LOGFILE;
System altered. tail -f alert_PROD.logTue Mar 25 11:32:49 2014Thread 1 advanced to log sequence 14 Current log# 1 seq# 14 mem# 0: /u01/app/oracle/oradata/PROD/Disk1/redo01.log Current log# 1 seq# 14 mem# 1: /u01/app/oracle/oradata/PROD/Disk2/redo01_1.logTue Mar 25 11:32:50 2014LNS: Standby redo logfile selected for thread 1 sequence 14 for destination LOG_ARCHIVE_DEST_2 tail -f alert_PRODSTD.logTue Mar 25 11:32:50 2014Primary database is in MAXIMUM PERFORMANCE modeRFS[3]: Successfully opened standby log 7: '/u01/app/oracle/oradata/PRODSTD/Disk1/standby07.log'Tue Mar 25 11:32:51 2014Media Recovery Log /u01/app/oracle/oradata/PRODSTD/Disk2/arch/1_13_842523531.arcMedia Recovery Waiting for thread 1 sequence 14 (in transit)
Step 3 Verify the new redo data was archived on the standby database.Step 4 Verify new archived redo log files were applied.
SYS@PRODSTD>SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME,applied from v$archived_log;
SEQUENCE# FIRST_TIM NEXT_TIME APP---------- --------- --------- --- 11 25-MAR-14 25-MAR-14 YES 12 25-MAR-14 25-MAR-14 YES 13 25-MAR-14 25-MAR-14 YES
版权声明:本文为博主原创文章,未经博主允许不得转载。