ORA-00020: maximum number of processes (150) exceeded解决

129 篇文章 7 订阅

问题描述

一台数据库在跑应用的测试过程中挂掉了,因为默认的会话数是150,很显然,是会话数不够的原因。
用sqlplus工具也无法登陆

[oracle@db ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Tue Jun 16 15:16:06 2020

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

ERROR:
ORA-00020: maximum number of processes (150) exceeded


Enter user-name: exit
Enter password:
ERROR:
ORA-01005: null password given; logon denied


Enter user-name: ^C

问题解决

方法1:更改processes参数

解决 ORA-00020 错误,加大processes的参数值即可,但是需要正常启动数据库并成功登陆后才能修改。
1.首先通过加参数 “-prelim” 成功登陆数据库

[oracle@db ~]$ sqlplus -prelim / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Tue Jun 16 15:22:07 2020

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

此时就可以正常关闭和开启数据库,按照如下命令操作解决问题:

SQL> shutdown immediate;
SQL> startup;
SQL> show parameter processes;
SQL> alter system set processes=1000 scope=spfile;
SQL> startup force;
SQL> show parameter processes;
SQL> exit;

2.开库

SQL> startup
ORACLE instance started.
ORA-01012: not logged on
Process ID: 0
Session ID: 0 Serial number: 0


SQL> exit
Disconnected from ORACLE

说明已经是开的。
3.修改参数

[oracle@db ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Tue Jun 16 15:22:35 2020

Copyright (c) 1982, 2013, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> show parameter process

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
aq_tm_processes                      integer     1
cell_offload_processing              boolean     TRUE
db_writer_processes                  integer     2
gcs_server_processes                 integer     0
global_txn_processes                 integer     1
job_queue_processes                  integer     1000
log_archive_max_processes            integer     4
processes                            integer     150
processor_group_name                 string
SQL> select status from v$instance;

STATUS
------------
STARTED

SQL> alter system set processes=1000 scope=spfile;

System altered.

SQL> shutdown immediate;
ORA-01507: database not mounted


ORACLE instance shut down.
SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

4.重启实例

[oracle@db ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Tue Jun 16 15:24:59 2020

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup
ORACLE instance started.

Total System Global Area 6313463808 bytes
Fixed Size                  2264976 bytes
Variable Size            1476395120 bytes
Database Buffers         4815060992 bytes
Redo Buffers               19742720 bytes
Database mounted.
Database opened.
SQL> show parameter processes;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
aq_tm_processes                      integer     1
db_writer_processes                  integer     2
gcs_server_processes                 integer     0
global_txn_processes                 integer     1
job_queue_processes                  integer     1000
log_archive_max_processes            integer     4
processes                            integer     1000
方法2:杀死所有oracle进程
$ ps -ef |grep $ORACLE_SID|grep -v grep|awk '{print $2}' | xargs kill -9
$ ipcs -m | grep oracle | awk '{print $2}' | xargs ipcrm shm

未用过这种方法,参考:https://blog.csdn.net/liyaohui_szz/article/details/81077800

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ORA-01722: invalid number错误是Oracle数据库中的一个常见错误,它表示在执行SQL语句时,尝试将一个无效的数字转换为数字类型。这个错误通常发生在以下几种情况下: 1. 数据类型不匹配:当尝试将一个非数字类型的值转换为数字类型时,就会出现这个错误。比如在关联表时,如果关联的值和类型不一致,Oracle会尝试将其隐式转换为数字类型,如果无法转换,就会报错。 2. 数据格式错误:当尝试将一个无效的数字格式转换为数字类型时,也会出现这个错误。比如在查询中使用了to_number函数,但是传入的参数不符合数字格式要求。 解决这个错误的方法有以下几种: 1. 检查数据类型:确保在进行数据转换时,源数据的类型和目标数据类型是匹配的。如果不匹配,可以考虑使用合适的转换函数或者修改数据类型。 2. 检查数据格式:如果使用了to_number函数或者其他需要数字格式的函数,确保传入的参数符合数字格式要求。可以使用合适的格式化函数或者修改数据格式。 3. 检查数据完整性:如果在关联表时出现了这个错误,可以检查关联的列中是否包含非数字类型的值。如果有,可以考虑修改数据或者使用合适的转换函数。 总之,ORA-01722: invalid number错误通常是由于数据类型不匹配或者数据格式错误导致的。通过检查数据类型、数据格式和数据完整性,可以解决这个错误。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* [【问题处理】ORA-01722: invalid number (类型隐式转换)](https://blog.csdn.net/haiross/article/details/49153317)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [sql报错处理:ora-01722:invalid number](https://blog.csdn.net/qq_36703810/article/details/130172990)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值