oracle的读写分离实现
在MySQL作为应用系统的后台数据库时,我们常常见到这样的架构,一拖二、一拖三等等。这是用MySQL的读写分离技术,实现数据的写入和读取分别在不同的库上,提升了数据库服务能力。
| 
 WEBDB_STANDBY = 
(DESCRIPTION = 
(ADDRESS_LIST = 
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.65.3)(PORT = 1521)) 
) 
(CONNECT_DATA = 
(SERVICE_NAME = webdb) 
) 
) 
WEBDB_READER = 
(DESCRIPTION = 
(ADDRESS_LIST = 
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.65.3)(PORT = 1521)) 
) 
(CONNECT_DATA = 
(SERVICE_NAME = webreader) 
) 
) 
 | 
| 
 WEBDB_PRIMARY = 
(DESCRIPTION = 
(ADDRESS_LIST = 
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.65.4)(PORT = 1521)) 
) 
(CONNECT_DATA = 
(SERVICE_NAME = webdb) 
) 
) 
WEBDB_STANDBY = 
(DESCRIPTION = 
(ADDRESS_LIST = 
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.65.3)(PORT = 1521)) 
) 
(CONNECT_DATA = 
(SERVICE_NAME = webdb) 
) 
) 
 | 
备份主库的数据库和控制文件
| 
 /u01/app/oracle/product/10.2.0/db/dbs@db3=>webreader$more initwebreader.ora 
*.audit_file_dest='/u01/app/oracle/admin/webreader/adump' 
*.background_dump_dest='/u01/app/oracle/admin/webreader/bdump' 
*.core_dump_dest='/u01/app/oracle/admin/webreader/cdump' 
*.user_dump_dest='/u01/app/oracle/admin/webreader/udump' 
*.db_name='webreader' 
*.db_unique_name='webdg' 
*.fal_client='webdb_reader' 
*.fal_server='webdb_primary' 
*.log_archive_config='dg_config=(webdb,webdg)' 
*.log_archive_dest_1='location=+VG2/ valid_for=(all_logfiles,all_roles) db_unique_name=webdg' 
 | 
| 
 /u01/app/oracle/product/10.2.0/db/network/admin@db3=>webreader$more listener.ora 
# listener.ora Network Configuration File: /u01/app/oracle/product/10.2.0/db/network/admin/listener.ora 
# Generated by Oracle configuration tools. 
SID_LIST_LISTENER = 
(SID_LIST = 
(SID_DESC = 
(SID_NAME = webdb) 
(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db) 
) 
(SID_DESC = 
(SID_NAME = webdg) 
(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db) 
) 
(SID_DESC = 
(SID_NAME = webreader) 
(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db) 
) 
) 
LISTENER = 
(DESCRIPTION_LIST = 
(DESCRIPTION = 
(ADDRESS = (PROTOCOL = TCP)(HOST = db3)(PORT = 1521)) 
) 
) 
 | 
| 
 /u01/home/oracle@db3=>webdb$export ORACLE_SID=webreader 
/u01/home/oracle@db3=>webreader$sqlplus / as sysdba 
SQL*Plus: Release 10.2.0.4.0 - Production on Mon May 14 10:55:53 2012 
Copyright (c) 1982, 2007, Oracle.  All Rights Reserved. 
Connected to an idle instance. 
SQL> startup open 
ORACLE instance started. 
Total System Global Area 5.1540E+10 bytes 
Fixed Size                  2179936 bytes 
Variable Size            6425676960 bytes 
Database Buffers         4.5097E+10 bytes 
Redo Buffers               14594048 bytes 
Database mounted. 
ORA-01589: must use RESETLOGS or NORESETLOGS option for database open 
SQL> alter database open resetlogs; 
Database altered. 
 | 
oracle的读写分离实现的更多相关文章
- Oracle读写分离架构
		
读写分离是架构分布式系统的一个重要思想.不少系统整体处理能力并不能同业务的增长保持同步,因此势必会带来瓶颈,单纯的升级硬件并不能一劳永逸.针对业务类型特点,需要从架构模式上进行一系列的调整,比如业务模 ...
 - C#操作SqlServer MySql Oracle通用帮助类Db_Helper_DG(默认支持数据库读写分离、查询结果实体映射ORM)
		
[前言] 作为一款成熟的面向对象高级编程语言,C#在ADO.Net的支持上已然是做的很成熟,我们可以方便地调用ADO.Net操作各类关系型数据库,在使用了多年的Sql_Helper_DG后,由于项目需 ...
 - Oracle 19c Data Guard DML Redirection ADG备库上执行DML重定向(未来更好的进行读写分离)
		
资料来自官方网站: https://docs.oracle.com/en/database/oracle/oracle-database/19/sbydb/managing-oracle-data-g ...
 - MySQL+Amoeba实现数据库主从复制和读写分离
		
MySQL读写分离是在主从复制的基础上进一步通过在master上执行写操作,在slave上执行读操作来实现的.通过主从复制,master上的数据改动能够同步到slave上,从而保持了数据的一致性.实现 ...
 - mysql+mycat搭建稳定高可用集群,负载均衡,主备复制,读写分离
		
数据库性能优化普遍采用集群方式,oracle集群软硬件投入昂贵,今天花了一天时间搭建基于mysql的集群环境. 主要思路 简单说,实现mysql主备复制-->利用mycat实现负载均衡. 比较了 ...
 - CYQ.Data V5 数据库读写分离功能介绍
		
前言 好多年没写关于此框架的新功能的介绍了,这些年一直在默默地更新,从Nuget上的记录就可以看出来: 这几天在看Java的一些东西,除了觉的Java和.NET的相似度实在太高之外,就是Java太原始 ...
 - 利用mysql-proxy进行mysql数据库的读写分离
		
实验系统:CentOS 6.6_x86_64 实验前提:防火墙和selinux都关闭 实验说明:本实验共有4台主机,IP分配如拓扑 实验软件:mariadb-10.0.20 mysql-proxy-0 ...
 - MySQL + Atlas --- 部署读写分离
		
阅读目录 1. 数据库用户配置 2. 主从数据库连接 3. Atlas配置 4. 读写分离测试 序章 Atlas是360团队弄出来的一套基于MySQL-Proxy基础之上的代理,修改了MySQL-Pr ...
 - Amoeba+Mysql实现数据库读写分离
		
一.Amoeba 是什么 Amoeba(变形虫)项目,专注 分布式数据库 proxy 开发.座落与Client.DB Server(s)之间.对客户端透明.具有负载均衡.高可用性.sql过滤.读写分离 ...
 
随机推荐
- 洛谷 P3705 [SDOI2017]新生舞会 解题报告
			
P3705 [SDOI2017]新生舞会 题目描述 学校组织了一次新生舞会,\(Cathy\)作为经验丰富的老学姐,负责为同学们安排舞伴. 有\(n\)个男生和\(n\)个女生参加舞会买一个男生和一个 ...
 - go vendor目录
			
参考 https://blog.csdn.net/u010649766/article/details/80327035 那么查找依赖包路径的解决方案如下: 当前包下的vendor目录. 向上级目录查 ...
 - 「loj3058」「hnoi2019」白兔之舞
			
题意 有一个\((L+1)*n\) 的网格图,初始时白兔在\((0,X)\) , 每次可以向横坐标递增,纵坐标随意的位置移动,两个位置之间的路径条数只取决于纵坐标,用\(w(i,j)\) 表示,如果要 ...
 - A1100. Mars Numbers
			
People on Mars count their numbers with base 13: Zero on Earth is called "tret" on Mars. T ...
 - 出现Exception in thread "main" java.lang.UnsupportedClassVersionError: org/broadinstitute/gatk/engine/CommandLineGATK : Unsupported major.minor version 52.0问题解决方案
			
在做外显子分析Indel Realigner时,弹出以下错误: Exception in thread "main" java.lang.UnsupportedClassVersi ...
 - 2018.9南京网络预选赛(J)
			
传送门:Problem J https://www.cnblogs.com/violet-acmer/p/9720603.html 变量解释: need[ i ] : 第 i 个房间含有的旧灯泡个数. ...
 - js的this到底是什么意思
			
首先确定一点,this在声明时确定不了,在执行时才知道指向的谁!!! call() , apply(),bind() 方法的用法 比如下面一个例子: function fn(name,age){ a ...
 - Hbase记录-Hbase shell使用
			
HBase Shell HBase包含可以与HBase进行通信的Shell. HBase使用Hadoop文件系统来存储数据.它拥有一个主服务器和区域服务器.数据存储将在区域(表)的形式.这些区域被分割 ...
 - JAVA记录-Mybatis介绍
			
1.什么是 MyBatis ? MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyB ...
 - Codeforces 950 C. Zebras
			
http://codeforces.com/contest/950/problem/C 题意: 给出一个01序列,问能否将这个序列分为若干个0开头0结尾的序列 输出方案 如果有解,几个1能在一个序列就 ...