Data guard搭建

 

Data guard搭建

一、准备工作

 Oracle版本11.2.0.1,操作系统版本时红帽5.5

基本步骤

1.1打开force log

SQL> ALTER DATABASE FORCE LOGGING;

 

1.2备份主库

run {

sql 'alter system switch logfile';

shutdown immediate;

startup mount;

backup database format '/dsk3/backup/prod_%d_%t.bak';

alter database open;

sql 'alter system switch logfile';

}

 

RMAN> run {

2> sql 'alter system switch logfile';

3> shutdown immediate;

4> startup mount;

5> backup database format '/dsk3/backup/prod_%d_%t.bak';

6> alter database open;

7> sql 'alter system switch logfile';

8> }

 

using target database control file instead of recovery catalog

sql statement: alter system switch logfile

 

database closed

database dismounted

Oracle instance shut down

 

connected to target database (not started)

Oracle instance started

database mounted

 

Total System Global Area     836976640 bytes

 

Fixed Size                     1339740 bytes

Variable Size                234884772 bytes

Database Buffers             595591168 bytes

Redo Buffers                   5160960 bytes

 

Starting backup at 07-MAY-16

allocated channel: ORA_DISK_1

channel ORA_DISK_1: SID=18 device type=DISK

channel ORA_DISK_1: starting full datafile backup set

channel ORA_DISK_1: specifying datafile(s) in backup set

input datafile file number=00001 name=/oradata/prod/system01.dbf

input datafile file number=00002 name=/oradata/prod/sysaux01.dbf

input datafile file number=00003 name=/oradata/prod/undotbs01.dbf

input datafile file number=00004 name=/oradata/prod/users01.dbf

channel ORA_DISK_1: starting piece 1 at 07-MAY-16

channel ORA_DISK_1: finished piece 1 at 07-MAY-16

piece handle=/dsk3/backup/prod_PROD_911229277.bak tag=TAG20160507T151437 comment=NONE

channel ORA_DISK_1: backup set complete, elapsed time: 00:01:05

channel ORA_DISK_1: starting full datafile backup set

channel ORA_DISK_1: specifying datafile(s) in backup set

including current control file in backup set

including current SPFILE in backup set

channel ORA_DISK_1: starting piece 1 at 07-MAY-16

channel ORA_DISK_1: finished piece 1 at 07-MAY-16

piece handle=/dsk3/backup/prod_PROD_911229343.bak tag=TAG20160507T151437 comment=NONE

channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01

Finished backup at 07-MAY-16

 

database opened

 

sql statement: alter system switch logfile

 

 

二、编辑pfile

2.1主库的pfile

prod.__db_cache_size=595591168

prod.__java_pool_size=4194304

prod.__large_pool_size=4194304

prod.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment

prod.__pga_aggregate_target=104857600

prod.__sga_target=838860800

prod.__shared_io_pool_size=0

prod.__shared_pool_size=222298112

prod.__streams_pool_size=4194304

*.audit_file_dest='/u01/app/oracle/admin/prod/adump'

*.audit_trail='db'

*.compatible='11.2.0.0.0'

*.control_files='/oradata/prod/control01.ctl','/oradata/prod/control02.ctl'

*.db_block_size=8192

*.db_domain=''

*.db_name='prod'

*.diagnostic_dest='/u01/app/oracle'

*.dispatchers='(PROTOCOL=TCP) (SERVICE=prodXDB)'

*.log_archive_dest_1='location=/dsk3/arch'

*.open_cursors=300

*.pga_aggregate_target=104857600

*.processes=150

*.remote_login_passwordfile='EXCLUSIVE'

*.sga_target=838860800

*.undo_tablespace='UNDOTBS1'

 

DB_UNIQUE_NAME=bjdb
LOG_ARCHIVE_CONFIG='DG_CONFIG=(bjdb,shdb)'
LOG_ARCHIVE_DEST_1=
 'LOCATION=/dsk3/arch 
  VALID_FOR=(ALL_LOGFILES,ALL_ROLES)
  DB_UNIQUE_NAME=bjdb'
LOG_ARCHIVE_DEST_2=
 'SERVICE=shdb ASYNC
  VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) 
  DB_UNIQUE_NAME=shdb'
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENABLE
LOG_ARCHIVE_MAX_PROCESSES=3

 

 

FAL_SERVER=shdb
DB_FILE_NAME_CONVERT='/oradata/shdb','/oradata/prod/'
LOG_FILE_NAME_CONVERT=
'/dsk1/sh/onlinelog','/dsk1/bj/onlinelog/','/dsk2/sh/onlinelog/','/dsk2/bj/onlinelog/' 
STANDBY_FILE_MANAGEMENT=AUTO

 

 

2.2备库的pfile

 

DB_NAME=prod
DB_UNIQUE_NAME=shdb
LOG_ARCHIVE_CONFIG='DG_CONFIG=(bjdb,shdb)'
CONTROL_FILES='/oradata/shdb/sh01.ctl', '/oradata/shdb/sh02.ctl'
DB_FILE_NAME_CONVERT='/oradata/prod/','/oradata/shdb/'
这里的这个参数如下设置也是可以的,只要/oradata/shdb/路径已经创建。
#DB_FILE_NAME_CONVERT='prod','shdb'
LOG_FILE_NAME_CONVERT=
'/dsk1/bj/onlinelog/','/dsk1/sh/onlinelog/','/dsk2/bj/onlinelog/','/dsk2/sh/onlinelog/'
LOG_ARCHIVE_DEST_1=
 'LOCATION=/dsk3/arch
  VALID_FOR=(ALL_LOGFILES,ALL_ROLES) 
  DB_UNIQUE_NAME=shdb'
LOG_ARCHIVE_DEST_2=
 'SERVICE=bjdb ASYNC
  VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) 
  DB_UNIQUE_NAME=bjdb'
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENABLE
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
STANDBY_FILE_MANAGEMENT=AUTO
FAL_SERVER=bjdb

 

 

