1.1 现象描述
登录数据库失败,系统显示如下错误信息:
% sqlplus / as sysdba
SQL*Plus: Release 11.1.0.6.0 - Production on Thu Feb 5 14:42:29 2009
Copyright (c) 1982, 2007, Oracle. All rights reserved.
ERROR:
ORA-00020: maximum number of processes (%s) exceeded
1.2 可能原因
数据库所在机器启动的进程数大于Oracle数据库设置的进程数。
1.3 定位思路
检查Oracle系统设置的进程数。
SQL> show parameter process;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
aq_tm_processes integer 0
cell_offload_processing boolean TRUE
db_writer_processes integer 1
gcs_server_processes integer 0
global_txn_processes integer 1
job_queue_processes integer 1000
log_archive_max_processes integer 4
processes integer 150
系统显示Oracle系统设置的进程数为150,小于数据库所在机器需要启动的进程数。
1.4 处理步骤
- 以oracle用户登录数据库所在机器。
- 以逻辑方式备份数据库。
exp username/password full=y file=file_name log=logname
说明:
- username是用户名。
- password是用户密码。
# ps -ef
- 根据pid关闭对应应用进程。
# kill –pid
- 以sysdba用户连接数据库。
% sqlplus / as sysdba
- 修改进程参数“processes”的参数值。
SQL> alter system set processes=Oracle系统进程数 scope=spfile;;
说明:
需要修改的“Oracle系统进程数”大于系统实际启动的进程数。
- 关闭数据库。
SQL> shutdown immediate
- 重新启动数据库。
SQL> startup
- 退出数据库。
SQL> quit
- 以sysdba用户重新登录数据库。
% sqlplus / as sysdba
登录成功,系统显示如下信息:
SQL*Plus: Release 11.1.0.7.0 - Production on Wed Aug 24 08:45:02 2011
Copyright (c) 1982, 2008, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production
With the Partitioning, Oracle Label Security, OLAP, Data Mining,
Oracle Database Vault and Real Application Testing options
Oracle数据库案例整理-登录Oracle数据库失败-启动进程数大于Oracle系统设置的进程数,布布扣,bubuko.com