配置清单

任务 数据库

创建主数据库数据文件的备份副本

为备用数据库创建控制文件

为备用数据库创建参数文件

将文件从主系统复制到备用系统

设置环境以支持备用数据库

备库

启动物理备用数据库

备库

验证物理备用数据库是否正常运行

备库

一,主库配置 

 (1)归档模式 

    作为为备用数据库创建准备主数据库的一部分,必须启用与计划使用数据保护配置的方式相适应的日志模式。不属于数据保护配置的数据库的默认日志记录模式允许以非日志方式执行某些数据加载操作。这种默认模式不适用于具有备用的数据库,因为它会导致从备用数据库中丢失加载的数据,这需要手动干预才能修复。除了默认的日志记录模式之外,还有其他三种模式是

  01, 启用强制归档

FORCE LOGGING模式可防止以非记录方式执行任何加载操作。这会降低加载过程的速度,因为必须将加载的数据复制到重做日志中。FORCE LOGGING使用以下命令启用模式:
SQL> ALTER DATABASE FORCE LOGGING;

  02, STANDBY NOLOGGING FOR DATA AVAILABILITY

模式使加载操作通过其自身到备用服务器的连接将加载的数据发送到每个备用服务器。提交将被延迟,直到所有备用应用数据作为在活动数据保护环境中运行托管恢复的一部分。
使用以下命令启用: SQL> ALTER DATABASE SET STANDBY NOLOGGING FOR DATA AVAILABILITY;

  03, STANDBY NOLOGGING FOR LOAD PERFORMANCE

备用挂载性能类似于前一种模式,但如果网络无法跟上将数据加载到主服务器的速度,则加载过程可以停止向备用服务器发送数据。在这种模式下,备用服务器可能有丢失的数据,
但是作为在活动数据保护环境中运行托管恢复的正常部分,每个备用服务器自动从主服务器获取数据。使用以下命令启用:
SQL> ALTER DATABASE SET STANDBY NOLOGGING FOR LOAD PERFORMANCE;

  (2)配置主数据库接受重做数据

一般比原来的redo多一组
查询系统的redo
SQL> select MEMBER from v$logfile; MEMBER
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/ORCL/redo03.log
/u01/app/oracle/oradata/ORCL/redo02.log
/u01/app/oracle/oradata/ORCL/redo01.log SQL> ALTER DATABASE ADD STANDBY LOGFILE ('/u01/app/oracle/oradata/ORCL/slog1.rdo') SIZE 500M; SQL> ALTER DATABASE ADD STANDBY LOGFILE ('/u01/app/oracle/oradata/ORCL/slog2.rdo') SIZE 500M; SQL> ALTER DATABASE ADD STANDBY LOGFILE ('/u01/app/oracle/oradata/ORCL/slog3.rdo') SIZE 500M; SQL> ALTER DATABASE ADD STANDBY LOGFILE ('/u01/app/oracle/oradata/ORCL/slog4.rdo') SIZE 500M;

  (3) 配置pfile

DB_NAME=orcl
DB_UNIQUE_NAME=orcl
LOG_ARCHIVE_CONFIG='DG_CONFIG=(orcl,standby)'
CONTROL_FILES='/arch1/chicago/control1.ctl', '/arch2/chicago/control2.ctl'
LOG_ARCHIVE_DEST_1=
'LOCATION=/oradata/archivelog/
VALID_FOR=(ALL_LOGFILES,ALL_ROLES)
DB_UNIQUE_NAME=orcl'
LOG_ARCHIVE_DEST_2=
'SERVICE=standby ASYNC
VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)
DB_UNIQUE_NAME=standby'
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
LOG_ARCHIVE_FORMAT=%t_%s_%r.arc
FAL_SERVER=standby
FAL_CLIENT=orcl
STANDBY_FILE_MANAGEMENT=AUTO
SQL> alter system set LOG_ARCHIVE_CONFIG='DG_CONFIG=(orcl,standby)'
2 scope=both
3 ; System altered. SQL> alter system set LOG_ARCHIVE_DEST_1='LOCATION=/oradata/archivelog/ VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=orcl' scope=both; System altered. SQL> alter system set LOG_ARCHIVE_DEST_2='SERVICE=standby ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=standby' scope=both; System altered. SQL>
SQL> alter system set FAL_SERVER=standby
2 scope=both; System altered. SQL> alter system set FAL_CLIENT=orcl scope=both; System altered. SQL> alter system set STANDBY_FILE_MANAGEMENT=AUTO scope=both; System altered. SQL>
参数 推荐设置

DB_NAME