三、重启主库到mount

SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

 

 

SQL> startup pfile='/home/oracle/init.ora' nomount;

ORACLE instance started.

 

Total System Global Area  836976640 bytes

Fixed Size                  1339740 bytes

Variable Size             234884772 bytes

Database Buffers          595591168 bytes

Redo Buffers                5160960 bytes

 

 

 

SQL> set pagesize 200

SQL> show parameter log

 

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

audit_syslog_level                   string

commit_logging                       string

db_create_online_log_dest_1          string

db_create_online_log_dest_2          string

db_create_online_log_dest_3          string

db_create_online_log_dest_4          string

db_create_online_log_dest_5          string

enable_ddl_logging                   boolean     FALSE

log_archive_config                   string      DG_CONFIG=(bjdb,shdb)

log_archive_dest                     string

log_archive_dest_1                   string      LOCATION=/dsk3/arch

                                                   VALID_FOR=(ALL_LOGFILES,ALL_

                                                 ROLES)

                                                   DB_UNIQUE_NAME=bjdb

log_archive_dest_10                  string

log_archive_dest_11                  string

log_archive_dest_18                  string

log_archive_dest_19                  string

log_archive_dest_2                   string      SERVICE=shdb ASYNC

                                                   VALID_FOR=(ONLINE_LOGFILES,P

                                                 RIMARY_ROLE)

                                                   DB_UNIQUE_NAME=shdb

log_archive_dest_20                  string

log_archive_duplex_dest              string

log_archive_format                   string      %t_%s_%r.dbf

log_archive_local_first              boolean     TRUE

log_archive_max_processes            integer     3

log_archive_min_succeed_dest         integer     1

log_archive_start                    boolean     FALSE

log_archive_trace                    integer     0

log_buffer                           integer     4980736

log_checkpoint_interval              integer     0

log_checkpoint_timeout               integer     1800

log_checkpoints_to_alert             boolean     FALSE

log_file_name_convert                string      /dsk1/sh/onlinelog, /dsk1/bj/o

                                                 nlinelog/, /dsk2/sh/onlinelog/

                                                 , /dsk2/bj/onlinelog/

remote_login_passwordfile            string      EXCLUSIVE

sec_case_sensitive_logon             boolean     TRUE

sec_max_failed_login_attempts        integer     10

SQL>

SQL>          

SQL>

SQL> show parameter name

 

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

db_file_name_convert                 string      /oradata/shdb, /oradata/prod/

db_name                              string      prod

db_unique_name                       string      bjdb

global_names                         boolean     FALSE

instance_name                        string      prod

lock_name_space                      string

log_file_name_convert                string      /dsk1/sh/onlinelog, /dsk1/bj/o

                                                 nlinelog/, /dsk2/sh/onlinelog/

                                                 , /dsk2/bj/onlinelog/

service_names                        string      bjdb

SQL>

 

 

 

SQL>

SQL> create spfile from pfile='/home/oracle/init.ora';

 

File created.

 

SQL>

SQL>

SQL>

SQL> shutdown immediate;

ORA-01507: database not mounted

 

 

ORACLE instance shut down.

SQL> startup mount;

ORACLE instance started.

 

Total System Global Area  836976640 bytes

Fixed Size                  1339740 bytes

Variable Size             234884772 bytes

Database Buffers          595591168 bytes

Redo Buffers                5160960 bytes

Database mounted.

SQL> show parameter log

 

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

audit_syslog_level                   string

commit_logging                       string

db_create_online_log_dest_1          string

db_create_online_log_dest_2          string

db_create_online_log_dest_3          string

db_create_online_log_dest_4          string

db_create_online_log_dest_5          string

enable_ddl_logging                   boolean     FALSE

log_archive_config                   string      DG_CONFIG=(bjdb,shdb)

log_archive_dest                     string

log_archive_dest_1                   string      LOCATION=/dsk3/arch

                                                   VALID_FOR=(ALL_LOGFILES,ALL_

                                                 ROLES)

                                                   DB_UNIQUE_NAME=bjdb

 

 

四、拷贝主库到备库

4.1拷贝数据文件

 

[oracle@bj prod]$ scp * sh:/oradata/shdb

oracle@sh's password:

control01.ctl                                                 100% 9520KB   4.7MB/s   00:02   

control02.ctl                                                 100% 9520KB   4.7MB/s   00:02   

redo01.log                                                    100%   50MB   5.0MB/s   00:10   

sysaux01.dbf                                                  100%  600MB   5.6MB/s   01:47   

system01.dbf                                                  100%  700MB   5.5MB/s   02:07   

temp01.dbf                                                    100%   20MB   5.0MB/s   00:04   

undotbs01.dbf                                                 100%  275MB   5.4MB/s   00:51   

users01.dbf                                                   100% 5128KB   2.5MB/s   00:02   

[oracle@bj prod]$

 

4.2拷贝密码文件和pfile

 

[oracle@bj ~]$ scp init.ora sh:$ORACLE_HOME/dbs/

oracle@sh's password:

init.ora                                                      100% 1420     1.4KB/s   00:00   

[oracle@bj ~]$

 

[oracle@bj dbs]$ scp orapwprod sh:$ORACLE_HOME/dbs/orapwshdb

oracle@sh's password:

orapwprod                                                     100% 1536     1.5KB/s   00:01   

[oracle@bj dbs]$

4.3生成备库控制文件,并拷贝到备库

QL> alter database create standby controlfile as '/home/oracle/sh.ctl';

 

Database altered.

 

SQL> exit

Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production

With the Partitioning, Data Mining and Real Application Testing options

[oracle@bj ~]$ ll

total 9836

-rw-rw-r-- 1 oracle oracle      30 Mar 26  2013 afiedt.buf

-rw-rw-r-- 1 oracle oracle    1420 May  7 15:06 init.ora

-rw-r----- 1 oracle oracle  289727 Mar 26  2013 install2013-03-26_00-35-09.log

