GVKun编程网logo

性能测试过程中oracle数据库报ORA-27301 ORA-27302错(oracle 性能测试报告)

14

在本文中,我们将给您介绍关于性能测试过程中oracle数据库报ORA-27301ORA-27302错的详细内容,并且为您解答oracle性能测试报告的相关问题,此外,我们还将为您提供关于Docker-

在本文中,我们将给您介绍关于性能测试过程中oracle数据库报ORA-27301 ORA-27302错的详细内容,并且为您解答oracle 性能测试报告的相关问题,此外,我们还将为您提供关于Docker-Oracle和物理机Oracle数据库性能测试、Eclipse连接Oracle数据库的ORA-00604 ORA-12705错误、HP-UNIX 平台修改 Oracle processes 参数报错:ORA-27154、ORA-27300、ORA-27301、ORA-27302、HP-UNIX平台修改Oracle processes参数报错:ORA-27154、ORA-27300、ORA-27301、ORA-27302的知识。

本文目录一览:

性能测试过程中oracle数据库报ORA-27301 ORA-27302错(oracle 性能测试报告)

性能测试过程中oracle数据库报ORA-27301 ORA-27302错(oracle 性能测试报告)

最近在性能测试过程中发现,发现虚拟用户数上不去,加载到一定的数量应用端就报错,提示连接数据库出错。在测试的过程中查看web容器的线程池 数据源的连接池 都还有空闲,同时查看oracle的v$session视图 发现session数到了一定数量就上不去了。查看数据库参数 process 设置的是1000 ,再查看oracle 的警告日志发现报下面的错误:

ORA-27301: OS failure message: Resource temporarily unavailable
ORA-27302: failure occurred at: skgpspawn3 
感觉这错误跟 操作系统内核的一些配置有关系,查看Trouble shooting ORA-27300 ORA-27301 ORA-27302 errors [ID 579365.1] 
Applies to:
 
Oracle  Server - Enterprise Edition - Version 9.2.0.1 to 11.2.0.3 [Release 9.2 to 11.2]
Information in this document applies to any platform.
 
 
Purpose
 
This note helps identify the possible causes of the ORA-2730x errors that have already been reported and provides solution where available. The errors are usually caused by OS system call error or OS configuration issue and are in the form. of:
 
ORA-27300: OS system dependent operation:%s failed with status: %s
ORA-27301: OS failure message: %s
ORA-27302: failure occurred at: %s
Documentation is available at the OS level for some of the dependent operation or OS calls such as fork() or semget(). The ''status'' reported in the ORA-27300 error usually corresponds to a Unix error code defined in the "errno.h" header file on the OS, returned by the OS call.
 
For example,
 
ORA-27300: OS system dependent operation:fork failed with status: 11
 
A "man fork" shows:
 
The fork() function shall fail if:
 
EAGAIN (status 11) : The system lacked the necessary resources to create another process, or the system-imposed limit on the total number of processes under execution system-wide or by a single user {CHILD_MAX} would be exceeded. EAGAIN corresponds to status 11.
 
The fork() function may fail if:
 
ENOMEM (status 12) : Insufficient storage space is available.
Troubleshooting Steps
 
The note is broken down by the status code.
 
STATUS 0
ORA-27300: OS system dependent operation:invalid_process_id failed with status: 0
ORA-27301: OS failure message: Error 0
ORA-27302: failure occurred at: skgpalive1
 
SeeNote 356640.1ORA-27300, ORA-27301, ORA-27302 Failure Occurred At Skgpalive1 During ''Shutdown'' - UnPublishedBug 4923667.
 
In 10.2.0.5 and up, seeNote 1252265.1- ORA-27300 ORA-27301 ORA-27302: failure occurred at: skgpalive1 -bug 10010310.
 
 
ORA-27300: OS system dependent operation:invalid_process failed with status: 0
ORA-27301: OS failure message: Error 0
ORA-27302: failure occurred at: skgpstime3
ORA-27144: attempt to kill process failed
 
SeeNote 458442.1> />10.2.0.3 PMON CRASHES ON STARTUP ON AIX 5L 5.3 ML05 -- WORKS on ML06> />
 
STATUS 1 - EPERM Not owner
An attempt was made to modify a file that doesn''t belong to the user, or the user was forbidden to modify that file by its owner or super-user.
ORA-27300: OS system dependent operation:invalid_egid failed with status: 1
ORA-27301: OS failure message: Not owner
ORA-27302: failure occurred at: skgpwinit6
ORA-27303: additional information: startup egid = 202 (?), current egid = 101 (dba)
 
