DataGuard是甲骨文推出的一种高可用性数据库方案,在Oracle 8i之前被称为Standby Database。从Oracle 9i开始,正式更名为Data Guard。它是在主节点与备用节点间通过日志同步来保证数据的同步,可以实现数据库快速切换与灾难性恢复。Data Guard只是在软件上对数据库进行设置,并不需要额外购买任何组件。用户能够在对主数据库影响很小的情况下,实现主备数据库的同步。而主备机之间的数据差异只限于在线日志部分,因此被不少企业用作数据容灾解决方案。(以上是度娘解释,本人理解 dataguard设计之初为异地容灾,他的应急切换能提供很好的高可用,但同时对外服务还是只有一台pridb,所以性能未有所提高)此次配置为dataguard物理备库最大性能模式。
 
1)linux操作系统安装并安装oracle10g软件
ps:主库安装数据库软件并建库,备库只需要安装oracle软件不需要建库
         以下主库简称pridb备库stydb
 
 
本次环境:
pridb 172.25.56.149
stydb 172.25.56.150
 
2)pridb配置
 
1.查看是否开启归档模式(由于dataguard高性能需要运用到archivelog恢复stydb,所以必须开启)
archive log list
如果没有开启 需将数据库打至mount模式后开启
alter database archivelog;
alter database force logging;(开启强制归档,有时候由于语句not logging 可能未生成redolog)
生成standby controlfile
alter database create standby controlfile as '/u01/temp/standbycontrolfile.ctl';
 
 
2.查询pridb如下文件位置
 
datafile (select name from v$datafile;)
redologfile (select member from v$logfile;
controlfile (show parameter control_files)
spfile (show parameter spfile)
 
 
3.关闭主库shutdown immediate
 
4.把datafile standbycontrolfile redologfile spfile listener.ora tnsnames.ora passwdfile拷贝至备库相应位置(如果没有相应文件夹,新建同名文件夹)
scp/u01/oradata/WILLSON/ oracle@172.25.56.150:/u01/oradata/
scp standbycontrolfile.ctl oracle@172.25.56.150:/u01/oradata/
scp listener.ora tnsnames.ora oracle@172.25.56.150:/u01/product/10.2.0/db_1/network/admin/
scp orapwWILLSON spfileWILLSON.ora oracle@172.25.56.150:/u01/product/10.2.0/db_1/dbs/
scp -r WILLSON/ oracle@172.25.56.150:/u01/admin/
 
5.配置pridb角色,配置归档日志地址,配置切换模式
 
alter system set log_archive_config='DG_CONFIG=(pridb,stydb)';
 
alter system set db_unique_name='pridb' scope=spfile;
 
shutdown immediate;
 
startup mount;
 
alter system set log_archive_dest_1='LOCATION=/u01/oradata/archivelog VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=pridb';
 
alter system set log_archive_dest_2='SERVICE=stydb VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLES) DB_UNIQUE_NAME=stydb';
 
alter system set log_archive_dest_state_1='enable';
 
alter system set log_archive_dest_state_2='enable';
 
 
alter system set FAL_CLIENT='pridb';
 
 
alter system set FAL_SERVER='stydb';
 
 
alter system set standby_archive_dest='/u01/oradata/archivelog';
 
 
alter system set standby_file_management='auto';
 
 
6.配置监听
 
[oracle@localhost admin]$ more listener.ora  # listener.ora Network Configuration File: /u01/product/10.2.0/db_1/network/admin/listener.ora # Generated by Oracle configuration tools.
SID_LIST_LISTENER =   (SID_LIST =     (SID_DESC =       (SID_NAME = PLSExtProc)       (ORACLE_HOME = /u01/product/10.2.0/db_1)       (PROGRAM = extproc)     )     (SID_DESC =            (SID_NAME = WILLSON)            (ORACLE_HOME = /u01/product/10.2.0/db_1)     )
  )

LISTENER =   (DESCRIPTION_LIST =     (DESCRIPTION =       (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))       (ADDRESS = (PROTOCOL = TCP)(HOST = 172.25.56.149)(PORT = 1521))     )   )

 
 
 
[oracle@localhost admin]$ moretnsnames.ora  # tnsnames.ora Network Configuration File: /u01/product/10.2.0/db_1/network/admin/tnsnames.ora # Generated by Oracle configuration tools.
WILLSON =   (DESCRIPTION =     (ADDRESS = (PROTOCOL = TCP)(HOST = 172.25.56.149)(PORT = 1521))     (CONNECT_DATA =       (SERVER = DEDICATED)       (SERVICE_NAME = WILLSON)     )   )
pridb =        (DESCRIPTION =          (ADDRESS_LIST =            (ADDRESS = (PROTOCOL = TCP)(HOST = 172.25.56.149)(PORT = 1521))          )          (CONNECT_DATA =            (SERVER = DEDICATED)            (SERVICE_NAME = WILLSON)          )        )       stydb =        (DESCRIPTION =          (ADDRESS_LIST =            (ADDRESS = (PROTOCOL = TCP)(HOST = 172.25.56.150)(PORT = 1521))          )          (CONNECT_DATA =            (SERVER = DEDICATED)            (SERVICE_NAME = WILLSON)          )        )

