博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
备份恢复创建dataguard问题记录
阅读量:2064 次
发布时间:2019-04-29

本文共 4555 字,大约阅读时间需要 15 分钟。

1、备份脚本

run {

allocate channel t1 type disk;

allocate channel t2 type disk;

allocate channel t3 type disk;

allocate channel t4 type disk;

crosscheck archivelog all;

delete noprompt expired archivelog all;

backup full filesperset 6 format '/rman/cc/db_%d_%U' database;

sql 'alter system archive log current';

backup archivelog all format '/rman/cc/arch_%T_%s_%p';

backup current controlfile for standby format '/rman/cc/ctl_%U';

release channel t1;

release channel t2;

release channel t3;

release channel t4;

}

2、恢复步骤

run{

allocate channel t1 type disk;

allocate channel t2 type disk;

allocate channel t3 type disk;

allocate channel t4 type disk;

allocate channel t5 type disk;

allocate channel t6 type disk;

restore database;

restore archivelog all;

release channel t1;

release channel t2;

release channel t3;

release channel t4;

release channel t5;

release channel t6;

}

3、密码文件同步

pr: srvctl config database -d msc1ccdb

image.png

如果pr的密码文件不在asm盘里,需要将dbs下的orapw文件拷贝到asm盘中,并srvctl modify database -d msc1ccdb -pwfile '+asm盘中密码文件的位置'

将asm盘中的密码文件cp到/tmp下,并传输到dr端/tmp下

 

dr端密码文件拷贝到asm盘中,并 srvctl modify database -d msc4ccdb -pwfile '+asm盘中密码文件的位置'

srvctl config database -d msc4ccdb 确认

4、配置dr端监听(要保证mount下可连接)

grid下的listener.ora设置如下:

LISTENER=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER))))

LISTENER =

 (DESCRIPTION_LIST =

   (DESCRIPTION =

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

     (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

   )

 )

ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER=ON              # line added by Agent

VALID_NODE_CHECKING_REGISTRATION_LISTENER=ON            # line added by Agent

 

oracle的listener.ora配置:

LISTENER_CC =

(DESCRIPTION_LIST =

   (DESCRIPTION =

     (ADDRESS_LIST =

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

   )

  )

)

SID_LIST_LISTENER_CC =

 (SID_LIST =

   (SID_DESC =

    (GLOBAL_DBNAME = ccdb)

     (ORACLE_HOME = /oracle/product/19c/)

   (SID_NAME = ccdb)

 )

)

tnsname.ora配置:

msc4ccdb =

 (DESCRIPTION =

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

   (CONNECT_DATA =

     (SERVER = DEDICATED)

    (SERVICE_NAME = ccdb)

   )

 )

 

local_listener配置为vip

local_listener="(ADDRESS=(PROTOCOL=TCP)(HOST=****)(PORT=1521))"

 

可以通过在pr端连接sqlplus sys/****@dr as sysdba测试tnsname和密码文件

 

5、归档的恢复

理想状态下pr端归档的备份脚本最好disable,省的需要手动恢复归档

但如果在备份恢复的过程归档被备份并删除,归档传输进程会中断,需要手动恢复归档,才能自动恢复传输

run {

allocate channel ci type disk;

restore archivelog from logseq 550;

release channel ci;

}

6、清除redo文件

如果在dr恢复完成后报redo不存在,需要重建redo

image.png

alter database clear logfile group 10;

alter database clear logfile group 11;

alter database clear logfile group 12;

alter database clear logfile group 13;

alter database clear logfile group 14;

alter database clear logfile group 15;

alter database clear logfile group 16;

alter database clear logfile group 17;

alter database clear logfile group 18;

alter database clear logfile group 19;

alter database clear logfile group 20;

alter database clear logfile group 21;

standy redo:

alter database clear logfile group 30;

alter database clear logfile group 31;

alter database clear logfile group 32;

alter database clear logfile group 33;

alter database clear logfile group 34;

alter database clear logfile group 35;

alter database clear logfile group 36;

alter database clear logfile group 37;

alter database clear logfile group 38;

alter database clear logfile group 39;

alter database clear logfile group 40;

alter database clear logfile group 41;

alter database clear logfile group 42;

7、omf的坑

如果pr有omf创建的文件,且db_create_file_dest不为空,而dr端db_create_file_dest为空(即没使用omf),需要手动恢复那些omf的数据文件,并将pr端db_create_file_dest设为空,相关报错如下

image.png

需要手动重新恢复这些文件:

select name,file# from v$datafile where name like '%MUST%';

select name,file# from v$tempfile where name like '%MUST%';

 

run{

allocate channel c1 device type disk;

set newname for datafile 1  to '+CCDATA01/ccdb/system001.dbf';

set newname for datafile 2 to  '+CCDATA01/ccdb/sysaux001.dbf';

set newname for datafile 3 to  '+CCDATA01/ccdb/undotbs1.dbf';

set newname for datafile 4 to  '+CCDATA01/ccdb/users001.dbf';

restore datafile 1;

restore datafile 2;

restore datafile 3;

restore datafile 4;

switch datafile all;

release channel c1 ;

}

run{

allocate channel c1 device type disk;

set newname for tempfile 1 to '+CCDATA01/ccdb/temp01.dbf';

restore tempfile 1;

switch tempfile all;

release channel c1 ;

}

 

起MRP进程,并查看MRP进程是否正常:

alter database recover managed standby database disconnect from session;

select process,status from v$managed_standby;

image.png

8、如果dataguard创建失败,需要回滚的pr参数

如果dataguard创建失败,需要把pr的归档备份清理脚本enable,但是由于pr已经有dr连接,且dr端应用进程异常,会造成归档无法被清理,从而可能导致pr的归档路径和归档的备份路径都爆掉,需要回滚pr的某些参数:

alter system set log_archive_dest_2='' scope=both;

转载地址:http://qlwmf.baihongyu.com/

你可能感兴趣的文章
Leetcode C++《热题 Hot 100-13》234.回文链表
查看>>
Leetcode C++《热题 Hot 100-14》283.移动零
查看>>
Leetcode C++《热题 Hot 100-15》437.路径总和III
查看>>
Leetcode C++《热题 Hot 100-16》448.找到所有数组中消失的数字
查看>>
Leetcode C++《热题 Hot 100-17》461.汉明距离
查看>>
Leetcode C++《热题 Hot 100-18》538.把二叉搜索树转换为累加树
查看>>
Leetcode C++《热题 Hot 100-19》543.二叉树的直径
查看>>
Leetcode C++《热题 Hot 100-21》581.最短无序连续子数组
查看>>
Leetcode C++《热题 Hot 100-22》2.两数相加
查看>>
Leetcode C++《热题 Hot 100-23》3.无重复字符的最长子串
查看>>
Leetcode C++《热题 Hot 100-24》5.最长回文子串
查看>>
Leetcode C++《热题 Hot 100-26》15.三数之和
查看>>
Leetcode C++《热题 Hot 100-27》17.电话号码的字母组合
查看>>
Leetcode C++《热题 Hot 100-28》19.删除链表的倒数第N个节点
查看>>
Leetcode C++《热题 Hot 100-29》22.括号生成
查看>>
Leetcode C++《热题 Hot 100-40》64.最小路径和
查看>>
Leetcode C++《热题 Hot 100-41》75.颜色分类
查看>>
Leetcode C++《热题 Hot 100-42》78.子集
查看>>
Leetcode C++《热题 Hot 100-43》94.二叉树的中序遍历
查看>>
Leetcode C++ 《第175场周赛-1 》5332.检查整数及其两倍数是否存在
查看>>