SeeNote 453959.1Cannot Connect As "/ as sysdba" ORA-27140 ORA-27300 ORA-27301
 
ORA-27512: IPC error posting a process
ORA-27300: OS system dependent operation:kill failed failed with status: 1
ORA-27301: OS failure message: Not owner
ORA-27302: failure occurred at: skgxppost1
 
SeeNote 3411021.8-Bug 3411021- Oracle process may die due to ORA-27300/ORA-27301/ORA-27302 at skgxppost1
 
STATUS 2 - ENOENT No such file or directory
This error occurs when trying to access a file or subdirectory that does not exist.
ORA-12012: error on auto execute of job 71010
ORA-27370: job slave failed to launch a job of type EXECUTABLE
ORA-27300: OS system dependent operation:accessing execution agent failed with status: 2
ORA-27301: OS failure message: No such file or directory
ORA-27302: failure occurred at: sjsec 3
 
SeeNote 277399.1DBMS_SCHEDULER Fails To Execute Jobs With Program_type
EXECUTABLE On HP-UX
 
STATUS 3 - ESRCH No such process
The process number passed to the signal handling procedure belongs to
a process that doesn''t exist, or it is already dead.
In a RAC environment, errors of the form. below may be seen causing process failures:
ORA-00603: ORACLE server session terminated by fatal error
ORA-27504: IPC error creating OSD context
ORA-27300: OS system dependent operation:sskgxp_select failed with status: 3
ORA-27301: OS failure message: No such process
ORA-27302: failure occurred at: skgxpvfymmtu
ORA-27303: additional information: MTU could not be verified. Did not receive valid message.
 
SeeNote 746888.1ORA-27302: Failure Occurred at: skgxpvfymmtu Signalled in the Alert.log
 
STATUS 6 - ENXIO No such device or address
I/O error on a component of a device that is missing.
Windows specific:
 
ORA-27300: OS system dependent operation:SuspendThread failed with status: 6
ORA-27301: OS failure message: The handle is invalid.
ORA-27302: failure occurred at: sssxcpttcs6
 
SeeBUG: 6991131- Status: 32,Not a  Bug
This is an issue during shutdown. We send a shutdown message to MMON and we wait for 30 sec to check if it has gone away. If it still exists then we collect the diagnostic information and try to suspend the target thread ("MMON" in this case). However we find that target thread handle is no longer valid since the thread has exited or about to exit. This causes the error to be reported in the alert.log. This error may be ignored during the shutdown process as long as it doesn''t hang since the target thread was going away at the time we tried to collect the diag information.
 
======
 
ORA-27300: OS system dependent operation:GetThreadTimes failed with status: 6
ORA-27301: OS failure message: The handle is invalid.
ORA-27302: failure occurred at: skgpalive
 
See unpublishedBUG: 6455284- Status 80 : DNFS NT: ORA-27300,ORA-27301,ORA-27302: FAILURE OCCURRED AT: SKGPALIVE
 
Fixed in 11.1.0.7 and 11.2.
 
STATUS 8 - ENOEXEC Exec format error
Attempt was made to execute a file that does not have an executable format.
ORA-27300: OS system dependent operation:CreateThread failed with status: 8
ORA-27301: OS failure message: Not enough storage is available to process this command.
ORA-27302: failure occurred at: ssthrddcr.
 
SeeNote 466370.1ORA-7445 [ACCESS_VIOLATION] [unable_to_trans_pc] [UNABLE_TO_WRITE] ORA-27301 OS failure message Not enough storage ORA-27300 ORA-27302> />
 
For Windows, seeNote 225349.1Implementing Address Windowing Extensions (AWE) or VLM on Windows Platforms
 
STATUS 11 - EAGAIN No more processes
Executing a fork and the system''s process table is full, or the user is not allowed to create more process.
ORA-27300: OS system dependent operation:fork failed with status: 11
ORA-27301: OS failure message: Resource temporarily unavailable
ORA-27302: failure occurred at: skgpspawn3
 
SeeNote 392006.1Ora-27300 OS system dependent operation fork failed with status 11
 
Maximum number of PROCESSES allowed per user may be too low (for example: maxuproc on AIX, maxuprc on HP and Solaris. On Solaris 10, check project.max-lwps)
 
