1.主库开启归档

SQL> archive log list;(查询当前归档状态)

SQL> shutdown immediate;

SQL> startup mount;(启动到mount状态)

SQL> archive log list;(开启归档)

2.开启强制写日志

SQL> alter database force logging;

3..关闭闪回

SQL> alter database flashback off;

4.创建standby logfile.(原则是最大日志组数+1,大小和日志成员大小一致

SQL> select group#,member from v$logfile;(查询当前日志组数)

GROUP# MEMBER
------ ------------------------------------------------------------
     3 /u01/app/oracle/oradata/ENMO/redo03.log
     2 /u01/app/oracle/oradata/ENMO/redo02.log
     1 /u01/app/oracle/oradata/ENMO/redo01.log

SQL> select group#,bytes/1024/1024 as size_m from v$log;(查询日志成员大小)

GROUP#     SIZE_M
------ ----------
     1         50
     3         50
     2         50

SQL> alter database add standby logfile group 4 ('/u01/app/oracle/oradata/ENMO/redo04.log') size 50m;

Database altered.

SQL> alter database add standby logfile group 5 ('/u01/app/oracle/oradata/ENMO/redo05.log') size 50m;

Database altered.

SQL> alter database add standby logfile group 6 ('/u01/app/oracle/oradata/ENMO/redo06.log') size 50m;

Database altered.

SQL> alter database add standby logfile group 7 ('/u01/app/oracle/oradata/ENMO/redo07.log') size 50m;

Database altered.

5.生成文本文件,并修改(spfile是二进制文件,pfile是文本文件,文本文件可编辑)

SQL> create pfile from spfile;

[oracle@host06 ~]$ cd $ORACLE_HOME/dbs

[oracle@host06 dbs]$ vi initENMO.ora

追加如下内容:(可在官方文档里找(MARK BOOK LIST-->DAT-->Data Guard Concepts and Administration-->Creating a Physical Standby Database-->Example 3-1 Primary Database: Primary Role Initialization Parameters

db_unique_name=PROD
log_archive_format=%t_%s_%r.arc
log_archive_config='DG_CONFIG=(DG_CONFIG=(PROD,SBDB)'
LOG_ARCHIVE_DEST_1='LOCATION=/u01/app/oracle/FRA
VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=PROD'
LOG_ARCHIVE_DEST_2='SERVICE=ENMO70           LGWR                   SYNC
VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=SBDB'
log_archive_dest_state_1=ENABLE
log_archive_dest_state_2=ENABLE
LOG_ARCHIVE_MAX_PROCESSES=4
##Parameters which using for switch over from Primary to Standby.

fal_server=ENMO70
standby_file_management=AUTO
db_file_name_convert='ENMO','ENMO'
log_file_name_convert='ENMO','ENMO'

6.关闭数据库,生成最新的spfile,并启库

SQL>shutdown immediate;

SQL>create spfile from pfile;

SQL>startup

SQL> show parameter name;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
cell_offloadgroup_name               string
db_file_name_convert                 string      ENMO, ENMO
db_name                              string      ENMO
db_unique_name                       string      PROD
global_names                         boolean     FALSE
instance_name                        string      ENMO
lock_name_space                      string
log_file_name_convert                string      ENMO, ENMO
processor_group_name                 string
service_names                        string      PROD

7.配置主库静态监听listener.ora[官方文档位置:Master Book List-->NET-->Net Service Reference-->Local Naming Parameters(listener.ora)-->Example7-1 listener.ora file

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.60)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

ADR_BASE_LISTENER = /u01/app/oracle
SID_LIST_LISTENER =
 (sid_list=
   (sid_desc=
    (sid_name=ENMO)
    (oracle_home= /u01/app/oracle/product/11.2.0/dbhome_1)
    (global_dbname=SBDB)))

8..配置主库tnsnames【官方文档位置Master Book List-->NET-->Net Service Reference-->Local Naming Parameters(tnsnames.ora)-->Example 6-2 Net Service Name with Multiple Connect Descriptors in tnsnames.ora】

ENMO60=         
 (DESCRIPTION_LIST=
  (DESCRIPTION=
   (ADDRESS=(protocol = TCP(HOST=192.168.100.60)(PORT = 1521))
 )
 ) 
 (CONNECT_DATA=
   (SERVER = DEDICATED)
   (SERVICE_NAME=PROD)
  )
  )
ENMO70=
 (DESCRIPTION_LIST=
  (DESCRIPTION=
   (ADDRESS=(protocol = TCP(HOST=192.168.100.70)(PORT = 1521))
 )
 )
 (CONNECT_DATA=
   (SERVER = DEDICATED)
   (SERVICE_NAME=SBDB)

9.主库拷贝相关文件到备库

[oracle@host06 dbs]$ cd $ORACLE_HOME/network/admin(切换到主库参数文件和密码文件所在位置)

[oracle@host06 dbs]$ scp orapwENMO oracle@192.168.100.70:/u01/app/oracle/product/11.2.0/dbhome_1/dbs/orapwENMO(拷贝密码文件到备库)

[oracle@host06 dbs]$ scp initENMO.ora oracle@192.168.100.70:/u01/app/oracle/product/11.2.0/dbhome_1/dbs/initENMO.ora(拷贝参数文件到备库)

[oracle@host06 dbs]$ scp $ORACLE_HOME/network/admin/tnsnames.ora oracle@192.168.100.70:$ORACLE_HOME/network/admin/tnsnames.ora(拷贝监听到备库)

10.备库创建静态监听并启动(可参考主库的)

11.把从主库拷贝过来的pfile参数文件修改一下

12.备库按照参数文件创建目录

13.备库通过pfile生成spfile,启动到nomount状态

14.以下内容是与rman duplicate方式最主要区别:

停止主库,拷贝数据文件,日志文件

[oracle@host06 ~]$ cd /u01/app/oracle/oradata/ENMO

[oracle@host06 ENMO]$ ls
control01.ctl  redo01.log  redo04.log  redo07.log    temp01.dbf
control02.ctl  redo02.log  redo05.log  sysaux01.dbf  undotbs01.dbf
example01.dbf  redo03.log  redo06.log  system01.dbf  users01.dbf

[oracle@host06 ENMO]$ tar -czvf /home/oracle/prod1.tar.gz *

(打个tar包把主库oradata下的数据文件日志文件控制文件等打个tar包到 /home/oracle下并创建prod1.tar.gz文件)

[oracle@host06 ENMO]$ scp /home/oracle/prod1.tar.gz 192.168.100.70:/u01/app/oracle/oradata/ENMO/

(拷贝tar包到备库/u01/app/oracle/oradata/ENMO下)

到备库下把从主库拷贝的控制文件删除,因为结构不一样,所以控制文件不能共用

[oracle@host07 ENMO]$ cd /u01/app/oracle/oradata/ENMO

[oracle@host07 ENMO]$ ls
control01.ctl  redo01.log  redo05.log    system01.dbf
control02.ctl  redo02.log  redo06.log    temp01.dbf
example01.dbf  redo03.log  redo07.log    undotbs01.dbf
prod1.tar.gz   redo04.log  sysaux01.dbf  users01.dbf

[oracle@host07 ENMO]$ rm *.ctl

把主库启动到mount状态,创建standby控制文件

SQL> startup mount;

SQL> alter database create standby controlfile as '/home/oracle/control_standby.ctl';

[oracle@host06 ~]$ scp control_standby.ctl 192.168.100.70:/home/oracle/

备库在standby上进行恢复controlfile并open;

[oracle@host07 ENMO]$ rman target /

Recovery Manager: Release 11.2.0.4.0 - Production on Tue May 2 11:14:10 2017

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

connected to target database: ENMO (not mounted)

RMAN> restore controlfile from '/home/oracle/control_standby.ctl';

Starting restore at 02-MAY-17
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=20 device type=DISK

channel ORA_DISK_1: copied control file copy
output file name=/u01/app/oracle/oradata/ENMO/control01.ctl
output file name=/u01/app/oracle/oradata/ENMO/control02.ctl
Finished restore at 02-MAY-17

SQL> shutdown immediate;
ORA-01507: database not mounted

ORACLE instance shut down.
SQL> create spfile from pfile;

File created.

SQL> startup nomount;
ORACLE instance started.

Total System Global Area  830930944 bytes
Fixed Size                  2257800 bytes
Variable Size             536874104 bytes
Database Buffers          289406976 bytes
Redo Buffers                2392064 bytes
SQL> alter database mount;

Database altered.

SQL> alter database open;

Database altered.

SQL> recover managed standby database disconnect from session;
Media recovery complete.

冷备搭建DG的更多相关文章

  1. RAC环境上搭建DG

    首先RAC要确实是开归档的状态archive log list;如果是非归档状态,需要执行下面几步srvctl stop database -d +数据库实例名 关闭数据库--节点1(要做DG主库的) ...

  2. linux/windows系统oracle数据库简单冷备同步

    linux/windows系统oracle数据库简单冷备同步 我们有一个财务系统比较看重财务数据的安全性,同时我们拥有两套系统,一个生产环境(linux),一个应急备份环境(windows).备份环境 ...

  3. oracle数据库冷备中的手工备份和恢复

    我的操作系统是red hat5.5 32位系统oracle11g 以我的系统为例: 冷备状态下,数据库必须是关闭的,但是我们现在要做一个实验,在开库的状态下分别查询出: 1.show paramete ...

  4. 工作随笔——elasticsearch数据冷热分离、数据冷备

    概述: 适合日志类型的数据存储方案.即当日数据写入,历史数据只读. 节省部分硬件成本.热数据采用更好的硬件. 环境: 已有6个ES节点,使用docker-compose方式搭建. es1:master ...

  5. Oracle冷备迁移脚本(文件系统)

    Oracle冷备迁移脚本(文件系统) 两个脚本: 配置文件生成脚本dbinfo.sh 网络拷贝到目标服务器的脚本cpdb16.sh 1. 配置文件生成脚本 #!/bin/bash #Usage: cr ...

  6. Windows系统下Oracle数据库冷备

    一.背景: 具体的场景是数据库不是普通的OLTP系统,更像是OLAP系统,数据的更新频率很低,在noarchivelog 模式下运行,实时性要求低,但是数据只有一份不能弄丢,需要应付磁盘损坏等情况.这 ...

  7. ORA-16019搭建DG设置归档线程参数报错

    #操作描述:搭建DG,主库修改参数log_archive_dest_1线程路径报错 ORA-16019: cannot use LOG_ARCHIVE_DEST_1 with LOG_ARCHIVE_ ...

  8. 冷备手工完全恢复(recover database,recover tablespace,recover datafile)

    冷备手工完全恢复 1.   手工完全恢复三种级别: recover database: 所有或大部分datafile丢失,一般是在mount状态完成.recover tablespace:    非关 ...

  9. Oracle冷备和热备脚本

    Oracle冷备和热备脚本 冷备脚本: set feedback off set heading off set verify  off set trimspool off set echo off ...

随机推荐

  1. JVM什么叫安全检测点

    [deerhang] 在JVM的垃圾回收阶段,GC线程首先要进行对象的可达性分析.为了避免多线程对可达性分析的影响引出了安全点检测的概念 当GC线程进行GC前,需要等待其他线程进入安全点.例如JVM调 ...

  2. LeetCode 26. 删除有序数组中的重复项

    双指针法 分析: 设置两个指针:p1,p2,初始p1指向数组的第一个元素,p2指向第二个元素 1)如果p1的值 == p2的值,就让p2后移一位 2)如果p1的值 != p2的值,修改p1的下一个元素 ...

  3. 记一次 .NET 车联网云端服务 CPU爆高分析

    一:背景 1. 讲故事 前几天有位朋友wx求助,它的程序CPU经常飙满,没找到原因,希望帮忙看一下. 这些天连续接到几个cpu爆高的dump,都看烦了,希望后面再来几个其他方面的dump,从沟通上看, ...

  4. C++ primer plus读书笔记——第11章 使用类

    第11章 使用类 1. 运算符重载是一种形式的C++多态. 2. 不要返回指向局部变量或临时对象的引用.函数执行完毕后,局部变量和临时对象将消失,引用将指向不存在的数据. 3. 运算符重载的格式如下: ...

  5. 什么是NPS 客户净推荐值?

    客户忠诚是企业在客户服务方面的最高目标. 客户是否忠诚通过一个问题即可判断,那就是--你会把这家企业推荐给朋友的可能性有多大?这就是著名的NPS指标,本文希望能讲清NPS客户净推荐值是什么,用好客服系 ...

  6. 6.注册CRT 以及SecureCRT访问

    1.什么是 SecureCRT SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录Unix或Linux服务器主 机的软件. 1)准备工作:安装好Se ...

  7. 微服务·API网关

    阅文时长 | 3.52分钟 字数统计 | 1232字符 主要内容 | 1.什么是API网关 2.微服务中的API网关 3.几种部署策略 『微服务·API网关』 编写人 | SCscHero 编写时间 ...

  8. Centos7 安装 htop

    此安装方法是目前位置我了解到的最简介.最快速的安装方法.本人亲验:   系统版本: CentOS Linux release 7.3.1611 (Core)   安装步骤: yum -y instal ...

  9. Sqli-labs-master通关解析(持续更新中。。。)

    大多情况下:SQL注入其实就是构造正确的mysql命令,让网页回显本不应该让我们看到的数据(如用户的账号和密码). 第一关-联合查询注入 查库 // 查看当前页面在的数据库 ?id=-1' union ...

  10. 使用 Bridge to Kubernetes 简化云端开发

    当我们面对一个大型应用程序,它有大量的微服务,并希望完成一些功能开发? 我们面临许多挑战,其中之一将是处理正确的环境,如何进行开发.我们知道,在团队中解决这个问题的最佳方法是将其容器化并在云上托管.这 ...