drwxr-x--- 3 oracle oracle    4096 Mar 25  2013 oradiag_oracle

-rw-rw---- 1 oracle oracle 9748480 May  7 15:41 sh.ctl

[oracle@bj ~]$

 

 

[oracle@bj ~]$ scp sh.ctl sh:/oradata/shdb/sh01.ctl

oracle@sh's password:

sh.ctl                                                        100% 9520KB   9.3MB/s   00:01   

[oracle@bj ~]$ scp sh.ctl sh:/oradata/shdb/sh02.ctl

oracle@sh's password:

sh.ctl                                                        100% 9520KB   9.3MB/s   00:01   

[oracle@bj ~]$

 

 

 

五、配置tns并启动备库

5.1主库备库都启动监听

[oracle@sh admin]$ vi tnsnames.ora

 

BJDB =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = bj)(PORT = 1521))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = bjdb)

    )

  )

 

 

SHDB =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = sh)(PORT = 1521))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = shdb)

    )

  )

 

 

 

5.2启动备库

export ORACLE_SID=shdb

 

SQL> startup pfile='/home/oracle/init.ora' nomount;

ORACLE instance started.

 

Total System Global Area  146472960 bytes

Fixed Size                  1335080 bytes

Variable Size              92274904 bytes

Database Buffers           50331648 bytes

Redo Buffers                2531328 bytes

SQL> show parameter name

 

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

db_file_name_convert                 string      /oradata/prod/, /oradata/shdb

db_name                              string      prod

db_unique_name                       string      shdb

global_names                         boolean     FALSE

instance_name                        string      shdb

lock_name_space                      string

log_file_name_convert                string      /dsk1/bj/onlinelog/, /dsk1/sh/

                                                 onlinelog/, /dsk2/bj/onlinelog

                                                 /, /dsk2/sh/onlinelog/

service_names                        string      shdb

 

SQL> create spfile from pfile='/home/oracle/init.ora';

 

六、使用备份恢复的方式创建dg

6.1使用duplicate方式搭建dg

6.1.1编辑主库备库的pfile

主库

[oracle@bj ~]$ more init.ora

 

prod.__db_cache_size=595591168

prod.__java_pool_size=4194304

prod.__large_pool_size=4194304

prod.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment

prod.__pga_aggregate_target=104857600

prod.__sga_target=838860800

prod.__shared_io_pool_size=0

prod.__shared_pool_size=222298112

prod.__streams_pool_size=4194304

*.audit_file_dest='/u01/app/oracle/admin/prod/adump'

*.audit_trail='db'

*.compatible='11.2.0.0.0'

*.control_files='/oradata/prod/control01.ctl','/oradata/prod/control02.ctl'

*.db_block_size=8192

*.db_domain=''

*.db_name='prod'

*.diagnostic_dest='/u01/app/oracle'

*.dispatchers='(PROTOCOL=TCP) (SERVICE=prodXDB)'

*.log_archive_dest_1='location=/dsk3/arch'

*.open_cursors=300

*.pga_aggregate_target=104857600

*.processes=150

*.remote_login_passwordfile='EXCLUSIVE'

*.sga_target=838860800

*.undo_tablespace='UNDOTBS1'

 

DB_UNIQUE_NAME=bjdb

LOG_ARCHIVE_CONFIG='DG_CONFIG=(bjdb,shdb)'

 

LOG_ARCHIVE_DEST_1=

 'LOCATION=/dsk3/arch

  VALID_FOR=(ALL_LOGFILES,ALL_ROLES)

  DB_UNIQUE_NAME=bjdb'

LOG_ARCHIVE_DEST_2=

 'SERVICE=shdb ASYNC

  VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)

  DB_UNIQUE_NAME=shdb'

 

LOG_ARCHIVE_DEST_STATE_1=ENABLE

LOG_ARCHIVE_DEST_STATE_2=ENABLE

LOG_ARCHIVE_MAX_PROCESSES=3

 

FAL_SERVER=shdb

DB_FILE_NAME_CONVERT='/oradata/shdb','/oradata/prod/'

LOG_FILE_NAME_CONVERT='/dsk1/sh/onlinelog','/dsk1/bj/onlinelog/','/dsk2/sh/onlinelog/','/dsk2/bj

/onlinelog/'

STANDBY_FILE_MANAGEMENT=AUTO

 

------------------------------------------------------------------------

备库

[oracle@sh ~]$ more init.ora

shdb.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment

*.CONTROL_FILES='/oradata/shdb/sh01.ctl','/oradata/shdb/sh02.ctl'

*.DB_FILE_NAME_CONVERT='/oradata/prod/','/oradata/shdb/'

*.DB_NAME='prod'

*.DB_UNIQUE_NAME='shdb'

*.FAL_SERVER='bjdb'

*.LOG_ARCHIVE_CONFIG='DG_CONFIG=(bjdb,shdb)'

*.LOG_ARCHIVE_DEST_1='LOCATION=/dsk3/arch

  VALID_FOR=(ALL_LOGFILES,ALL_ROLES)

  DB_UNIQUE_NAME=shdb'

*.LOG_ARCHIVE_DEST_2='SERVICE=bjdb ASYNC

  VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)

  DB_UNIQUE_NAME=bjdb'

*.LOG_ARCHIVE_DEST_STATE_1='ENABLE'

*.LOG_ARCHIVE_DEST_STATE_2='ENABLE'

*.LOG_FILE_NAME_CONVERT='/dsk1/bj/onlinelog/','/dsk1/sh/onlinelog/','/dsk2/bj/onlinelog/','/dsk2

/sh/onlinelog/'

*.REMOTE_LOGIN_PASSWORDFILE='EXCLUSIVE'

*.STANDBY_FILE_MANAGEMENT='AUTO'

 

6.1.2备库需要配置静态监听

