Rumah pangkalan data tutorial mysql 如何使用 RMAN 增量备份恢复 data guard log gap(日志断档)

如何使用 RMAN 增量备份恢复 data guard log gap(日志断档)

Jun 07, 2016 pm 04:42 PM

如何使用 RMAN 增量备份恢复 data guard log gap(日志断档)

主库查询最小scn 信息:
SQL> col current_scn for 999999999999999
SQL>  SELECT CURRENT_SCN FROM V$DATABASE;
 
 select min(fhscn) from x$kcvfh;
 
 select min(f.fhscn) from x$kcvfh f, v$datafile d
      where f.hxfil =d.file#
        and d.enabled != 'READ ONLY'    ;
    CURRENT_SCN
----------------
  12614205226673
 
MIN(FHSCN)
----------------
12614205076072
 
MIN(F.FHSCN)
----------------
12614205076072
 
+++++++++++++++++++++++++++++++++++++++++++++++=


1.----备库取消归档应用
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;


2.----备库确定 lowest scn
col current_scn for 99999999999999
 SELECT CURRENT_SCN FROM V$DATABASE;

 select min(fhscn) from x$kcvfh;

 select min(f.fhscn) from x$kcvfh f, v$datafile d
      where f.hxfil =d.file#
        and d.enabled != 'READ ONLY'    ;

取上述查询中的最小值

SQL> col current_scn for 999999999999999999
SQL> SELECT CURRENT_SCN FROM V$DATABASE;
 
        CURRENT_SCN
-------------------
    12611050666604
 
SQL> select min(fhscn) from x$kcvfh;
 
MIN(FHSCN)
----------------
12611050666605
 
SQL>  select min(f.fhscn) from x$kcvfh f, v$datafile d
      where f.hxfil =d.file#
        and d.enabled != 'READ ONLY'    ;  2    3 
 
MIN(F.FHSCN)
----------------
12611050666605


3.-----on primary db 端根据第2步中获取的最小scn 来进行增量备份
BACKUP INCREMENTAL FROM SCN 12611050666604 DATABASE FORMAT '/lixora/ForStandby_%U' tag 'FORSTANDBY';


4.-----拷贝备份到 备库
$scp ForStandby_07pqprm4_1_1 192.168.0.10:/tmp


5.----on standby db 在备库端注册备份片,注意用户属主,权限
RMAN> CATALOG START WITH '/lixora/ForStandby';


6.----执行恢复
RMAN> RECOVER DATABASE NOREDO;

 


7.-----on primary db 生成新的standby 控制文件
RMAN> BACKUP CURRENT CONTROLFILE FOR STANDBY FORMAT '/lixora/ForStandbyCTRL.bck';

 

8.----把主库端生成的standby 控制文件拷贝到备库,注意用户属主,权限

RMAN> BACKUP CURRENT CONTROLFILE FOR STANDBY FORMAT '/lixora/ForStandbyCTRL.bck';
 
scp /lixora/ForStandbyCTRL.bck 192.168.0.10:/tmp


9.------备份备库数据文件信息,用于在恢复新的standby 控制文件后比对
spool datafile_names_step8.txt
set lines 200
col name format a60
select file#, name from v$datafile order by file# ;
spool off


10.------on standby Db 恢复新的standby  控制文件

RMAN> SHUTDOWN IMMEDIATE ;
RMAN> STARTUP NOMOUNT;
RMAN> RESTORE STANDBY CONTROLFILE FROM '/tmp/ForStandbyCTRL.bck';


11.-----更新控制文件中的数据文件信息
使新的standby 控制文件生效
RMAN> SHUTDOWN;
RMAN> STARTUP MOUNT;

CATALOG START WITH '+DATA/zhglptdg/datafile/';


12.------on primary db。确保在备库发生日志gap 后,主库没有添加过新的数据文件。
SELECT FILE#, NAME FROM V$DATAFILE WHERE CREATION_CHANGE# > 12611050666604;

如果有记录,,则不能进行witch 操作,可以参考一下文档来恢复:
Note 1531031.1 Steps to perform for Rolling forward a standby database using RMAN incremental backup when datafile is added to primary