@See Bug 7620133 - project.max-lwps was changed from the default which is 2 billion.
 
ORA-27300: OS system dependent operation:socket failed with status: 11
ORA-27301: OS failure message: Resource temporarily unavailable
ORA-27302: failure occurred at: sskgxpcre1
 
SeeNote 364353.1ORA-00603 ORA-27504 ORA-27300 ORA-27504 in the Alert Log
(HP port specific)
 
1. Set MAX_ASYNC_PORTS to a value high enough
2. Deactivate async io at os level.
 
ORA-27300: OS system dependent operation:ioctl failed with status: 11
ORA-27301: OS failure message: Resource temporarily unavailable
ORA-27302: failure occurred at: skgxpvaddr1
 
SeeNote.6629265.8Bug 6629265 - Intermittent ORA-27504 / ORA-27300 ioctl error 11
 
When system resources are overloaded, an intermittent failure to create a socket can cause new processes to fail to start with above errors.
 
STATUS 12 - ENOMEM Not enough core / memory
During an exec or a break, the program asked for more memory than the one available by the system. This error also occurs when there are too many segmentation registers which are required for the arrangement of text data or stack segments.
ORA-27300: OS system dependent operation:fork failed with status: 12
ORA-27301: OS failure message: Not enough space
ORA-27302: failure occurred at: skgpspawn3
 
SeeNote 465002.1Database Crash With Error ORA-00490
 
Note 580552.1Ora-04030 Ora-07445 Ora-27300 Ora-27301 Ora-27302 Crashed Database
 
Note 560309.1> /> Database Cannot Start Due to Lack of Memory
 
** All related to swap space being depleted. Check the OS system logs for more information. On some Operating Systems increasing nproc or maxuprc is required **> />
 
STATUS 13 - EACCES Permission denied
An attempt was made to access a forbidden file by the protection system.
ORA-27300: OS system dependent operation:accessing execution agent failed with status: 13
ORA-27301: OS failure message: Permission denied
ORA-27302: failure occurred at: sjsec 3
 
SeeNote 557153.1ORA-27370, ORA-27301(Permission denied) when running job of type EXECUTABLE .
Restart the Oracle database using an appropriate user account (often the "oracle" user).
 
STATUS 17 - EEXIST File exists
An existing file was entered as a parameter of a command that will modify it.
 
ORA-27300: OS system dependent operation:semget failed with status: 17
ORA-27301: OS failure message: File exists
ORA-27302: failure occurred at: sskgpcreate
 
SeeNote 123905.1ORA-27154 on Database Startup After System Crash
Remove stray shared memory segments and semaphores.
 
STATUS 22 - EINVAL Invalid argument
Invalid argument passed.
For example: Passing an unknown signal in the signal function.
 
ORA-27300: OS system dependent operation:semctl failed with status: 22
ORA-27301: OS failure message: Invalid argument
ORA-27302: failure occurred at: sskgpwrm1
ORA-27157: OS post/wait facility removed
ORA-27300: OS system dependent operation:semop failed with status: 36
ORA-27301: OS failure message: Identifier removed
ORA-27302: failure occurred at: sskgpwwait1
 
SeeNote 438205.1> />ORA-27300 ORA-27301 ORA-27302 ORA-27157 Database Crash Semaphores/shared memory might have been removed> />
 
 
ORA-27300: OS system dependent operation:mpctl_ldomspus failed with status: 22
ORA-27301: OS failure message: Invalid argument
ORA-27302: failure occurred at: skgsnnprocs
 
SeeBUG: 7232946- ORA-600[KSKRECONFIGNUMA2] CAUSES INSTANCE CRASH
10.2.0.4.0
 
It looks like this is all resulting of NUMA issues because of NUMA feature is enabled by default starting with 10.2.0.4. To disable NUMA you need to see the following db parameters:
 
_db_block_numa=1
_enable_NUMA_optimization=FALSE
 
ORA-27300: OS system dependent operation:pw_postv failed with status: 22
ORA-27301: OS failure message: Invalid argument
ORA-27302: failure occurred at: sskgpwvp3
ORA-27303: additional information: ukid, errno, post_count = 0x7a9d93eb191f0b4e, 22, 3
 
