os: centos 7.4
database: 12.2.0.1 + dbf
This deployment is in the form of oracle database 12.2.0.1 + dbf, and rac + asm will be recorded later.
At any time, there are three modes:
Maximum protection: maximize protection
maximize performance
Maximum availability
alter database set standby to maximize protection;
alter database set standby to maximize performance;
atler database set standby to maximize availability;
oradb-node1 192.168.56.101 master
adb-node1 192.168.56.101 master
The software of 12.2.0.1 has been installed and the database has been created.
The db_name of all dataguard nodes is the same, and they are distinguished by db_unique_name.
Main library name correlation
db_name: orcl
db_unique_name: orclp
net service name: tns_orclp
Modify db_unique_name
SQL> alter system set db_unique_name='orclp' scope=spfile;
System altered.
Modify the net service name
$ vi listener.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(ORACLE_HOME = /u01/app/oracle/product/12.2.0/db_1)
(SID_NAME = rac01)
)
)
$ vi tnsnames.ora
tns_orclp =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = oradb-node1)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
tns_orcls1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = oradb-node2)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
Main Library Enables Forcelogging
SQL> alter database force logging;
Database altered.
Archvelog is enabled in the main library
SQL> archive log list;
Database log mode No Archive Mode
Automatic archival Disabled
Archive destination /u01/app/oracle/product/12.2.0/db_1/dbs/arch
Oldest online log sequence 1
Current log sequence 2
SQL> alter system set log_archive_dest_1='location=/u01/app/oracle/archivelog' scope=spfile;
SQL> shutdown immediate;
SQL> startup mount;
SQL> alter database archivelog;
SQL> alter database open;
Execute open pdb to ensure that you are in read write
SQL> show pdbs;
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 RAC01PDB MOUNTED
SQL> alter pluggable database RAC01PDB open;
Pluggable database altered.
SQL> show pdbs;
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 RAC01PDB READ WRITE NO
Creating standby redo log file in main library
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES BLOCKSIZE MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIME NEXT_CHANGE# NEXT_TIME CON_ID
---------- ---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ------------------- ------------ ------------------- ----------
1 1 4 209715200 512 1 NO CURRENT 1572343 2018-07-07 14:47:20 1.8447E+19 0
2 1 2 209715200 512 1 YES INACTIVE 1429048 2018-07-07 11:45:32 1472300 2018-07-07 14:44:53 0
3 1 3 209715200 512 1 YES INACTIVE 1472300 2018-07-07 14:44:53 1572343 2018-07-07 14:47:20 0
SQL> col MEMBER format a40;
SQL> select * from v$logfile;
GROUP# STATUS TYPE MEMBER IS_ CON_ID
---------- ------- ------- ---------------------------------------- --- ----------
3 ONLINE /u01/app/oracle/oradata/orcl/redo03.log NO 0
2 ONLINE /u01/app/oracle/oradata/orcl/redo02.log NO 0
1 ONLINE /u01/app/oracle/oradata/orcl/redo01.log NO 0
At least add n+1 standby redo log file, which can be more than n+1, as follows
alter database add standby logfile '/u01/app/oracle/oradata/standby_redo01.log' size 200M;
alter database add standby logfile '/u01/app/oracle/oradata/standby_redo02.log' size 200M;
alter database add standby logfile '/u01/app/oracle/oradata/standby_redo03.log' size 200M;
alter database add standby logfile '/u01/app/oracle/oradata/standby_redo04.log' size 200M;
alter database add standby logfile '/u01/app/oracle/oradata/standby_redo05.log' size 200M;
The main library creates pfile and modifies it
*.audit_file_dest='/u01/app/oracle/admin/orcl/adump'
*.audit_trail='db'
*.compatible='12.2.0'
*.control_files='/u01/app/oracle/oradata/orcl/control01.ctl','/u01/app/oracle/oradata/orcl/control02.ctl'
*.db_block_size=8192
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=rac01XDB)'
*.enable_pluggable_database=true
*.local_listener='LISTENER_RAC01'
*.log_archive_dest_1='location=/u01/app/oracle/archivelog'
*.nls_language='AMERICAN'
*.nls_territory='AMERICA'
*.open_cursors=300
*.pga_aggregate_target=597m
*.processes=300
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=1788m
*.undo_tablespace='UNDOTBS1'
*.db_name='orcl'
*.db_unique_name='orclp'
*.log_archive_config='dg_config=(orclp,orcls1)'
*.log_archive_dest_1='location=/u01/app/oracle/archivelog valid_for=(all_logfiles,all_roles) db_unique_name=orclp'
*.log_archive_dest_2='service=tns_orcls1 valid_for=(online_logfiles,primary_role) lgwr affirm sync db_unique_name=orcls1'
*.log_archive_dest_state_1=enable
*.log_archive_dest_state_2=enable
*.log_archive_format='%t_%s_%r.dbf'
*.standby_file_management='auto'
*.fal_server='orcls1'
*.fal_client='orclp'
*.db_file_name_convert='/u01/app/oracle/','/u01/app/oracle/'
*.log_file_name_convert='/u01/app/oracle/','/u01/app/oracle/'
*.remote_login_passwordfile='EXCLUSIVE'
oradb-node2 192.168.56.102 physical standby
The software of 12.2.0.1 is installed, the database is not created, and the master is pulled over by the duplicate command.
Standby name correlation
db_name: orcl
db_unique_name: orcls1
net service name: tns_orcls1
Modify the net service name
$ vi listener.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(ORACLE_HOME = /u01/app/oracle/product/12.2.0/db_1)
(SID_NAME = rac01)
)
)
$ vi tnsnames.ora
tns_orclp =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = oradb-node1)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
tns_orcls1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = oradb-node2)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
The listener.ora and tnsnames.ora above need to be consistent with the master.
Standby catalogue related
Refer to the main library to create the necessary directories
mkdir -p $ORACLE_BASE/admin/orcl/adump
mkdir -p $ORACLE_BASE/archivelog
mkdir -p $ORACLE_BASE/audit
mkdir -p $ORACLE_BASE/oradata/orcl
mkdir -p $ORACLE_BASE/oradata/pdbseed
mkdir -p $ORACLE_BASE/oradata/rac01pdb
A backup copy of master's password file
$scp ./orapwrac01 oracle@192.168.56.102:/u01/app/oracle/product/12.2.0/db_1/dbs
The standby spfile is as follows
*.audit_file_dest='/u01/app/oracle/admin/orcl/adump'
*.audit_trail='db'
*.compatible='12.2.0'
*.control_files='/u01/app/oracle/oradata/orcl/control01.ctl','/u01/app/oracle/oradata/orcl/control02.ctl'
*.db_block_size=8192
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=rac01XDB)'
*.enable_pluggable_database=true
*.local_listener='LISTENER_RAC01'
*.nls_language='AMERICAN'
*.nls_territory='AMERICA'
*.open_cursors=300
*.pga_aggregate_target=597m
*.processes=300
*.sga_target=1788m
*.undo_tablespace='UNDOTBS1'
*.db_name='orcl'
*.db_unique_name='orcls1'
*.log_archive_config='dg_config=(orclp,orcls1)'
*.log_archive_dest_1='location=/u01/app/oracle/archivelog valid_for=(all_logfiles,all_roles) db_unique_name=orcls1'
*.log_archive_dest_2='service=tns_orclp valid_for=(online_logfiles,primary_role) lgwr affirm sync db_unique_name=orclp'
*.log_archive_dest_state_1=enable
*.log_archive_dest_state_2=enable
*.log_archive_format='%t_%s_%r.dbf'
*.standby_file_management='auto'
*.fal_server='orclp'
*.fal_client='orcls1'
*.db_file_name_convert='/u01/app/oracle/','/u01/app/oracle/'
*.log_file_name_convert='/u01/app/oracle/','/u01/app/oracle/'
*.remote_login_passwordfile='EXCLUSIVE'
Standby startup to nomount state
SQL> startup nomount;
ORACLE instance started.
Total System Global Area 1879048192 bytes
Fixed Size 8794072 bytes
Variable Size 553648168 bytes
Database Buffers 1308622848 bytes
Redo Buffers 7983104 bytes
Standby Start active duplicate
$ rman target sys/oracleoracle@tns_orclp auxiliary sys/oracleoracle@tns_orcls1
RMAN> duplicate target database for standby from active database nofilenamecheck dorecover;
Standby open
SQL> select open_mode from v$database;
OPEN_MODE
------------------------------------------------------------
MOUNTED
SQL> alter database open;
Database altered.
SQL> select open_mode,log_mode,open_mode ,database_role from v$database;
OPEN_MODE LOG_MODE OPEN_MODE DATABASE_ROLE
-------------------- ------------ -------------------- ----------------
READ ONLY ARCHIVELOG READ ONLY PHYSICAL STANDBY
View pdb at this point
SQL> show pdbs;
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 RAC01PDB MOUNTED
SQL> alter pluggable database RAC01PDB open;
Pluggable database altered.
SQL> show pdbs;
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 RAC01PDB READ ONLY NO
Standby Start Real-time Application
SQL> alter database recover managed standby database using current logfile disconnect from session;
Verification
Standby View Log
$ tail -f -n 1000 /u01/app/oracle/diag/rdbms/orcls1/rac01/trace/alert_rac01.log
Main Library View
select
dbms_flashback.get_system_change_number() as master_current_scn,
ad.APPLIED_SCN,
ad.*
from v$archive_dest ad
where 1=1
;
select *
from v$archive_dest_status
;
select *
from v$archive_gap
;
select *
from v$archive_processes
;
Overall, it's similar to 11 g manual dataguard building. It's important to remember to operate pdb.
Below is the output of duplicate, self-analysis, bloggers can ignore
$rman target sys/oracleoracle@tns_orclp auxiliary sys/oracleoracle@tns_orcls1
Recovery Manager: Release 12.2.0.1.0 - Production on Sat Jul 7 17:21:13 2018
Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved.
connected to target database: ORCL (DBID=1508635741)
connected to auxiliary database: ORCL (not mounted)
RMAN> duplicate target database for standby from active database nofilenamecheck dorecover;
Starting Duplicate Db at 2018-07-07 17:21:30
using target database control file instead of recovery catalog
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID=36 device type=DISK
current log archived
contents of Memory Script:
{
backup as copy reuse
targetfile '/u01/app/oracle/product/12.2.0/db_1/dbs/orapwrac01' auxiliary format
'/u01/app/oracle/product/12.2.0/db_1/dbs/orapwrac01' ;
}
executing Memory Script
Starting backup at 2018-07-07 17:21:31
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=69 device type=DISK
Finished backup at 2018-07-07 17:21:32
contents of Memory Script:
{
restore clone from service 'tns_orclp' standby controlfile;
}
executing Memory Script
Starting restore at 2018-07-07 17:21:32
using channel ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: using network backup set from service tns_orclp
channel ORA_AUX_DISK_1: restoring control file
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01
output file name=/u01/app/oracle/oradata/orcl/control01.ctl
output file name=/u01/app/oracle/oradata/orcl/control02.ctl
Finished restore at 2018-07-07 17:21:34
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
"/u01/app/oracle/oradata/orcl/temp01.dbf";
set newname for tempfile 2 to
"/u01/app/oracle/oradata/orcl/pdbseed/temp012018-07-07_11-44-06-982-AM.dbf";
set newname for tempfile 3 to
"/u01/app/oracle/oradata/orcl/rac01pdb/temp01.dbf";
switch clone tempfile all;
set newname for datafile 1 to
"/u01/app/oracle/oradata/orcl/system01.dbf";
set newname for datafile 3 to
"/u01/app/oracle/oradata/orcl/sysaux01.dbf";
set newname for datafile 4 to
"/u01/app/oracle/oradata/orcl/undotbs01.dbf";
set newname for datafile 5 to
"/u01/app/oracle/oradata/orcl/pdbseed/system01.dbf";
set newname for datafile 6 to
"/u01/app/oracle/oradata/orcl/pdbseed/sysaux01.dbf";
set newname for datafile 7 to
"/u01/app/oracle/oradata/orcl/users01.dbf";
set newname for datafile 8 to
"/u01/app/oracle/oradata/orcl/pdbseed/undotbs01.dbf";
set newname for datafile 9 to
"/u01/app/oracle/oradata/orcl/rac01pdb/system01.dbf";
set newname for datafile 10 to
"/u01/app/oracle/oradata/orcl/rac01pdb/sysaux01.dbf";
set newname for datafile 11 to
"/u01/app/oracle/oradata/orcl/rac01pdb/undotbs01.dbf";
set newname for datafile 12 to
"/u01/app/oracle/oradata/orcl/rac01pdb/users01.dbf";
restore
from nonsparse from service
'tns_orclp' clone database
;
sql 'alter system archive log current';
}
executing Memory Script
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
renamed tempfile 1 to /u01/app/oracle/oradata/orcl/temp01.dbf in control file
renamed tempfile 2 to /u01/app/oracle/oradata/orcl/pdbseed/temp012018-07-07_11-44-06-982-AM.dbf in control file
renamed tempfile 3 to /u01/app/oracle/oradata/orcl/rac01pdb/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
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
Starting restore at 2018-07-07 17:21:39
using channel ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: using network backup set from service tns_orclp
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_AUX_DISK_1: restoring datafile 00001 to /u01/app/oracle/oradata/orcl/system01.dbf
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:15
channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: using network backup set from service tns_orclp
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_AUX_DISK_1: restoring datafile 00003 to /u01/app/oracle/oradata/orcl/sysaux01.dbf
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:07
channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: using network backup set from service tns_orclp
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_AUX_DISK_1: restoring datafile 00004 to /u01/app/oracle/oradata/orcl/undotbs01.dbf
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:02
channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: using network backup set from service tns_orclp
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_AUX_DISK_1: restoring datafile 00005 to /u01/app/oracle/oradata/orcl/pdbseed/system01.dbf
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:03
channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: using network backup set from service tns_orclp
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_AUX_DISK_1: restoring datafile 00006 to /u01/app/oracle/oradata/orcl/pdbseed/sysaux01.dbf
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:07
channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: using network backup set from service tns_orclp
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_AUX_DISK_1: restoring datafile 00007 to /u01/app/oracle/oradata/orcl/users01.dbf
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01
channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: using network backup set from service tns_orclp
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_AUX_DISK_1: restoring datafile 00008 to /u01/app/oracle/oradata/orcl/pdbseed/undotbs01.dbf
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01
channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: using network backup set from service tns_orclp
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_AUX_DISK_1: restoring datafile 00009 to /u01/app/oracle/oradata/orcl/rac01pdb/system01.dbf
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:03
channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: using network backup set from service tns_orclp
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_AUX_DISK_1: restoring datafile 00010 to /u01/app/oracle/oradata/orcl/rac01pdb/sysaux01.dbf
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:07
channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: using network backup set from service tns_orclp
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_AUX_DISK_1: restoring datafile 00011 to /u01/app/oracle/oradata/orcl/rac01pdb/undotbs01.dbf
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:03
channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: using network backup set from service tns_orclp
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_AUX_DISK_1: restoring datafile 00012 to /u01/app/oracle/oradata/orcl/rac01pdb/users01.dbf
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01
Finished restore at 2018-07-07 17:22:29
sql statement: alter system archive log current
current log archived
contents of Memory Script:
{
restore clone force from service 'tns_orclp'
archivelog from scn 1585893;
switch clone datafile all;
}
executing Memory Script
Starting restore at 2018-07-07 17:22:30
using channel ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: starting archived log restore to default destination
channel ORA_AUX_DISK_1: using network backup set from service tns_orclp
channel ORA_AUX_DISK_1: restoring archived log
archived log thread=1 sequence=6
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01
channel ORA_AUX_DISK_1: starting archived log restore to default destination
channel ORA_AUX_DISK_1: using network backup set from service tns_orclp
channel ORA_AUX_DISK_1: restoring archived log
archived log thread=1 sequence=7
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01
Finished restore at 2018-07-07 17:22:32
datafile 1 switched to datafile copy
input datafile copy RECID=4 STAMP=980875352 file name=/u01/app/oracle/oradata/orcl/system01.dbf
datafile 3 switched to datafile copy
input datafile copy RECID=5 STAMP=980875352 file name=/u01/app/oracle/oradata/orcl/sysaux01.dbf
datafile 4 switched to datafile copy
input datafile copy RECID=6 STAMP=980875352 file name=/u01/app/oracle/oradata/orcl/undotbs01.dbf
datafile 5 switched to datafile copy
input datafile copy RECID=7 STAMP=980875352 file name=/u01/app/oracle/oradata/orcl/pdbseed/system01.dbf
datafile 6 switched to datafile copy
input datafile copy RECID=8 STAMP=980875352 file name=/u01/app/oracle/oradata/orcl/pdbseed/sysaux01.dbf
datafile 7 switched to datafile copy
input datafile copy RECID=9 STAMP=980875352 file name=/u01/app/oracle/oradata/orcl/users01.dbf
datafile 8 switched to datafile copy
input datafile copy RECID=10 STAMP=980875352 file name=/u01/app/oracle/oradata/orcl/pdbseed/undotbs01.dbf
datafile 9 switched to datafile copy
input datafile copy RECID=11 STAMP=980875352 file name=/u01/app/oracle/oradata/orcl/rac01pdb/system01.dbf
datafile 10 switched to datafile copy
input datafile copy RECID=12 STAMP=980875352 file name=/u01/app/oracle/oradata/orcl/rac01pdb/sysaux01.dbf
datafile 11 switched to datafile copy
input datafile copy RECID=13 STAMP=980875353 file name=/u01/app/oracle/oradata/orcl/rac01pdb/undotbs01.dbf
datafile 12 switched to datafile copy
input datafile copy RECID=14 STAMP=980875353 file name=/u01/app/oracle/oradata/orcl/rac01pdb/users01.dbf
contents of Memory Script:
{
set until scn 1586097;
recover
standby
clone database
delete archivelog
;
}
executing Memory Script
executing command: SET until clause
Starting recover at 2018-07-07 17:22:33
using channel ORA_AUX_DISK_1
starting media recovery
archived log for thread 1 with sequence 6 is already on disk as file /u01/app/oracle/archivelog/1_6_980855007.dbf
archived log for thread 1 with sequence 7 is already on disk as file /u01/app/oracle/archivelog/1_7_980855007.dbf
archived log file name=/u01/app/oracle/archivelog/1_6_980855007.dbf thread=1 sequence=6
archived log file name=/u01/app/oracle/archivelog/1_7_980855007.dbf thread=1 sequence=7
media recovery complete, elapsed time: 00:00:00
Finished recover at 2018-07-07 17:22:34
Finished Duplicate Db at 2018-07-07 17:22:43