13.-----重命名数据文件
RMAN> SWITCH DATABASE TO COPY;
 
 
14.-----再次确认在恢复增量备份片后主库和备库scn 差距没有太大
 SQL> col current_scn for 99999999999999
 SELECT CURRENT_SCN FROM V$DATABASE;
 
 select min(fhscn) from x$kcvfh;
 
 select min(f.fhscn) from x$kcvfh f, v$datafile d
      where f.hxfil =d.file#
        and d.enabled != 'READ ONLY'    ;
       
 CURRENT_SCN
---------------
 12614205662375
 
MIN(FHSCN)
----------------
12614205076072
 
MIN(F.FHSCN)
----------------
12614205076072
 

15.------ On standby database, 清理standby 日志组
select * from v$standby_log;

SQL> ALTER DATABASE CLEAR LOGFILE GROUP 1;
SQL> ALTER DATABASE CLEAR LOGFILE GROUP 2;
SQL> ALTER DATABASE CLEAR LOGFILE GROUP 3;


16.------启动redo data apply
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT;

如果遇到一些由于设置 nologgling 而导致部分数据丢失,可以安装下述方法来进行恢复
To resolve NOLOGGING operations only, see Note 958181.1. 
In addition to this information, see the online documentation:
10.2:  #CIHIAADC
11.1:  #SBYDB00759
11.2: #CIHIAADC


后记
如果要启用实时应用,需要在备库添加standby redo log,大小应和主库一样,且比主库多一组;

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Kurangkan penggunaan memori MySQL di Docker Kurangkan penggunaan memori MySQL di Docker Mar 04, 2025 pm 03:52 PM

Kurangkan penggunaan memori MySQL di Docker

Bagaimana anda mengubah jadual di MySQL menggunakan pernyataan Alter Table? Bagaimana anda mengubah jadual di MySQL menggunakan pernyataan Alter Table? Mar 19, 2025 pm 03:51 PM

Bagaimana anda mengubah jadual di MySQL menggunakan pernyataan Alter Table?

Cara menyelesaikan masalah MySQL tidak dapat membuka perpustakaan bersama Cara menyelesaikan masalah MySQL tidak dapat membuka perpustakaan bersama Mar 04, 2025 pm 04:01 PM

Cara menyelesaikan masalah MySQL tidak dapat membuka perpustakaan bersama

Jalankan MySQL di Linux (dengan/tanpa bekas podman dengan phpmyadmin) Jalankan MySQL di Linux (dengan/tanpa bekas podman dengan phpmyadmin) Mar 04, 2025 pm 03:54 PM

Jalankan MySQL di Linux (dengan/tanpa bekas podman dengan phpmyadmin)

Apa itu SQLite? Gambaran Keseluruhan Komprehensif Apa itu SQLite? Gambaran Keseluruhan Komprehensif Mar 04, 2025 pm 03:55 PM

Apa itu SQLite? Gambaran Keseluruhan Komprehensif

Menjalankan Pelbagai Versi MySQL di MacOS: Panduan Langkah demi Langkah Menjalankan Pelbagai Versi MySQL di MacOS: Panduan Langkah demi Langkah Mar 04, 2025 pm 03:49 PM

Menjalankan Pelbagai Versi MySQL di MacOS: Panduan Langkah demi Langkah

Apakah beberapa alat GUI MySQL yang popular (mis., MySQL Workbench, phpmyadmin)? Apakah beberapa alat GUI MySQL yang popular (mis., MySQL Workbench, phpmyadmin)? Mar 21, 2025 pm 06:28 PM

Apakah beberapa alat GUI MySQL yang popular (mis., MySQL Workbench, phpmyadmin)?

Bagaimana saya mengkonfigurasi penyulitan SSL/TLS untuk sambungan MySQL? Bagaimana saya mengkonfigurasi penyulitan SSL/TLS untuk sambungan MySQL? Mar 18, 2025 pm 12:01 PM

Bagaimana saya mengkonfigurasi penyulitan SSL/TLS untuk sambungan MySQL?

See all articles