Les13 性能管理
目标 使用Oracle Enterprise Manager监视性能 使用自动内存管理(AMM) 使用内存指导调整内存缓冲区的大小 查看与性能相关的动态视图 排除无效和不可用对象产生的故障 性能监视
管理内存组件 自动内存管理(AMM):指定分配给实例的总内存(包括SGA和PGA) 自动共享内存管理(ASMM) 通过一个初始化参数指定SGA总内存 Oracle服务器可以管理分配给共享池,Java池,缓冲区高速缓存,流池和大型池的内存量。 手动设置共享内存管理 通过多个单独的初始化参数调整组件的大小 使用适当的内存指导提出建议 启用自动内存管理AMM 初始化参数:memory_max_target和memory_target MEMORY_TARGET 不为零的值,就是sga+pga可分配的最大值。但是此值不能大于MEMORY_MAX_TARGET的值。 ALTER SYSTEM SET MAMORY_MAX_TARGET=[数值] SCOPE=SPFILE; ALTER SYSTEM SET MEMORY_TARGET=[数值] SCOPE=SPFILEL; 启用AMM后,可使用内存大小指导来帮助调整最大内存大小和目标内存大小。Oracle建议使用自动内存管理来简化内存管理任务。 启用自动共享内存管理ASMM 初始化参数:sga_max_size和sga_target SGA_TARGET不为零的值,此值不能大于SGA_MAX_SIZE的值。shared_pool_size+db_cache_size+streams_pool_size+java_pool_size+large_pool_size ALTER SYSTEM SET SGA_MAX_SIZE=[数值] SCOPE=SPFILE; ALTER SYSTEM SET SGA_TARGET=[数值] SCOPE=SPFILE; 手动设置共享内存管理 ALTER SYSTEM SET SHARED_POOL_SIZE=[数值] SCOPE=SPFILE; ALTER SYSTEM SET DB_CACHE_SIZE =[数值] SCOPE=SPFILE; ALTER SYSTEM SET JAVA_POOL_SIZE=[数值] SCOPE=SPFILE; ALTER SYSETM SET STREAMS_POOL_SIZE=[数值] SCOPE=SPFILE; ALTER SYSTEM SET LARGE_POOL_SIZE=[数值] SCOPE=SPFILE; 动态性能统计信息
系统范围
V$SYSSTAT
V$SYSTEM_EVENT
特定于会话
V$SESSTAT
V$SESSION_EVENT
特定于服务
V$SERVICE_STATS
V$SERVICE_EVENT
select statistiC#,name,class,value,stat_id from v$sysstat;
select sid,statistic#,value from v$sesstat;
select service_name_hash,service_name,stat_id,stat_name,value from v$service_stats;
select event,total_waits,total_timeouts,time_waited,average_wait,time_waited_micro from v$system_event
select sid,event,total_waits,total_timeouts,time_waited,average_wait,max_wait,time_waited_micro,event_id from v$session_event
select service_name,service_name_hash,event,event_id,total_waits,total_timeouts,time_waited,average_wait,time_waited_micro from v$service_event
实例/数据库
V$DATABASE
V$INSTANCE
V$PARAMETER
V$SPPARAMETER
V$SYSTEM_PARAMETER
V$PROCESS
V$BGPROCESS
V$PX_PROCESS_SYSSTAT
V$SYSTEM_EVENT
磁盘
V$DATAFILE
V$FILESTAT
V$LOG
V$LOG_HISTORY
V$DBFILE
V$TEMPFILE
V$TEMPSEG_USAGE
V$SEGMENT_STATISTICS
内存
V$BUFFER_POOL_STATISTICS
V$LIBRARYCACHE
V$SGAINFO
V$PGASTAT
争用
V$LOCK
V$UNDOSTAT
V$WAITSTAT
V$LATCH
复制代码
无效和不可用对象 对性能的影响: PL/SQL代码对象要重新编译 索引要重建 无效PL/SQL对象,可通过查询数据字典来查看PL/SQL对象的当前状态。 SELECT OWNER,OBJECT_NAME,OBJECT_TYPE FROM DBA_OBJECTS WHERE STATUS='INVALID'; 默认情况下,每24小时会检查一次“所有者的无效对象计数”度量,如果单个所有者的无效对象数超过2个,就会发出预警。
无效和不可用对象的处理
不做任何处理,如果需要,大多数PL/SQL对象在被条用时会自动重新编译。用户在对象重新编译时会经历短暂的延迟。
手动重新编译无效对象
ALTER PROCEDURE .<procedure_name> COMPILE;
PACKAGE包需要执行两个步骤
ALTER PACKAGE .<package_name> COMPILE;
ALTER PACKAGE .<package_name> COMPILE BODY;
不可用索引,可查询视图DBA_INDEXES数据字典和DBA_IND_PARTITIONS视图
SELECT OWNER,TABLE_NAME,INDEX_NAME FROM DBA_INDEXES WHERE STATUS='UNUSEABLE';
SELECT INDEX_OWNER,PARTITION_NAME,INDEX_NAME FROM DBA_IND_PARTITIONS WHERE STATUS='UNUSEABLE';
重建索引
ALTER INDEX .<index_name> REBUILD;
ALTER INDEX .<index_name> REBUILD ONLINE;
ALTER INDEX .<index_name> REBUILD TABLESPACE <tablespace_name>;
复制代码
如果省略了TABLSPACE子句,则会在索引曾经所在的相同表空间中重建索引。使用REBUILD ONLINE子句,用户可以在重建时继续更新索引表。(如果不使用online关键字,用户必须等待重建完成后才能对受影响的表执行DML.如果索引不可用,即使用online关键字,也不会在重建过程中使用该索引。) 注意:重建索引是需要有可用于重建的空闲空间。重建前需验证是否有足够的空间。会使用到TEMP表空间。 总结: 自动内存管理(AMM),主要是管理PGA+SGA内存的分配,两个初始化参数memory_max_target&memory_target控制 自动共享内存管理(ASMM),管理SGA内存组件,sga_max_size&sga_target参数控制,shared_pool_size,db_cache_size,java_pool_size,large_pool_size,streams_pool_size 手动管理sga内存组件,shared_pool_size,db_cache_size,java_pool_size,large_pool_size,streams_pool_size 查看与性能相关的动态视图 无效对象和不可用索引的处理方式 (编辑:雷林鹏 来源:网络)
Les13 性能管理的更多相关文章
- APM (应用性能管理)
在信息科学和系统控制领域,APM是用来监控和管理应用软件是否有效运行的.APM通过监测和分析应用的表现去保证软件应用的良好运行,APM已经商用. 基本定义 APM = Application Perf ...
- Pinpoint是一个开源的 APM (Application Performance Management/应用性能管理)工具,用于基于java的大规模分布式系统,基于Google Dapper论文
Pinpoint是一个开源的 APM (Application Performance Management/应用性能管理)工具,用于基于java的大规模分布式系统,基于Google Dapper论文 ...
- 【DB2】性能管理视图
1.性能管理部分视图列表 可以使用命令db2 list tables for schema sysibmadm获取所有的性能管理视图 视图名称 模式名 ...
- Pinpoint - 应用性能管理(APM)平台实践之部署篇
0.0 前言 国内的APM行业这两年刚刚起步,但是在国外却比较成熟了,并且由于这两年人力成本的快速提高,国内外涌现了几家非常不错的APM企业,例如APPdynamic,Dynamic,NewRelic ...
- Java虚拟机性能管理神器 - VisualVM(4) - JDK版本与VisualVM版本对应关系
Java虚拟机性能管理神器 - VisualVM(4) - JDK版本与VisualVM版本对应关系 JDK版本与VisualVM版本对应关系说明 JDK版本与VisualVM版本对应关系 参 ...
- Java虚拟机性能管理神器 - VisualVM(3) 插件安装与更新路径配置
Java虚拟机性能管理神器 - VisualVM(3) 插件安装与更新路径配置 插件路径地址配置方法: VisualVM打开后,会发现功能比较单一,只有概述.监视.线程.抽样器.Profiler五个 ...
- Java虚拟机性能管理神器 - VisualVM(2) 入门
一下载VisualVM 最新版本下载 历史版本下载 二启动VisualVM 三VisualVM用户目录 四VisualVM窗口 1应用程序窗口 2详情窗口 五VisualVM插件 Java虚拟机性 ...
- Java虚拟机性能管理神器 - VisualVM(1) 简介 - JVM轻量级监控分析神器
目录(?)[-] 一VisualVM是什么 二如何获取VisualVM 三获取那个版本 四VisualVM能做什么 显示JAVA应用程序配置和运行时环境 显示本地和远程JAVA应用程序运行状态 监控应 ...
- 应用性能管理工具PinPoint介绍
概述: 下面介绍一个开源的 APM (Application Performance Management/应用性能管理)工具 - Pinpoint.一个分布式事务跟踪系统的平台,思路基于google ...
随机推荐
- C的指针疑惑:C和指针6(指针)
NULL: 对所有指针变量进行显式的初始化是种好事:(1)如果你知道指针将被初始化为什么地址,就直接初始化该地址, (2)否则把它初始化位NULL. 注意:假定变量a存储于位置100. × = 看上去 ...
- PAT 1037 Magic Coupon[dp]
1037 Magic Coupon(25 分) The magic shop in Mars is offering some magic coupons. Each coupon has an in ...
- Hadoop RPC实例
本文发表于本人博客. 上次写了个hadoop伪分布环境搭建的笔记了,今天来说下hadoop分布式构建的基础RPC,这个RPC在提交Job任务的时候底层就是创建了RPC来实现远程过程调用服务端. 我们首 ...
- CCF 字符串匹配(find()函数的使用)
问题描述 试题编号: 201409-3 试题名称: 字符串匹配 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 给出一个字符串和多行文字,在这些文字中找到字符串出现的那些行.你 ...
- 【转载】IDEA:放置型塔防备忘录
下周开始做原型了,我需要再次细细的整理一遍设计思路,确保每一个设计都能为了我所追求的玩家体验添砖加瓦,而不是互相打架.同时本文还能提供最原始的VISION,待到将来开发万一陷入泥淖,翻出此文来可以起到 ...
- Storm概念讲解,工作原理
一.storm是一个用于实时流式计算的分布式计算引擎,弥补了Hadoop在实时计算方面的不足(Hadoop在本质上是一个批处理系统). 二.storm在实际应用场景中的位置一般如下: 其中的编号1~5 ...
- [pixhawk笔记]5-uORB消息传递
本文主要内容翻译自官方文档:https://dev.px4.io/en/middleware/uorb.html 在前一篇笔记中使用uORB完成消息传递,实现了一个简单示例程序,本文将对uORB进行系 ...
- MAC VNC SSH roo用户开通
第一步:ssh: user@xxx.xxx.xxx 第二步:开启VNC 开启VNC共享桌面: sudo /System/Library/CoreServices/RemoteManagement/A ...
- Junit中的setup和teardown方法
setup需要@before注解,实现测试前的初始化工作 teardown需要@after注解,测试完成后垃圾回收等后续工作
- 5309 《Java程序设计》第6周学习总结
教材学习内容总结 输入与输出 InputStream与OutputStream 从应用程序角度来看,如果要将数据从来源取出,可以使用输入串流:如果要将数据写入目的地,可以使用输出串流.在Java中,输 ...