先连接到主库
RMAN> connect target sys@JED
在连接到备库,前提是配置静态监听
RMAN> connect auxiliary sys@JED2
在通过这条明天创建备库
RMAN> duplicate target database for standby from active database; 

 

连接报错,需要配置静态监听

[oracle@sh shdb]$ rman target / auxiliary sys/oracle@shdb

 

Recovery Manager: Release 11.2.0.1.0 - Production on Sat May 7 22:19:38 2016

 

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

 

connected to target database: PROD (not mounted)

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-12528: TNS:listener: all appropriate instances are blocking new connections

[oracle@sh shdb]$ cd

 

 

 

 

配置静态监听

[oracle@sh admin]$ mv listener.ora listener.ora.bak

 

[oracle@sh admin]$ vi listener.ora

 

LISTENER =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS = (PROTOCOL = TCP)(HOST = sh)(PORT = 1522))            

    )

  )

 

SID_LIST_LISTENER =

  (SID_LIST =

    (SID_DESC =

      (SID_NAME = PLSExtProc)

      (ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)

      (PROGRAM = extproc)

    )

 

    (SID_DESC =

      (GLOBAL_DBNAME = shdb)

      (ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)

      (SID_NAME = shdb)

    )

 

  )

[oracle@sh admin]$ lsnrctl start

 

LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 07-MAY-2016 22:27:58

 

Copyright (c) 1991, 2009, Oracle.  All rights reserved.

 

Starting /u01/app/oracle/product/11.2.0/dbhome_1/bin/tnslsnr: please wait...

 

TNSLSNR for Linux: Version 11.2.0.1.0 - Production

System parameter file is /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora

Log messages written to /u01/app/oracle/diag/tnslsnr/sh/listener/alert/log.xml

Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=sh)(PORT=1521)))

 

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=sh)(PORT=1521)))

STATUS of the LISTENER

------------------------

Alias                     LISTENER

Version                   TNSLSNR for Linux: Version 11.2.0.1.0 - Production

Start Date                07-MAY-2016 22:27:58

Uptime                    0 days 0 hr. 0 min. 0 sec

Trace Level               off

Security                  ON: Local OS Authentication

SNMP                      OFF

Listener Parameter File   /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora

Listener Log File         /u01/app/oracle/diag/tnslsnr/sh/listener/alert/log.xml

Listening Endpoints Summary...

  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=sh)(PORT=1521)))

Services Summary...

Service "PLSExtProc" has 1 instance(s).

  Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...

Service "shdb" has 1 instance(s).

  Instance "shdb", status UNKNOWN, has 1 handler(s) for this service...

The command completed successfully

[oracle@sh admin]$

 

同时连接主库和备库

[oracle@sh ~]$ rman target sys/oracle@bjdb auxiliary sys/oracle@shdb

 

Recovery Manager: Release 11.2.0.1.0 - Production on Sat May 7 22:35:23 2016

 

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

 

connected to target database: PROD (DBID=222874664)

connected to auxiliary database: PROD (not mounted)

 

RMAN>

 

6.1.3使用dulicate命令创建备库

RMAN> duplicate target database for standby from active database;

 

Starting Duplicate Db at 07-MAY-16

using target database control file instead of recovery catalog

allocated channel: ORA_AUX_DISK_1

channel ORA_AUX_DISK_1: SID=17 device type=DISK

 

contents of Memory Script:

{

   backup as copy reuse

   targetfile  '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/orapwprod' auxiliary format

 '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/orapwshdb'   ;

}

executing Memory Script

 

Starting backup at 07-MAY-16

allocated channel: ORA_DISK_1

channel ORA_DISK_1: SID=34 device type=DISK

Finished backup at 07-MAY-16

 

contents of Memory Script:

{

   backup as copy current controlfile for standby auxiliary format  '/oradata/shdb/sh01.ctl';

   restore clone controlfile to  '/oradata/shdb/sh02.ctl' from

 '/oradata/shdb/sh01.ctl';

}

executing Memory Script

 

Starting backup at 07-MAY-16

using channel ORA_DISK_1

channel ORA_DISK_1: starting datafile copy

copying standby control file

output file name=/u01/app/oracle/product/11.2.0/dbhome_1/dbs/snapcf_prod.f tag=TAG20160507T224404 RECID=3 STAMP=911256244

channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:03

Finished backup at 07-MAY-16

 

Starting restore at 07-MAY-16

using channel ORA_AUX_DISK_1

 

channel ORA_AUX_DISK_1: copied control file copy

Finished restore at 07-MAY-16

 

contents of Memory Script:

{

   sql clone 'alter database mount standby database';

}

executing Memory Script

 

sql statement: alter database mount standby database

 

contents of Memory Script:

{

   set newname for tempfile  1 to

 "/oradata/shdb/temp01.dbf";

   switch clone tempfile all;

   set newname for datafile  1 to

 "/oradata/shdb/system01.dbf";

   set newname for datafile  2 to

 "/oradata/shdb/sysaux01.dbf";

   set newname for datafile  3 to

 "/oradata/shdb/undotbs01.dbf";

   set newname for datafile  4 to

 "/oradata/shdb/users01.dbf";

   set newname for datafile  5 to

 "/oradata/shdb/tbs01.dbf";

   backup as copy reuse

   datafile  1 auxiliary format

 "/oradata/shdb/system01.dbf"   datafile

 2 auxiliary format

 "/oradata/shdb/sysaux01.dbf"   datafile

 3 auxiliary format

 "/oradata/shdb/undotbs01.dbf"   datafile

 4 auxiliary format

 "/oradata/shdb/users01.dbf"   datafile

 5 auxiliary format

 "/oradata/shdb/tbs01.dbf"   ;

   sql 'alter system archive log current';

}

executing Memory Script

 

executing command: SET NEWNAME

 

renamed tempfile 1 to /oradata/shdb/temp01.dbf in control file

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

executing command: SET NEWNAME

 

Starting backup at 07-MAY-16

using channel ORA_DISK_1