EXTPROC_CONNECTION_DATA =   (DESCRIPTION =     (ADDRESS_LIST =       (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))     )     (CONNECT_DATA =       (SID = PLSExtProc)       (PRESENTATION = RO)     )   )

 
 
 
3)stydb配置

1.启动备库至mount状态(如果失败查看初始化参数文件和控制文件是否更新)

startup mount;

2.配置备库参数

alter system set log_archive_config='DG_CONFIG=(pridb,stydb)';

alter system set db_unique_name='stydb'scope=spfile;

shutdown immediate

startup mount

alter system set log_archive_dest_1='LOCATION=/u01/oradata/archivelog VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=stydb';

alter system set log_archive_dest_2='SERVICE=pridb VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLES) DB_UNIQUE_NAME=pridb';

 
alter system set log_archive_dest_state_1='enable';
 
 
alter system set log_archive_dest_state_2='enable';
 
 
alter system set FAL_CLIENT='stydb';
 
alter system set FAL_SERVER='pridb';
 
alter system set standby_archive_dest='/u01/oradata/archivelog';
 
alter system set standby_file_management='auto';
 
 
alter database force logging;
 
shutdown immediate
 
3.配置监听
[oracle@localhost admin]$ morelistener.ora  # listener.ora Network Configuration File: /u01/product/10.2.0/db_1/network/admin/listener.ora # Generated by Oracle configuration tools.
SID_LIST_LISTENER =   (SID_LIST =     (SID_DESC =       (SID_NAME = PLSExtProc)       (ORACLE_HOME = /u01/product/10.2.0/db_1)       (PROGRAM = extproc)     )     (SID_DESC =            (SID_NAME = WILLSON)            (ORACLE_HOME = /u01/product/10.2.0/db_1)     )
  )

LISTENER =   (DESCRIPTION_LIST =     (DESCRIPTION =       (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))       (ADDRESS = (PROTOCOL = TCP)(HOST = 172.25.56.150)(PORT = 1521))     )   )
[oracle@localhost admin]$ more tnsnames.ora  # tnsnames.ora Network Configuration File: /u01/product/10.2.0/db_1/network/admin/tnsnames.ora # Generated by Oracle configuration tools.
WILLSON =   (DESCRIPTION =     (ADDRESS = (PROTOCOL = TCP)(HOST = 172.25.56.150)(PORT = 1521))     (CONNECT_DATA =       (SERVER = DEDICATED)       (SERVICE_NAME = WILLSON)     )   )
pridb =        (DESCRIPTION =          (ADDRESS_LIST =            (ADDRESS = (PROTOCOL = TCP)(HOST = 172.25.56.149)(PORT = 1521))          )          (CONNECT_DATA =            (SERVER = DEDICATED)            (SERVICE_NAME = WILLSON)          )        )       stydb =        (DESCRIPTION =          (ADDRESS_LIST =            (ADDRESS = (PROTOCOL = TCP)(HOST = 172.25.56.150)(PORT = 1521))          )          (CONNECT_DATA =            (SERVER = DEDICATED)            (SERVICE_NAME = WILLSON)          )        )

EXTPROC_CONNECTION_DATA =   (DESCRIPTION =     (ADDRESS_LIST =       (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))     )     (CONNECT_DATA =       (SID = PLSExtProc)       (PRESENTATION = RO)     )   )

 
 
 
 
4)测试配置
pridb:
 
alter database open;
 
select open_mode,database_role from v$database;
 
OPEN_MODE   DATABASE_ROLE ----------              ---------------- READ WRITE   PRIMARY
 
stydb
 
startup;
 
alter database recover managed standby database disconnect;
 
select open_mode,database_role from v$database;
 
OPEN_MODE  DATABASE_ROLE ----------             ---------------- MOUNTED       PHYSICAL STANDBY
 
 
同步测试:
pridb:
select sequence#,applied from v$archived_log;
stydb:
select sequence#,applied from v$archived_log;
 
 
就此oracle dataguard for linux 配置完成了,dataguard切换测试另有传送门:http://blog.csdn.net/w63667329/article/details/7900270

