dataguard: 主库:Oracle Database11.2.0.1.0
ip:192.168.1.5
备库: Release 11.2.0.1.0 Production (只安装了oracle 软件,未安装库)
ip:192.168.1.115
1、设置主库为归档模式
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /archive
Oldest online log sequence 316
Next log sequence to archive 318
Current log sequence 318
Database altered.
SQL> select force_logging from v$database;
FOR
---
YES
2、修改主库和备库的监听
主:
cd /u01/oracle/product/10.2.0/network
修改监听为静态监听:[oracle@localhost admin]$ vi listener.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = ora10g)
(ORACLE_HOME = /u01/oracle/product/10.2.0)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
)
ADR_BASE_LISTENER = /u01/app
[oracle@localhost admin]$ vi tnsnames.ora
ora10g =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.5)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ora10g)
)
)
orcl =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.115)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
并且把主库的监听拷贝的备库去:
备:
[oracle@test admin]$ scp tnsnames.ora listener.ora oracle@192.168.1.115:/u01
[oracle@localhost u01]$ mv tnsnames.ora listener.ora $ORACLE_HOME/network/admin
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = orcl)
(ORACLE_HOME = /u01/oracle/product/11.2.0)---修改监听为合适的路径
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.115)(PORT = 1521)) --修改主机地址
)
)
3、修改主库参数文件:
如果没有文本参数文件,需要创建
SQL> create pfile from spfile;
File created.
cd /u01/oracle/product/10.2.0/dbs
添加下列到主库的参数文件中去
[oracle@dba dbs]$ vi initora11g.ora*.DB_NAME=ora10g
*.DB_UNIQUE_NAME=ora10g
*.LOG_ARCHIVE_CONFIG='DG_CONFIG=(ora10g,orcl)'
*.LOG_ARCHIVE_DEST_1='LOCATION=/archive VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=ora10g'
*.LOG_ARCHIVE_DEST_2='SERVICE=orcl ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=orcl'
*.LOG_ARCHIVE_DEST_STATE_1=ENABLE
*.LOG_ARCHIVE_DEST_STATE_2=ENABLE
*.REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
*.LOG_ARCHIVE_FORMAT=%t_%s_%r.arc
*.LOG_ARCHIVE_MAX_PROCESSES=30
*.FAL_SERVER=ora10g
*.fal_client=orcl
*.DB_FILE_NAME_CONVERT='/u01/oracle/oradata/ora10g/','/u01/oracle/oradata/'
*.LOG_FILE_NAME_CONVERT='/u01/oracle/oradata/ora10g/','/u01/oracle/oradata/'
*.STANDBY_FILE_MANAGEMENT=AUTO
*.STANDBY_ARCHIVE_DEST='/arcs'
从主库拷贝参数文件和密码文件到备库
[oracle@test dbs]$ scp initora10g.ora 192.168.1.115:/u01/oracle/product/10.2.0/dbs[oracle@test dbs]$ scp orapwora10g 192.168.1.115:/u01/oracle/product/10.2.0/dbs
备库:
[oracle@localhost dbs]$ mv orapwora10g orapworcl
[oracle@localhost dbs]$ mv initora10g.ora initorcl.ora
3 、从主库拷贝参数文件到备库
修改参数:
ora10g.__db_cache_size=335544320ora10g.__java_pool_size=4194304
ora10g.__large_pool_size=4194304
ora10g.__shared_pool_size=163577856
ora10g.__streams_pool_size=0
*.audit_file_dest= '/u01/oracle/admin/adump'
*.background_dump_dest= '/u01/oracle/admin/bdump'
*.compatible='11.2.0.1.0'
*.control_files= '/u01/oracle/oradata/control01.ctl','/u01/oracle/oradata/control02.ctl','/u01/oracle/oradata/control03.ctl'
*.core_dump_dest= '/u01/oracle/admin/cdump'
*.db_block_size=8192
*.db_domain=''
*.db_file_multiblock_read_count=8
*.db_name='ora10g'
*.db_recovery_file_dest='/u01/oracle/flash_recovery_area'
*.db_recovery_file_dest_size=2147483648
*.dispatchers='(PROTOCOL=TCP) (SERVICE=ora10gXDB)'
*.global_names=FALSE
*.job_queue_processes=10
*.local_listener=''
*.log_archive_dest_1='location= /arcs'
*.open_cursors=300
*.pga_aggregate_target=169869312
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=509607936
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest= '/u01/oracle/admin/udump'
*.DB_NAME= ora10g
*.DB_UNIQUE_NAME=orcl
*.LOG_ARCHIVE_CONFIG='DG_CONFIG=(ora10g,orcl)'
*.LOG_ARCHIVE_DEST_1='LOCATION=/arcs VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=orcl'
*.LOG_ARCHIVE_DEST_2='SERVICE=ora10g ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=ora10g'
*.LOG_ARCHIVE_DEST_STATE_1=ENABLE
*.LOG_ARCHIVE_DEST_STATE_2=ENABLE
*.REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
*.LOG_ARCHIVE_FORMAT=%t_%s_%r.arc
*.LOG_ARCHIVE_MAX_PROCESSES=30
*.FAL_SERVER=orcl
*.fal_client=ora10g
*.DB_FILE_NAME_CONVERT='/u01/oracle/oradata/','/u01/oracle/oradata/ora10g/'
*.LOG_FILE_NAME_CONVERT='/u01/oracle/oradata/','/u01/oracle/oradata/ora10g/'
*.STANDBY_FILE_MANAGEMENT=AUTO
注意修改红色的部分,是否和备库的一致
四、备份主库
[oracle@test admin]$ rman target sys/oracle@ora10g
RUN {
allocate channel c1 type disk;
allocate channel c2 type disk;
sql 'alter system archive log current';
backup current controlfile for standby format='/u01/control_%U';
BACKUP FORMAT '/u01/orcl_%U_%T' skip inaccessible filesperset 5 DATABASE ;
sql 'alter system archive log current';
BACKUP FORMAT '/u01/arch_%U_%T' skip inaccessible filesperset 5 ARCHIVELOG ALL DELETE INPUT;
release channel c2;
release channel c1;
}
主库备份完后,把备份集拷贝到 备库的相同目录上
五、主库恢复文件
确定主库和备库的监听都已经启动
把备库启动到nomount 状态
[oracle@localhost admin]$ lsnrctl status
。。。。。。
Service "orcl" has 1 instance(s).
Instance "orcl", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
在主库上执行下列命令恢复备库
[oracle@test admin]$ rman target / auxiliary sys/oracle@orclRecovery Manager: Release 10.2.0.1.0 - Production on Sun Jul 21 23:37:34 2013
Copyright (c) 1982, 2005, Oracle. All rights reserved.
connected to target database: ORA10G (DBID=4134035370)
connected to auxiliary database: ORA10G (DBID=4134035370, not mounted)
[oracle@localhost backup]$ rman target sys/oracle@rac auxiliary /
Recovery Manager: Release 11.2.0.1.0 - Production on Wed Jul 24 21:20:35 2013
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
connected to target database: RAC (DBID=2403206939)
connected to auxiliary database: RAC (not mounted)
RMAN> duplicate target database for standby nofilenamecheck dorecover;
Starting Duplicate Db at 24-JUL-13
using target database control file instead of recovery catalog
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID=20 device type=DISK
contents of Memory Script:
{
set until scn 2279749;
restore clone standby controlfile;
}
executing Memory Script
executing command: SET until clause
Starting restore at 24-JUL-13
using channel ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: restoring control file
channel ORA_AUX_DISK_1: reading from backup piece /u01/backup/orcl_04ofdshg_1_1_20130722
channel ORA_AUX_DISK_1: piece handle=/u01/backup/orcl_04ofdshg_1_1_20130722 tag=TAG20130722T234229
channel ORA_AUX_DISK_1: restored backup piece 1
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:03
output file name=/u01/oracle/oradata/control01.ctl
output file name=/u01/oracle/oradata/control02.ctl
output file name=/u01/oracle/oradata/control03.ctl
Finished restore at 24-JUL-13
contents of Memory Script:
{
sql clone 'alter database mount standby database';
}
executing Memory Script
sql statement: alter database mount standby database
Using previous duplicated file /u01/oracle/oradata/system01.dbf for datafile 1 with checkpoint SCN of 2218904
Using previous duplicated file /u01/oracle/oradata/sysaux01.dbf for datafile 2 with checkpoint SCN of 2218905
Using previous duplicated file /u01/oracle/oradata/undotbs01.dbf for datafile 3 with checkpoint SCN of 2218905
Using previous duplicated file /u01/oracle/oradata/users01.dbf for datafile 4 with checkpoint SCN of 2218904
contents of Memory Script:
{
set until scn 2279749;
set newname for tempfile 1 to
"/u01/oracle/oradata/temp01.dbf";
switch clone tempfile all;
}
executing Memory Script
executing command: SET until clause
executing command: SET NEWNAME
renamed tempfile 1 to /u01/oracle/oradata/temp01.dbf in control file
contents of Memory Script:
{
catalog clone datafilecopy "/u01/oracle/oradata/system01.dbf",
"/u01/oracle/oradata/sysaux01.dbf",
"/u01/oracle/oradata/undotbs01.dbf",
"/u01/oracle/oradata/users01.dbf";
switch clone datafile 1 to datafilecopy
"/u01/oracle/oradata/system01.dbf";
switch clone datafile 2 to datafilecopy
"/u01/oracle/oradata/sysaux01.dbf";
switch clone datafile 3 to datafilecopy
"/u01/oracle/oradata/undotbs01.dbf";
switch clone datafile 4 to datafilecopy
"/u01/oracle/oradata/users01.dbf";
}
executing Memory Script
cataloged datafile copy
datafile copy file name=/u01/oracle/oradata/system01.dbf RECID=1 STAMP=821654477
cataloged datafile copy
datafile copy file name=/u01/oracle/oradata/sysaux01.dbf RECID=2 STAMP=821654477
cataloged datafile copy
datafile copy file name=/u01/oracle/oradata/undotbs01.dbf RECID=3 STAMP=821654477
cataloged datafile copy
datafile copy file name=/u01/oracle/oradata/users01.dbf RECID=4 STAMP=821654477
datafile 1 switched to datafile copy
input datafile copy RECID=1 STAMP=821654477 file name=/u01/oracle/oradata/system01.dbf
datafile 2 switched to datafile copy
input datafile copy RECID=2 STAMP=821654477 file name=/u01/oracle/oradata/sysaux01.dbf
datafile 3 switched to datafile copy
input datafile copy RECID=3 STAMP=821654477 file name=/u01/oracle/oradata/undotbs01.dbf
datafile 4 switched to datafile copy
input datafile copy RECID=4 STAMP=821654477 file name=/u01/oracle/oradata/users01.dbf
contents of Memory Script:
{
set until scn 2279749;
recover
standby
clone database
delete archivelog
;
}
executing Memory Script
executing command: SET until clause
Starting recover at 24-JUL-13
using channel ORA_AUX_DISK_1
starting media recovery
channel ORA_AUX_DISK_1: starting archived log restore to default destination
channel ORA_AUX_DISK_1: restoring archived log
archived log thread=1 sequence=364
channel ORA_AUX_DISK_1: reading from backup piece /u01/backup/arch1_1nofis8g_1_1_20130724
channel ORA_AUX_DISK_1: piece handle=/u01/backup/arch1_1nofis8g_1_1_20130724 tag=TAG20130724T210602
channel ORA_AUX_DISK_1: restored backup piece 1
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01
archived log file name=/arch/1_364_815224926.arc thread=1 sequence=364
channel clone_default: deleting archived log(s)
archived log file name=/arch/1_364_815224926.arc RECID=1 STAMP=821654478
channel ORA_AUX_DISK_1: starting archived log restore to default destination
channel ORA_AUX_DISK_1: restoring archived log
archived log thread=1 sequence=365
channel ORA_AUX_DISK_1: restoring archived log
archived log thread=1 sequence=366
channel ORA_AUX_DISK_1: restoring archived log
archived log thread=1 sequence=367
channel ORA_AUX_DISK_1: restoring archived log
archived log thread=1 sequence=368
channel ORA_AUX_DISK_1: restoring archived log
archived log thread=1 sequence=369
channel ORA_AUX_DISK_1: reading from backup piece /u01/backup/arch1_1oofis8n_1_1_20130724
channel ORA_AUX_DISK_1: piece handle=/u01/backup/arch1_1oofis8n_1_1_20130724 tag=TAG20130724T210602
channel ORA_AUX_DISK_1: restored backup piece 1
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:03
archived log file name=/arch/1_365_815224926.arc thread=1 sequence=365
channel clone_default: deleting archived log(s)
archived log file name=/arch/1_365_815224926.arc RECID=3 STAMP=821654481
archived log file name=/arch/1_366_815224926.arc thread=1 sequence=366
channel clone_default: deleting archived log(s)
archived log file name=/arch/1_366_815224926.arc RECID=5 STAMP=821654483
archived log file name=/arch/1_367_815224926.arc thread=1 sequence=367
channel clone_default: deleting archived log(s)
archived log file name=/arch/1_367_815224926.arc RECID=6 STAMP=821654484
archived log file name=/arch/1_368_815224926.arc thread=1 sequence=368
channel clone_default: deleting archived log(s)
archived log file name=/arch/1_368_815224926.arc RECID=2 STAMP=821654481
archived log file name=/arch/1_369_815224926.arc thread=1 sequence=369
channel clone_default: deleting archived log(s)
archived log file name=/arch/1_369_815224926.arc RECID=4 STAMP=821654482
channel ORA_AUX_DISK_1: starting archived log restore to default destination
channel ORA_AUX_DISK_1: restoring archived log
archived log thread=1 sequence=370
channel ORA_AUX_DISK_1: restoring archived log
archived log thread=1 sequence=371
channel ORA_AUX_DISK_1: restoring archived log
archived log thread=1 sequence=372
channel ORA_AUX_DISK_1: restoring archived log
archived log thread=1 sequence=373
channel ORA_AUX_DISK_1: restoring archived log
archived log thread=1 sequence=374
channel ORA_AUX_DISK_1: reading from backup piece /u01/backup/arch1_1pofis8p_1_1_20130724
channel ORA_AUX_DISK_1: piece handle=/u01/backup/arch1_1pofis8p_1_1_20130724 tag=TAG20130724T210602
channel ORA_AUX_DISK_1: restored backup piece 1
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:03
archived log file name=/arch/1_370_815224926.arc thread=1 sequence=370
channel clone_default: deleting archived log(s)
archived log file name=/arch/1_370_815224926.arc RECID=8 STAMP=821654514
archived log file name=/arch/1_371_815224926.arc thread=1 sequence=371
channel clone_default: deleting archived log(s)
archived log file name=/arch/1_371_815224926.arc RECID=10 STAMP=821654515
archived log file name=/arch/1_372_815224926.arc thread=1 sequence=372
channel clone_default: deleting archived log(s)
archived log file name=/arch/1_372_815224926.arc RECID=7 STAMP=821654513
archived log file name=/arch/1_373_815224926.arc thread=1 sequence=373
channel clone_default: deleting archived log(s)
archived log file name=/arch/1_373_815224926.arc RECID=9 STAMP=821654514
archived log file name=/arch/1_374_815224926.arc thread=1 sequence=374
channel clone_default: deleting archived log(s)
archived log file name=/arch/1_374_815224926.arc RECID=11 STAMP=821654515
media recovery complete, elapsed time: 00:00:14
Finished recover at 24-JUL-13
Finished Duplicate Db at 24-JUL-13
注意Data Guard 启动顺序:
启动顺序:先standby ,后primary;
闭顺序:先primary 后standby;
SQL> startup nomount
ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance
ORACLE instance started.
Total System Global Area 510554112 bytes
Fixed Size 1337548 bytes
Variable Size 159385396 bytes
Database Buffers 343932928 bytes
Redo Buffers 5898240 bytes
SQL> alter database mount standby database;
Database altered.
应用归档日志
SQL> alter database recover managed standby database disconnect from session;
Database altered.
SQL> select status from v$instance;
STATUS
------------
MOUNTED
关闭应用归档日志
SQL> alter database recover managed standby database cancel;
Database altered.
SQL> alter database open read only;
SQL> select * From scott.t1;
no rows selected
主:
SQL> insert into t1 select * From emp;
14 rows created.
SQL> commit;
Commit complete.
SQL> alter system switch logfile;
System altered.
SQL> /
System altered.
SQL> /
备库:
SQL> shut immediate
SQL> alter database mount standby database;
SQL> alter database recover managed standby database disconnect from session;
SQL> alter database recover managed standby database cancel;
SQL> alter database open read only;
SQL> select * from scott.t1;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
7369 SMITH CLERK 7902 17-DEC-80 800 20
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30
7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30
7566 JONES MANAGER 7839 02-APR-81 2975 20
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30
7698 BLAKE MANAGER 7839 01-MAY-81 2850 30
7782 CLARK MANAGER 7839 09-JUN-81 2450 10
7788 SCOTT ANALYST 7566 19-APR-87 3000 20
7839 KING PRESIDENT 17-NOV-81 5000 10
7844 TURNER SALESMAN 7698 08-SEP-81 15000 30
7876 ADAMS CLERK 7788 23-MAY-87 1100 20
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
7900 JAMES CLERK 7698 03-DEC-81 950 30
7902 FORD ANALYST 7566 03-DEC-81 3000 20
7934 MILLER CLERK 7782 23-JAN-82 1300 10
14 rows selected.
六、在恢复过程中遇到的错误
错误:
错误一、orapwd$ORACLE_SID密码文件忘记改名
[oracle@localhost ~]$ rman target / auxiliary sys/oracle@orcl
Recovery Manager: Release 11.2.0.1.0 - Production on Sun Jul 21 18:38:24 2013
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
connected to target database (not started)
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00554: initialization of internal recovery manager package failed
RMAN-04006: error from auxiliary database: ORA-01031: insufficient privileges
错误二、主库和备库的db_name设置的不一样导致下列错误。dataguard的主库和备库的db_name 必须一致,sid、db_unique_name可以不一样,
RMAN> duplicate target database for standby;
Starting Duplicate Db at 21-JUL-13
using channel ORA_AUX_DISK_1
contents of Memory Script:
{
restore clone standby controlfile;
sql clone 'alter database mount standby database';
}
executing Memory Script
Starting restore at 21-JUL-13
channel ORA_AUX_DISK_1: starting datafile backupset restore
channel ORA_AUX_DISK_1: restoring control file
channel ORA_AUX_DISK_1: reading from backup piece /u01/control_01ofa9fl_1_1
channel ORA_AUX_DISK_1: restored backup piece 1
piece handle=/u01/control_01ofa9fl_1_1 tag=TAG20130721T150005
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01
output filename=/u01/oracle/oradata/control01.ctl
output filename=/u01/oracle/oradata/control02.ctl
output filename=/u01/oracle/oradata/control03.ctl
Finished restore at 21-JUL-13
sql statement: alter database mount standby database
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of Duplicate Db command at 07/21/2013 22:53:55
RMAN-03015: error occurred in stored script Memory Script
RMAN-03009: failure of sql command on clone_default channel at 07/21/2013 22:53:55
RMAN-11003: failure during parse/execution of SQL statement: alter database mount standby database
ORA-01103: database name 'ORA10G' in control file is not 'ORCL'
错误三、
RMAN> duplicate target database for standby;
Starting Duplicate Db at 21-JUL-13
using channel ORA_AUX_DISK_1
contents of Memory Script:
{
restore clone standby controlfile;
sql clone 'alter database mount standby database';
}
executing Memory Scrip
Starting restore at 21-JUL-13
channel ORA_AUX_DISK_1: starting datafile backupset restore
channel ORA_AUX_DISK_1: restoring control file
channel ORA_AUX_DISK_1: reading from backup piece /u01/control_01ofa9fl_1_1
channel ORA_AUX_DISK_1: restored backup piece 1
piece handle=/u01/control_01ofa9fl_1_1 tag=TAG20130721T150005
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:03
output filename=/u01/oracle/oradata/control01.ctl
output filename=/u01/oracle/oradata/control02.ctl
output filename=/u01/oracle/oradata/control03.ctl
Finished restore at 21-JUL-13
sql statement: alter database mount standby database
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of Duplicate Db command at 07/21/2013 23:43:24
RMAN-03015: error occurred in stored script Memory Script
RMAN-03009: failure of sql command on clone_default channel at 07/21/2013 23:43:24
RMAN-11003: failure during parse/execution of SQL statement: alter database mount standby database
ORA-01665: control file is not a standby control file
重新更换了备库的数据库版本:为11.2.0.1,出现下列错误
RMAN> duplicate target database for standby nofilenamecheck dorecover; 使用nofilenamecheck 告诉主库和备库有相同的文件名称
contents of Memory Script:
{
sql clone 'alter database mount standby database';
}
executing Memory Script
sql statement: alter database mount standby database
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of Duplicate Db command at 07/23/2013 00:00:34
RMAN-05501: aborting duplication of target database
RMAN-05001: auxiliary file name /u01/app/oracle/oradata/rac/users01.dbf conflicts with a file used by the target database
RMAN-05001: auxiliary file name /u01/app/oracle/oradata/rac/undotbs01.dbf conflicts with a file used by the target database
RMAN-05001: auxiliary file name /u01/app/oracle/oradata/rac/sysaux01.dbf conflicts with a file used by the target database
RMAN-05001: auxiliary file name /u01/app/oracle/oradata/rac/system01.dbf conflicts with a file used by the target database
alter database create standby controlfile as '
七、dataguard 安装完成后,测试检查
查看备库的进程:
SQL> select process,status,client_process from v$managed_standby;
PROCESS STATUS CLIENT_P
--------- ------------ --------
ARCH CONNECTED ARCH
ARCH CONNECTED ARCH
ARCH CONNECTED ARCH
ARCH CONNECTED ARCH
ARCH CONNECTED ARCH
ARCH CONNECTED ARCH
ARCH CONNECTED ARCH
ARCH CONNECTED ARCH
ARCH CONNECTED ARCH
ARCH CONNECTED ARCH
ARCH CONNECTED ARCH
ARCH CONNECTED ARCH
ARCH CONNECTED ARCH
ARCH CONNECTED ARCH
ARCH CONNECTED ARCH
ARCH CONNECTED ARCH
ARCH CONNECTED ARCH
ARCH CONNECTED ARCH
ARCH CONNECTED ARCH
ARCH CONNECTED ARCH
ARCH CONNECTED ARCH
ARCH CONNECTED ARCH
ARCH CONNECTED ARCH
ARCH CONNECTED ARCH
ARCH CONNECTED ARCH
ARCH CONNECTED ARCH
ARCH CONNECTED ARCH
ARCH CONNECTED ARCH
ARCH CONNECTED ARCH
ARCH CONNECTED ARCH
MRP0 WAIT_FOR_LOG N/A
RFS IDLE UNKNOWN
RFS IDLE UNKNOWN
RFS IDLE UNKNOWN
RFS IDLE UNKNOWN
RFS IDLE UNKNOWN
RFS IDLE UNKNOWN
RFS IDLE N/A
38 rows selected.
主库:
SQL> select process,status,client_process from v$managed_standby;
PROCESS STATUS CLIENT_P
--------- ------------ --------
ARCH CONNECTED ARCH
ARCH CONNECTED ARCH
ARCH CONNECTED ARCH
ARCH CLOSING ARCH
ARCH CLOSING ARCH
ARCH CLOSING ARCH
ARCH CLOSING ARCH
ARCH CLOSING ARCH
ARCH CLOSING ARCH
ARCH CLOSING ARCH
ARCH CLOSING ARCH
ARCH CLOSING ARCH
ARCH CLOSING ARCH
ARCH CLOSING ARCH
ARCH CLOSING ARCH
ARCH CONNECTED ARCH
ARCH CONNECTED ARCH
ARCH CONNECTED ARCH
ARCH CONNECTED ARCH
ARCH CONNECTED ARCH
ARCH CONNECTED ARCH
ARCH CONNECTED ARCH
ARCH CONNECTED ARCH
ARCH CONNECTED ARCH
ARCH CONNECTED ARCH
ARCH CONNECTED ARCH
ARCH CONNECTED ARCH
ARCH CONNECTED ARCH
ARCH CONNECTED ARCH
ARCH CONNECTED ARCH
30 rows selected.
通过上述,我们可以看到主库要有arch进程传输归档,参数文件中使用的是arch 进程传输归档。由目标端的RFS进程接受归档,然后由目标的MRP进程应用归档。
当我们在主库切换日志后,日志就会传到到备库,如果备库/archive 没有归档,检查监听是否已经启用,检查/archive 的目录权限
检查主库和备库的角色:
SQL> select database_role from v$database;
DATABASE_ROLE
----------------
PRIMARY
SQL> select database_role from v$database;
DATABASE_ROLE
----------------
PHYSICAL STANDBY
主:
SQL> select OPEN_MODE,DB_UNIQUE_NAME,PROTECTION_MODE,SWITCHOVER_STATUS from v$database;OPEN_MODE DB_UNIQUE_NAME PROTECTION_MODE SWITCHOVER_STATUS
-------------------- ------------------------------ -------------------- --------------------
READ WRITE rac MAXIMUM PERFORMANCE TO STANDBY
备:
SQL> select OPEN_MODE,DB_UNIQUE_NAME,PROTECTION_MODE,SWITCHOVER_STATUS from v$database;
OPEN_MODE DB_UNIQUE_NAME PROTECTION_MODE SWITCHOVER_STATUS
-------------------- ------------------------------ -------------------- --------------------
MOUNTED orcl MAXIMUM PERFORMANCE NOT ALLOWED