channel ORA_DISK_1: starting datafile copy

input datafile file number=00001 name=/oradata/prod/system01.dbf

 

output file name=/oradata/shdb/system01.dbf tag=TAG20160507T224414

channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:58

channel ORA_DISK_1: starting datafile copy

input datafile file number=00002 name=/oradata/prod/sysaux01.dbf

output file name=/oradata/shdb/sysaux01.dbf tag=TAG20160507T224414

channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:47

channel ORA_DISK_1: starting datafile copy

input datafile file number=00003 name=/oradata/prod/undotbs01.dbf

output file name=/oradata/shdb/undotbs01.dbf tag=TAG20160507T224414

channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:27

channel ORA_DISK_1: starting datafile copy

input datafile file number=00005 name=/oradata/prod/tbs01.dbf

output file name=/oradata/shdb/tbs01.dbf tag=TAG20160507T224414

channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01

channel ORA_DISK_1: starting datafile copy

input datafile file number=00004 name=/oradata/prod/users01.dbf

output file name=/oradata/shdb/users01.dbf tag=TAG20160507T224414

channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01

Finished backup at 07-MAY-16

 

sql statement: alter system archive log current

 

contents of Memory Script:

{

   switch clone datafile all;

}

executing Memory Script

 

datafile 1 switched to datafile copy

input datafile copy RECID=3 STAMP=911255907 file name=/oradata/shdb/system01.dbf

datafile 2 switched to datafile copy

input datafile copy RECID=4 STAMP=911255907 file name=/oradata/shdb/sysaux01.dbf

datafile 3 switched to datafile copy

input datafile copy RECID=5 STAMP=911255907 file name=/oradata/shdb/undotbs01.dbf

datafile 4 switched to datafile copy

input datafile copy RECID=6 STAMP=911255907 file name=/oradata/shdb/users01.dbf

datafile 5 switched to datafile copy

input datafile copy RECID=7 STAMP=911255907 file name=/oradata/shdb/tbs01.dbf

Finished Duplicate Db at 07-MAY-16

 

RMAN>

 

6.1.4使用打开备库的介质恢复功能

SQL> select status from v$instance;

 

STATUS

------------

MOUNTED

 

SQL>

SQL>

SQL> alter database recover managed standby database disconnect from session;

 

Database altered.

 

SQL> recover managed standby database cancel;

Media recovery complete.

SQL>

SQL>

SQL>

 

 

6.2使用备份恢复的方式搭建dg

 

 

 

 

七、一些问题

7.1备库db_file_name_convert设置错误

主库切换日志,备库接收到日志,单并没有进行介质恢复

[oracle@bj dbs]$ sqlplus / as sysdba

 

SQL*Plus: Release 11.2.0.1.0 Production on Sat May 7 16:23:32 2016

 

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

 

 

Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production

With the Partitioning, Data Mining and Real Application Testing options

 

SQL> alter system switch logfile;

 

System altered.

 

SQL> /

 

System altered.

 

SQL>

 

 

备库接收到归档日志

[oracle@sh trace]$ tail -f /u01/app/oracle/diag/rdbms/shdb/shdb/trace/alert_shdb.log

Sat May 07 16:19:48 2016

RFS[3]: Assigned to RFS process 719

RFS[3]: Identified database type as 'physical standby': Client is LGWR ASYNC pid 1060

Primary database is in MAXIMUM PERFORMANCE mode

RFS[3]: Opened log for thread 1 sequence 61 dbid 222874664 branch 811036328

Archived Log entry 4 added for thread 1 sequence 61 rlc 811036328 ID 0xd494f28 dest 2:

RFS[3]: Opened log for thread 1 sequence 62 dbid 222874664 branch 811036328

Sat May 07 16:20:42 2016

RFS[4]: Assigned to RFS process 725

RFS[4]: Identified database type as 'physical standby': Client is ARCH pid 1058

Sat May 07 16:23:32 2016

Archived Log entry 5 added for thread 1 sequence 62 rlc 811036328 ID 0xd494f28 dest 2:

RFS[3]: Opened log for thread 1 sequence 63 dbid 222874664 branch 811036328

Sat May 07 16:24:09 2016

Archived Log entry 6 added for thread 1 sequence 63 rlc 811036328 ID 0xd494f28 dest 2:

RFS[3]: Opened log for thread 1 sequence 64 dbid 222874664 branch 811036328

 

 

[oracle@sh dsk3]$ cd arch

[oracle@sh arch]$ ll

total 1008

-rw-rw---- 1 oracle oracle   159232 May  7 16:19 1_58_811036328.dbf

-rw-rw---- 1 oracle oracle    48640 May  7 16:19 1_59_811036328.dbf

-rw-rw---- 1 oracle oracle   481792 May  7 16:19 1_60_811036328.dbf

-rw-rw---- 1 oracle oracle    54272 May  7 16:19 1_61_811036328.dbf

-rw-rw---- 1 oracle oracle   244736 May  7 16:23 1_62_811036328.dbf

-rw-rw---- 1 oracle oracle 52429312 May  7 16:23 1_63_811036328.dbf

主库切换日志后,备库归档目录下日志增加。

[oracle@sh arch]$ ll

total 1016

-rw-rw---- 1 oracle oracle   159232 May  7 16:19 1_58_811036328.dbf

-rw-rw---- 1 oracle oracle    48640 May  7 16:19 1_59_811036328.dbf

-rw-rw---- 1 oracle oracle   481792 May  7 16:19 1_60_811036328.dbf

-rw-rw---- 1 oracle oracle    54272 May  7 16:19 1_61_811036328.dbf

-rw-rw---- 1 oracle oracle   244736 May  7 16:23 1_62_811036328.dbf

-rw-rw---- 1 oracle oracle    24576 May  7 16:24 1_63_811036328.dbf

-rw-rw---- 1 oracle oracle 52429312 May  7 16:24 1_64_811036328.dbf

[oracle@sh arch]$

 

 

