ORA-03113: end-of-file on communication channel
看到有人建议:
1.shmmax=0.5*memory -->不要太大
shemseg=10 -->不要太大
semmsl=process+10 ---->只允许大些,小了,就不行
semmns=semmsl+150 --->如果其他程序使用sem,还需要调大,直到ok
2.reboot
3.$./dbassist&我不太明白!能不能讲一下?
看到有人建议:
1.shmmax=0.5*memory -->不要太大
shemseg=10 -->不要太大
semmsl=process+10 ---->只允许大些,小了,就不行
semmns=semmsl+150 --->如果其他程序使用sem,还需要调大,直到ok
2.reboot
3.$./dbassist&我不太明白!能不能讲一下?
解决方案 »
- PLSQL的錯誤信息,求解釋,求解決。。。
- C#查询oracle出现 ora-0091 求救
- AIX oracle comment乱码
- 关于ORACLE群集的网络IO均衡问题
- 将图片插入 oracle8的blob字段 出错!
- plsql developer的使用问题
- 请问各位高手:是否可以用oracle8 的客户端连接oracle10的数据库?
- 如何查看Oracle存储过程的执行情况
- 我想安装Oracle9i在我的计算机上,为什么安装时提示 areasqueries 错误?
- oracle 中select语句返回记录数
- 各位好:关于oracle的一段代码为什么不输出的问题?
- Oracle8.1.7.4补丁不能安装?
shmmax和emmns是linux操作系统的几个核心参数。
其中shmmax(共享内存大小)是必须调整的,其他的四个,我没有调整也没有问题。
ORASTACK that enables an administrator to lower the stack size for Oracle threads from
1MB down to a smaller number. This allows for either higher connection counts or a
larger SGA in those cases where Oracle is bumping up against the 3GB address space
limit. If an application does very little highly recursive SQL or not much in the way of
nested triggers or stored procedures, then turning the stack size down to 300K (for
instance) is a safe procedure that will save on address space usage. If the stack space is
decreased too much, typical behavior will be "ORA-03113: end-of-file on
communication channel" errors returned to the client as its foreground thread terminates
with a stack overflow error.
To use ORASTACK, run the following commands on the server machine:
C:\> orastack c:\oracle\ora81\bin\oracle.exe 300000
C:\> orastack c:\oracle\ora81\bin\tnslsnr.exe 300000
C:\> orastack c:\oracle\ora81\bin\svrmgrl.exe 300000
The first command will cause the stack for background threads to be 300000 bytes as
opposed to 1MB for all instances running on the machine. The second command will
cause the stack for all foreground threads running on behalf of network clients to be
300000 bytes. The third command causes the stack for all foreground threads running on
behalf of Server Manager on the server machine to be 300000 bytes. If there are other
executables that run on the server machine that connect to the database, ORASTACK can
be run on those executables as well to modify the stack sizes of their corresponding
foreground threads.
Operationally, all that ORASTACK does is modify part of the executable header in the
.exe file to reflect the new stack specified by the user.
In general, ORASTACK is only called for in high-end installations where there are
several hundred or more connections to the database or when the SGA is very large (over
2GB in size). To determine how much of the 3GB address space is in use by Oracle, run
Windows Performance Monitor by going to Start Programs Administrative Tools
Performance Monitor. Once in Performance Monitor, choose Edit Add to Chart...
and select the Virtual Bytes counter of the Process object for the Oracle instance. If this
value displayed is close to 3GB, then the amount of available address space for Oracle is
running low. When there is no more address space free for Oracle, typical errors
encountered are out of memory errors or connection spawning errors. It is in these
circumstances that ORASTACK can be useful.