【Oracle】DG重做操作记录

前言:之前由于数据库没有监控,DG早就出问题了,然而主库上归档早就被清理,没办法,只能手动重做DG。

1. 删库

该步请根据各自情况删除

2. rman连接数据库

报错如下:

Recovery Manager: Release 11.2.0.3.0 - Production on Thu Jun 29 23:55:03 2017

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

connected to target database: WXDB (DBID=1337835662)
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-12514: TNS:listener does not currently know of service requested in connect descriptor

3.查看监听状态

[oracle@weixindg2 admin]$ lsnrctl status

LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 30-JUN-2017 00:10:00

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

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=weixindg2)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.3.0 - Production
Start Date                30-JUN-2017 00:00:18
Uptime                    0 days 0 hr. 9 min. 42 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
Listener Log File         /u01/oracle/diag/tnslsnr/weixindg2/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=weixindg2)(PORT=1521)))
Services Summary...
Service "wxdg2" has 2 instance(s).
  Instance "wxdb", status BLOCKED, has 1 handler(s) for this service...
  Instance "wxdg", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully

4.注册动态监听

[oracle@weixindg2 admin]$ cat listener.ora
LISTENER =  
  (DESCRIPTION_LIST =  
    (DESCRIPTION =  
      (ADDRESS = (PROTOCOL = TCP)(HOST = weixindg2)(PORT = 1521))  
    )  
  )  
  
SID_LIST_LISTENER =  
  (SID_LIST =  
    (SID_DESC =  
      (SID_NAME = PLSExtProc)  
      (ORACLE_HOME = /u01/oracle/product/11.2.0/dbhome_1)  
      (PROGRAM = extproc)  
    )  
  
    (SID_DESC =  
      (GLOBAL_DBNAME = wxdg2)  
      (ORACLE_HOME = /u01/oracle/product/11.2.0/dbhome_1)  
      (SID_NAME = wxdb)  
    )  
  ) 

5.重启监听并查看监听状态

[oracle@weixindg2 admin]$ lsnrctl status

LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 30-JUN-2017 00:31:41

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

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=weixindg2)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.3.0 - Production
Start Date                30-JUN-2017 00:15:09
Uptime                    0 days 0 hr. 16 min. 32 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
Listener Log File         /u01/oracle/diag/tnslsnr/weixindg2/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=weixindg2)(PORT=1521)))
Services Summary...
Service "PLSExtProc" has 1 instance(s).
  Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "wxdg2" has 2 instance(s).
  Instance "wxdb", status UNKNOWN, has 1 handler(s) for this service...
  Instance "wxdb", status READY, has 1 handler(s) for this service...
The command completed successfully

6. RMAN连接数据库

[oracle@weixindg2 admin]$ rman target sys/XXXX@WXDB auxiliary sys/XXXX@WXDG2

Recovery Manager: Release 11.2.0.3.0 - Production on Fri Jun 30 00:15:50 2017

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

connected to target database: WXDB (DBID=1337835662)
connected to auxiliary database: WXDB (not mounted)

7. 复制数据库

RMAN> duplicate target database for standby nofilenamecheck from active database;
Starting Duplicate Db at 30-JUN-17
using target database control file instead of recovery catalog
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID=156 device type=DISK

contents of Memory Script:
{
   backup as copy reuse
   targetfile  '/u01/oracle/product/11.2.0/dbhome_1/dbs/orapwwxdb' auxiliary format 
 '/u01/oracle/product/11.2.0/dbhome_1/dbs/orapwwxdb'   ;
}
executing Memory Script

Starting backup at 30-JUN-17
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=1922 device type=DISK
Finished backup at 30-JUN-17

contents of Memory Script:
{
   backup as copy current controlfile for standby auxiliary format  '/u01/oracle/oradata/wxdb/control01.ctl';
   restore clone controlfile to  '/u01/oracle/fast_recovery_area/wxdb/control02.ctl' from 
 '/u01/oracle/oradata/wxdb/control01.ctl';
}
executing Memory Script