在主数据库上,指定创建数据库时使用的名称。在物理备用数据库上,使用DB_NAME主数据库。

DB_UNIQUE_NAME

为每个数据库指定唯一的名称。即使主数据库和备用数据库反向角色,此名称仍保留在数据库中,并且不会更改。

LOG_ARCHIVE_CONFIG

DG_CONFIG必须在Oracle Data Guard配置中的每个数据库上显式设置此参数的属性,以启用完整的Oracle Data Guard功能。设置DG_CONFIG为包含配置DB_UNIQUE_NAME中每个数据库的文本字符串,此列表中的每个名称用逗号分隔。

CONTROL_FILES

指定主数据库上控制文件的路径名。建议控制文件的第二个副本可用,以便在将良好的控制文件复制到错误控制文件的位置后可以轻松地重新启动实例。

LOG_ARCHIVE_DEST_n

指定在主系统和备用系统上归档重做数据的位置。

  • LOG_ARCHIVE_DEST_1 归档主数据库从本地联机重做日志文件生成的重做数据到/ arch1 / chicago /中的本地归档重做日志文件。

  • LOG_ARCHIVE_DEST_2仅对主要角色有效。此目标将重做数据传输到远程物理备用目标boston

注意:如果配置了快速恢复区域(使用DB_RECOVERY_FILE_DEST初始化参数)并且您尚未使用该LOCATION属性显式配置本地归档目标,则Oracle Data Guard会自动使用LOG_ARCHIVE_DEST_1初始化参数(如果尚未设置)作为默认目标用于本地存档。另请参阅LOG_ARCHIVE_DEST_n参数属性以获取完整LOG_ARCHIVE_DEST_n信息。

REMOTE_LOGIN_PASSWORDFILE

必须将此参数设置为EXCLUSIVE或者SHARED如果使用远程登录密码文件来验证管理用户或重做传输会话。

LOG_ARCHIVE_FORMAT

使用线程(%t),序列号(%s)和resetlogs ID(%r)指定归档重做日志文件的格式。

FAL_SERVER

指定FAL服务器的Oracle Net服务名称(通常这是以主角色运行的数据库)。当Chicago数据库以备用角色运行时,如果Boston无法自动发送丢失的日志文件,它将使用Boston数据库作为FAL服务器从中获取(请求)丢失的归档重做日志文件。

DB_FILE_NAME_CONVERT

指定备用数据库数据文件的路径名和文件名位置,后跟主要位置。此参数将主数据库数据文件的路径名转换为备用数据文件路径名。此参数仅用于转换物理备用数据库的路径名。此参数可以指定多对路径。

LOG_FILE_NAME_CONVERT

指定备用数据库联机重做日志文件的位置,后跟主要位置。此参数将主数据库日志文件的路径名转换为备用数据库上的路径名。此参数可以指定多对路径。

STANDBY_FILE_MANAGEMENT

设置为AUTO在向主数据库添加数据文件或从主数据库中删除数据文件时,将自动对备用数据库进行相应的更改。

  (4) 创建备用数据库需要的文件,并拷贝

创建备库的控制文件
ALTER DATABASE CREATE STANDBY CONTROLFILE AS '/tmp/standby.ctl'; 创建备库的参数文件
CREATE PFILE ='/tmp/initstandby.ora' FROM SPFILE;
[oracle@oracle18c dbs]$ scp /tmp/initstandby.ora 192.168.0.163:/u01/app/oracle/product/18.3.0/dbhome_1/dbs
oracle@192.168.0.163's password:
initstandby.ora 100% 1392 1.4KB/s 00:00 [oracle@oracle18c dbs]$ scp orapworcl 192.168.0.163:/u01/app/oracle/product/18.3.0/dbhome_1/dbs
The authenticity of host '192.168.0.163 (192.168.0.163)' can't be established.
ECDSA key fingerprint is 37:33:3c:b8:42:24:45:9d:6e:a1:6a:ba:f3:c8:1d:d9.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.0.163' (ECDSA) to the list of known hosts.
oracle@192.168.0.163's password:
orapworcl 100% 3584 3.5KB/s 00:00

再备库上操作:

更改密码文件名字
[oracle@oracle18c2 dbs]$ mv orapworcl orapwstandby 修改pfile
需要修改的地方
参数 推荐设置

DB_UNIQUE_NAME

为此数据库指定唯一名称。此名称保留在数据库中,即使主数据库和备用数据库反向角色也不会更改。

CONTROL_FILES

在备用数据库上指定控制文件的路径名。例3-1显示了如何为两个控制文件执行此操作。建议控制文件的第二个副本可用,以便在将良好的控制文件复制到错误控制文件的位置后可以轻松地重新启动实例。