SeeNote 6441119.8- unpublished Bug 6441119 - Instance crash due to ORA-27300 / ORA-27152
An ORA-27300 error from sskgpwpost or sskgpwvectorpost can lead to an instance crash.
 
 
ORA-00600: internal error code, arguments: [ksbmoveme4], [], [], [], [], [], [], []
ORA-27300: OS system dependent operation:run on node failed with status: 22
ORA-27301: OS failure message: Invalid argument
ORA-27302: failure occurred at: skgpmoveme:1
 
SeeNote 848387.1- With NUMA Enabled, Database Fails To Open With ORA-600 [ksbmoveme4], ORA-27300, ORA-27301, ORA-27302 Errors Reported
 
STATUS 28 - ENOSPC No space left on device
When writing to a file, the device runs out of space.
ORA-27154: post/wait create failed
ORA-27300: OS system dependent operation:semget failed with status: 28
ORA-27301: OS failure message: No space left on device
ORA-27302: failure occured at: sskgpcreates
 
SeeNote 314179.1Instance Startup Fails With Error ORA-27154,ORA-27300,ORA-27301,ORA-27302
 
Oracle 10.2 Installation Guide (for Solaris 8 and 9):
semsys:seminfo_semmns 1024
semsys:seminfo_semmsl 256
 
STATUS 59
ORA-00603: ORACLE server session terminated by fatal error
ORA-27504: IPC error creating OSD context
ORA-27300: OS system dependent operation:sendmsg failed with status: 59
ORA-27301: OS failure message: Message too long
ORA-27302: failure occurred at: sskgxpsnd1
 
See RAC:Note 300956.1Ora-27302: sskgxpsnd1 - Starting Instance
 
Note 295832.1-Unable To Create Database Ora-00603, ORA-27300
 
STATUS 63
ORA-00603: ORACLE server session terminated by fatal error
ORA-27504: IPC error creating OSD context
ORA-27300: OS system dependent operation:ioctl failed with status: 63
ORA-27301: OS failure message: Out of stream resources
ORA-27302: failure occurred at: skgxpvaddr1
 
Specifically error code 63 is ENOSR, "out of streams resources", as reported in the ora-27301 message.
 
 
从status为11以及fork进程报错判断,导致问题的原因是操作系统无法分配进程。HPUNIX 重新设置操作系统上的nproc和maxuprc的值,根据Oracle的安装文档nproc的值至少为4096,而maxuprc的值为nproc*9/10,如果当前进程数量超过设置的值,则根据实际需求重新调整两个值。
转载: http://www.51testing.com/html/37/622337-844472.html

Docker-Oracle和物理机Oracle数据库性能测试

Docker-Oracle和物理机Oracle数据库性能测试

@H_301_0@Docker性能测试

 

测试环境:
操作系统:CentOS7、openstack nova-docker启动的centos7、openstack环境启动的centos7虚拟机
cpu:Intel(R) Xeon(R) cpu E5-2690 v3 @ 2.60GHz * 2
内存:Micron 2133MHz 16G * 8
网卡:Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection
关键字:Linpack、netperf、iometer

 

docker与虚拟机计算效率比较

在测试中是通过运算Linpack程序来获得计算能力数据的。结果如下图所示: 


图中从左往右分别是物理机、docker和虚拟机的计算能力数据。可见docker相对于物理机其计算能力几乎没有损耗,而虚拟机对比物理机则有着非常明显的损耗。虚拟机的计算能力损耗在50%左右。 
为什么会有这么大的性能损耗呢?一方面是因为虚拟机增加了一层虚拟硬件层,运行在虚拟机上的应用程序在进行数值计算时是运行在Hypervisor虚拟的cpu上的;另外一方面是由于计算程序本身的特性导致的差异。虚拟机虚拟的cpu架构不同于实际cpu架构,数值计算程序一般针对特定的cpu架构有一定的优化措施,虚拟化使这些措施作废,甚至起到反效果。比如对于本次实验的平台,实际的cpu架构是2块物理cpu,每块cpu拥有16个核,共32个核,采用的是NUMA架构;而虚拟机则将cpu虚拟化成一块拥有32个核的cpu。这就导致了计算程序在进行计算时无法根据实际的cpu架构进行优化,大大减低了计算效率。

docker与虚拟机内存访问效率比较

内存访问效率的比较相对比较复杂一点,主要是内存访问有多种场景: 
(1)大批量的,连续地址块的内存数据读写。这种测试环境下得到的性能数据是内存带宽,性能瓶颈主要在内存芯片的性能上; 
(2)随机内存访问性能。这种测试环境下的性能数据主要与内存带宽、cache的命中率和虚拟地址与物理地址转换的效率等因素有关。 
以下将主要针对这两种内存访问场景进行分析。在分析之前我们先概要说明一下docker和虚拟机的内存访问模型差异。下图是docker与虚拟机内存访问模型: 