Starting backup at 30-JUN-17
....
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=1 STAMP=947988036 file name=/u01/oracle/oradata/wxdb/system01.dbf
datafile 2 switched to datafile copy
input datafile copy RECID=2 STAMP=947988036 file name=/u01/oracle/oradata/wxdb/sysaux01.dbf
datafile 3 switched to datafile copy
input datafile copy RECID=3 STAMP=947988036 file name=/u01/oracle/oradata/wxdb/undotbs01.dbf
datafile 4 switched to datafile copy
input datafile copy RECID=4 STAMP=947988036 file name=/u01/oracle/oradata/wxdb/users01.dbf
datafile 5 switched to datafile copy
input datafile copy RECID=5 STAMP=947988036 file name=/u01/oracle/oradata/wxdb/users02.dbf
datafile 6 switched to datafile copy
input datafile copy RECID=6 STAMP=947988036 file name=/data/u01/oracle/oradata/wxdb/users03.dbf
Finished Duplicate Db at 30-JUN-17

8. 查看备库状态

SQL> select open_mode,database_role,db_unique_name from v$database;
  OPEN_MODE DATABASE_ROLE DB_UNIQUE_NAME

  -------------------- ----------------------------------------------
  MOUNTED PHYSICAL STANDBY wxdg2

9. 备库打开

SQL> alter database open;

10. 启用实时应用

SQL> alter database recover managed standby database using current logfile disconnect from session;

11.查看状态

SQL> select open_mode,database_role,db_unique_name from v$database;

OPEN_MODE        DATABASE_ROLE    DB_UNIQUE_NAME
-------------------- ---------------- ------------------------------
READ ONLY WITH APPLY PHYSICAL STANDBY wxdg2

12. 查看两边归档应用情况

主库:
select sequence#,standby_dest,archived,applied,status from v$archived_log;
SEQUENCE# STA ARC APPLIED   S
---------- --- --- --------- -
 43887 NO  YES NO        A
 43888 NO  YES NO        A
 43888 YES YES YES       A
 43888 YES YES YES       A
 43889 NO  YES NO        A
 43889 YES YES YES       A
 43889 YES YES YES       A
 43890 YES YES YES       A
 43890 YES YES YES       A
 43890 NO  YES NO        A
 43891 YES YES NO        A

 SEQUENCE# STA ARC APPLIED   S
 ---------- --- --- --------- -
 43891 YES YES NO        A
 43891 NO  YES NO        A

备库:
SQL> select sequence#,standby_dest,archived,applied,status from v$archived_log;

SEQUENCE# STA ARC APPLIED   S
---------- --- --- --------- -
 43872 NO  YES YES       A
 43871 NO  YES YES       A
 43870 NO  YES YES       A
 43873 NO  YES YES       A
 43874 NO  YES YES       A
 43875 NO  YES YES       A
 43876 NO  YES YES       A
 43877 NO  YES YES       A
 43880 NO  YES YES       A
 43879 NO  YES YES       A
 43878 NO  YES YES       A

SEQUENCE# STA ARC APPLIED   S
---------- --- --- --------- -
 43881 NO  YES YES       A
 43882 NO  YES YES       A
 43883 NO  YES YES       A
 43884 NO  YES YES       A
 43885 NO  YES YES       A
 43886 NO  YES YES       A
 43887 NO  YES YES       A
 43888 NO  YES YES       A
 43889 NO  YES YES       A
 43890 NO  YES YES       A
 43891 NO  YES IN-MEMORY A

22 rows selected.

13. 查看GAP

SQL> select * from v$archive_gap;

no rows selected

14. DML测试

主库:
SQL> create table t(id int);

Table created.

备库:

SQL> desc t;
Name                       Null?    Type
----------------------------------------- -------- ----------------------------
ID                          NUMBER(38)

15. DG重做完毕

你可能感兴趣的:(【Oracle】DG重做操作记录)