配置清单

任务 数据库

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

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

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

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

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

备库

启动物理备用数据库

备库

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

备库

一,主库配置 

 (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. python中easydict的简单使用

    easydict的作用:EasyDict可以使得以属性的方式去访问字典的值! 1. 实例1:获取字典的值 2. 实例2: 设置属性 3. 在深度学习中往往利用easydict建立一个全局的变量

  2. SQL Server 通过“with as”方法查询树型结构

    一.with as 公用表表达式 类似VIEW,但是不并没有创建对象,WITH  AS 公用表表达式不创建对象,只能被后随的SELECT语句,其作用: 1. 实现递归查询(树形结构) 2. 可以在一个 ...

  3. 基于MicroPython结合ESP8266模块实现TCP通信(AT指令版)

    转载请注明文章来源,更多教程可自助参考docs.tpyboard.com,QQ技术交流群:157816561,公众号:MicroPython玩家汇 实验目的 - 学习ESP8266模块(ESP-01) ...

  4. JVM的内存分配策略

    1.对象优先在Eden区分配大多数情况下,对象在新生代Eden区中分配.当Eden区没有足够空间进行分配时,虚拟机将发起一次Minor GC. 2.大对象直接进入老年代 所谓的大对象是指,需要大量连续 ...

  5. Java基础扫盲系列(三)— Java内省技术

    前言 Java内省技术属于Java基础体系的的一部分,但是很多人都不甚了解.笔者也是在学习Spring源码的过程中遇到该技术模块的.为了完善技术体系,本文将全面的学习该技术.在提到Java内省技术,就 ...

  6. linux部署java命令

    启动: #!/bin/bash source /etc/profile log() { echo `date +[%Y-%m-%d" "%H:%M:%S]` $1 } log &q ...

  7. 【mybatis】mybatis传参的几种方式

    参考地址: https://my.oschina.net/liuzelin/blog/2966633

  8. Could not find resource——mybatis 找不到映射器xml文件

    今天用IDEA写Mybatis的时候,测试报了如图所示的错,恶心死我了,后来解决了,总结一下,防止下回跳坑,当然,也是做一个分享,如果有朋友遇到这个错,希望有所帮助 Error parsing SQL ...

  9. Winform中设置ZedGraph多条Y轴时与多条曲线一一对应

    场景 Winform中实现ZedGraph的多条Y轴(附源码下载): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/1001322 ...

  10. Python TK编程第一部分 Hello Again

    当你想写大一点的程序的时候,将你的代码封装到一个或者多个类里会是一个不错的办法.下面'hello world'这个例子来自Matt Conway的Tkinter Life Preserver. fro ...