开启日志恢复后告警日志报错

 

SQL> select name from v$archived_log;

 

NAME

--------------------------------------------------------------------------------

/dsk3/arch/1_58_811036328.dbf

/dsk3/arch/1_60_811036328.dbf

/dsk3/arch/1_59_811036328.dbf

/dsk3/arch/1_61_811036328.dbf

/dsk3/arch/1_62_811036328.dbf

/dsk3/arch/1_63_811036328.dbf

 

6 rows selected.

 

SQL> alter database recover managed standby database disconnect from session;

 

Database altered.

 

SQL>recover managed standby database cancel;

 

Sat May 07 16:29:42 2016

Errors in file /u01/app/oracle/diag/rdbms/shdb/shdb/trace/shdb_dbw0_678.trc:

ORA-01157: cannot identify/lock data file 1 - see DBWR trace file

ORA-01110: data file 1: '/oradata/shdbsystem01.dbf'

ORA-27037: unable to obtain file status

Linux Error: 2: No such file or directory

Additional information: 3

Errors in file /u01/app/oracle/diag/rdbms/shdb/shdb/trace/shdb_dbw0_678.trc:

ORA-01157: cannot identify/lock data file 2 - see DBWR trace file

ORA-01110: data file 2: '/oradata/shdbsysaux01.dbf'

ORA-27037: unable to obtain file status

Linux Error: 2: No such file or directory

Additional information: 3

Errors in file /u01/app/oracle/diag/rdbms/shdb/shdb/trace/shdb_dbw0_678.trc:

ORA-01157: cannot identify/lock data file

 

从新设置这个参数,从起恢复后正常

SQL> show parameter name

 

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

db_file_name_convert                 string      /oradata/prod/, /oradata/shdb

db_name                              string      prod

db_unique_name                       string      shdb

global_names                         boolean     FALSE

instance_name                        string      shdb

lock_name_space                      string

log_file_name_convert                string      /dsk1/bj/onlinelog/, /dsk1/sh/

                                                 onlinelog/, /dsk2/bj/onlinelog

                                                 /, /dsk2/sh/onlinelog/

service_names                        string      shdb

 

7.2备库日志文件的报错处理

备库告警报日志错误,清除此错误

RA-00313: open failed for members of log group 3 of thread 1

ORA-00312: online log 3 thread 1: '/dsk2/sh/onlinelog/redo03a.log'

ORA-27037: unable to obtain file status

Linux Error: 2: No such file or directory

Additional information: 3

ORA-00312: online log 3 thread 1: '/dsk1/sh/onlinelog/redo03b.log'

ORA-27037: unable to obtain file status

Linux Error: 2: No such file or directory

Additional information: 3

Errors in file /u01/app/oracle/diag/rdbms/shdb/shdb/trace/shdb_mrp0_1094.trc:

ORA-00313: open failed for members of log group 3 of thread 1

ORA-00312: online log 3 thread 1: '/dsk2/sh/onlinelog/redo03a.log'

ORA-27037: unable to obtain file status

Linux Error: 2: No such file or directory

Additional information: 3

ORA-00312: online log 3 thread 1: '/dsk1/sh/onlinelog/redo03b.log'

ORA-27037: unable to obtain file status

Linux Error: 2: No such file or directory

Additional information: 3

Clearing online redo logfile 3 complete

 

Mv日志文件

[root@sh onlinelog]# ll

total 153780

-rw-rw---- 1 oracle oracle 52429312 May  7 16:35 redo01a.bak

-rw-rw---- 1 oracle oracle 52429312 May  7 16:35 redo02a.bak

-rw-rw---- 1 oracle oracle 52429312 May  7 16:35 redo03a.bak

 

取消介质恢复

SQL>recover managed standby database cancel;

 

 

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

 

Database altered.

 

SQL> alter database clear logfile group 1;

 

Database altered.

Clear之后所有的日志文件都进行了重建

[oracle@sh onlinelog]$ ll

total 307560

-rw-rw---- 1 oracle oracle 52429312 May  7 16:35 redo01b.bak

-rw-rw---- 1 oracle oracle 52429312 May  7 17:00 redo01b.log

-rw-rw---- 1 oracle oracle 52429312 May  7 16:35 redo02b.bak

-rw-rw---- 1 oracle oracle 52429312 May  7 16:51 redo02b.log

-rw-rw---- 1 oracle oracle 52429312 May  7 16:35 redo03b.bak

-rw-rw---- 1 oracle oracle 52429312 May  7 16:51 redo03b.log

SQL> select group#,thread#,bytes/1024/1024 mb ,status,SEQUENCE#  from v$log

  2  ;

 

    GROUP#    THREAD#         MB STATUS            SEQUENCE#

---------- ---------- ---------- ---------------- ----------

         1          1         50 CLEARING_CURRENT         73

         3          1         50 CLEARING                 72

         2          1         50 CLEARING                 71

 

主库进行日志切换,备库也随之切换

SQL> alter system switch logfile;

 

System altered.

主库

SQL> select group#,thread#,bytes/1024/1024 mb ,status,SEQUENCE#  from v$log;

 

    GROUP#    THREAD#         MB STATUS            SEQUENCE#

---------- ---------- ---------- ---------------- ----------

         1          1         50 ACTIVE                   73

         2          1         50 CURRENT                  74

         3          1         50 INACTIVE                 72

备库状态

SQL> select group#,thread#,bytes/1024/1024 mb ,status,SEQUENCE#  from v$log;

 

    GROUP#    THREAD#         MB STATUS            SEQUENCE#

---------- ---------- ---------- ---------------- ----------

         1          1         50 CLEARING                 73

         3          1         50 CLEARING                 72

         2          1         50 CLEARING_CURRENT         74

 

 

打开日志应用

SQL> alter database recover managed standby database disconnect from session;

 

Database altered.

 

SQL>

日志没有报错

Completed: alter database recover managed standby database disconnect from session