DB_FILE_NAME_CONVERT

指定主数据库数据文件的路径名和文件名位置,后跟备用位置。此参数将主数据库数据文件的路径名转换为备用数据文件路径名。

LOG_FILE_NAME_CONVERT

指定主数据库联机重做日志文件的位置,后跟备用位置。此参数将主数据库日志文件的路径名转换为备用数据库上的路径名。

LOG_ARCHIVE_DEST_n

指定要归档重做数据的位置。在例3-1中

  • LOG_ARCHIVE_DEST_1 归档从主数据库接收的重做数据到/ arch1 / boston /中的归档重做日志文件。

  • LOG_ARCHIVE_DEST_2当前被忽略,因为此目标仅对主要角色有效。如果发生切换并且此实例成为主数据库,则它会将重做数据传输到远程芝加哥目的地。

注意:如果配置了快速恢复区域(使用DB_RECOVERY_FILE_DEST初始化参数)并且您没有使用该LOCATION属性显式配置本地归档目标,则Oracle Data Guard会自动使用LOG_ARCHIVE_DEST_1初始化参数(如果尚未设置)作为默认值本地存档的目的地。另外,有关完整信息,请参阅LOG_ARCHIVE_DEST_n参数属性LOG_ARCHIVE_DEST_n

FAL_SERVER

指定FAL服务器的Oracle Net服务名称(通常这是以主角色运行的数据库)。当Boston数据库以备用角色运行时,它使用Chicago数据库作为FAL服务器,如果Chicago无法自动发送丢失的日志文件,则从该服务器获取(请求)丢失的归档重做日志文件。

  (5) 主库备份文件

RMAN>  backup as compressed backupset database;

Starting backup at 2019:08:3015:52:27
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=87 device type=DISK
channel ORA_DISK_1: starting compressed full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00001 name=/u01/app/oracle/oradata/ORCL/system01.dbf
input datafile file number=00003 name=/u01/app/oracle/oradata/ORCL/sysaux01.dbf
input datafile file number=00004 name=/u01/app/oracle/oradata/ORCL/undotbs01.dbf
input datafile file number=00007 name=/u01/app/oracle/oradata/ORCL/users01.dbf
channel ORA_DISK_1: starting piece 1 at 2019:08:3015:52:27
channel ORA_DISK_1: finished piece 1 at 2019:08:3015:53:22
piece handle=/oradata/data/02uah0hr_1_1_ORCL tag=TAG20190830T155227 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:55
channel ORA_DISK_1: starting compressed full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00010 name=/u01/app/oracle/oradata/ORCL/kingle/sysaux01.dbf
input datafile file number=00009 name=/u01/app/oracle/oradata/ORCL/kingle/system01.dbf
input datafile file number=00011 name=/u01/app/oracle/oradata/ORCL/kingle/undotbs01.dbf
input datafile file number=00012 name=/u01/app/oracle/oradata/ORCL/kingle/users01.dbf
channel ORA_DISK_1: starting piece 1 at 2019:08:3015:53:22
channel ORA_DISK_1: finished piece 1 at 2019:08:3015:53:57
piece handle=/oradata/data/03uah0ji_1_1_ORCL tag=TAG20190830T155227 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:35
channel ORA_DISK_1: starting compressed full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00006 name=/u01/app/oracle/oradata/ORCL/pdbseed/sysaux01.dbf
input datafile file number=00005 name=/u01/app/oracle/oradata/ORCL/pdbseed/system01.dbf
input datafile file number=00008 name=/u01/app/oracle/oradata/ORCL/pdbseed/undotbs01.dbf
channel ORA_DISK_1: starting piece 1 at 2019:08:3015:53:58
channel ORA_DISK_1: finished piece 1 at 2019:08:3015:54:33
piece handle=/oradata/data/04uah0km_1_1_ORCL tag=TAG20190830T155227 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:35
Finished backup at 2019:08:3015:54:33 Starting Control File and SPFILE Autobackup at 2019:08:3015:54:33
piece handle=/u01/app/oracle/product/18.3.0/dbhome_1/dbs/c-1545453018-20190830-01 comment=NONE
Finished Control File and SPFILE Autobackup at 2019:08:3015:54:34
RMAN>  backup current controlfile for standby
2> ; Starting backup at 2019:08:3015:57:19
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
including standby control file in backup set
channel ORA_DISK_1: starting piece 1 at 2019:08:3015:57:20
channel ORA_DISK_1: finished piece 1 at 2019:08:3015:57:21
piece handle=/oradata/data/06uah0qv_1_1_ORCL tag=TAG20190830T155719 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 2019:08:3015:57:21 Starting Control File and SPFILE Autobackup at 2019:08:3015:57:21
piece handle=/u01/app/oracle/product/18.3.0/dbhome_1/dbs/c-1545453018-20190830-02 comment=NONE
Finished Control File and SPFILE Autobackup at 2019:08:3015:57:23

