沒法查詢gv$session等視圖的ora-00600 [15735]錯誤

一個新安裝的Oracle 10.2.0.4的RAC發現沒法查詢gv$session等視圖,出現了ora-00600 [15735]錯誤sql

SQL> connect zlhis/hishis@dyyy;
已鏈接。session

SQL> select inst_id,count(*) from gv$session group by inst_id;
select inst_id,count(*) from gv$session group by inst_id
*
第 1 行出現錯誤:
ORA-00600: 內部錯誤代碼, 參數: [15735], [2200], [2152], [], [], [], [], []oracle

查了metalink,發現是Oracle的一個bug,但只在10.2.0.1到10.2.0.3上面,我這裏已是10.2.0.4了,一樣有這種bug,真鬱悶。mealink的內容:app

Applies to:
Oracle Server - Enterprise Edition - Version: 10.2.0.3
This problem can occur on any platform.ide

Symptoms
When running A SELECT AT THE VG$ getting ora-600 and the problem can be reproduced from sqlplus and the application.ui

ORA-600: internal error code, arguments: [15735], [2176]this

 

Cause
The cause of this problem is due to bug that was open with the development team
PARALLEL_EXECUTION_MESSAGE_SIZE specifies the size of messages for parallel execution (formerly
referred to as parallel query, PDML, Parallel Recovery, replication).code

On most platforms, the default value is 2048bytes if PARALLEL_AUTOMATIC_TUNING is set to false,
and 4096 bytes if PARALLEL_AUTOMATIC_TUNING is set to true. The default value is adequate for most
applications. Larger values require a larger shared pool. Larger values result in better
performance at the cost of higher memory use. For this reason, replication gets no benefit from
increasing the size.
Solution
To implement the solution, please execute the following steps:orm

Set parallel_execution_message_size to 4k and try the query againserver


下面是解決過程:

SQL> connect sys/zlsoft@dyyy as sysdba;
已鏈接。
SQL> show parameter para;

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
fast_start_parallel_rollback string LOW
parallel_adaptive_multi_user boolean TRUE
parallel_automatic_tuning boolean FALSE
parallel_execution_message_size integer 2152
parallel_instance_group string
parallel_max_servers integer 160
parallel_min_percent integer 0
parallel_min_servers integer 0
parallel_server boolean TRUE
parallel_server_instances integer 2
parallel_threads_per_cpu integer 2

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
recovery_parallelism integer 0
SQL> alter system set parallel_execution_message_size=4096 scope=spfile sid='*';

系統已更改。

SQL>

[root@rac1 ~]# su - oracle
[oracle@rac1 ~]$ srvctl stop database -d orcl
[oracle@rac1 ~]$ srvctl start database -d orcl
[oracle@rac1 ~]$ su - oracle
Password:
[oracle@rac1 ~]$ sqlplus /nolog

SQL*Plus: Release 10.2.0.4.0 - Production on Thu Oct 16 20:18:14 2008

Copyright (c) 1982, 2007, Oracle. All Rights Reserved.

SQL> connect / as sysdba;
Connected.
SQL> select count(*) from gv$session;

COUNT(*) ---------- 58

相關文章
相關標籤/搜索