可见在应用程序内存访问上,虚拟机的应用程序要进行2次的虚拟内存到物理内存的映射,读写内存的代价比docker的应用程序高。 
下图是场景(1)的测试数据,即内存带宽数据。左图是程序运行在一块cpu(即8核)上的数据,右图是程序运行在2块cpu(即16核)上的数据。单位均为GB/s。 
 


从图中数据可以看出,在内存带宽性能上docker与虚拟机的性能差异并不大。这是因为在内存带宽测试中,读写的内存地址是连续的,大批量的,内核对这种操作会进行优化(数据预存取)。因此虚拟内存到物理内存的映射次数比较少,性能瓶颈主要在物理内存的读写速度上,因此这种情况docker和虚拟机的测试性能差别不大; 
内存带宽测试中docker与虚拟机内存访问性能差异不大的原因是由于内存带宽测试中需要进行虚拟地址到物理地址的映射次数比较少。根据这个假设,我们推测,当进行随机内存访问测试时这两者的性能差距将会变大,因为随机内存访问测试中需要进行虚拟内存地址到物理内存地址的映射次数将会变多。结果如下图所示。 


左图是程序运行在一个cpu上的数据,右图是程序运行在2块cpu上的数据。从左图可以看出,确实如我们所预测的,在随机内存访问性能上容器与虚拟机的性能差距变得比较明显,容器的内存访问性能明显比虚拟机优秀;但出乎我们意料的是在2块cpu上运行测试程序时容器与虚拟机的随机内存访问性能的差距却又变的不明显。 
针对这个现象,IBM的论文给出了一个合理解释。这是因为当有2块cpu同时对内存进行访问时,内存读写的控制将会变得比较复杂,因为两块cpu可能同时读写同一个地址的数据,需要对内存数据进行一些同步操作,从而导致内存读写性能的损耗。这种损耗即使对于物理机也是存在的,可以看出右图的内存访问性能数据是低于左图的。2块cpu对内存读写性能的损耗影响是非常大的,这个损耗占据的比例远大于虚拟机和docker由于内存访问模型的不同产生的差异,因此在右图中docker与虚拟机的随机内存访问性能上我们看不出明显差异。

docker与虚拟机启动时间及资源耗费比较

上面两个小节主要从运行在docker里的程序和运行在虚拟机里的程序进行性能比较。事实上,docker之所以如此受到开发者关注的另外一个重要原因是启动docker的系统代价比启动一台虚拟机的代价要低得多:无论从启动时间还是从启动资源耗费角度来说。docker直接利用宿主机的系统内核,避免了虚拟机启动时所需的系统引导时间和操作系统运行的资源消耗。利用docker能在几秒钟之内启动大量的容器,这是虚拟机无法办到的。快速启动、低系统资源消耗的优点使docker在弹性云平台和自动运维系统方面有着很好的应用前景。

docker与虚拟机网络性能比较

采用netperf软件,分别使用TCP_STREAM | UDP_STREAM | TCP_RR | UDP_RR 四中模式测试性能和延迟

 

 

 

 

 

docker与虚拟机存储性能比较

采用iometer分别以顺序读、随机读、顺序写、随机写四中模式对如下3中场景进行测试,测试过程中文件系统采用ext4 测试前预热30s,每一种测试用例测试时间3分钟

 

 

 

 

参考文献

cbl709《docker与虚拟机性能比较》2015-02-26

@线超博《Native、Docker容器和KVM虚拟机网络性能对比测试》

作者:肥狐
出处:http://idbeta.cnblogs.com/
本博客内除了标题带[转]字样外的所有文章,均采用“署名-非商业性使用-禁止演绎 2.5 中国大陆”授权,任何违反本协议的行为均属于非法行为。如需非商业性转载,必须保留此段声明,且在文章页面明显位置给出原文连接。如需商业性转载出版,请直接和我联系。
如果您看了本篇博客,觉得对您有所收获,请点击右下方的【推荐】,同时欢迎您【关注我】

Creative Commons License

Eclipse连接Oracle数据库的ORA-00604 ORA-12705错误

Eclipse连接Oracle数据库的ORA-00604 ORA-12705错误