拷贝到备库

  (6) 备库启动

用pfile 启动数据库

SQL> startup nomount pfile='/u01/app/oracle/product/18.3.0/dbhome_1/dbs/initstandby.ora';
ORACLE instance started. Total System Global Area 2516580872 bytes
Fixed Size 8899080 bytes
Variable Size 671088640 bytes
Database Buffers 1828716544 bytes
Redo Buffers 7876608 bytes
SQL>

rman 恢复

恢复控制文件
RMAN> restore standby controlfile from '/oradata/data/db_08uah0tg_1_1.ctl'; Starting restore at 2019:08:3016:04:30
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=38 device type=DISK channel ORA_DISK_1: restoring control file
channel ORA_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 2019:08:3016:04:32 恢复数据文件 指定目录 RMAN> alter database mount; released channel: ORA_DISK_1
Statement processed RMAN> catalog start with '/oradata/data/'; searching for all files that match the pattern /oradata/data/ List of Files Unknown to the Database
=====================================
File Name: /oradata/data/db_08uah0tg_1_1.ctl;; Do you really want to catalog the above files (enter YES or NO)? yes
cataloging files...
cataloging done List of Cataloged Files
=======================
File Name: /oradata/data/db_08uah0tg_1_1.ctl;; 恢复 RMAN> restore database; Starting restore at 2019:08:3016:06:38
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=38 device type=DISK channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00001 to /u01/app/oracle/oradata/ORCL/system01.dbf
channel ORA_DISK_1: restoring datafile 00003 to /u01/app/oracle/oradata/ORCL/sysaux01.dbf
channel ORA_DISK_1: restoring datafile 00004 to /u01/app/oracle/oradata/ORCL/undotbs01.dbf
channel ORA_DISK_1: restoring datafile 00007 to /u01/app/oracle/oradata/ORCL/users01.dbf
channel ORA_DISK_1: reading from backup piece /oradata/data/02uah0hr_1_1_ORCL
channel ORA_DISK_1: piece handle=/oradata/data/02uah0hr_1_1_ORCL tag=TAG20190830T155227
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:01:05
channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00009 to /u01/app/oracle/oradata/ORCL/kingle/system01.dbf
channel ORA_DISK_1: restoring datafile 00010 to /u01/app/oracle/oradata/ORCL/kingle/sysaux01.dbf
channel ORA_DISK_1: restoring datafile 00011 to /u01/app/oracle/oradata/ORCL/kingle/undotbs01.dbf
channel ORA_DISK_1: restoring datafile 00012 to /u01/app/oracle/oradata/ORCL/kingle/users01.dbf
channel ORA_DISK_1: reading from backup piece /oradata/data/03uah0ji_1_1_ORCL
channel ORA_DISK_1: piece handle=/oradata/data/03uah0ji_1_1_ORCL tag=TAG20190830T155227
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:35
channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00005 to /u01/app/oracle/oradata/ORCL/pdbseed/system01.dbf
channel ORA_DISK_1: restoring datafile 00006 to /u01/app/oracle/oradata/ORCL/pdbseed/sysaux01.dbf
channel ORA_DISK_1: restoring datafile 00008 to /u01/app/oracle/oradata/ORCL/pdbseed/undotbs01.dbf
channel ORA_DISK_1: reading from backup piece /oradata/data/04uah0km_1_1_ORCL
channel ORA_DISK_1: piece handle=/oradata/data/04uah0km_1_1_ORCL tag=TAG20190830T155227
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:35
Finished restore at 2019:08:3016:08:54 RMAN>

备库行同步

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

