本帖最后由 一眼泉水 于 2014-1-23 09:14 编辑
SQL> show parameter process
NAME
TYPEVALUE
------------------------------------ ----------- ------------------------------
aq_tm_processes
integer 0
db_writer_processes
integer 2
gcs_server_processes
integer 0
job_queue_processes
integer 10
log_archive_max_processes
integer 2
processes
integer 1000
SQL> show parameter session
NAME
TYPEVALUE
------------------------------------ ----------- ------------------------------
java_max_sessionspace_size integer 0
java_soft_sessionspace_limit integer 0
license_max_sessions
integer 0
license_sessions_warning
integer 0
logmnr_max_persistent_sessions integer 1
session_cached_cursors
integer 1000
session_max_open_files
integer 10
sessions
integer 1105
shared_server_sessions
integer
SQL> show parameter cursor
NAME
TYPEVALUE
------------------------------------ ----------- ------------------------------
cursor_sharing
stringEXACT
cursor_space_for_time
boolean FALSE
open_cursors
integer 3000
session_cached_cursors
integer 1000
select s.USERNAME,S.sid,s.SERIAL#,p.SPID, osuser, machine, count(*) num_cursfrom v$open_cursor o, v$session s,v$process pwhere /*user_name = '' and*/ o.sid=s.sidand p.ADDR=s.PADDRgroup by s.USERNAME,S.sid,s.SERIAL#,p.SPID, osuser, machineorder by num_curs desc
USERNAME SIDSERIAL# SPID OSUSER MACHINENUM_CURS
---------------- ---------- ------------ -------- -------------------
UQRY_SEL104356598 18825oracle hastadb1 1035
………………
………………
我设置的参数都已经很大了,从单个session的cursor数量上看,1035远远小于3000,
为什么还会经常出现ORA-01000: 超出打开游标的最大数??
难道修改open_cursor也需要重启数据库吗?
|