Media Recovery Waiting for thread 1 sequence 74 (in transit)

 

 

 

 

7.3切换主库和备库

 

7.3.1查看主库和备库的状态

主库

SQL> r

  1* select name,dbid,database_role,PROTECTION_MODE from v$database

 

NAME             DBID DATABASE_ROLE    PROTECTION_MODE

---------- ---------- ---------------- --------------------

PROD        222874664 PRIMARY          MAXIMUM PERFORMANCE

 

SQL>

SQL>

SQL>

 

备库

SQL>  select name,dbid,database_role,PROTECTION_MODE from v$database;

 

NAME                       DBID DATABASE_ROLE    PROTECTION_MODE

-------------------- ---------- ---------------- --------------------

PROD                  222874664 PHYSICAL STANDBY MAXIMUM PERFORMANCE

 

SQL>

 

7.3.2查看主库和备库是否允许切换

SQL> select max(sequence#) from v$archived_log;

 

MAX(SEQUENCE#)

--------------

            89

 

SQL> select max(sequence#) from v$archived_log;

 

MAX(SEQUENCE#)

--------------

            89

 

SQL> select name,database_role,protection_mode,switchover_status from v$database;

 

NAME       DATABASE_ROLE    PROTECTION_MODE      SWITCHOVER_STATUS

---------- ---------------- -------------------- --------------------

PROD       PRIMARY          MAXIMUM PERFORMANCE  TO STANDBY

 

SQL>

 

 

 

 

SQL> select name,database_role,protection_mode,switchover_status from v$database;

 

NAME                 DATABASE_ROLE    PROTECTION_MODE      SWITCHOVER_STATUS

-------------------- ---------------- -------------------- --------------------

PROD                 PHYSICAL STANDBY MAXIMUM PERFORMANCE  NOT ALLOWED

 

 

SQL> select username,sid from v$session where username is not null;

 

USERNAME                              SID

------------------------------ ----------

SYS                                     1

 

SQL>

 

7.3.3切换主备库

切换主库,正常下主库处于open状态

SQL> alter database commit to switchover to physical standby;

 

Database altered.

 

SQL> select name,database_role,protection_mode,switchover_status from v$database;

select name,database_role,protection_mode,switchover_status from v$database

                                                                 *

ERROR at line 1:

ORA-01507: database not mounted

 

 

SQL> shutdown immediate;

ORA-01507: database not mounted

 

 

ORACLE instance shut down.

SQL> startup mount;

ORACLE instance started.

 

Total System Global Area  836976640 bytes

Fixed Size                  1339740 bytes

Variable Size             234884772 bytes

Database Buffers          595591168 bytes

Redo Buffers                5160960 bytes

Database mounted.

打开介质应用

SQL> alter database recover managed standby database disconnect from session;

 

Database altered.

 

SQL>

 

切换备库

此时备库的状态会自动变成 to primary

SQL> r     

  1* select name,database_role,protection_mode,switchover_status from v$database

 

NAME                 DATABASE_ROLE    PROTECTION_MODE      SWITCHOVER_STATUS

-------------------- ---------------- -------------------- --------------------

PROD                 PHYSICAL STANDBY MAXIMUM PERFORMANCE  TO PRIMARY

 

SQL>

切换的时候可以再mount,也可以再read only open状态

SQL> alter database commit to switchover to primary;

 

Database altered.

 

SQL> select name,database_role,protection_mode,switchover_status from v$database

  2  ;

 

NAME                 DATABASE_ROLE    PROTECTION_MODE      SWITCHOVER_STATUS

-------------------- ---------------- -------------------- --------------------

PROD                 PRIMARY          MAXIMUM PERFORMANCE  NOT ALLOWED

 

SQL>

 

切换完成后从新启动数据库

SQL> select status from v$instance;

 

STATUS

------------

MOUNTED

 

SQL> alter database open;

alter database open

*

ERROR at line 1:

ORA-03113: end-of-file on communication channel

Process ID: 2865

Session ID: 19 Serial number: 9

 

 

SQL> exit

Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production

With the Partitioning, Data Mining and Real Application Testing options

[oracle@sh ~]$ sqlplus / as sysdba

 

SQL*Plus: Release 11.2.0.1.0 Production on Sat May 7 23:26:31 2016

 

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

 

Connected to an idle instance.

 

SQL> startup

ORACLE instance started.

 

Total System Global Area  146472960 bytes

Fixed Size                  1335080 bytes

Variable Size              92274904 bytes

Database Buffers           50331648 bytes

Redo Buffers                2531328 bytes

Database mounted.

Database opened.

SQL>

 

7.3.4验证主库和备库是否一致

SQL> select max(sequence#) from v$archived_log;

 

MAX(SEQUENCE#)

--------------

            94

 

SQL> alter system switch logfile;

 

System altered.

 

SQL> /

 

System altered.

 

SQL> select max(sequence#) from v$archived_log;

 

MAX(SEQUENCE#)

--------------

            96

 

SQL> select max(sequence#) from v$archived_log;

 

MAX(SEQUENCE#)

--------------

            94

 

SQL> select max(sequence#) from v$archived_log;

 

MAX(SEQUENCE#)

--------------

            96

 

7.4主库RESOLVABLE GAP

 

该状态表示从库上有未应用的日志,我从新打开从库的日志应用来处理。状态变正常

主库查看

1* select name,database_role,protection_mode,switchover_status from v$database

 

NAME      DATABASE_ROLE    PROTECTION_MODE      SWITCHOVER_STATUS

--------- ---------------- -------------------- --------------------

PROD      PRIMARY          MAXIMUM PERFORMANCE  RESOLVABLE GAP

 

从库执行

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

 

Database altered.

 

SQL> alter database recover managed standby database disconnect from session;

 

Database altered.

 

主库查看

SQL> r

  1* select name,database_role,protection_mode,switchover_status from v$database

 

NAME      DATABASE_ROLE    PROTECTION_MODE      SWITCHOVER_STATUS

--------- ---------------- -------------------- --------------------

PROD      PRIMARY          MAXIMUM PERFORMANCE  TO STANDBY

 

 

 

7.5 data guard模式切换

Oracle data guard有三种模式分别是,最大性能,最大保护,最高可用性,这三种模式最大性能,数据安全性最低,对主库的影响最小。

 

 

7.5.1查看主库和备库的状态

主库

SQL> select database_role,protection_mode,protection_level from v$database;

 

DATABASE_ROLE    PROTECTION_MODE      PROTECTION_LEVEL

---------------- -------------------- --------------------

PRIMARY          MAXIMUM PERFORMANCE  MAXIMUM PERFORMANCE

 

 

备库

SQL> select database_role,protection_mode,protection_level from v$database;

 

DATABASE_ROLE    PROTECTION_MODE      PROTECTION_LEVEL

---------------- -------------------- --------------------

PHYSICAL STANDBY MAXIMUM PERFORMANCE  MAXIMUM PERFORMANCE

 

修改主库log_archive_dest_2

SQL> show parameter log_archive_dest_2

 

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

log_archive_dest_2                   string      SERVICE=shdb ASYNC

                                                   VALID_FOR=(ONLINE_LOGFILES,P

                                                 RIMARY_ROLE)

                                                   DB_UNIQUE_NAME=shdb

 

SQL> alter system set LOG_ARCHIVE_DEST_2='SERVICE=shdb lgwr sync affirm VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=shdb';

 

System altered.

 

SQL> show parameter LOG_ARCHIVE_DEST_2

 

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

log_archive_dest_2                   string      SERVICE=shdb LGWR SYNC AFFIRM

                                                 VALID_FOR=(ONLINE_LOGFILES,PRI

                                                 MARY_ROLE) DB_UNIQUE_NAME=shdb

 

7.5.2为备库添加standby log

SQL> select sequence#,group#,bytes/1024/1024 from v$log;

 

 SEQUENCE#     GROUP# BYTES/1024/1024

---------- ---------- ---------------

       129          1              50

       131          3              50

       130          2              50

 

SQL> select member from v$logfile;

 

MEMBER

--------------------------------------------------------------------------------

/dsk1/sh/onlinelog/redo02b.log

/dsk1/sh/onlinelog/redo01b.log

/dsk2/sh/onlinelog/redo01a.log

/dsk2/sh/onlinelog/redo02a.log

/dsk1/sh/onlinelog/redo03b.log

/dsk2/sh/onlinelog/redo03a.log

 

6 rows selected.

 

SQL> alter database add standby logfile group 10 '/dsk1/sh/onlinelog/redo10a.log' size 50m;

 

Database altered.

 

SQL> alter database add standby logfile group 11 '/dsk1/sh/onlinelog/redo11a.log' size 50m;

 

Database altered.

 

SQL> alter database add standby logfile group 12 '/dsk1/sh/onlinelog/redo12a.log' size 50m;

 

Database altered.

 

SQL> alter database add standby logfile group 13 '/dsk1/sh/onlinelog/redo13a.log' size 50m;

 

Database altered.

 

SQL>

 

 

SQL> col member for a40

SQL> r

  1* select GROUP#,status,member from v$logfile

 

    GROUP# STATUS  MEMBER

---------- ------- ----------------------------------------

         2         /dsk1/sh/onlinelog/redo02b.log

         1         /dsk1/sh/onlinelog/redo01b.log

         1         /dsk2/sh/onlinelog/redo01a.log

         2         /dsk2/sh/onlinelog/redo02a.log

         3         /dsk1/sh/onlinelog/redo03b.log

         3         /dsk2/sh/onlinelog/redo03a.log

        10         /dsk1/sh/onlinelog/redo10a.log

        11         /dsk1/sh/onlinelog/redo11a.log

        12         /dsk1/sh/onlinelog/redo12a.log

        13         /dsk1/sh/onlinelog/redo13a.log

 

 

 

7.5.3修改主备库为最大可用性

SQL> alter database set standby database to maximize availability;

 

Database altered.

 

SQL> alter database set standby database to maximize availability;

 

Database altered.

 

SQL> select database_role,protection_mode,protection_level from v$database;

 

DATABASE_ROLE    PROTECTION_MODE      PROTECTION_LEVEL

---------------- -------------------- --------------------

PRIMARY          MAXIMUM AVAILABILITY MAXIMUM AVAILABILITY

 

SQL> select database_role,protection_mode,protection_level from v$database;

 

DATABASE_ROLE    PROTECTION_MODE      PROTECTION_LEVEL

---------------- -------------------- --------------------

PHYSICAL STANDBY MAXIMUM AVAILABILITY MAXIMUM AVAILABILITY

 

SQL>

 

最大性能

 

SQL> alter database set standby database to maximize performance;

 

Database altered.

 

SQL> select NAME,PROTECTION_MODE,PROTECTION_LEVEL from v$database;

 

NAME      PROTECTION_MODE      PROTECTION_LEVEL

--------- -------------------- --------------------

PROD      MAXIMUM PERFORMANCE  MAXIMUM PERFORMANCE

 

最大保护

alter database set standby database to maximize protection;

 

7.6备库异常关闭

在最大保护模式下,如果备库和备库的监听没有启动,那么主库无法启动,而且如果备库异常关闭,那么主库会在几分钟之内被关闭(测试环境下五分钟)。

 

A-03113: end-of-file on communication channel

Error 3113 for archive log file 2 to 'shdb'

Destination LOG_ARCHIVE_DEST_2 is UNSYNCHRONIZED

LGWR: All standby destinations have failed

******************************************************

WARNING: All standby database destinations have failed

WARNING: Instance shutdown required to protect primary

******************************************************

LGWR (ospid: 2622): terminating the instance due to error 16098

Instance terminated by LGWR, pid = 2622

 

 

 

 

请使用浏览器的分享功能分享到微信等