Linux 安装oracle10g 配置dataguard 介绍和步骤的更多相关文章

  1. linux安装及配置c++的opencv库

    linux安装及配置c++的opencv库 前言: 最近想搞个机器视觉的比赛,要求是linux+opencv环境,没有做过opencv开发的我配置环境就配了两天,看来很多乱七八糟的博客,终于装好了.网 ...

  2. 【JDK】Linux安装源码包JDK完整步骤

    [JDK]Linux安装源码包JDK完整步骤 1.检查一下系统中的jdk版本 [root@localhost software]# java -version 显示: openjdk version ...

  3. Microsoft SQL Server for Linux安装和配置

    虽说mssql for linux早已经出来了,但原本没有打算这么早就去尝试的,无奈之下还是得先尝试用了,这里分几篇介绍我在用mssql for linux时遇到的问题,不得不说作为先吃螃蟹的人总是要 ...

  4. Arch Linux 安装、配置、美化和优化

    国庆假期玩了下Arch Linux,发现这货跟Ubuntu之流相差甚远,甚难调教,而且安裝过程全命令行,会有各种问题,各种知识... --- 安装引导器--- -------------------- ...

  5. Linux学习(一)--VMware下Linux安装和配置

    本片随便将给大家讲述linux在VM虚拟机上安装及终端的安装和配置 一.Linux介绍 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户.多任务.支持多线 ...

  6. Linux 安装及配置 Nginx + ftp 服务器

    Nginx 安装及配置 一.Nginx 简介: Nginx("engine x") 是一款是由俄罗斯的程序设计师 Igor Sysoev 所开发高性能的 Web和 反向代理服务器, ...

  7. 安装和配置hadoop集群步骤

    hadoop集群的安装步骤和配置 hadoop是由java语言编写的,首先我们肯定要在电脑中安装jdk,配置好jdk的环境,接下来就是安装hadoop集群的步骤了,在安装之前需要创建hadoop用户组 ...

  8. linux安装和配置 mysql、redis 过程中遇到的问题记录

    linux下部署mysql和redis网上的教程很多,这里记录一下我部署.配置的过程中遇到的一些问题和解决办法. mysql ①安装完成后启动的时候报错 Starting MySQL.The serv ...

  9. linux环境下配置solr5.3详细步骤

    本人上周五刚刚配置了一遍centos下配置solr5.3版本,综合借鉴并改进了一些教程,贴出如下 单位使用内网,本教程暂无截图,抱歉 另,本人是使用.net编程调用solr的使用的是solrnet,在 ...

随机推荐

  1. noip2002提高组题解

    再次280滚粗.今天早上有点事情,所以做题的时候一直心不在焉,应该是三天以来状态最差的一次,所以这个分数也还算满意了.状态真的太重要了. 第一题:均分纸牌 贪心.(昨天看BYVoid的noip2001 ...

  2. RTP协议分析

      目录(?)[-] 第1章     RTP概述 RTP是什么 RTP的应用环境 相关概念 流媒体 第2章     RTP详解 RTP的协议层次 传输层的子层 应用层的一部分 RTP的封装 RTCP的 ...

  3. 数据库语言(三):MySQL、PostgreSQL、JDBC

    MySQL MySQL资料很多,这里只给出一个在论坛博客中最常用的操作:分页 mysql> select pname from product limit 10,20; limit的第一个参数是 ...

  4. 【转】iOS UITableView的方法解析

    原文网址:http://www.cnblogs.com/wfwenchao/articles/3718742.html - (void)viewDidLoad { [super viewDidLoad ...

  5. Android-onTouchEvent方法的使用

    手机屏幕事件的处理方法onTouchEvent.该方法在View类中的定义,并且所有的View子类全部重写了该方法,应用程序可以通过该方法处理手机屏幕的触摸事件.该方法的签名如下所示. public ...

  6. 最好最实用的PHP二次开发教程

    ◆二次开发 1.什么是二次开发? 二次开发,简单的说就是在现有的软件上进行定制修改,功能的扩展,然后达到自己想要的功能和效果,一般来说都不会改变原有系统的内核. 2.为什么要二次开发? 随着信息化技术 ...

  7. Conversion to Dalvik format failed: Unable to execute dex: null

    [2013-11-19 14:18:48 - Dex Loader] Unable to execute dex: java.nio.BufferOverflowException. Check th ...

  8. Source Insight中文乱码

    搜索都是c++的代码,本来想下一个Vc,想了下,决定下个eclipse for C++,anyway,n次n久时间下载失败后,我接受了推荐,先下了个Source Insight来看代码.然后问题就出现 ...

  9. HDU5697 刷题计划 dp+最小乘积生成树

    分析:就是不断递归寻找靠近边界的最优解 学习博客(必须先看这个): 1:http://www.cnblogs.com/autsky-jadek/p/3959446.html 2:http://blog ...

  10. ORACLE临时表总结[转]

    临时表概念 临时表就是用来暂时保存临时数据(亦或叫中间数据)的一个数据库对象,它和普通表有些类似,然而又有很大区别.它只能存储在临时表空间,而非用户的表空间.ORACLE临时表是会话或事务级别的,只对 ...