dataguard

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


SQL> alter database force logging;
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=335544320
ora10g.__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@orcl        

Recovery 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



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值