用MyEclipse来连接Oracle数据库时出现了如下错误:ORA-00604: error occurred at recursive SQL level 1ORA-12705: Cannot acces

用MyEclipse来连接Oracle数据库时出现了如下错误:

ORA-00604: error occurred at recursive SQL level 1

ORA-12705: Cannot access NLS data files or invalid environment specified

到网上一搜都是关于Oracle编码的问题,,但是我用jdbc连接却没有问题,可以运行,于是想到是不是Eclipse本身的问题,最终终于在网上找到此问题的答案,原来是Eclipse的环境编码和Oracle的有冲突

Oracle在注册表中NLS_LANG值为SIMPLIFIED CHINESE_CHINA.ZHS16GBK

Eclipse启动时的配置文件Eclipse.ini的-Duser.language属性却为en

将en改为zh,问题解决

linux

HP-UNIX 平台修改 Oracle processes 参数报错:ORA-27154、ORA-27300、ORA-27301、ORA-27302

HP-UNIX 平台修改 Oracle processes 参数报错:ORA-27154、ORA-27300、ORA-27301、ORA-27302

OS 版本     :HP-UX B.11.31
Oracle 版本:11.2.0.4 (RAC)

(一)问题描述

最近发现无法连接上数据库,报错信息为 “ORA-00020:maximum number of processes (3000) exceeded”,很明显是数据库的进程数量已经达到了最大值,可用过 v$process 确认

SQL> select count(*) from v$process;

  COUNT(*)
----------
      3000

 

于是打算将数据库参数 processes 改大一些,直接修改为 6000。修改命令如下:

SQL> alter system set processes=6000 scope=spfile sid=''*'';

重启节点:
srvctl stop instance -d {oracle_name} -i {instance_name}

srvctl start instance -d {oracle_name} -i {instance_name}
在重启时候,发现有错误提示:
ORA-27154: post/wait create failed
ORA-27300: OS system dependent operation:semget failed with status: 28
ORA-27301: OS failure message: No space left on device
ORA-27302: failure occurred at: sskgpcreates

(二)解决方案

通过查找资料,可通过修改 OS 内核参数解决,可以使用 SAM 修改,也可使用 kctune 工具修改,这里使用 kctune 工具修改,修改过程如下

(1)确认 semm * 参数的当前值

oracledb2#[/]kctune | grep semm
semmni    5120 5120
semmns    8192 8192
semmnu    4092 4092
semmsl    2048 Default Immed

(2)修改 semmni 参数
oracledb2#[/]kctune semmni=8192
==> Update the automatic ''backup'' configuration first? y
* The automatic ''backup'' configuration has been updated.
* Future operations will update the backup without prompting.
NOTE: The requested changes could not be applied to the currently
running system, for the following reasons:
- The tunable ''semmni'' cannot be changed without a reboot.
* The requested changes have been saved, and will take effect at
next boot.
Tunable              Value     Expression
semmni (now)         5120      5120
       (next boot)   8192      8192

(3)修改 semmns 的值
oracledb2#[/]kctune semmns=16384
* The automatic ''backup'' configuration has been updated.
NOTE: The requested changes could not be applied to the currently
running system, for the following reasons:
- The tunable ''semmns'' cannot be changed without a reboot.
* The requested changes have been saved, and will take effect at
next boot.
Tunable             Value    Expression
semmns (now)        8192     8192
       (next boot)  16384    16384

(4)修改 nproc 参数的值,该参数修改后立刻生效
oracledb2#[/]kctune nproc=8192
* The automatic ''backup'' configuration has been updated.
WARNING: The validity of the tunable values could not be completely
verified, because the value of the tunable ''process_id_max''
will not be known until the system is booted. The tunable
values will be verified during boot. Please check the console
messages during boot to see if there are any tunable value
errors.
* The requested changes have been applied to the currently
running configuration.
Tunable           Value          Expression     Changes
nproc (before)    6144           6144           Immed
      (now)       8192           8192

(5)修改 semmnu 的值
oracledb2#[/]kctune semmnu=8188
* The automatic ''backup'' configuration has been updated.
NOTE: The requested changes could not be applied to the currently
running system, for the following reasons:
- The tunable ''semmnu'' cannot be changed without a reboot.
* The requested changes have been saved, and will take effect at
next boot.
Tunable            Value     Expression
semmnu (now)       4092      4092
       (next boot) 8188      8188

需要注意的是,在修改 semmnu 之前,需要确定 nproc 的值,确保:nproc >= semmnu + 4。

