oracle备库搭建,Oracle DG–Rman备份集搭建备库

news/2024/7/3 19:17:30

Oracle DG–Rman备份集搭建备库

常用的在线备库搭建有Rman auxiliary 和Rman备份集恢复两种方式。

(一)

在环境配置OK的问题下,使用一条Rman命令就可以完成备库初始化同步,比较简单。

# 登陆

rman target sys/Oracle123@orcl_pri auxiliary sys/Oracle123@orcl_dg

# 开始搭建辅助数据库

RMAN>duplicate target database for standby nofilenamecheck from active database;

(二)

Rman备份集恢复的步骤相对多一些,但也不是很复杂。

(1)规划数据库参数

DB

db_name

db_unique_name

tnsname

primary

orcl

orcl

orcl_pri

standby

orcl

orcl_s

orcl_dg

DB

db_file_base

log_file_base

primary

/oradata/orcl

/oradata/log

standby

/oradata/orcl_dg

/oradata/log_dg

(2)主库参数配置(不考虑failover,只配置最少的参数)

alter system set log_archive_config = 'dg_config=(orcl,orcl_s)';

alter system set log_archive_dest_2 = 'SERVICE=orcl_dg ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=orcl_s' scope=both;

alter system set log_archive_dest_state_2 = ENABLE;

alter system set standby_file_management = auto;

# 生成pfile,作为备库启动的参数文件

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

(3)备库直接修改pfile.ora参数,并启动至nomount状态

*.db_unique_name='center_s'

*.log_archive_dest_1='location=/oradata/log_dg'

*.log_archive_dest_2='SERVICE=orcl_pri ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=orcl'

*.db_file_name_convert='/oradata/orcl','/oradata/orcl_dg'

*.log_file_name_convert='/oradata/log','/oradata/log_dg'

# 启动数据库

create spfile from pfile='/home/oracle/pfile.ora'

startup nomount

(4)tnsnames.ora 和 listener.ora配置

(5)主库备份,上传至备库

# 全备库

RMAN> run {

allocate channel t1 type disk;

backup database FORMAT '/oradata/backup/data_%T_%s';

release channel t1;

}

# 控制文件备份

RMAN> backup current controlfile for standby format '/oradata/backup/control.bak';

(5)备库恢复数据库

# 恢复控制文件

RMAN> RESTORE STANDBY CONTROLFILE FROM '/oradata/backup/control.bak';

# 启动数据库到mount状态

RMAN> sql 'alter database mount'

# 恢复数据库

RMAN> catalog start with '/oradata/backup/';

RMAN> restore database;

RMAN> recover database;

# 恢复有报错,可以忽略

RMAN-00571: ===========================================================

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

RMAN-00571: ===========================================================

RMAN-03002: failure of recover command at 10/17/2017 09:33:30

RMAN-06054: media recovery requesting unknown archived log for thread 1 with sequence xx and starting SCN of xxxx

(6)创建备库standby日志文件,用于实时同步数据

alter system set standby_file_management = manual;

ALTER DATABASE ADD standby LOGFILE group 11 '/oradata/log_dg/std11.log' size 500m ;

ALTER DATABASE ADD standby LOGFILE group 12 '/oradata/log_dg/std12.log' size 500m ;

ALTER DATABASE ADD standby LOGFILE group 13 '/oradata/log_dg/std13.log' size 500m ;

ALTER DATABASE ADD standby LOGFILE group 14 '/oradata/log_dg/std14.log' size 500m ;

(7)开始实时日志应用并打开数据库

select open_mode ,flashback_on,current_scn from v$database;

# 应用日志

alter database recover managed standby database disconnect from session;

# 查看应用状态,并在主库切换日志,查看序列变化

select max(sequence#),applied,archived from v$archived_log group by applied,archived;

# 打开数据库

alter database recover managed standby database cancel;

alter database open;

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

Oracle DG是数据库架构中最常用的一种,一定要能熟练搭建DG环境和掌握DG failover /switchover 、recovery的方式。


http://www.niftyadmin.cn/n/2067593.html

相关文章

c++ map 析构函数_C++虚函数、重载、覆盖

C基础(五)虚函数、重载、覆盖、隐藏 虚函数总是跟多态联系在一起,引入虚函数可以使用基类指针对继承类对象进行操作!虚函数:继承接口(函数名,参数,返回值),但是实现不继承(函数体)非虚函数:继承…

如何简洁实现游戏中的AI

2019独角兽企业重金招聘Python工程师标准>>> 端午节放假总结了一下好久前写过的一些游戏引擎,其中NPC等游戏AI的实现无疑是最繁琐的部分,现在,给大家分享一下: 从一个简单的情景开始 怪物,是游戏中的一个基…

oracle有日志文件吗,oracle 日志文件

以下来自Oracle文档.使用诊断文件监视例程:• 共有以下几种类型:– alertSID.log 文件– 后台跟踪文件– 用户跟踪文件使用诊断文件监视例程诊断文件是获取有关数据库活动的信息的一种方法。同时也是管理例程的有用工具。诊断文件有几种类型。创建的诊断文件的类型取…

2020年最后一天,今年你立的flag实现了吗

1. 你立的flag实现了吗今天是2020年最后一天,大家都努力的坚持到了现在十分不易,不知道大家立的flag实现了没有,在今年疫情期间胖哥暗自下决心粉丝突破一万,目前已经极其接近了,所以勉强算实现了吧。心态还是要放平一些…

LVMRAID

RAID技术主要是针对传统服务器部署的,应该是云服务商或硬件服务商底层部署实现。 LVM则是允许对硬盘分区大小进行灵活管理的一种机制。以下是学习的笔记内容,主要是参考学习了红帽培训书籍《Linux就该这么学》《高性能MySQL》以及掺杂了一些自己实践后的…

二叉树层序遍历递归与非递归_秋招之路-二叉树四种遍历(递归和非递归代码实现)...

前言今天和大家带来的是二叉树的常见面试题,前序,中序,后序,层次遍历,递归和非递归,这里用 C 代码实现。二叉树的遍历(traversing binary tree)是指从根结点出发,按照某种…

oracle根据分区移动,讲解Oracle移动数据文件到新分区的过程

讲解Oracle移动数据文件到新分区的过程以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!此过程用sqlplus以sys登录后进行如下步骤 ◆ 将数据文件offlinealter database datafile D:\ORACLE\PR…

python tkinter button_python-tkinter按钮不显示

当我执行脚本时,背景图像可以正常工作,它将与窗口的大小匹配,但是,我无法显示按钮(它们尚无功能).我对python相当陌生,所以不确定是否将按钮用作事件是一个好主意.任何帮助表示赞赏. import turtle import tkinter as tk from tkinter import * from PIL import Image,ImageTk …