Rac & DG
Rac环境:
- RAC版本异同:[10R2,11R1(和10类似)],11R2,12c:
- 目录:
- 10.2的ASM需要单独的目录(oracle home):rdbms home,asm home, crs home
- 11.2:rdbms,grid(crs+asm)
- IP:
- 10.2有私有IP(private IP)公有IP(public IP)和虚拟IP(VIP);Private IP是用来做内部连接;Public IP和VIP是外部连接,并且在同一个网段。
- 11.2在外部连接(公有IP和虚拟IP)之上加入SCAN IP,Scan Ip有3个。
- 磁盘:
- 11.2之前,OCR和voting disks在裸设备上,11.2之后放在asm,并且oracle不在支持裸设备。
- 具体配置举例:
- 3节点Rac,OS:sun solaris,version 11.2.3, ASM
- 常用的cmd:crsctl,srvctl,crs_stat, crsctl status resources
- 目录:
- 服务service:
- 使用service达到load balance的目的:每个节点跑特定的应用。
- ASM:
- 优缺点:
- 易于管理:加减磁盘,易于条带化和镜像。
- 文件名非常奇怪,非常难以复制,难以用ftp传输文件,有时候非常危险,有时候SA不懂ASM,会导致磁盘损坏。
- HA不能保护数据。
- RAC的性能问题:
- 主要的问题是Cache Fusion(RAC为了保持数据一致性的一种内存机制。),Cache Fusion增加了很多额外的开销,所以两个节点的性能不一定比一个好,所以说RAC并不提高性能。实际操作时候,用service对rac的每个节点要分配功能,比如一个节点专门负责DML,一个节点负责reporting。
- 关于补丁:In Rolling Patch mode:每个实例逐一关闭,patch crs和oracle rdbms home,使用local parameter in opatch。
- Load balance:
- 在客户端,SCAN作为主机名被使用在tnsnames.ora,这样oracle可以动态分配节点,scan相当于封装了真实的IP。
- 在服务器端,当scan listener处理从客户端连进来的call时,会将它放到least load(从cpu和连入进程的使用情况)的node上。
- 所以remote listener要恰当设置。一般rac的每个节点,我们有两种listener,本地和scan。从listener.ora可以看到。
- 关于init parameters:
- 在init.ora文件里,我们有两种参数文件:local 和global,global参数前带*号。
- Cluster_database 必须是TRUE。
- 其它:control_files,cluster_database_instances,Instance parameters(starting with instance name),thread,instance_number,undo_tablespace,
- 有些参数在每个节点上可以不一样,也可以都一样。如内存参数(SGA,PGA,memory target).
- Rac中共享与非共享:
- 非共享:Binaries,alert log,redo,archive logs,undo tablespace
- 共享:control files, spfile, temporary files
- 案例:
- 性能案例1:在OEM我们观察到:Global Cache buffer busy,GC current block 2-way/3-way and cache buffer chains(hot blocks)
- 我们在数据库上有很多增删改的操作,导致buffer cache同步有问题。如果dml操作同时在不同节点运行,会马上要求global cache同步,导致很多系统等待。
- 解决:节点功能切分。一个节点用于增删改,另一个用于报告。
- 性能案例2:在OEM性能表上(log file sync),每小时有7分钟会出现commit high。
- 首先让应用组查代码,查看commit频率。
- 数据库,有任何bug相关?
- 存储组,看是否有任何问题,我们把redo logs放在快盘上,仍然解决不了问题。
- 使用BLUESTRIPE软件(可以在第二级别检测磁盘IO)。发现在那段时间,有一个root进程消耗大量IO,并且和数据库竞争。我们在crontab里面重新安排这个进程运行的时间段,问题解决。
- 回复案例:SA扫描asm磁盘,导致数据库崩溃。
- HA不能保证存储安全,在alert log里面有很多ora7445和ora600错误.块坏错误,数据库不能重启,或者数据库起来了,但是某些数据不可以获得。
- 我们需要incomplete RMAN recovery.(有个cutoff time,在那样以后的数据会丢失)
- recover script need two steps(restore datafiles and recover with incremental backups or archives)
- 关于ASM:在restore以后,如果recover失败,重新跑脚本的时候,在 linux文件系统下oracle不会restore数据文件,只会restore incremental backup pieces/archive logs.在ASM里面,oracle会重新restore 数据文件,会花更多的时间。所以需要在脚本里跳过restore datafile这一部分。直接recover。
- 关于备份恢复:增量备份真的很重要。
Rac & DG的更多相关文章
- 一步一步搭建 oracle 11gR2 rac + dg 之前传 (一)【转】
一步一步在RHEL6.5+VMware Workstation 10上搭建 oracle 11gR2 rac + dg 之前传 (一) 转自 一步一步搭建 oracle 11gR2 rac + dg ...
- 一步一步搭建oracle 11gR2 rac+dg之环境准备(二)【转】
一步一步在RHEL6.5+VMware Workstation 10上搭建 oracle 11gR2 rac + dg 之环境准备 (二) 一步一步搭建oracle 11gR2 rac+dg之环境准备 ...
- 一步一步搭建oracle 11gR2 rac+dg之共享磁盘设置(三)【转】
一步一步在RHEL6.5+VMware Workstation 10上搭建 oracle 11gR2 rac + dg 之共享磁盘准备 (三) 注意:这一步是配置rac的过程中非常重要的一步,很多童鞋 ...
- 一步一步搭建 oracle 11gR2 rac+dg之grid安装(四)【转】
一步一步在RHEL6.5+VMware Workstation 10上搭建 oracle 11gR2 rac + dg 之grid安装 (四) 转自 一步一步搭建 oracle 11gR2 rac+d ...
- 一步一步搭建oracle 11gR2 rac+dg之database安装(五)【转】
一步一步在RHEL6.5+VMware Workstation 10上搭建 oracle 11gR2 rac + dg 之database安装 (五) 转自 一步一步搭建oracle 11gR2 ...
- 一步一步搭建11gR2 rac+dg之安装rac出现问题解决(六)【转】
一步一步在RHEL6.5+VMware Workstation 10上搭建 oracle 11gR2 rac + dg 之安装rac出现的问题 (六) 本文转自 一步一步搭建11gR2 rac+dg之 ...
- 一步一步搭建11gR2 rac+dg之DG 机器配置(七)【转】
DG 机器配置 转自: 一步一步搭建11gR2 rac+dg之DG 机器配置(七)-lhrbest-ITPUB博客http://blog.itpub.net/26736162/viewspace-12 ...
- 一步一步搭建11gR2 rac+dg之配置单实例的DG(八)【转】
RAC主库配置单实例ActiveDataguard 本文文档结构: 这里配置的过程中需要注意的一项是多看看rac1和rac2以及dg的告警日志会对配置过程有更深刻的理解...配置oracle rac的 ...
- Deploy 11.2.0.3 RAC+DG on Windows 2008 R2 Step by Step
环境规划: 节点1: tc1 192.168.56.101 内存:2G 节点2: tc2 192.168.56.102 内存:2G 物理备库:tcdg192.168.56.108内存:1.5G 操作系 ...
- Oracle11g RAC+DG搭建
项目环境准备 3.1虚拟机配置 版本选择 注意Linux操作系统.此次项目我选择的版本是Oracle Enterprise Linux 5.4 内存的设置 本人电脑物理内存8G,由于此次实验要开三台虚 ...
随机推荐
- js、jquery、动态添加option项
var selid = document.getElementById("sltid"); for(var i=0; i<10;i++){ //循环添加多个值 sid ...
- 【Linux】Shell脚本编程(三)
流程控制: 循环语句:for,while,until while循环: while CONDITION; do 循环体 done 进入条件:当CONDITION为“真”: 退出条件:当CONDITIO ...
- POJ 1733 Parity game (并查集)
Parity game Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 6816 Accepted: 2636 Descr ...
- 关于ios项目沙盒中的文件和Xcode项目创建的文件
//1.1获取在Xcode项目打开的情况下创建的Plist文件 NSString *path = [[NSBundle mainBundle]pathForResource:@"Profes ...
- Linux之装机指南
软件: Variety:桌面壁纸自动切换 sudo add-apt-repository ppa:peterlevi/ppa sudo apt-get update sudo apt-get inst ...
- 使用Jeditable插件时遇到的问题
Jeditable在渲染页面已有DIV=>form的时候 首先使用 $("div").html(); 去获取原DIV中的内容. 这样导致一个问题, 如果原div中带有html ...
- CSS3中渐变gradient详解
这几天看了一本HTML5的书,里面对于页面的背景使用了大量的渐变效果,因此在这里写一些关于渐变Gradient的东西. CSS3中的Gradient有两种,分别是线性渐变(linear-gradien ...
- CSS其他
1.元素的宽度由内容撑开 display:inline;——不支持高度 display:inline-block;——在IE6下,不支持块标签 float position:absolute——每项设 ...
- Android 直接拨打电话界面
Android 拨号界面和直接拨打电话界面代码控制 //定义TAG为空 private static final String TAG = null; //定义Button的点击事件 tell.set ...
- github 学习笔记【一】
这几天在学习github ,其实学了主要用来管理自己的项目!因为要在家里和公司两头做! 所以就开始学习使用!目前熟练几个命令,其他的一边用一遍学吧!想一举成功应该是不太可能的! 反复记忆才能更好,据说 ...