Home >Database >Mysql Tutorial >单实例和RAC打造的Oracle Stream

单实例和RAC打造的Oracle Stream

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-07 17:02:17922browse

前天按照《大话ORACLE RAC》一书中介绍RAC和STREAM相关章节的实验步骤在HP rx8640上搭建了类似的实验环境做实验,结果失败了。昨

前天按照《大话ORACLE RAC》一书中介绍RAC和STREAM相关章节的实验步骤在HP rx8640上搭建了类似的实验环境做实验,结果失败了。昨天跟着网上搜来的一篇《一步一步学ORACLE STREAM 》的文章以两个单实例搭建实验平台初获成功,晚上粗略研读了一下Oracle的官方文档《Streams Concepts and Administration 》,无奈太过繁琐,没有耐心和勇气继续读下去。今天闲来无事,硬着头皮再次挑战单实例和RAC下的ORACLE STREAM实现,按照昨天的思路,居然成功了,心里真是高兴。

细想开来,其实单实例也好,RAC 也好,数据库始终只有一个,区别只是实例多少的不同,实际操作步骤还是大同小异的。这让我想起前段时间操作的ORACLE RAC数据库版本升级(从10.2.0.1升级到10.2.0.4),我执行了两次升级,第一次当然是顺利的,第二次升级失败那是必然的了,因为数据库只有一个,升级也只需要一次即可,再次升级就是画蛇添足。这里又联想起无论是参加ORACLE原厂OCP培训还是看到李丙洋的《涂抹ORACLE》里面都着重指出一个容易混淆的概念:实例是实例,数据库是数据库,如果混为一谈就不好了。我之所以犯错,归根结底还是对数据库的概念理解不够透彻。

ORACLE官方文档《concepts》第四十一页里面有一句话说得很清楚:

"An oracle database server consists of an oracle database and an oracle insance. Every time a database is started, a system global area(SGA) is allocated and oracle background processes are started. Then combination of the background processes and memory buffers is called an oracle instance."

这句话里面有两层意思,第一,数据库是由数据文件和实例两部分组成;第二,实例只是一组内存结构,由内存缓冲区和后台进程组成。我们常常对单个数据库进行操作,所以容易混淆数据库和实例的概念,   【 Linux公社  】  认为实例就是数据库,数据库就是实例,实际根本不是这么回事。

理解了这个概念,然后再回过头来做实验,就相对比较容易了。其实无论是单实例数据库也好,ORACLE RAC也好(多实例数据库),只要认清了数据库只有一个,无论是升级也好,构建高可用性也好,按照单个节点的思路走下去就行。就比如说RAC 数据库升级,所不同的无非就是需要额外修改一下参数文件里面的个别参数,操作起来也挺简单的。基本概念很重要,这也是修房子的时候为什么要先打地基,地基打得牢,房子才盖得高,,想想学技术也是这个道理。

下面言归正传,回到此次实验。

linux

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn