数据库高速缓存命中百分比只有百分之60.32怎么办?

时间:2022-05-13 23:22:21
数据库高速缓存命中百分比只有百分之60.32怎么办?

12 个解决方案

#1


看看最耗资源的SQL的命中率怎么样?

#2


怎么查?

#3


命中率是什么意思?命中率影响什么?

#4


SELECT EXECUTIONS , DISK_READS, BUFFER_GETS,
  round((BUFFER_GETS-DISK_READS)/BUFFER_GETS,2) Hit_radio,
   ROUND(DISK_READS/EXECUTIONS,2) Reads_per_run,
   SQL_TEXT
  FROM V$SQLAREA
  WHERE EXECUTIONS>0
  AND BUFFER_GETS > 0 
  AND (BUFFER_GETS-DISK_READS)/BUFFER_GETS < 0.8 
  ORDER BY 2 desc,4 DESC;
这是看命中率小于80%的SQL

#5


你的数据库版本? 已经内存结构的配置?

#6


数据库高速缓存命中百分比受哪些因素影响?

#7


引用 6 楼 xuangxing 的回复:
数据库高速缓存命中百分比受哪些因素影响?

一个是shared_pool_size和db_cache_size的大小会影响命中率,一般是越大命中率越高,但是太大会增加寻址困难,10g的话还要看下sga_target这个参数.
另一个是sql的写法,尤其是没有使用绑定变量的sql会大大降低命中率

#8


附上spfile参数信息:
aq_tm_processes = 1
background_dump_dest = /orapp/admin/fun/bdump
cluster_database = TRUE
cluster_database_instances = 2
cluster_interconnects = 172.16.10.1
compatible = 9.2.0.0.0
control_files = ('/dev/rscz_ctl1_110m', '/dev/rscz_ctl2_110m', '/dev/rscz_ctl3_110m')
core_dump_dest = /orapp/admin/fun/cdump
cpu_count = 4
db_block_size = 8192
db_cache_size = 1073741824
db_domain = ''
db_file_multiblock_read_count = 16
db_name = fun
dispatchers = '(PROTOCOL=TCP) (SERVICE=funXDB)'
fast_start_mttr_target = 300
hash_join_enabled = TRUE
instance_name = fun1
instance_number = 1
java_pool_size = 318767104
job_queue_processes = 10
large_pool_size = 318767104
local_listener = 'LISTENER_FUN1'
log_archive_dest_1 = 'LOCATION=/ARCH'
log_archive_format = '%t_%s.dbf'
log_archive_start = TRUE
log_buffer = 5242880
nls_comp = 
open_cursors = 10000
pga_aggregate_target = 524288000
processes = 512
query_rewrite_enabled = FALSE
remote_listener = LISTENERS_FUN
remote_login_passwordfile = EXCLUSIVE
service_names = fun
session_cached_cursors = 200
sessions = 1000
sga_max_size = 4301232496
shared_pool_size = 637534208
sort_area_size = 20242880
spfile = /dev/rscz_spf_5m
star_transformation_enabled = FALSE
thread = 1
timed_statistics = TRUE
undo_management = AUTO
undo_retention = 10800
undo_tablespace = UNDOTBS1
user_dump_dest = /orapp/admin/fun/udump

#9


简单介绍以下你的数据库配置:
SGA:
PGA:
数据库类型:OLTP/OLAP/DSS
数据库规模:xxxG
另外,命中率低和高都不能说明你的性能好和不好,核心是缓存最需要缓存的数据.

#10


pfile 里加sga_target参数,让他自动管理,shared_pool_size,database buffer这类的就动态的进行管理了

*.sga_target=9868514300

只要sga_target < sga_max_size  就可以了

#11


应该是9i的库,还没有SGA_TARGET

#12


引用 8 楼 xuangxing 的回复:
附上spfile参数信息:
SQL codeaq_tm_processes=1
background_dump_dest=/orapp/admin/fun/bdump
cluster_database= TRUE
cluster_database_instances=2
cluster_interconnects=172.16.10.1
compatible=9.2.0.0.0
control_files= ('/dev/rscz_ctl1_110m','/dev/rscz_ctl2_110m','/dev/rscz_ctl3_110m')
core_dump_dest=/orapp/admin/fun/cdump
cpu_count=4
db_block_size=8192
db_cache_size=1073741824
db_domain=''
db_file_multiblock_read_count=16db_name= fun
dispatchers='(PROTOCOL=TCP) (SERVICE=funXDB)'
fast_start_mttr_target=300
hash_join_enabled= TRUE
instance_name= fun1
instance_number=1
java_pool_size=318767104
job_queue_processes=10
large_pool_size=318767104
local_listener='LISTENER_FUN1'
log_archive_dest_1='LOCATION=/ARCH'
log_archive_format='%t_%s.dbf'
log_archive_start= TRUE
log_buffer=5242880
nls_comp= 
open_cursors=10000
pga_aggregate_target=524288000
processes=512
query_rewrite_enabled= FALSE
remote_listener= LISTENERS_FUN
remote_login_passwordfile= EXCLUSIVE
service_names= fun
session_cached_cursors=200
sessions=1000
sga_max_size=4301232496
shared_pool_size=637534208
sort_area_size=20242880
spfile=/dev/rscz_spf_5m
star_transformation_enabled= FALSE
thread=1
timed_statistics= TRUE
undo_management= AUTO
undo_retention=10800
undo_tablespace= UNDOTBS1
user_dump_dest=/orapp/admin/fun/udump

简单介绍以下你的数据库配置: SGA: PGA:见引用; 
数据库规模:40G 
数据库版本:9.2.0.7

#1


看看最耗资源的SQL的命中率怎么样?

#2


怎么查?

#3


命中率是什么意思?命中率影响什么?

#4


SELECT EXECUTIONS , DISK_READS, BUFFER_GETS,
  round((BUFFER_GETS-DISK_READS)/BUFFER_GETS,2) Hit_radio,
   ROUND(DISK_READS/EXECUTIONS,2) Reads_per_run,
   SQL_TEXT
  FROM V$SQLAREA
  WHERE EXECUTIONS>0
  AND BUFFER_GETS > 0 
  AND (BUFFER_GETS-DISK_READS)/BUFFER_GETS < 0.8 
  ORDER BY 2 desc,4 DESC;
这是看命中率小于80%的SQL

#5


你的数据库版本? 已经内存结构的配置?

#6


数据库高速缓存命中百分比受哪些因素影响?

#7


引用 6 楼 xuangxing 的回复:
数据库高速缓存命中百分比受哪些因素影响?

一个是shared_pool_size和db_cache_size的大小会影响命中率,一般是越大命中率越高,但是太大会增加寻址困难,10g的话还要看下sga_target这个参数.
另一个是sql的写法,尤其是没有使用绑定变量的sql会大大降低命中率

#8


附上spfile参数信息:
aq_tm_processes = 1
background_dump_dest = /orapp/admin/fun/bdump
cluster_database = TRUE
cluster_database_instances = 2
cluster_interconnects = 172.16.10.1
compatible = 9.2.0.0.0
control_files = ('/dev/rscz_ctl1_110m', '/dev/rscz_ctl2_110m', '/dev/rscz_ctl3_110m')
core_dump_dest = /orapp/admin/fun/cdump
cpu_count = 4
db_block_size = 8192
db_cache_size = 1073741824
db_domain = ''
db_file_multiblock_read_count = 16
db_name = fun
dispatchers = '(PROTOCOL=TCP) (SERVICE=funXDB)'
fast_start_mttr_target = 300
hash_join_enabled = TRUE
instance_name = fun1
instance_number = 1
java_pool_size = 318767104
job_queue_processes = 10
large_pool_size = 318767104
local_listener = 'LISTENER_FUN1'
log_archive_dest_1 = 'LOCATION=/ARCH'
log_archive_format = '%t_%s.dbf'
log_archive_start = TRUE
log_buffer = 5242880
nls_comp = 
open_cursors = 10000
pga_aggregate_target = 524288000
processes = 512
query_rewrite_enabled = FALSE
remote_listener = LISTENERS_FUN
remote_login_passwordfile = EXCLUSIVE
service_names = fun
session_cached_cursors = 200
sessions = 1000
sga_max_size = 4301232496
shared_pool_size = 637534208
sort_area_size = 20242880
spfile = /dev/rscz_spf_5m
star_transformation_enabled = FALSE
thread = 1
timed_statistics = TRUE
undo_management = AUTO
undo_retention = 10800
undo_tablespace = UNDOTBS1
user_dump_dest = /orapp/admin/fun/udump

#9


简单介绍以下你的数据库配置:
SGA:
PGA:
数据库类型:OLTP/OLAP/DSS
数据库规模:xxxG
另外,命中率低和高都不能说明你的性能好和不好,核心是缓存最需要缓存的数据.

#10


pfile 里加sga_target参数,让他自动管理,shared_pool_size,database buffer这类的就动态的进行管理了

*.sga_target=9868514300

只要sga_target < sga_max_size  就可以了

#11


应该是9i的库,还没有SGA_TARGET

#12


引用 8 楼 xuangxing 的回复:
附上spfile参数信息:
SQL codeaq_tm_processes=1
background_dump_dest=/orapp/admin/fun/bdump
cluster_database= TRUE
cluster_database_instances=2
cluster_interconnects=172.16.10.1
compatible=9.2.0.0.0
control_files= ('/dev/rscz_ctl1_110m','/dev/rscz_ctl2_110m','/dev/rscz_ctl3_110m')
core_dump_dest=/orapp/admin/fun/cdump
cpu_count=4
db_block_size=8192
db_cache_size=1073741824
db_domain=''
db_file_multiblock_read_count=16db_name= fun
dispatchers='(PROTOCOL=TCP) (SERVICE=funXDB)'
fast_start_mttr_target=300
hash_join_enabled= TRUE
instance_name= fun1
instance_number=1
java_pool_size=318767104
job_queue_processes=10
large_pool_size=318767104
local_listener='LISTENER_FUN1'
log_archive_dest_1='LOCATION=/ARCH'
log_archive_format='%t_%s.dbf'
log_archive_start= TRUE
log_buffer=5242880
nls_comp= 
open_cursors=10000
pga_aggregate_target=524288000
processes=512
query_rewrite_enabled= FALSE
remote_listener= LISTENERS_FUN
remote_login_passwordfile= EXCLUSIVE
service_names= fun
session_cached_cursors=200
sessions=1000
sga_max_size=4301232496
shared_pool_size=637534208
sort_area_size=20242880
spfile=/dev/rscz_spf_5m
star_transformation_enabled= FALSE
thread=1
timed_statistics= TRUE
undo_management= AUTO
undo_retention=10800
undo_tablespace= UNDOTBS1
user_dump_dest=/orapp/admin/fun/udump

简单介绍以下你的数据库配置: SGA: PGA:见引用; 
数据库规模:40G 
数据库版本:9.2.0.7