-
1. over view
Primary DB:
ORACLE_SID=demo
Standby DB:
ORACLE_SID=test
2. make sure your primary DB in archivelog mode
sqlplus "/ as sysdba"
alter system set log_archive_dest_1='location=Z:\ora92\admin\demo\arch' scope=both;
alter system set log_archive_dest_2='SERVICE=test OPTIONAL REOPEN=180' scope=both;
log_archive_start=true
log_archive_format='demo%T.%S'
3. get standby DB init parameters
set ORACLE_SID=demo
cd $ORACLE_HOME/database
sqlplus "/ as sysdba"
create pfile from spfile
copy initdemo.ora inittest.ora
notepad inittest.ora
*.control_files='C:\oradata\test\control01.ctl'
*.DB_FILE_NAME_CONVERT =('Z:\ORA92\ORADATA\DEMO\','C:\ORADATA\TEST\')
*.log_file_name_convert =('Z:\ORA92\ORADATA\DEMO\','C:\ORADATA\TEST\')
*.instance_name='test'
*.lock_name_space='test'
*.service_names='test'
*.STANDBY_ARCHIVE_DEST='location=C:\oradata\test\arch'
notes for NT:
make sure all path/filenames are upper casse
4. backup primary DB online
rman nocatalog target /
run {
allocate channel CC type disk
FORMAT 'c:\oradata\demo_%s.%p';
set limit channel CC kbytes 2097150;
backup database
include current controlfile for standby;
sql "alter system archive log current";
}
5. create NT service or passwd file
a. NT:
oradim -new -sid test -intpwd oracle
b. UNIX
orapwd file=pwdtest.oraorapwdtest password=oracle
6. startup standby DB
set ORACLE_SID=test
rman nocatalog target /
startup nomount;
exit
7. create standby db
rman nocatalog
connect target /@demo
connect auxiliary /
duplicate target database for standby dorecover;
8. check standby db
sqlplus "/ as sysdba"
alter database open read only;
select * from all_users;
deleter * from scott.emp;
9. from read only to recovery
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT;
10. from recover to read only
recover managed standby database cancel;
alter database open read only;
-
oracle 9.2 is a new feature, logical standby dataase,It is very
useful, but it seems it is too comples to use and needs developing.
but the physical standby database very well now.
it has.
a. auotmatic logfile gap detection, and standby databae can request archive logfile not recieved.
b. recover operation can be place backgroup
c. If primary database crashed and can not open, it can archive current redo logfile;