售前oracle培训.docx
- 文档编号:9184283
- 上传时间:2023-05-17
- 格式:DOCX
- 页数:16
- 大小:101.29KB
售前oracle培训.docx
《售前oracle培训.docx》由会员分享,可在线阅读,更多相关《售前oracle培训.docx(16页珍藏版)》请在冰点文库上搜索。
售前oracle培训
神州泰岳软件股份有限公司
售前oracle培训
北京神州泰岳软件股份有限公司
2010年3月5日
文档属性
属性
内容
客户名称
内部售前
项目名称
文档主题
售前ORACLE技术培训
文档副标题
文档版本
1.0
文档日期
文档状态
作者
刘建国
文档变更
版本
修订日期
修订人
描述
0.1
2010-3-5
刘建国
初稿
0.2
2010-3-9
刘建国
修改
1.0
2010-3-28
刘建国
定稿
文档送呈
姓名
目的
1基本概念
1.1数据库:
AnOracledatabaseisacollectionofdatatreatedasaunit.(一个oracle数据库作为一个数据集合来看待),从物理结构具体来说就是存储数据的文件集合。
包括参数文件、控制文件、数据库文件和日志文件。
图1-1数据库文件类型
1.2数据库实例:
AnOracledatabaseserverconsistsofanOracledatabaseandanOracleinstance.Everytimeadatabaseisstarted,asystemglobalarea(SGA)isallocatedandOraclebackgroundprocessesarestarted.Thecombinationofthebackgroundprocessesandmemorybuffersiscalledanoracleinstance.
Oracle数据库服务包括oracle数据库和数据库实例。
数据库每次被启动的时候,分配sga和oracle后台进程被启动。
后台进程和内存缓冲被叫做oracle实例。
1-2.1数据库实例(instance)典型结构
1-2.2SGA结构
1.3数据库服务
AnOracledatabaseserverconsistsofanOracledatabaseandanOracleinstance.
1-3数据库服务(器)
1.4RAC
RealApplicationClusters:
MultipleInstanceSystemsSomehardwarearchitectures(forexample,shareddisksystems)enablemultiplecomputerstoshareaccesstodata,software,orperipheraldevices.RealApplicationClusters(RAC)takesadvantageofsucharchitecturebyrunningmultipleinstancesthatshareasinglephysicaldatabase.Inmostapplications,RACenablesaccesstoasingledatabasebyusersonmultiplecomputerswithincreasedperformance.
有的硬件体系结构(例如共享磁盘系统)可以让多个计算机共享的使用数据、应用程序、或周边设备。
RealApplicationClusters(实时应用集群,RAC)通过运行多个实例同时访问一个物理数据库来发挥这种体系结构的优势。
在RAC体系结构下,可以提高应用程序中多个用户访问同一数据库的性能。
1-4rac实例图
2数据库结构
2.1物理结构
2.2内存结构
3数据库性能指标
指标名称
指标描述
指标范围
指标单位
1.关于实例效率(InstanceEfficiencyPercentages)的性能指标
缓冲区未等待率
(BufferNowait%)
指在缓冲区中获取Buffer的未等待比率。
该指标的值应接近100%,如果该值较低,则可能要增大buffercache。
%
Redo缓冲区未等待率
(RedoNoWait%)
指在Redo缓冲区获取Buffer的未等待比率。
该指标的值应接近100%,如果该值较低,则有2种可能的情况:
1.onlineredolog没有足够的空间;
2.log切换速度较慢。
%
缓冲区命中率
(BufferHit%)
指数据块在数据缓冲区中的命中率。
该指标的值通常应在90%以上,否则,需要调整。
如果持续小于90%,可能要加大db_cache_size。
但有时,缓存命中率低并不意味着cache设置小了,可能是潜在的全表扫描降低了缓存命中率。
%
内存排序率
(In-memorySort%)
指排序操作在内存中进行的比率。
当查询需要排序的时候,数据库会话首先选择在内存中进行排序,当内存大小不足的时候,将使用临时表空间进行磁盘排序,但磁盘排序效率和内存排序效率相差好几个数量级。
该指标的值应接近100%,如果指标的值较低,则表示出现了大量排序时的磁盘I/O操作,可考虑加大sort_area_size参数的值。
%
共享区命中率
(LibraryHit%)
该指标主要代表sql在共享区的命中率。
该指标的值通常应在95%以上,否则需要考虑加大共享池(修改shared_pool_size参数值),绑定变量,修改cursor_sharing等参数。
%
软解析的百分比
(SoftParse%)
该指标是指Oracle对sql的解析过程中,软解析所占的百分比。
软解析(softparse)是指当Oracle接到Client提交的Sql后会首先在共享池(SharedPool)里面去查找是否有之前已经解析好的与刚接到的这一个Sql完全相同的Sql。
当发现有相同的Sql就直接用之前解析好的结果,这就节约了解析时间以及解析时候消耗的CPU资源。
该指标的值通常应在95%以上,如果低于80%,那么就可能sql基本没被重用,sql没有绑定变量,需要考虑绑定变量。
%
闩命中率
(LatchHit%)
指获得Latch的次数与请求Latch的次数的比率。
该指标的值应接近100%,如果低于99%,可以考虑采取一定的方法来降低对Latch的争用。
%
SQL语句执行与
解析的比率
(ExecutetoParse%)
指SQL语句执行与解析的比率。
SQL语句一次解析后执行的次数越多,该比率越高,说明SQL语句的重用性很好。
该指标的值应尽可能到高,如果过低,可以考虑设置
session_cached_cursors参数。
%
共享池内存使用率
(MemoryUsage%)
该指标是指在采集点时刻,共享池(sharepool)内存被使用的比例。
这指标的值应保持在75%~90%,如果这个值太低,就浪费内存,如果太高,会使共享池外部的组件老化,如果SQL语句被再次执行,则就会发生硬分析。
%
2.关于等待事件(Waitevents)的性能指标
文件分散读取
(dbfilescatteredread(cs))
该等待事件通常与全表扫描有关。
因为全表扫描是被放入内存中进行的进行的,通常情况下它不可能被放入连续的缓冲区中,所以就散布在缓冲区的缓存中。
如果这个等待事件比较显著,可能说明对于某些全表扫描的表,没有创建索引或没有创建合适的索引。
尽管在特定条件下执行全表扫描可能比索引扫描更有效,但如果出现这种等待时,最好检查一下这些全表扫描是否必要。
厘秒
文件顺序读取
(dbfilesequentialread(cs))
该等待事件通常与单个数据块相关的读取操作有关。
如果这个等待事件比较显著,可能表示在多表连接中,表的连接顺序存在问题,或者可能不合适地使用了索引。
对于大量事务处理、调整良好的系统,这一数值大多是很正常的,但在某些情况下,它可能暗示着系统中存在问题。
应检查索引扫描,以保证每个扫描都是必要的,并检查多表连接的连接顺序。
另外DB_CACHE_SIZE也是这些等待出现频率的决定因素。
厘秒
缓冲区忙
(bufferbusy(cs))
当一个会话想要访问缓存中的某个块,而这个块正在被其它会话使用时,将会产生该等待事件。
这时候,其它会话可能正在从数据文件向缓存中的这个块写入信息,或正在对这个块进行修改。
出现这个等待事件的频度不应大于1%。
如果这个等待事件比较显著,则需要根据等待事件发生在缓存中的哪一块(如字段头部、回退段头部块、回退段非头部块、数据块、索引块等),采取相应的优化方法。
厘秒
(enqueue(cs))
enqueue是一种保护共享资源的锁定机制。
该锁定机制保护共享资源,如记录中的数据,以避免两个人在同一时间更新同一数据。
enqueue包括一个排队机制,即FIFO(先进先出)排队机制。
注意:
Oracle的latch机制不是FIFO。
Enqueue等待通常指的是STenqueue、HWenqueue、TX4enqueue和TMenqueue。
如果enqueue等待事件比较显著,则需要根据enqueue等待类型,采取相应的优化方法。
厘秒
闩释放
(latchfree(cs))
该等待事件意味着进程正在等待其他进程已持有的latch。
latch是一种低级排队机制(它们被准确地称为相互排斥机制),用于保护系统全局区域(SGA)中共享内存结构。
latch就像是一种快速地被获取和释放的内存锁。
latch用于防止共享内存结构被多个用户同时访问。
对于常见的Latch等待通常的解决方法:
1)Sharepoollatch:
在OLTP应用中应该更多的使用绑定变量以减少该latch的等待。
2)Librarycachelatch:
同样的需要通过优化sql语句使用绑定变量减少该latch的等待。
厘秒
日志文件同步
(logfilesync(cs))
这个等待事件是指当一个会话完成一个事务(提交或者回滚数据)时,必须等待LGWR进程将会话的redo信息从日志缓冲区写到日志文件后,才能继续执行下去。
这个等待事件的时间过长,可能是因为commit太频繁或者lgwr进程一次写日志的时间太长(可能是因为一次logiosize太大),可调整_log_io_size,结合log_buffer,使得(_log_io_size*db_block_size)*n=log_buffer,这样可避免和增大log_buffer引起冲突,或者可以将日志文件
4数据库启动过程
正常启动:
startup
关闭:
shutdownimmediate
数据库启动经历三个过程:
nomout,mount和open过程。
Startupnomount
当执行该命令时,数据库读取参数文件,分配内存,启动后台进程。
该阶段根据参数文件,创建了instance。
Alterdatabasemount
该阶段根据参数文件中指定的控制文件位置(参数文件中包含控制文件的位置)读取控制文件,判断数据文件、日志文件是否存在等,但并不检验信息是否一致。
Alterdatabaseopen
打开数据文件及日志信息,并同控制文件进行校验信息的一致性,如果没有问题,就打开数据库。
这时,instance和database才能对外服务,这两者和在一起被称为数据库服务(器)。
5Oracle版本差异
5.1Oracle10g分为4个版本
✧OracleDatabaseStandardEditionOne
最基本的商业版本,包括基本的数据库功能。
✧OracleDatabaseStandardEdition
标准版,包括上面那个版本的功能和RAC,只有在10g的标准版中才开始包含RAC。
✧OracleDatabaseEnterpriseEdition
企业版,虽说是最强劲的版本,但是并不是所有我们常用的功能都在这个版本中,很多东西仍然是要额外付费的,后面会说到。
✧OracleDatabasePersonalEdition
个人版,除了不支持RAC之外包含企业版的所有功能,但是注意的是,只有Windows平台上才提供个人版。
5.2差异
Oracle10g分为4个版本,分别是:
1.OracleDatabaseStandardEditionOne,最基本的商业版本,包括基本的数据库功能。
2.OracleDatabaseStandardEdition,标准版,包括上面那个版本的功能和RAC,只有在10g的标准版中才开始包含RAC。
3.OracleDatabaseEnterpriseEdition,企业版,虽说是最强劲的版本,但是并不是所有我们常用的功能都在这个版本中,很多东西仍然是要额外付费的,后面会说到。
4.OracleDatabasePersonalEdition,个人版,除了不支持RAC之外包含企业版的所有功能,但是注意的是,只有Windows平台上才提供个人版。
下面来看一下,在StandardEditionOne和StandardEdition中不支持的功能(只是选了一些大家比较常见或者常用的功能),注意,这些功能除了RAC之外仍然包含在个人版中。
1.OracleDataGuard,不支持。
(想要高可用性的客户,就不能选择标准版)
2.一些Online操作,比如Onlineindexmaintenance,Onlinetableredefinition等不支持
3.备份和恢复的某些操作受限,比如不支持Block级别的恢复(Block-levelmediarecovery),不支持并行备份和恢复(Parallelbackupandrecovery),多重备份(Duplexedbackupsets)等等
4.Flashback功能,在标准版中FlashbackTable,FlashbackDatabase,FlashbackTransactionQuery都是不支持的
5.VPD(VirtualPrivateDatabase)不支持
6.FGA(Fine-grainedauditing)不支持
7.Partitioning,分区也不支持
8.Datacompression,比如表压缩,分区压缩都不支持
9.Bitmappedindexandbitmappedjoinindex,不支持,(如果是数据仓库系统就不能选择标准版了)
10.Exporttransportabletablespace,(注意,这里只是导入不支持),但是Importtransportabletablespace,包括跨平台的import都是支持的,也就是说你如果选择了标准版,那么想把数据库简单地转移到其它平台上是比较费劲的事情了
11.一些并行操作都不支持,包括Parallelquery,ParallelDML,Parallelindexbuild,ParallelDataPumpexportandimport。
12.不支持Streams,又少了一个高可用性的可行性方案
13.不支持AdvancedReplication的multimaster方式,再少一个高可用性方案,当然实体化视图的复制方案仍然是支持的
14.ConnectionManager不支持。
Oracle10g标准版在中虽然支持RAC,但oracle是有限制的,如要在Oracle10g标准版中用RAC,那么只能使用OracleClusterware(不支持其它任何第三方群集软件),同时必须使用ASM来做数据文件的存储管理(其它任何第三方的卷管理和文件系统都不支持)。
如果要安装另外一个数据库作为RMANrepository或者OEMGridControlrepository那么不需要另外付费了。
另外如果你购买了最低级的那个Oracle10gStandardOne的版本,那么下面这些功能都是不支持的。
1.RAC
2.Partitioning
3.DataMining
4.AdvancedSecurity
5.LabelSecurity
6.OLAP
7.Spatial
8.OracleManagementPacks
6Oracle价格构成
1、DatabaseProductsNamedUserLicenseProcessorLicense
美元报价人民币报价美元报价人民币报价
StandardEdition$450¥3,725$22,500¥186,228
EnterpriseEdition$1,200¥9,932$60,000¥496,608
PersonalEditon$600¥4,966
Lite$150¥1,242
2、EnterpriseEditionOptions:
NamedUserLicenseProcessorLicense
美元报价人民币报价美元报价人民币报价
RealApplicationClusters$600¥4,966$30,000¥248,304
Partitioning$300¥2,483$15,000¥124,152
OLAP$600¥4,966$30,000¥248,304
DataMinging$600¥4,966$30,000¥248,304
Spatial$300¥2,483$15,000¥124,152
AdvancedSecurity$300¥2,483$15,000¥124,152
LabelSecurity$300¥2,483$15,000¥124,152
也就是说,如果是企业版,一个CPU的价格在人民币¥496,608,当然这个是ListPrice,一般都能有50%左右的Discount,那么最终价格可能在18多万;当然我们可以按用户数购买,不过最终的价格都是差不多的。
6.1Oracle用户数计算
Oracle官方要求的各类版本的最低用户数为:
个人版本:
1user*PC数
标准版1=服务器的CPU数*5
标准版=服务器的CPU数*10user
企业版=服务器的CPU数*25user
7常见oracle环境架构
7.1单机环境
这是最为常见的小企业应用环境,单个主机上安装oracle。
7.2双机热备环境
这个两个主机系统共享一块硬盘,两个主机不同时工作,处于主备工作模式,也就是说一台主机工作,另一台处于空闲状态,这种模式的好处是操作系统主机双保险。
7.3RAC架构环境
RAC架构和双机热备使用相同的硬件资源,只不过是两台机器可同时工作,同时访问一块硬盘。
8高效应用
一个高效的系统可以从应用、数据库、存储来着手解决,往往效果更为显著。
如果需要有快速的查询,出了优化数据库外,更为显著的是增加应用层面的一个中间层—应用cache,当查询数据时,直接从应用cache内存获取,减少对数据库的查询。
如果需要快速的写入硬盘写操作,那么,除了优化数据库外,更为显著的是购置高配的存储系统。
数据库层面可通过使用更多的硬件,如搭建rac环境来提高效率外,还可以通过将业务、用户等进行进一步分分割来提高数据库的性能。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- oracle 培训