错误示范:

oracledb2#[/]kctune semmnu=8188
ERROR: The values of the tunables ''semmnu'' (8188) and ''nproc'' (6144)
do not satisfy the requirement:
nproc >= semmnu + 4

在改完参数之后,需要重启 OS,参数才能生效。接着再重启数据库,正常启动。

HP-UNIX平台修改Oracle processes参数报错:ORA-27154、ORA-27300、ORA-27301、ORA-27302

HP-UNIX平台修改Oracle processes参数报错:ORA-27154、ORA-27300、ORA-27301、ORA-27302

OS 版本     :HP-UX B.11.31
Oracle版本:11.2.0.4 (RAC)

(一)问题描述

最近发现无法连接上数据库,报错信息为“ORA-00020:maximum number of processes (3000) exceeded”,很明显是数据库的进程数量已经达到了最大值,可用过v$process确认

sql> select count(*) from v$process;

  COUNT(*)
----------
      3000

 

于是打算将数据库参数processes改大一些,直接修改为6000。修改命令如下:

sqlalter system set processes=6000 scope=spfile sid='*';

重启节点:
srvctl stop instance -d {oracle_name} -i {instance_name}

srvctl start instance -d {oracle_name} -i {instance_name}
在重启时候,发现有错误提示:
ORA-27154: post/wait create Failed
ORA-27300: OS system dependent operation:semget Failed with status: 28
ORA-27301: OS failure message: No space left on device
ORA-27302: failure occurred at: sskgpcreates

(二)解决方案

通过查找资料,可通过修改OS内核参数解决,可以使用SAM修改,也可使用kctune工具修改,这里使用kctune工具修改,修改过程如下

(1)确认semm*参数的当前值

oracledb2#[/]kctune | grep semm
semmni    5120 5120
semmns    8192 8192
semmnu    4092 4092
semmsl    2048 Default Immed

(2)修改semmni参数
oracledb2#[/]kctune semmni=8192
==> Update the automatic 'backup' configuration first? y
* The automatic 'backup' configuration has been updated.
* Future operations will update the backup without prompting.
NOTE: The requested changes Could not be applied to the currently
running system,for the following reasons:
- The tunable 'semmni' cannot be changed without a reboot.
* The requested changes have been saved,and will take effect at
next boot.
Tunable              Value     Expression
semmni (Now)         5120      5120
       (next boot)   8192      8192

(3)修改semmns的值
oracledb2#[/]kctune semmns=16384
- The tunable 'semmns' cannot be changed without a reboot.
Tunable             Value    Expression
semmns (Now)        8192     8192
       (next boot)  16384    16384

(4)修改nproc参数的值,该参数修改后立刻生效
oracledb2#[/]kctune nproc=8192
WARNING: The validity of the tunable values Could not be completely
verified,because the value of the tunable 'process_id_max'
will not be kNown until the system is booted. The tunable
values will be verified during boot. Please check the console
messages during boot to see if there are any tunable value
errors.
* The requested changes have been applied to the currently
running configuration.
Tunable           Value          Expression     Changes
nproc (before)    6144           6144           Immed
      (Now)       8192           8192

(5)修改semmnu的值
oracledb2#[/]kctune semmnu=8188
- The tunable 'semmnu' cannot be changed without a reboot.
Tunable            Value     Expression
semmnu (Now)       4092      4092
       (next boot) 8188      8188

需要注意的是,在修改semmnu之前,需要确定nproc的值,确保:nproc >= semmnu + 4。

错误示范:

ERROR: The values of the tunables 'semmnu' (8188) and 'nproc' (6144)
do not satisfy the requirement:
nproc >= semmnu + 4

在改完参数之后,需要重启OS,参数才能生效。接着再重启数据库,正常启动。

今天关于性能测试过程中oracle数据库报ORA-27301 ORA-27302错oracle 性能测试报告的介绍到此结束,谢谢您的阅读,有关Docker-Oracle和物理机Oracle数据库性能测试、Eclipse连接Oracle数据库的ORA-00604 ORA-12705错误、HP-UNIX 平台修改 Oracle processes 参数报错:ORA-27154、ORA-27300、ORA-27301、ORA-27302、HP-UNIX平台修改Oracle processes参数报错:ORA-27154、ORA-27300、ORA-27301、ORA-27302等更多相关知识的信息可以在本站进行查询。

本文标签: