用户数一多,系统就报“无效的游标”特来此求救。

[复制链接]
查看11 | 回复9 | 2010-3-1 11:20:03 | 显示全部楼层 |阅读模式
数据库是10g(10.2.0.1.0)的,装在Windows 2003下。
以前数据库用的是817,当时也出现过“无效的游标”。但重启数据库之后就好了。
刚升级到10G之后,偶尔也报,但不是很频繁。最近一段时间,因为公司里来了很多人,客户端增加,“无效的游标”出现的非常频繁。
客户端程序是.exe的,有时登录的时候报,有时登录的时候不报,多登几次就能进去了。
因为程序时写死的,也无法看代码。所以来此宝地向各位求救。望能给予帮助。

show parameter
NAME
TYPEVALUE
------------------------------------ ----------- ------------------------------
O7_DICTIONARY_ACCESSIBILITY
boolean FALSE
active_instance_count
integer
aq_tm_processes
integer 0
archive_lag_target
integer 0
asm_diskgroups
string
asm_diskstring
string
asm_power_limit
integer 1
audit_file_dest
stringD:\ORACLE\PRODUCT\10.2.0\ADMIN\BFSDZ\ADUMP
audit_sys_operations
boolean FALSE
audit_trail
stringNONE
background_core_dump
stringpartial
background_dump_dest
stringD:\ORACLE\PRODUCT\10.2.0\ADMIN\BFSDZ\BDUMP
backup_tape_io_slaves
boolean FALSE
bitmap_merge_area_size
integer 1048576
blank_trimming
boolean FALSE
buffer_pool_keep
string
buffer_pool_recycle
string
circuits
integer
cluster_database
boolean FALSE
cluster_database_instances integer 1
cluster_interconnects
string
commit_point_strength
integer 1
commit_write
string
compatible
string10.2.0.1.0
control_file_record_keep_timeinteger 7
control_files
stringD:\ORACLE\PRODUCT\10.2.0\ORADATA\BFSDZ\CONTROL01.CTL, D:\ORACLE\PRODUCT\10.2.0\ORADATA\BFSDZ\CONTROL02.CTL, D:\ORACLE\PRODUCT\10.2.0\ORADATA\BFSDZ\CONTROL03.CTL
core_dump_dest
stringD:\ORACLE\PRODUCT\10.2.0\ADMIN\BFSDZ\CDUMP
cpu_count
integer 2
create_bitmap_area_size
integer 8388608
create_stored_outlines
string
cursor_sharing
stringEXACT
cursor_space_for_time
boolean FALSE
db_16k_cache_size
big integer 0
db_2k_cache_size
big integer 0
db_32k_cache_size
big integer 0
db_4k_cache_size
big integer 0
db_8k_cache_size
big integer 0
db_block_buffers
integer 0
db_block_checking
stringFALSE
db_block_checksum
stringTRUE
db_block_size
integer 8192
db_cache_advice
stringON
db_cache_size
big integer 0
db_create_file_dest
string
db_create_online_log_dest_1
string
db_create_online_log_dest_2
string
db_create_online_log_dest_3
string
db_create_online_log_dest_4
string
db_create_online_log_dest_5
string
db_domain
string
db_file_multiblock_read_countinteger 16
db_file_name_convert
string
db_files
integer 200
db_flashback_retention_targetinteger 1440
db_keep_cache_size
big integer 0
db_name
stringbfsdz
db_recovery_file_dest
stringD:\oracle\product\10.2.0/flash_recovery_area
db_recovery_file_dest_size big integer 2G
db_recycle_cache_size
big integer 0
db_unique_name
stringbfsdz
db_writer_processes
integer 1
dbwr_io_slaves
integer 0
ddl_wait_for_locks
boolean FALSE
dg_broker_config_file1
stringD:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\DR1BFSDZ.DAT
dg_broker_config_file2
stringD:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\DR2BFSDZ.DAT
dg_broker_start
boolean FALSE
disk_asynch_io
boolean TRUE
dispatchers
string(PROTOCOL=TCP) (SERVICE=bfsdzXDB)
distributed_lock_timeout
integer 60
dml_locks
integer 2924
drs_start
boolean FALSE
event
string
fal_client
string
fal_server
string
fast_start_io_target
integer 0
fast_start_mttr_target
integer 0
fast_start_parallel_rollback stringLOW
file_mapping
boolean FALSE
fileio_network_adapters
string
filesystemio_options
string
fixed_date
string
gc_files_to_locks
string
gcs_server_processes
integer 0
global_context_pool_size
string
global_names
boolean TRUE
hash_area_size
integer 131072
hi_shared_memory_address
integer 0
hs_autoregister
boolean TRUE
ifile
file
instance_groups
string
instance_name
stringbfsdz
instance_number
integer 0
instance_type
stringRDBMS
java_max_sessionspace_size integer 0
java_pool_size
big integer 0
java_soft_sessionspace_limit integer 0
job_queue_processes
integer 10
large_pool_size
big integer 0
ldap_directory_access
stringNONE
license_max_sessions
integer 0
license_max_users
integer 0
license_sessions_warning
integer 0
local_listener
string
lock_name_space
string
lock_sga
boolean FALSE
log_archive_config
string
log_archive_dest
string
log_archive_dest_1
string
log_archive_dest_10
string
log_archive_dest_2
string
log_archive_dest_3
string
log_archive_dest_4
string
log_archive_dest_5
string
log_archive_dest_6
string
log_archive_dest_7
string
log_archive_dest_8
string
log_archive_dest_9
string
log_archive_dest_state_1
stringenable
log_archive_dest_state_10
stringenable
log_archive_dest_state_2
stringenable
log_archive_dest_state_3
stringenable
log_archive_dest_state_4
stringenable
log_archive_dest_state_5
stringenable
log_archive_dest_state_6
stringenable
log_archive_dest_state_7
stringenable
log_archive_dest_state_8
stringenable
log_archive_dest_state_9
stringenable
log_archive_duplex_dest
string
log_archive_format
stringARC%S_%R.%T
log_archive_local_first
boolean TRUE
log_archive_max_processes
integer 2
log_archive_min_succeed_dest integer 1
log_archive_start
boolean FALSE
log_archive_trace
integer 0
log_buffer
integer 7028736
log_checkpoint_interval
integer 0
log_checkpoint_timeout
integer 1800
log_checkpoints_to_alert
boolean FALSE
log_file_name_convert
string
logmnr_max_persistent_sessions integer 1
max_commit_propagation_delay integer 0
max_dispatchers
integer
max_dump_file_size
stringUNLIMITED
max_enabled_roles
integer 150
max_shared_servers
integer
nls_calendar
string
nls_comp
string
nls_currency
string
nls_date_format
string
nls_date_language
string
nls_dual_currency
string
nls_iso_currency
string
nls_language
stringSIMPLIFIED CHINESE
nls_length_semantics
stringBYTE
nls_nchar_conv_excp
stringFALSE
nls_numeric_characters
string
nls_sort
string
nls_territory
stringCHINA
nls_time_format
string
nls_time_tz_format
string
nls_timestamp_format
string
nls_timestamp_tz_format
string
object_cache_max_size_percentinteger 10
object_cache_optimal_size
integer 102400
olap_page_pool_size
big integer 0
open_cursors
integer 2000
open_links
integer 4
open_links_per_instance
integer 4
optimizer_dynamic_sampling integer 2
optimizer_features_enable
string10.2.0.1
optimizer_index_caching
integer 0
optimizer_index_cost_adj
integer 100
optimizer_mode
stringALL_ROWS
optimizer_secure_view_mergingboolean TRUE
os_authent_prefix
stringOPS$
os_roles
boolean FALSE
parallel_adaptive_multi_user boolean TRUE
parallel_automatic_tuning
boolean FALSE
parallel_execution_message_sizeinteger 2148
parallel_instance_group
string
parallel_max_servers
integer 40
parallel_min_percent
integer 0
parallel_min_servers
integer 0
parallel_server
boolean FALSE
parallel_server_instances
integer 1
parallel_threads_per_cpu
integer 2
pga_aggregate_target
big integer 92M
plsql_ccflags
string
plsql_code_type
stringINTERPRETED
plsql_compiler_flags
stringINTERPRETED, NON_DEBUG
plsql_debug
boolean FALSE
plsql_native_library_dir
string
plsql_native_library_subdir_countinteger 0
plsql_optimize_level
integer 2
plsql_v2_compatibility
boolean FALSE
plsql_warnings
stringDISABLE:ALL
pre_page_sga
boolean FALSE
processes
integer 600
query_rewrite_enabled
stringTRUE
query_rewrite_integrity
stringenforced
rdbms_server_dn
string
read_only_open_delayed
boolean FALSE
recovery_parallelism
integer 0
recyclebin
stringon
remote_archive_enable
stringtrue
remote_dependencies_mode
stringTIMESTAMP
remote_listener
string
remote_login_passwordfile
stringEXCLUSIVE
remote_os_authent
boolean FALSE
remote_os_roles
boolean FALSE
replication_dependency_trackingboolean TRUE
resource_limit
boolean FALSE
resource_manager_plan
string
resumable_timeout
integer 0
rollback_segments
string
serial_reuse
stringdisable
service_names
stringbfsdz
session_cached_cursors
integer 20
session_max_open_files
integer 10
sessions
integer 665
sga_max_size
big integer 276M
sga_target
big integer 276M
shadow_core_dump
stringpartial
shared_memory_address
integer 0
shared_pool_reserved_size
big integer 6920601
shared_pool_size
big integer 0
shared_server_sessions
integer
shared_servers
integer 1
skip_unusable_indexes
boolean TRUE
smtp_out_server
string
sort_area_retained_size
integer 0
sort_area_size
integer 65536
spfile
stringD:\ORACLE\PRODUCT\10.2.0\DB_1\DBS\SPFILEBFSDZ.ORA
sql92_security
boolean FALSE
sql_trace
boolean FALSE
sql_version
stringNATIVE
sqltune_category
stringDEFAULT
standby_archive_dest
string%ORACLE_HOME%\RDBMS
standby_file_management
stringMANUAL
star_transformation_enabled
stringFALSE
statistics_level
stringTYPICAL
streams_pool_size
big integer 0
tape_asynch_io
boolean TRUE
thread
integer 0
timed_os_statistics
integer 0
timed_statistics
boolean TRUE
trace_enabled
boolean TRUE
tracefile_identifier
string
transactions
integer 731
transactions_per_rollback_segmentinteger 5
undo_management
stringAUTO
undo_retention
integer 900
undo_tablespace
stringUNDOTBS1
use_indirect_data_buffers
boolean FALSE
user_dump_dest
stringD:\ORACLE\PRODUCT\10.2.0\ADMIN\BFSDZ\UDUMP
utl_file_dir
string
workarea_size_policy
stringAUTO
回复

使用道具 举报

千问 | 2010-3-1 11:20:03 | 显示全部楼层
果在未打开游标以前就设置了%FOUND,那么回返回无效游标。
会不会是恰好某时候点了代码编写有问题的应用导致的
回复

使用道具 举报

千问 | 2010-3-1 11:20:03 | 显示全部楼层
有多少用户呀?看到现在最多可以容纳620个用户左右
检查processes,session,open_cursors
另外alter.log文件里一定会有相关的东东,AWR报表,ADDM报表。。。
[ 本帖最后由 garycn 于 2009-10-22 08:42 编辑 ]
回复

使用道具 举报

千问 | 2010-3-1 11:20:03 | 显示全部楼层
改大 open_cursors 试试
回复

使用道具 举报

千问 | 2010-3-1 11:20:03 | 显示全部楼层
数据库端的报错还是app段的报错?
如果是app是ODBC,我这里也经常报invalid cursor
回复

使用道具 举报

千问 | 2010-3-1 11:20:03 | 显示全部楼层
原帖由 wabjtam123 于 2009-10-22 08:31 发表
果在未打开游标以前就设置了%FOUND,那么回返回无效游标。
会不会是恰好某时候点了代码编写有问题的应用导致的

多谢回复,我们的客户端代码已经写死了,无法查看和修改。
回复

使用道具 举报

千问 | 2010-3-1 11:20:03 | 显示全部楼层
那找开发的单位看看
估计是程序的问题吧
可能未关闭cursor
或是在循环中打开cursor了
原帖由 jindan99 于 2009-10-22 10:51 发表
多谢回复,我们的客户端代码已经写死了,无法查看和修改。

回复

使用道具 举报

千问 | 2010-3-1 11:20:03 | 显示全部楼层
原帖由 garycn 于 2009-10-22 08:37 发表
有多少用户呀?看到现在最多可以容纳620个用户左右
检查processes,session,open_cursors
另外alter.log文件里一定会有相关的东东,AWR报表,ADDM报表。。。

用户数估计100左右,一个客户端会开3个进程。600个processes应该够了吧。
open_cursors这个参数可以改到多大?太大的话对硬件有要求吗?

alter.log文件内容我拷贝了一些今天的。
Thu Oct 22 02:20:25 2009
Memory Notification: Library Cache Object loaded into SGA
Heap size 3463K exceeds notification threshold (2048K)
KGL object name :select * from (select null table_catalog, decode (o1.owner, 'PUBLIC', NULL, o1.owner) table_schema, o1.object_name table_name, decode(o1.owner,'SYS',decode(o1.object_type,'TABLE','SYSTEM TABLE','VIEW','SYSTEM VIEW',o1.object_type),'SYSTEM',decode(o1.object_type,'TABLE','SYSTEM TABLE','VIEW','SYSTEM VIEW',o1.object_type),o1.object_type) table_type, null table_guid, null description, null table_propid, null date_created, null date_modified from all_objects o1 where ((o1.object_type = 'TABLE' and o1.generated
Thu Oct 22 08:40:47 2009
Process startup failed, error stack:
Thu Oct 22 08:40:47 2009
Errors in file d:\oracle\product\10.2.0\admin\bfsdz\bdump\bfsdz_psp0_3900.trc:
ORA-27300: OS 系统相关操作: spcdr:9261:4200 失败, 状态为: 997
ORA-27301: OS 故障消息: 重叠 I/O 操作在进行中。
ORA-27302: 错误发生在: skgpspawn
Thu Oct 22 08:40:48 2009
Process J000 died, see its trace file
Thu Oct 22 08:40:48 2009
kkjcre1p: unable to spawn jobq slave process
Thu Oct 22 08:40:48 2009
Errors in file d:\oracle\product\10.2.0\admin\bfsdz\bdump\bfsdz_cjq0_4528.trc:

Thu Oct 22 10:04:29 2009
Starting background process EMN0
EMN0 started with pid=132, OS id=5696
Thu Oct 22 10:04:29 2009
Shutting down instance: further logons disabled
Thu Oct 22 10:04:29 2009
Stopping background process CJQ0
Thu Oct 22 10:04:30 2009
Stopping background process QMNC
Thu Oct 22 10:04:31 2009
Stopping background process MMNL
Thu Oct 22 10:04:32 2009
Stopping background process MMON
Thu Oct 22 10:04:34 2009
Shutting down instance (immediate)
License high water mark = 385
Thu Oct 22 10:04:34 2009
Stopping Job queue slave processes
Thu Oct 22 10:04:34 2009
Job queue slave processes stopped
All dispatchers and shared servers shutdown
Thu Oct 22 10:04:40 2009
PMON failed to acquire latch, see PMON dump
PMON failed to acquire latch, see PMON dump
PMON failed to acquire latch, see PMON dump
PMON failed to acquire latch, see PMON dump
Thu Oct 22 10:04:52 2009
PMON failed to acquire latch, see PMON dump
PMON failed to acquire latch, see PMON dump
PMON failed to acquire latch, see PMON dump
PMON failed to acquire latch, see PMON dump
Thu Oct 22 10:05:05 2009
PMON failed to acquire latch, see PMON dump
PMON failed to acquire latch, see PMON dump
PMON failed to acquire latch, see PMON dump
PMON failed to acquire latch, see PMON dump
Thu Oct 22 10:05:17 2009
PMON failed to acquire latch, see PMON dump
PMON failed to acquire latch, see PMON dump
PMON failed to acquire latch, see PMON dump
PMON failed to acquire latch, see PMON dump
Thu Oct 22 10:05:30 2009
PMON failed to acquire latch, see PMON dump
PMON failed to acquire latch, see PMON dump
PMON failed to acquire latch, see PMON dump
PMON failed to acquire latch, see PMON dump
Thu Oct 22 10:05:43 2009
ALTER DATABASE CLOSE NORMAL
Thu Oct 22 10:05:43 2009
SMON: disabling tx recovery
SMON: disabling cache recovery
Thu Oct 22 10:05:44 2009
Shutting down archive processes
Archiving is disabled
Archive process shutdown avoided: 0 active
Thread 1 closed at log sequence 995
Successful close of redo thread 1
Thu Oct 22 10:05:44 2009
Completed: ALTER DATABASE CLOSE NORMAL
Thu Oct 22 10:05:44 2009
ALTER DATABASE DISMOUNT
Completed: ALTER DATABASE DISMOUNT
ARCH: Archival disabled due to shutdown: 1089
Shutting down archive processes
Archiving is disabled
Archive process shutdown avoided: 0 active
ARCH: Archival disabled due to shutdown: 1089
Shutting down archive processes
Archiving is disabled
Archive process shutdown avoided: 0 active
Dump file d:\oracle\product\10.2.0/admin/bfsdz/bdump\alert_bfsdz.log
Thu Oct 22 10:11:15 2009
ORACLE V10.2.0.1.0 - Production vsnsta=0
vsnsql=14 vsnxtr=3
Windows Server 2003 Version V5.2 Service Pack 2
CPU
: 2 - type 586, 1 Physical Cores
Process Affinity: 0x00000000
Memory (Avail/Total): Ph:2801M/3071M, Ph+PgF:8436M/8547M, VA:1938M/2047M
Thu Oct 22 10:11:15 2009
Starting ORACLE instance (normal)
LICENSE_MAX_SESSION = 0
LICENSE_SESSIONS_WARNING = 0
Picked latch-free SCN scheme 2
Using LOG_ARCHIVE_DEST_10 parameter default value as USE_DB_RECOVERY_FILE_DEST
Autotune of undo retention is turned on.
IMODE=BR
ILAT =73
LICENSE_MAX_USERS = 0
SYS auditing is disabled
ksdpec: called for event 13740 prior to event group initialization
Starting up ORACLE RDBMS Version: 10.2.0.1.0.
System parameters with non-default values:
processes
= 600
sessions
= 665
__shared_pool_size = 130023424
__large_pool_size= 4194304
__java_pool_size = 4194304
__streams_pool_size= 0
spfile
= D:\ORACLE\PRODUCT\10.2.0\DB_1\DBS\SPFILEBFSDZ.ORA
nls_language
= SIMPLIFIED CHINESE
nls_territory
= CHINA
sga_target
= 289406976
control_files
= D:\ORACLE\PRODUCT\10.2.0\ORADATA\BFSDZ\CONTROL01.CTL, D:\ORACLE\PRODUCT\10.2.0\ORADATA\BFSDZ\CONTROL02.CTL, D:\ORACLE\PRODUCT\10.2.0\ORADATA\BFSDZ\CONTROL03.CTL
db_block_size
= 8192
__db_cache_size
= 142606336
compatible
= 10.2.0.1.0
db_file_multiblock_read_count= 16
db_recovery_file_dest= D:\oracle\product\10.2.0/flash_recovery_area
db_recovery_file_dest_size= 2147483648
undo_management
= AUTO
undo_tablespace
= UNDOTBS1
remote_login_passwordfile= EXCLUSIVE
db_domain
=
global_names
= TRUE
dispatchers
= (PROTOCOL=TCP) (SERVICE=bfsdzXDB)
job_queue_processes= 10
audit_file_dest
= D:\ORACLE\PRODUCT\10.2.0\ADMIN\BFSDZ\ADUMP
background_dump_dest = D:\ORACLE\PRODUCT\10.2.0\ADMIN\BFSDZ\BDUMP
user_dump_dest = D:\ORACLE\PRODUCT\10.2.0\ADMIN\BFSDZ\UDUMP
core_dump_dest = D:\ORACLE\PRODUCT\10.2.0\ADMIN\BFSDZ\CDUMP
db_name
= bfsdz
open_cursors
= 2000
pga_aggregate_target = 96468992
MMAN started with pid=4, OS id=1732
PMON started with pid=2, OS id=1724
DBW0 started with pid=5, OS id=1736
LGWR started with pid=6, OS id=1740
CKPT started with pid=7, OS id=1744
SMON started with pid=8, OS id=1748
RECO started with pid=9, OS id=1752
CJQ0 started with pid=10, OS id=1756
MMON started with pid=11, OS id=1764
MMNL started with pid=12, OS id=1768
Thu Oct 22 10:11:16 2009
starting up 1 dispatcher(s) for network address '(ADDRESS=(PARTIAL=YES)(PROTOCOL=TCP))'...
starting up 1 shared server(s) ...
Thu Oct 22 10:11:16 2009
alter database mount exclusive
PSP0 started with pid=3, OS id=1728
Thu Oct 22 10:11:21 2009
Setting recovery target incarnation to 2
Thu Oct 22 10:11:21 2009
Successful mount of redo thread 1, with mount id 2356324804
Thu Oct 22 10:11:21 2009
Database mounted in Exclusive Mode
Completed: alter database mount exclusive
Thu Oct 22 10:11:21 2009
alter database open
Thu Oct 22 10:11:21 2009
Thread 1 opened at log sequence 995
Current log# 1 seq# 995 mem# 0: D:\ORACLE\PRODUCT\10.2.0\ORADATA\BFSDZ\REDO01.LOG
Successful open of redo thread 1
Thu Oct 22 10:11:21 2009
MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set
Thu Oct 22 10:11:21 2009
SMON: enabling cache recovery
Thu Oct 22 10:11:23 2009
Successfully onlined Undo Tablespace 1.
Thu Oct 22 10:11:23 2009
SMON: enabling tx recovery
Thu Oct 22 10:11:23 2009
Database Characterset is ZHS16GBK
replication_dependency_tracking turned off (no async multimaster replication found)
Starting background process QMNC
QMNC started with pid=16, OS id=1912
Thu Oct 22 10:11:26 2009
db_recovery_file_dest_size of 2048 MB is 0.00% used. This is a
user-specified limit on the amount of space that will be used by this
database for recovery-related files, and does not reflect the amount of
space available in the underlying filesystem or ASM diskgroup.
Thu Oct 22 10:11:26 2009
Completed: alter database open
Thu Oct 22 10:23:58 2009
Memory Notification: Library Cache Object loaded into SGA
Heap size 2235K exceeds notification threshold (2048K)
KGL object name :XDB.XDbD/PLZ01TcHgNAgAIIegtw==
Thu Oct 22 10:23:59 2009
Memory Notification: Library Cache Object loaded into SGA
Heap size 2280K exceeds notification threshold (2048K)
Details in trace file d:\oracle\product\10.2.0\admin\bfsdz\udump\bfsdz_ora_2624.trc
KGL object name :XDB.XDZynXpO5DTv2jNMI2jLTZZA==
Thu Oct 22 10:27:06 2009
ALTER SYSTEM SET processes=1200 SCOPE=SPFILE;
Thu Oct 22 10:31:43 2009
WARNING: inbound connection timed out (ORA-3136)
Thu Oct 22 10:31:47 2009
ALTER SYSTEM SET open_cursors=5000 SCOPE=BOTH;
回复

使用道具 举报

千问 | 2010-3-1 11:20:03 | 显示全部楼层
顶一下。
回复

使用道具 举报

千问 | 2010-3-1 11:20:03 | 显示全部楼层
好像是内存配置的问题。
windows下的pga和sga建议多大?物理内存8g
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行