oracle--oracle18C DG搭建(二)的更多相关文章

  1. Oracle - 通过dg,完成单实例到rac的迁移

    一.概述 本文将介绍如何给单实例搭建一个rac dg,以及如何对其进行角色转换,完成从单实例到rac的迁移.预先具备的知识(rac搭建,单实例-单实例dg搭建) 二.实验环境介绍 主库(已有数据库实例 ...

  2. linux下oracle11G DG搭建(二):环绕主库搭建操作

    linux下oracle11G DG搭建(二):环绕主库搭建操作 环境 名称 主库 备库 主机名 bjsrv shsrv 软件版本号 RedHat Enterprise5.5.Oracle 11g 1 ...

  3. oracle DG搭建

    Oracle DG 搭建1. 环境 OS IP hostname db_name DB_UNIQUE_NAME主库 RHEL 5.4 192.168.12.20 edgzrip1.oracle.com ...

  4. DG搭建方式区分

    DG搭建三种方式: 一.异机恢复,restore database,recover database 二. duplicate target database for standby from act ...

  5. Oracle 11g DG配置简明版

    环境: 主库A机:在线生产环境,RHEL 6.4 + Oracle 11.2.0.3 备库B机:新增备机,RHEL 6.4 需求: 对生产环境最小影响前提下配置DG备库. 目录: 一.B机安装相同版本 ...

  6. Oracle 10gR2 Dataguard搭建(非duplicate方式)

    Oracle 10gR2 Dataguard搭建(非duplicate方式) 我的实验环境: 源生产库(主库): IP地址:192.168.1.30 Oracle 10.2.0.5 单实例 新DG库( ...

  7. linux下oracle11G DG搭建(三):环绕备库搭建操作

    linux下oracle11G DG搭建(三):环绕备库搭建操作 环境 名称 主库 备库 主机名 bjsrv shsrv 软件版本号 RedHat Enterprise5.5.Oracle 11g 1 ...

  8. Oracle11G DG 搭建及管理

    一.准备工作 环境准备 主数据库Oracle Database安装 备服务器Oracle Database software 安装 二.正式配置 三.基本管理 -------------------- ...

  9. 4级搭建类401-Oracle 19c Non-CDB DG搭建(Linux 主备一对一 LGWR ASYNC)公开

    项目文档引子系列是根据项目原型,制作的测试实验文档,目的是为了提升项目过程中的实际动手能力,打造精品文档AskScuti. 项目文档引子系列除特定项目目前不对外发布,仅作为博客记录,其他公开.如学员在 ...

随机推荐

  1. Spring、SpringMVC、Hibernate整合 ----超详细教程

    一.数据库表 /* Navicat MySQL Data Transfer Source Server : 本地连接 Source Server Version : 50720 Source Host ...

  2. 使用JWT作为Spring Security OAuth2的token存储

    序 Spring Security OAuth2的demo在前几篇文章中已经讲过了,在那些模式中使用的都是RemoteTokenService调用授权服务器来校验token,返回校验通过的用户信息供上 ...

  3. 『CSP2019-S 第二轮退役记』

    Day0 到杭州的时候是下午,休息了一下就吃完饭了. 晚上的时候闲着没事复习了一下几个不太熟的数论板子,\(\mathrm{exgcd}\),\(\mathrm{ExCRT}\),\(\mathrm{ ...

  4. Zookeeper的安装与配置、使用

    Dubbo的介绍 如果表现层和服务层是不同的工程,然而表现层又要调用服务层的服务,肯定不能像之前那样,表现层和服务层在一个项目时,只需把服务层的Java类注入到表现层所需要的类中即可,但现在,表现层和 ...

  5. sklearn 学习 第一篇:分类

    分类属于监督学习算法,是指根据已有的数据和标签(分类)进行学习,预测未知数据的标签.分类问题的目标是预测数据的类别标签(class label),可以把分类问题划分为二分类和多分类问题.二分类是指在两 ...

  6. Weblogic-SSRF漏洞复现

    Weblogic-SSRF漏洞复现 一.SSRF概念 服务端请求伪造(Server-Side Request Forgery),是一种有攻击者构造形成有服务端发起请求的一个安全漏洞.一般情况下,SSR ...

  7. Dev控件使用CheckedListBoxControl获取items.count为0 的解决方法

    CheckedListBoxControl,我使用DataSource属性,给其绑定了一个List对象.界面显示都挺正常的,当若干个项的复选框被选中的后,它的checkedListBoxControl ...

  8. 算法笔记 第6章 C++标准模版库(STL)介绍 学习笔记

    6.1 vector的常见用法详解 vector:变长数组,长度根据需要而自动改变的数组 要使用vector,则需要添加vector头文件,即#include<vector>,还需要在头文 ...

  9. Java构造函数执行顺序

    首先执行基类的构造函数 然后执行派生类的构造函数之外的初始化语句 最后执行派生类的构造函数 在Java中,如果派生类构造函数需要调用基类的构造函数,那么基类构造函数必须作为派生类构造函数的第一句话.在 ...

  10. 图片在View中的几种填充方式

    UIViewContentMode各类型效果   UIViewContentMode typedef enum {     UIViewContentModeScaleToFill,     UIVi ...