Oracle内存全面分析
- 格式:doc
- 大小:1.04 MB
- 文档页数:82
数据库监控与性能分析工具推荐目前,随着数据库技术的发展,数据库监控和性能分析工具也得到了越来越广泛的应用。
在众多的数据库监控和性能分析工具中,本文为大家推荐一些性能优良、功能全面的数据库监控和性能分析工具。
1. SolarWinds Database Performance Analyzer(DPA)这是一款专门为云端、物理和虚拟化的环境设计的数据库性能监控和分析工具。
DPA可以对多个数据库实例的性能、等待事件和存储性能进行实时监控和分析。
此外,它还提供了一个自适应基准库,在运行足够的跟踪之后,可以自动为你选择合适的基准值。
DPA还有一个非常强大的功能 - 对于具有低性能的SQL语句自动创建索引,这可以大幅提升整体性能。
2. Paessler PRTG Network MonitorPRTG Network Monitor可以监控网络系统和应用程序的可用性,并提供丰富的自定义报告。
它支持多种设备,包括Microsoft SQL、MySQL和Oracle数据库。
PRTG可以监控数据库的性能指标,如响应时间、查询次数和传输速率。
此外,还可以使用PRTG进行自定义警报和通知,以便快速解决潜在的问题。
3. Idera SQL Diagnostic ManagerSQL Diagnostic Manager是一款监控SQL Server性能的全面解决方案,提供实时性能、存储和服务器监控。
它可以自动诊断性能问题,并提供实时警报和建议来改善性能。
SQL Diagnostic Manager还提供了许多内置报告和仪表板,以及用户可以创建自定义报告和仪表板的选项。
4. dbForge Studio for SQL ServerdbForge Studio是一款功能强大的集成开发环境(IDE),专门为SQL Server设计。
它提供了一个广泛的工具箱,以实现SQL Server的性能监控和分析,包括查询性能分析、查询优化器、语法检查、单元测试等功能。
Oracle的数据仓库解决方案在数据驱动的时代,企业越来越重视数据的收集、分析和利用。
数据仓库作为数据集中存储和管理的关键组件,成为企业实现数据驱动决策的重要基础。
Oracle作为全球领先的数据库技术提供商,也提供了强大的数据仓库解决方案。
Oracle的数据仓库解决方案主要包括以下几个关键组件和特点:1. 数据采集和清洗:Oracle提供了丰富的数据采集工具和方案,可以从各种关系型数据库和非关系型数据库等数据源中提取、转换和加载数据到数据仓库中。
此外,Oracle还可以对数据进行清洗和预处理,确保数据的准确性和一致性。
2. 数据存储和管理:Oracle的数据仓库解决方案采用高性能的数据库引擎来存储和管理数据。
它支持多种存储结构,如关系型、多维和列式存储等,以满足不同的数据分析和查询需求。
此外,Oracle还提供了强大的数据压缩和索引技术,以优化数据存储和查询性能。
3. 数据集成和转换:Oracle的数据仓库解决方案可以帮助企业将分散、异构的数据集成到一个统一的数据模型中。
它提供了强大的ETL(抽取、转换和加载)工具,可以对数据进行清洗、转换和整合,使数据在数据仓库中具有一致的结构和格式。
4. 数据分析和挖掘:Oracle的数据仓库解决方案提供了丰富的分析和挖掘功能,帮助企业发现数据中的模式、规律和趋势。
它支持各种常用的分析工具和技术,如OLAP(在线分析处理)、数据挖掘和机器学习等,以帮助企业实现更深入、高效的数据分析。
5. 数据安全和权限控制:Oracle的数据仓库解决方案提供了全面的数据安全和权限控制机制,以保护企业的数据资产安全。
它支持各种安全功能,如数据加密、访问控制和审计等,以确保数据的机密性、完整性和可用性。
综上所述,Oracle的数据仓库解决方案提供了全面、可靠的解决方案,帮助企业构建高效、可扩展的数据仓库。
它的强大功能和灵活性使得企业能够深入挖掘数据的价值,提升决策能力和竞争优势。
oracle 数据库解析字段与解析内容详解文章标题:深度解析Oracle数据库中的字段解析与内容详解在Oracle数据库中,字段解析和内容详解是数据库设计和优化中极为重要的部分。
本文将从简单到复杂地分析这一主题,并通过多个方面全面评估,以帮助读者更深入地理解这一概念。
一、字段解析的概念和作用在数据库中,字段解析是指对于各种数据类型的字段进行分析和解释。
不同的数据类型有不同的解析方式,而正确的字段解析能够帮助数据库管理员和开发人员更好地理解和利用数据。
Oracle数据库中常见的字段类型包括数值型、字符型、日期型等,它们的解析方法会对数据的存储、查找和计算产生影响。
1. 数值型字段解析数值型字段的解析主要涉及数据的精度和范围,以及相关的计算规则和函数。
对于整型和浮点型数据,需要考虑到数据的取值范围和小数位数,以及在应用中可能出现的四舍五入或溢出问题。
2. 字符型字段解析字符型字段的解析涉及到字符编码、长度限制、字符集规则等方面。
在处理多语言和特殊字符时,正确的解析能够保证数据的完整性和可读性,同时也对数据的存储和索引产生影响。
3. 日期型字段解析日期型字段的解析需要考虑到日期格式、时区、日期运算等方面。
在数据分析和报表生成中,正确解析日期字段能够保证数据的一致性和准确性。
二、内容详解的重要性和实践方法除了字段解析外,内容详解也是数据库设计和优化中不可或缺的部分。
内容详解是对数据内容进行深入的分析和理解,包括数据的来源、意义、关联等方面。
通过内容详解,可以更好地发现数据的价值和潜在问题,为决策和业务分析提供支持。
1. 数据来源和质量在进行内容详解时,需要了解数据的来源,包括数据的采集、清洗、转换等过程。
同时也需要评估数据的质量,包括数据的完整性、一致性、准确性等方面。
2. 数据关联和分析内容详解还涉及到数据之间的关联和分析,包括数据的连接、聚合、过滤等操作。
通过内容详解,可以更好地理解数据之间的关系,为业务分析和决策提供支持。
OracleAWR与ASH性能报告深入解析Oracle AWR (Automatic Workload Repository) 与 ASH (Active Session History) 是两种常用的性能报告工具,可以帮助数据库管理员和开发人员深入了解数据库的工作负载和性能瓶颈。
本文将对这两个工具进行深入解析。
一、Oracle AWR 报告AWR报告是一种综合性能报告,它通过分析数据库的工作负载和性能指标,提供了一个全面的性能评估。
AWR报告主要包括以下几个方面的内容:1.性能指标:AWR报告提供了大量的性能指标,包括数据库的各种统计信息、等待事件和CPU的使用情况。
这些指标可以帮助用户了解数据库的负载情况、性能瓶颈和资源利用率。
2.时间段:AWR报告会统计一段时间内的性能数据,并将其分为多个时间段。
这样用户可以根据需要查看具体的时间段,从而更好地了解数据库的性能变化。
3.慢查询:AWR报告中还会列出数据库中的慢查询语句,并提供了相应的执行计划和优化建议。
这对于开发人员来说非常有帮助,可以帮助他们优化查询语句,提升数据库性能。
4.自动调整建议:AWR报告还会给出一些自动调整建议,帮助用户改进数据库的配置和调整参数。
这对于数据库管理员来说非常有帮助,可以提升数据库的性能和稳定性。
二、Oracle ASH 报告ASH报告是一种实时性能报告,它通过记录数据库的活跃会话,提供了一个实时的性能分析。
ASH报告主要包括以下几个方面的内容:1.会话活动:ASH报告可以跟踪记录数据库中的活跃会话,包括其等待事件、活动程序和SQL语句等。
这些信息可以帮助用户了解数据库的负载情况和性能瓶颈。
2.等待事件:ASH报告中还会列出数据库中的等待事件,并提供相应的统计信息。
通过分析等待事件,用户可以找到数据库性能瓶颈的原因,并进行相应的优化。
3.SQL语句:ASH报告中还会列出数据库中的高负载SQL语句,并提供相应的执行计划和性能指标。
oracledsg方案随着信息技术的发展和互联网的普及,数据管理和处理的需求日益增长。
为满足企业和组织对于高效数据存储和分析的需求,Oracle公司提出了oracledsg(Oracle Data Solutions Group)方案。
本文将详细介绍oracledsg方案的特点、优势和应用场景。
I. oracledsg方案简介oracledsg方案是Oracle公司设计的一套全面的数据存储和管理解决方案。
它与Oracle数据库紧密结合,能够提供高效、安全、可靠的数据处理和存储能力。
oracledsg方案包括以下几个关键组成部分:1. 数据库管理系统(DBMS):oracledsg方案基于Oracle数据库,具备强大的数据处理和管理能力。
它支持结构化数据、半结构化数据和非结构化数据的存储和查询,能够处理大规模数据和复杂查询。
2. 数据仓库(Data Warehouse):oracledsg方案提供了完善的数据仓库解决方案,能够对企业的海量数据进行存储、清洗、集成和分析。
数据仓库能够为企业决策提供有力的支持和参考。
3. 数据集成和ETL(Extract, Transform, Load)工具:oracledsg方案提供了强大的数据集成和ETL工具,能够将来自不同数据源和系统的数据整合到一个统一的数据库中,并进行规范化、清洗和转换。
4. 数据安全和备份:oracledsg方案具备高级的数据安全和备份功能,能够保护企业的重要数据免受损害和丢失。
它支持数据的加密、访问控制和审计,能够为企业提供数据的完整性和可靠性。
II. oracledsg方案的优势oracledsg方案具有以下几个显著的优势,使其成为企业和组织的首选数据解决方案:1. 高性能:oracledsg方案基于Oracle数据库,采用先进的索引和查询优化技术,具备卓越的性能。
它能够支持高并发、大规模的数据处理和查询,保证企业应用的高效运行。
2. 强大的扩展性:oracledsg方案能够轻松扩展以应对不断增长的数据量和用户访问量。
oracle发展趋势随着信息技术的快速发展,许多企业开始意识到信息系统对于提高业务效率和创造商业价值的重要性。
作为一家全球领先的信息技术公司,Oracle在信息系统领域的发展趋势备受关注。
首先,云计算是Oracle发展的重要趋势之一。
云计算提供了便捷的计算和存储资源,让企业可以按需使用并灵活扩展。
Oracle提供了全面的云计算解决方案,包括基础设施即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)。
通过云计算,企业可以快速部署和管理应用程序,提高业务的可扩展性和灵活性。
其次,人工智能(AI)和机器学习(ML)也是Oracle发展的重要趋势。
AI和ML技术可以帮助企业分析和理解大量的数据,并从中发现潜藏的商业价值。
Oracle通过其自有的AI和ML平台提供了强大的数据分析和智能化决策支持。
通过AI 和ML,企业可以实现更精确的市场预测、个性化推荐和自动化决策,从而提高业务的竞争力。
另外,区块链技术也是Oracle发展的重要趋势之一。
区块链技术可以实现去中心化的数据共享和交易,从而提高数据的安全性和可信度。
Oracle已经推出了自己的区块链解决方案,并与众多企业合作推动区块链的应用。
区块链技术在金融、供应链管理等领域有着广泛的应用前景,可以加强数据的可追溯性和透明度,提高业务的可信度。
此外,物联网(IoT)也是Oracle发展的重要趋势之一。
物联网技术可以将各种设备和物品连接到互联网,实现实时数据的收集和交换。
Oracle提供了全面的物联网解决方案,包括设备管理、数据分析和应用开发等。
通过物联网,企业可以实时监控和管理设备状态,优化生产和供应链环节,提高业务的效率和可持续发展能力。
最后,数据安全和隐私保护也是Oracle发展的重要趋势。
随着企业数据规模的不断增大和数据泄露事件的屡禁不止,数据安全和隐私保护成为企业必须关注的核心问题。
Oracle通过提供安全的数据库和云计算解决方案,以及实施严格的数据加密和访问控制策略,帮助企业保护敏感数据的安全性和隐私。
oracle 静默db建库参数-概述说明以及解释1.引言概述部分的内容可以描述oracle数据库中静默db建库参数的背景和基本概念。
以下是一个示例:1.1 概述静默db建库参数是指在Oracle数据库中用于自动化和简化数据库建库过程的一系列参数设置。
这些参数可以在数据库创建过程中提供默认值,使得建库过程更加高效和方便。
在传统的数据库建库过程中,需要逐个设置各种参数选项,诸如表空间大小、字符集、语言等。
而使用静默db建库参数可以将这些繁琐的设置过程自动化,减少了手动设置的错误和遗漏,同时节省了大量的时间和人力成本。
静默db建库参数的作用不仅仅在于简化建库过程,它还可以提高建库的一致性和可维护性。
通过统一的参数设置,可以确保不同的数据库之间具有相同的配置,减少了后期维护和升级的麻烦。
此外,静默db建库参数还可以提供一些默认的安全设置,从而增加了数据库的安全性。
在本文中,我们将详细探讨静默db建库参数的定义、配置方法和注意事项,以及对其重要性和优势的总结。
同时,我们还将对未来数据库建库工作提供一些建议和启示。
通过全面了解和合理应用静默db建库参数,我们可以提高建库的效率和质量,为数据库的正常运行提供更好的基础。
文章结构部分的内容应该包括对整篇文章的组织和结构进行说明。
以下是文章1.2 文章结构部分的内容示例:1.2 文章结构本文主要围绕Oracle数据库中的静默db建库参数展开讨论。
为了使读者更好地理解和掌握这一主题,本文将分为引言、正文和结论三个部分。
- 引言部分将从概述、文章结构和目的三个方面介绍本文的主题和写作意图。
通过引言,读者可以建立起对本文的整体框架和主要内容的初步了解。
- 正文部分将在2.1节详细解释静默db建库参数的定义和作用。
这一小节将介绍静默db建库参数的概念,以及它在Oracle数据库建库过程中的重要作用。
同时,本节还将探讨如何配置这些参数以及需要注意的事项,以帮助读者正确地使用和优化这些参数。
awr报告【标题】:关于AWR报告的综合分析与应用一、引言AWR报告(Automatic Workload Repository Report)是Oracle数据库在数据库服务器中自动生成的一份综合性性能报告。
该报告通过收集数据库服务器的各项指标数据,并对这些数据进行分析和统计,为用户提供了全面的关于数据库性能的评估和分析结果。
本文将从AWR报告的生成原理、报告内容的解读以及对报告的应用进行综合分析,以帮助读者更好地理解和应用AWR报告。
二、AWR报告的生成原理AWR报告是基于自动工作负载存储库(Automatic Workload Repository)的数据库性能分析工具。
数据库服务器在正常运行时,会定期收集数据库的各项性能指标数据(如CPU利用率、内存利用率、I/O等),并存储在AWR中。
AWR报告则是根据这些存储的数据生成的。
AWR数据的收集频率和保留期限可以通过用户设定的参数进行配置。
三、AWR报告的内容解读AWR报告包含了丰富的性能指标数据和相关的分析结果,以下为AWR报告中常见的内容及其可行的解读方法:1. 数据库实例信息:报告中会给出数据库实例的版本、启动时间、运行时长等信息,以便用户了解数据库实例的基本情况。
2. 负载概览:该部分会显示数据库实例在一段时间内的负载情况,包括CPU利用率、并发会话数、I/O负载等指标。
用户可以通过这些指标来判断数据库的整体性能状况。
3. 等待事件统计:报告中将显示数据库实例中的等待事件统计信息,包括每个等待事件的名称、等待次数、平均等待时间等。
通过对等待事件的分析,可以找出数据库实例中存在的性能瓶颈。
4. SQL层面分析:这部分会给出一些SQL语句的性能统计信息,例如执行次数、平均响应时间、消耗的CPU时间等。
通过对SQL层面的分析,可以发现存在效率低下或者消耗过多资源的SQL语句。
5. 时间模型统计信息:报告中会给出数据库实例在一段时间内各个组件的时间统计信息,如CPU时间、I/O时间、等待时间等。
数据库性能监控工具推荐MySQLvsOracle数据库性能监控工具推荐:MySQL vs Oracle数据库是现代软件系统中的关键组件之一,它负责存储、管理和处理大量的数据。
为了保证数据库的高效性能,监控工具成为必不可少的工具。
在本文中,我们将介绍两种常用的数据库性能监控工具:MySQL和Oracle,并比较它们的特点和优势。
一、MySQLMySQL是一种开源的关系型数据库管理系统,它被广泛应用于各类Web应用和大型企业应用中。
MySQL提供了丰富的性能监控工具,以下是几个值得推荐的工具:1. MySQL Enterprise MonitorMySQL Enterprise Monitor是由MySQL官方提供的一款性能监控工具,它可以实时监测MySQL数据库的性能指标并提供详细的分析报告。
该工具支持可视化的仪表盘,能够帮助管理员快速定位和解决性能问题。
2. Percona Monitoring and Management (PMM)PMM是由Percona开发的一套开源性能监控工具,它对MySQL数据库进行全面监控,包括查询性能、磁盘IO、内存使用等方面。
PMM提供了丰富的图表和报告,帮助管理员更好地理解数据库的性能状况,并进行优化和调整。
3. VividCortexVividCortex是一款云端数据库性能监控工具,它支持多种数据库类型,包括MySQL。
VividCortex提供了实时的查询分析、性能趋势图和报警功能,帮助管理员在第一时间发现和解决性能问题。
二、OracleOracle数据库是一种商业性的关系型数据库管理系统,它被广泛应用于企业级应用和大型数据中心。
Oracle提供了多种性能监控工具,以下是几个值得推荐的工具:1. Oracle Enterprise Manager (OEM)OEM是由Oracle官方提供的一款全面监控和管理Oracle数据库的工具,它支持实时性能监控、自动化管理和故障诊断等功能。
Oracle内存全面分析Oracle的内存配置与oracle性能息息相关。
而且关于内存的错误(如4030、4031错误)都是十分令人头疼的问题。
可以说,关于内存的配置,是最影响Oracle性能的配置。
内存还直接影响到其他两个重要资源的消耗:CPU和IO。
首先,看看Oracle内存存储的主要内容是什么:∙程序代码(PLSQL、Java);∙关于已经连接的会话的信息,包括当前所有活动和非活动会话;∙程序运行时必须的相关信息,例如查询计划;∙Oracle进程之间共享的信息和相互交流的信息,例如锁;∙那些被永久存储在外围存储介质上,被cache在内存中的数据(如redo log条目,数据块)。
此外,需要记住的一点是,Oracle的内存是与实例对应的。
也就是说,一个实例就有一个独立的内存结构。
先从Oracle内存的组成架构介绍。
1. Oracle的内存架构组成Oracle的内存,从总体上讲,可以分为两大块:共享部分(主要是SGA)和进程独享部分(主要是PGA和UGA)。
而这两部分内存里面,根据功能不同,还分为不同内存池(Pool)和内存区(Area)。
下面就是Oracle内存构成框架图:下面分别介绍这两块内存区。
1.1. SGA(System Global Area)SGA(System Global Area 系统全局区域)是一组包含一个Oracle实例的数据和控制信息的共享内存结构。
这句话可以说是SGA的定义。
虽然简单,但其中阐述了SGA几个很重要的特性:1、SGA的构成——数据和控制信息,我们下面会详细介绍;2、SGA是共享的,即当有多个用户同时登录了这个实例,SGA中的信息可以被它们同时访问(当涉及到互斥的问题时,由latch和enquence控制);3、一个SGA 只服务于一个实例,也就是说,当一台机器上有多个实例运行时,每个实例都有一个自己的SGA,尽管SGA来自于OS的共享内存区,但实例之间不能相互访问对方的SGA区。
Oracle进程和一个SGA就构成了一个Oracle实例。
当实例启动时,Oracle会自动从系统中分配内存给SGA,而实例关闭时,操作系统会回收这些内存。
下面就是当实例启动后,显示已经分配了SGA:SQL> startupORACLE instance started.Total System Global Area 289406976 bytesFixed Size 1248576 bytes(包含了数据字典缓存、其他信息(如数据库和实例的状态信息)Variable Size 117441216 bytesDatabase Buffers 163577856 bytesRedo Buffers 7139328 bytesDatabase mounted.Database opened.SQL>SGA区是可读写的。
所有登录到实例的用户都能读取SGA中的信息,而在oracle做执行操作时,服务进程会将修改的信息写入SGA区。
SGA主要包括了以下的数据结构:∙数据缓冲(Buffer Cache)∙重做日志缓冲(Redo Log Buffer)∙共享池(Shared Pool)∙Java池(Java Pool)∙大池(Large Pool)∙流池(Streams Pool --- 10g以后才有)∙数据字典缓存(Data Dictionary Cache)∙其他信息(如数据库和实例的状态信息)最后的两种内存信息会被实例的后台进程所访问,它们在实例启动后就固定在SGA中了,而且不会改变,所以这部分又称为固定SGA(Fixed SGA)。
这部分区域的大小一般小于100K。
此外,用于并非进程控制的锁(latch)的信息也包含在SGA区中。
Shared Pool、Java Pool、Large Pool和Streams Pool这几块内存区的大小是相应系统参数设置而改变的,所以有通称为可变SGA(Variable SGA)。
1.1.1. SGA的重要参数和特性在设置SGA时,有一些很重要的参数,它们设置正确与否,会直接影响到系统的整体性能。
下面一一介绍他们:SGA_MAX_SIZESGA区包括了各种缓冲区和内存池,而大部分都可以通过特定的参数来指定他们的大小。
但是,作为一个昂贵的资源,一个系统的物理内存大小是有限。
尽管对于CPU的内存寻址来说,是无需关系实际的物理内存大小的(关于这一点,后面会做详细的介绍),但是过多的使用虚拟内存导致page in/out,会大大影响系统的性能,甚至可能会导致系统crash。
所以需要有一个参数来控制SGA使用虚拟内存的最大大小,这个参数就是SGA_MAX_SIZE。
当实例启动后,各个内存区只分配实例所需要的最小大小,在随后的运行过程中,再根据需要扩展他们的大小,而他们的总和大小受到了SGA_MAX_SIZE的限制。
当试图增加一个内存的大小,并且如果这个值导致所有内存区大小总和大于SGA_MAX_SIZE时,oracle会提示错误,不允许修改。
当然,如果在设置参数时,指定区域为spfile时(包括修改SGA_MAX_SIZE本身),是不会受到这个限制的。
这样就可能出现这样的情况,在spfile中,SGA各个内存区设置大小总和大于SGA_MAX_SIZE。
这时,oracle会如下处理:当实例再次启动时,如果发现SGA各个内存总和大于SGA_MAX_SIZE,它会将SGA_MAX_SIZE的值修改为SGA各个内存区总和的值。
SGA所分配的是虚拟内存,但是,在我们配置SGA时,一定要使整个SGA区都在物理内存中,否则,会导致SGA频繁的页入/页出,会极大影响系统性能。
对于OLTP系统,我个人建议可以如下配置SGA_MAX_SIZE(一般有经验的DBA都会有自己的默认配置大小,你也可以通过一段时间的观察、调整自己的系统来得到适合本系统的参数配置):SGA的实际大小可以通过以下公式估算:SGA实际大小= DB_CACHE_SIZE + DB_KEEP_CACHE_SIZE + DB_RECYCLE_CACHE_SIZE + DB_nk_CACHE_SIZE + SHARED_POOL_SIZE + LARGE_POOL_SIZE + JAVA_POOL_SIZE + STREAMS_POOL_SIZE(10g中的新内存池)+ LOG_BUFFERS+11K(Redo Log Buffer的保护页) + 1MB + 16M(SGA内部内存消耗,适合于9i及之前版本)公式种涉及到的参数在下面的内容种会一一介绍。
PRE_PAGE_SGA我们前面提到,oracle实例启动时,会只载入各个内存区最小的大小。
而其他SGA内存只作为虚拟内存分配,只有当进程touch到相应的页时,才会置换到物理内存中。
但我们也许希望实例一启动后,所有SGA都分配到物理内存。
这时就可以通过设置PRE_PAGE_SGA参数来达到目的了。
这个参数的默认值为FALSE,即不将全部SGA置入物理内存中。
当设置为TRUE时,实例启动会将全部SGA置入物理内存中。
它可以使实例启动达到它的最大性能状态,但是,启动时间也会更长(因为为了使所有SGA都置入物理内存中,oracle进程需要touch所有的SGA页)。
我们可以通过TopShow工具(本站原创工具,可在/Download/TopShow.html中下载)来观察windows(Unix下的内存监控比较复杂,这里暂不举例)下参数修改前后的对比。
PRE_PAGE_SGA为FALSE:SQL> show parameter sgaNAME TYPE VALUE------------------------------------ ----------- --------------------------lock_sga boolean FALSEpre_page_sga boolean FALSEsga_max_size big integer 276Msga_target big integer 276MSQL> startup forceORACLE instance started.Total System Global Area 289406976 bytesFixed Size 1248576 bytesVariable Size 117441216 bytesDatabase Buffers 163577856 bytesRedo Buffers 7139328 bytesDatabase mounted.Database opened.SQL>启动后,Oracle的内存情况可以看到,实例启动后,oracle占用的物理内存只有168M,远小于SGA的最大值288M(实际上,这部分物理内存中还有一部分进程的PGA和Oracle Service占用的内存),而虚拟内存则为340M。
将PRE_PAGE_SGA修改为TRUE,重启实例:SQL> alter system set pre_page_sga=true scope=spfile;System altered.SQL> startup forceORACLE instance started.Total System Global Area 289406976 bytesFixed Size 1248576 bytesVariable Size 117441216 bytesDatabase Buffers 163577856 bytesRedo Buffers 7139328 bytesDatabase mounted.Database opened.再观察启动后Oracle的内存分配情况:这时看到,实例启动后物理内存达到了最大343M,于虚拟内存相当。
这时,oracle实例已经将所有SGA分配到物理内存。
当参数设置为TRUE时,不仅在实例启动时,需要touch所有的SGA页,并且由于每个oracle进程都会访问SGA区,所以每当一个新进程启动时(在Dedicated Server方式中,每个会话都会启动一个Oracle 进程),都会touch一遍该进程需要访问的所有页。
因此,每个进程的启动时间页增长了。
所以,这个参数的设置需要根据系统的应用情况来设定。
在这种情况下,进程启动时间的长短就由系统内存的页的大小来决定了。
例如,SGA大小为100M,当页的大小为4K时,进程启动时需要访问100000/4=25000个页,而如果页大小为4M时,进程只需要访问100/4=25个页。
页的大小是由操作系统指定的,并且是无法修改的。