赵涵逸,尖锐湿疣哪里治疗好,狗 生殖器
目标
使用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 <owner>.<procedure_name> COMPILE;
PACKAGE包需要执行两个步骤
ALTER PACKAGE <owner>.<package_name> COMPILE;
ALTER PACKAGE <owner>.<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 <owner>.<index_name> REBUILD;
ALTER INDEX <owner>.<index_name> REBUILD ONLINE;
ALTER INDEX <owner>.<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
查看与性能相关的动态视图
无效对象和不可用索引的处理方式
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!!
点击进行留言回复
相关文章:
-
-
-
快速向表插入大量数据
当需要对一个非常大的表INSERT的时候,会消耗非常多的资源,因为update表的时候,oracle需要生成 redo log和undo log;此时最...
[阅读全文]
-
-
-
Oracle入门学习五
学习视频: https://www.bilibili.com/video/BV1tJ411r7EC?p=55 数据的完整性:保证插入表格的数据必须正确。...
[阅读全文]
-
Oracle入门学习六
事务:把一组操作看做一个工作单元,要么都执行,要么都不执行。dml操作才有事务,查询没有事务。 开始事务:从上一次的事务结束之后,从第一次dml操作,就...
[阅读全文]
-
-
-
Oracle入门学习一
oracle的安装,用户授权,表格操作,数据类型,ddl表格,dml数据。 下一篇:Oracle入门学习二 学习视频:https://www.bilib...
[阅读全文]
-
Oracle入门学习二
上一篇:Oracle入门学习一 学习视频:https://www.bilibili.com/video/BV1tJ411r7EC?p=15 算术运算符:...
[阅读全文]
网友评论