I. Overview of Oracle DataGuard Environment
OS: CentOS5 + ORACLE10G 10.2.0.4.0
IP: 192.168.100.208 (primary) 192.168.8.201 (standby)
ORACLE_SID: jscn
ORACLE_HOME:/oracle/ora10/product
2. Preparations for the primary database
1. modify primary dba to archive Mode
SQL> alter system set log_archive_dest_1 = 'location =/oraarch/'scope = spfile;
SQL> startup mount;
SQL> alter database archivelog;
SQL> alter database open;
2. Set the primary database to force logging mode.
SQL> alter database force logging;
3. Check whether the host has a password file.
Orapwd file = '/oracle/ora10/product/dbs/orapwjscn' password = sys
4. Add "backup online Log Files" to the master database"
SQL> alter database add standby logfile group 4 ('/oracle/ora10/oradata/jscn/redo04.log') size 50 m;
SQL> alter database add standby logfile group 5 ('/oracle/ora10/oradata/jscn/redo05.log') size 50 m;
SQL> alter database add standby logfile group 6 ('/oracle/ora10/oradata/jscn/redo06.log') size 50 m;
SQL> alter database add standby logfile group 7 ('/oracle/ora10/oradata/jscn/redo07.log') size 50 m;
5. Modify the parameter file of the master database
SQL> create pfile = '/home/oracle/init_pr.ora' from spfile;
[Oracle @ 10-208 jscn] $ vim/home/oracle/init_pr.ora
***** **********************************
Jscn. _ db_cache_size = 515899392
Jscn. _ java_pool_size = 4194304
Jscn. _ large_pool_size = 4194304
Jscn. _ shared_pool_size = 536870912
Jscn. _ streams_pool_size = 0
*. 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'
*. Db_recovery_file_dest = '/oracle/ora10/flash_recovery_area'
*. Db_recovery_file_dest_size = 2147483648
*. Dispatchers = '(PROTOCOL = TCP) (SERVICE = jscnXDB )'
*. Job_queue_processes = 10
# *. Log_archive_dest_1 = 'location =/oraarch /'
*. Open_cursors = 300
*. Pga_aggregate_target = 2684354560
*. Processses = 1500
*. Remote_login_passwordfile = 'clusive'
*. Sessions = 1655
*. Sga_max_size = 1073741824
*. Sga_target = 1073741824
*. Undo_management = 'auto'
*. Undo_tablespace = 'undotbs1'
*. User_dump_dest = '/oracle/ora10/admin/jscn/udump'
### Add below parameter for standy database
*. DB_UNIQUE_NAME = '10upli'
*. Log_archive_config = 'dg _ CONFIG = (10 GPI, 10 gstandby )'
*. Log_archive_dest_1 = 'location =/oraarch/VALID_FOR = (ALL_LOGFILES, ALL_ROLES) DB_UNIQUE_NAME = 10upli'
*. Log_archive_dest_2 = 'service = 10 gstandby lgwr async VALID_FOR = (ONLINE_LOGFILES, PRIMARY_ROLE) DB_UNIQUE_NAME = 10gstandby'
*. STANDBY_FILE_MANAGEMENT = AUTO
*. LOG_ARCHIVE_DEST_STATE_1 = ENABLE
*. LOG_ARCHIVE_DEST_STATE_2 = ENABLE
*. FAL_SERVER = '10gstandby'
*. FAL_CLIENT = '10ggi'
***** **********************************
6. The master database uses PFILE to create SPFILE.
[Oracle @ host160 pfile] $ sqlplus/as sysdba
SQL> create spfile from pfile = '/home/oracle/init_pr.ora ';
7. Generate Database Backup
[Oracle @ 10-208 ~] $ Mkdir/oracle/rmanback/
RMAN> backup database format = '/oracle/rmanback/% d _ % s. dbf' plus archivelog;
8. Create a control file for the slave Database
SQL> alter database create standby controlfile as '/oracle/rmanback/standby_ctl01.ctl ';
9. Configure the listener and tnsnames of the primary database.
[Oracle @ 10-208 admin] $ vim listener. ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME =/oracle/ora10/product)
(PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP) (HOST = 10-208) (PORT = 1521 ))
(ADDRESS = (PROTOCOL = IPC) (KEY = EXTPROC0 ))
)
)
[Oracle @ 10-208 admin] $ cat tnsnames. ora
10 upli =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP) (HOST = 192.168.100.208) (PORT = 1521 ))
)
(CONNECT_DATA =
(SERVICE_NAME = 10 upli)
)
)
10 gstandby =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP) (HOST = 192.168.8.201) (PORT = 1521 ))
)
(CONNECT_DATA =
(SERVICE_NAME = 10 gstandby)
)
)