1.Environment
| Item |
Primary database |
standby database |
| Platform |
Redhat 5.4 |
Redhat 5.4 |
| Hostname |
gc1 |
gc2 |
| Database |
Oracle 11.2.0.1.0 |
Oracle 11.2.0.1.0 |
| ORACLE_SID |
PROD |
standby |
| DB_UNIQUE_NAME |
primary |
standby |
?
2.Preparing the PrimaryDatabase for Standby Database Creation
?
2.1 EnableForced Logging
主库启动到MOUNT
查看是否开启Force logging:
select force_logging fromv$database;
FOR
---
YES
?
开启Force logging:
SQL> ALTER DATABASE FORCELOGGING;
?
2.2 Enable Archiving
?
查看是否开启归档:
SQL>archive log list
Databaselog mode Archive Mode
Automaticarchival Disabled
Archivedestination /u01/app/oracle/arch
Oldest online log sequence 18
Next log sequence to archive 20
Current logsequence 20
?
开启归档:
SQL> ALTER DATABASE ARCHIVELOG
?
2.3 Set Primary DatabaseInitialization Parameters
?
| Database |
DB_UNIQUE_NAME |
Oracle Net Service Name(TNS名) |
| Primary |
primary |
primary |
| Physical standby |
standby |
standby |
?
?
| DB_NAME=chicago |
库名 |
| DB_UNIQUE_NAME=chicago |
主库备库的唯一标识名 |
| LOG_ARCHIVE_CONFIG='DG_CONFIG=(chicago,boston)' |
这里是主备库的db unique name |
| CONTROL_FILES='/arch1/chicago/control1.ctl', '/arch2/chicago/control2.ctl' |
如果之前的参数有,应当删除 |
| LOG_ARCHIVE_DEST_1= |
? |
| 'LOCATION=/arch1/chicago/ |
这里设置归档,之前的参数删除 |
| VALID_FOR=(ALL_LOGFILES,ALL_ROLES) |
? |
| DB_UNIQUE_NAME=chicago' |
? |
| LOG_ARCHIVE_DEST_2= |
? |
| 'SERVICE=boston ASYNC |
最大性能模式为缺省模式,可以使用LGWR ASYNC或ARCH实现 最大保护模式和最大可用性模式要求standby databse必须配置standby redo log必须设置LGWR SYNC AFFIRM方式 ? 在11G文档中特意强调,redo方式的日志传递不是通过LGWR进程传递的,而是由LNS进程传递的,因此属于也从10g的LGWR SYNC、LGWR ASYNC编程了SYNC和ASYNC ? AFFIRM—specifies that a redo transport destination acknowledges received redo data after writing it to the standby redo log. ? NOAFFIRM—specifies that a redo transport destination acknowledges received redo data before writing it to the standby redo log. 缺省NOAFFIRM |
| VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) |
? |
| DB_UNIQUE_NAME=boston' |
? |
| LOG_ARCHIVE_DEST_STATE_1=ENABLE |
? |
| LOG_ARCHIVE_DEST_STATE_2=ENABLE |
? |
| REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE |
? |
| LOG_ARCHIVE_FORMAT=%t_%s_%r.arc |
? |
?
| FAL_SERVER=boston |
Fetch Archive log 这里指明当出现GAP时,从哪里Fetch |
| DB_FILE_NAME_CONVERT='boston','chicago' |
先对方,再自己 |
| LOG_FILE_NAME_CONVERT= |
先对方,再自己 |
| '/arch1/boston/','/arch1/chicago/','/arch2/boston/','/arch2/chicago/' |
? |
| STANDBY_FILE_MANAGEMENT=AUTO |
? |
?
列子:
*.db_name='PROD'
*.db_recovery_file_dest_size=4294967296
*.db_recovery_file_dest='/u01/app/oracle/flash'
*.diagnostic_dest='/u01/app/oracle/oradata/PROD/dump'
*.DISPATCHERS='(PROTOCOL=TCP)(DISPATCHERS=3)'
*.job_queue_processes=15
*.local_listener=''
*.max_dispatchers=10
*.max_shared_servers=30
*.memory_target=800m
*.processes=150
*.recyclebin='on'
*.sessions=300
*.shared_server_sessions=200
*.undo_retention=5400
*.undo_tablespace='undotbs'
*.utl_file_dir='/u01/app/oracle/utl'
?
DB_UNIQUE_NAME=primary
LOG_ARCHIVE_CONFIG='DG_CONFIG=(primary,standby)'
LOG_ARCHIVE_DEST_1=
'LOCATION=/u01/app/oracle/arch
VALID_FOR=(ALL_LOGFILES,ALL_ROLES)
DB_UNIQUE_NAME=primary'
LOG_ARCHIVE_DEST_2=
'SERVICE=standby SYNC AFFIRM NET_TIMEOUT=30
VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)
DB_UNIQUE_NAME=standby'
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENAB