RACWord文档格式.docx
《RACWord文档格式.docx》由会员分享,可在线阅读,更多相关《RACWord文档格式.docx(25页珍藏版)》请在冰点文库上搜索。
诊断进程:
二.安装和转换
安装
1.使用interconnect连接好cluser
2.安装和配置osdcluserware
3.确保所有的节点都可以访问shareddisk
4.创建需要的文件系统或分区
gsd
gsd配置文件必须identified为了完成一个rac的安装
当用dbca创建数据库的时候,gsd必须在运行
如果是手工建库或者是从8i升级,那么必须在每个节点手工的启动gsd.
Gsd配置文件
Srvconfig–init初试化gsd配置文件
把一个single实例转变成rac
1.配置硬件
2.评估表空间和log文件
3.创建共享文件系统或裸设备
4.从旧的数据库中取数据出来
5.安装基于os的cluster软件
6.安装rac选项
7.创建数据库
8.把数据从旧数据库装入到新数据库
9.调整数据库
10.启动数据库
配置硬件:
1.安装和测试cluster的interconnect
2.确保每个节点都可以访问共享磁盘
评估表空间和log文件的需求
创建共享文件系统和裸设备
1.控制文件的copy,数据文件,logmember的一个成员
2.spfile
从旧的数据库中取data
1.rman
2.exp
安装osd和rac
创建db
把数据装入到新的db中
调整参数
启动数据库
三.管理和配置工具
GSD管理
启动gsd
servercontrol工具
srvctl
管理rac环境
管理cluser的数据库配置信息
提供cluser的数据库管理命令
需要gsd在运行
srvctl命令的用法
可以添加和删除clusterdb,
可以添加和删除一个rac中的实例
可以rename一个实例
可以移动一个实例
可以为一个racset和unset环境
可以为一个实例set和unset环境
rac的参数文件
可以继续使用client-side的初始化参数文件
可以使用一个spfile为所有的实例
这个spfile在共享文件系统上.
可以使用altersystem命令改变所有的实例的参数.
Sid=’*’
*表示所有的实例
四.可扩展性和cachefusion
可扩展性的级别
硬件
os
db
app
oraclenetsrvice的负债均衡
客户端的负责均衡
connection的负债均衡
自适应的并行查询
CacheFusion
提供传输的扩展性
在实例间传输block的image
跟踪资源的当前位置和状态
每个实例的sga的目录结构中保存有资源信息
cachefusion的模型
Globalresouredirectory
由globalcacheservice来管理
记录
资源的模式
资源的角色
block在实例中的状态
在各个活动的节点发布资源的master
重新发布master在有必要的时候,例如实例的启动和关闭
globalcacheservice的资源模式
三种
null(默认的)
share(s)(查询)
exclusive(x)(可以改变block的内容,其它的实例就是nullmode)
local第一次请求资源的初试模式;
只有一个实例可以有这个block的dirtycopy
global
在一个block在多于一个实例中变dirty了.Local就变成了global
block只能由slobalcacheservice写到磁盘中
Cachefusionblock的transfer
例如有abcd四个节点.
globalcacheservice:
gcs
1.
Readwithnotransfer
如果c节点需要向共享磁盘文件上读一个block,
那么它向globalcacheservice发送请求,
这个时候请求被定向到节点d,d是这个block的master(每个资源都有master)
gcs把资源授权为sharemode和localrole,在目录中记录下了他的状态(目录在节点d),
然后通知c,c把这个资源从nullshare
c开始i/o,现在c有了这个block以s模式(从磁盘文件读)
2.
readtowritetransfer
b也要这个block,并且不仅是读,而且还要改变它的内容.
B向d(这个block的mater)gcs发出请求,
Gcs向c发出请求,要求c把这个block给b
C把block给b,
B收到了,告诉gcs,,现在b可以修改这个block了
3.
Writetowritetransfer
A向d节点的gcs发出请求,
Gcs告诉b节点放心他的x锁,并且把当前的image传到a,
如果这个请求没有完成,就会方到gcs的队列里面了
b把这个block传到a,这个时候,要写log,强制logflush,把模式变成n
发送到a,并且告诉它这这个exclusive的资源可以用了
a收到了这个block的image,会通知gcs并且告诉它block的status是x
这个时候,b不能对这个block做操作,虽然在它的buffercache中.它还有这个block的copy.
4.
Writetoreadtransfer
C要读这个block,先向d(master)发出请求
Gcs要求a把它传输到c,
A接受到请求,完成它的工作,这可能会在a写log和logflush在发送这个block之前.
A会把它的x锁降低到s(share)模式,
C把从a收到的block的scn取出来,建设成一个资源assumption信息为gcs,更新globalresourcedirectory
可以关闭Cachefusion,设置参数gc_files_to_locks
这样就向8i的ops一样,别的节点要访问数据快,必须等待别的节点提交,写回数据文件中.
Cachefusion,就是从别的实例中读buffer
五.highavailablilityconsiderations
高可用性的特征
rac是oracle首要的高可用性解决方案.它有下面的能力:
不需要干预就可以发现和防止网络问题
以最小的破坏从failure中新配置和恢复
把work从一个failed的节点发布到另外一个节点
cacheresoure的rematering
cacheresoure在一个节点上不需要继续master
dynamicremastering能把它移动到不同的节点
gcs和ges使用动态的remastering:
在一个新实例加入到这个activeset之后重新分发资源
在一个实例离开这个activeset之后重新分发资源
LMON和cluster的重新组织
Lmon做以下事情:
和clustermanger联系为实例提供当前的cluster的成员
使用基于磁盘的心跳和投票进程来验证rac实例配置的健康
每个成员的lmon进程给出它对其它member可用信的impression
当年的status被maintain在disk上
初试化恢复如果一个节点或实例不能发送或确定心跳message
范例
每个实例有个表
有id,以及相应的id资源的属性.
如果某个节点fails,相应的重新remaster.
实例的过渡和恢复
如果一个实例crash:
资源信息(这个实例所master的)就会丢失
在重新配置的时候丢失的资源信息必须重新建立
需要对这个failed实例恢复
如果实例正常关闭,不需要恢复
高可用性设计上的考虑
为changemangerment创建和测试policy
配置冗余硬件
提供primary/secondary或空闲节点
设置相应的实例初始化参数
使用其它特性和选项例如
oracle9idataguard
realapplicationclustergurad
transparentapplicationfailover
Changemanagement
计划一些changes来减小down的时间和服务的中断
也许是夜间或周末工作
避免关键的业务期间(例如月末年末)
考虑有计划的changes
每次一个功能
每次一个节点
includetimeandresourcetobackoutchangesifnecessary.
节点的冗余的cluster的内部特性
interconnect的冗余是推荐的选项
disk的镜像防止一个disk的单点failure
推荐为所有的数据库文件做mirror
当时候cluster文件的时候推荐对软件做mirror
primary/secondary实例
primary实例:
firstonetostart
secondary实例:
secondonetostart,ifotherinstancefailscanbecomeprimary
空闲节点
高可用性的参数
active_instance_count=1:
enableordisableaprimaryandsecondaryintanceconfiguration
dml_locks=0阻止ddl操作
fast_start_mttr_targer
gc_files_to_locks
recovery_parallelism
service_names
LogTransportServices:
Standbydb的setup
创建standbyredolog
定义归档目标在恢复实例的本地
在接受实例上,定义归档目标
在所有的standbydb的实例上启动arcn进程
在恢复实例上启动mrp(managedrecoveryprocess)
Primarydb的setup
指示lgwr进程进行归档操作在所有的实例上
指定standbydb作为接受节点
RACguard
Oracle提供的产品.
六.TRANSPARENTAPPLICATIONFAILOVER
监听器
多个监听器可以:
client的负载均衡
连接的时候的failover
连接的负载均衡
transparentapplicationfailover(TAF)
网络命名方法
names解析服务(必须是tcp/ip1521端口)
本来命名(使用tnsnames.ora)
目录命名使用中央化的ldap兼容的目录服务器
JDBCdriver
Oci驱动(为客户端和应用web服务使用)
没有安装oracle使用thindriver为客户端使用
ORACLECALLINTERFACE
TAF为下面提供failover
OCI程序
Jdbcthick驱动(oci驱动)
Odbc连接
Sqlplus
Select语句
基于主机的failover
1.通过监控心跳来发现failure
2.在clustermanager里面重新组织cluster成员
3.从primary节点到secondary节点传输disk的ownership
4.重新启动应用程序和db的binaries
5.执行应用程序和数据库的恢复
6.重新建立到failover节点的客户连接
RAC的failover
通过监控心跳来发现failure
重新组织实例的membership
执行实例恢复
重新建立failed客户连接
RAC中的TAF
能够在空闲节点或者有primary/second配置中使用
为这个环境使用但是呢概念用于:
racguard
复制系统
dataguard
failover模式选项
你必须手工的在tns配置文件中添加failover选项
这个选项在连接描述符里面是作为connect_date的一部分
failover选项包括:
type
methon
backup
retries
delay
Failover的类型
Failover类型identifythenatureofTAF(ifany)
选项有
session:
仅failover到一个可选的恢复
select:
failoverandcontinuewithanyongoingquery
failover的方法
决定当发生failover的时候,多快能连接上
basic,在发生fail的时候跟failover的实例没有联系
preconnect:
为primary实例的连接在standby实例上建立连接的影像
failoverbackupservice
确定失败的时候连接要指向的网络服务名
容许你为每个primary实例指定一个备份的实例连接字符
使用preconnect方法来初试化failover的preconnect
failover连接重试选项
retries:
在failover之后重新连接的次数
delay:
连接一次失败后等多少秒在去连接
TAF的应用
Taf的推荐配置包括:
Connect-timefailoverwithclientloadbalancing
Retryingconnections
Preestablishingconnections
Load_balance=on
Failover=on
…….
Failover_mode=
(type=select)(method=basic)
retryingfailoverconnections
backup=rac2
retries=20
delay=15
taf的预连接
(
failover_over=
(backup=rac2)
(type=select)
(method=preconnect)
)
tafverfication
selectmachine,failover_type,
failover_method,failed_over,count(*)
fromv$session
groupbymachine,failover_type,
failover_method,failed_over;
简单的PRIMARY/SECONDARY配置
primary/secondary配置支持两个节点的cluster(是不是多个节点就不支持这个配置了呢?
只有primary接受客户连接
second用于本地连接来作dba的job和产生报表等
参数:
active_intance_count=1
cluster_database_instance=2
七.备份和恢复
Loghistoryrecords
创建数据库的时候有个参数maxloghistroy
它表示在控制文件中保留有关归档log的历史记录的最大的个数.
如果超过了这个个数,在恢复的时候,需要手工指定log.
初试化归档
1.关闭所有的实例
2.启动一个专有的实例,并且把log_archive_*参数设置好
3.ALTERDATABASEARCHIVELOG
4.修改LOG_ARCHIVE_*为其它所有的实例
5.关闭专有的实例
6.使用新的参数启动所有的实例
RMAN
Rman对rac有下面优点
不需要配置改变可以读cluster文件和裸分区
能访问多个归档log目标
配置rman
configurethesnapshotcontrolfilelocationinrman
configurethecontrolfileautomaticbackupfeature
rman的默认autolocation
rman自动定位下面的文件
bakcuppieces
备份期间的归档
数据文件或控制文件的copy
用户管理的备份方法
对于脱机备份,必须关闭所有的实例
可以使用多个节点来作并行备份
可以在任何节点converttablespace
你提供对归档redo的所有的线程的访问
脱机备份
查询下面的视图看哪些文件需要备份
v$datafileordba_data_files
v$logfile
v$controlfile
v$parameter
关闭所有的实例
把需要的文件copy到bakcup的目标
这个备份跟非rac数据库一样的
联机备份
按照下面的步骤,注意,必须是归档模式
1.altertablespace…..beginbackup
2.使用os工具来进行文件backup
3.altertablespace…endbackup;
4.alterdatabasebackupcontrolfiletofilename/totrace
5.altersystemarchivelogcurrent;
恢复redolog文件
媒介恢复需要一个或者多个归档log文件为每个线程
rman的recover命令自动的恢复和应用需要的归档log
归档log可以存放在任何node上在恢复的时候
log必须可以被指向恢复的节点读取
rac的并行恢复
并行恢复使用一个进程读log,多个进程applyredo
oracle自动调用恢复进程
这个进程可以在一个节点也可以在多个节点
八.oltp的considerations
ExtentManagementOptions
Localmanagement是由数据库文件里面的位图来控制的.
字典管理是由uet$和fet$table来控制的.
本地管理的表空间
oracle公司推荐
在extent管理的时候,避免了实例间对少量的blocks的竞争
去掉了潜在在碎片,当不同大小的extent在一个表空间的时候.
实现了对free空间的自动segment管理
字典管理的表空间
在早期的oracle版本中支持应用的分区.
自动段空间管理
位图块存在自动空间管理的段中
每个位图的block包括空间可用性信息
只有临界条件改变的时候就会记录
只有一位需要改变
变化很快,几乎没有什么竞争.
位图块会分配给一个会话当下列情况需要free空间的时候
按照:
实例的标号来避免实例之间的竞争
会话的id避免会话的竞争.
FreeListSpace管理
Freelist包含有free空间的块(有指针逻辑连接)
第一个记录指针链存在段头.
Freelist的改变需要更新headerblock的指针.
多个实例需要freespace在一个段中必须包含headerblock的copy
会话需要这个内容来寻找free的blocks
会话需要专门访问如果他们不得不更新freelist的第一个指针
Sequence
Createsequencesql创建
Rac容许多个实例从同一个序列产生器中获得唯一的整数
GCS协调实例之间的序列
Rac中的序列产生器:
跟单实例db相同的选项
工作不尽相同
sequence产生器的选项
Cache
把sequence号缓冲在内存中
提高性能
关闭数据库的时候会丢numbers
order
保证请求的顺序
增加负荷
联合
cachewithnoorder效率最好
cachewithorder
nocachewithnoorder
nocachewithorder效率最差
索引的叶块的竞争
减少竞争
对一个单一的实例,限制变化
分区表和unde