上图是oracle体系总架构图
今天突然公司所有终端pos机不能刷卡消费,财务室不能充值,一下很多电话打过来了,第一反应肯定数据库出问题了,登陆到数据库服务器,果然sqlplus连进去后就不断提示要求输入用户名,弹出一下提示:
ERROR:ORA-00020: maximum number of processes (150) exceededEnter user-name: sysEnter password:ERROR:ORA-00020: maximum number of processes (150) exceededEnter user-name: sysEnter password:ERROR:ORA-01017: invalid username/password; logon deniedSP2-0157: unable to CONNECT to ORACLE after 3 attempts, exiting SQL*Plus
思考分析了一会,果断把oracle通过任务管理器把其相关进程给杀了,终于可以进去了,通过研究,解决办法如下:
:~> sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Fri Nov 15 17:07:40 2013
Copyright (c) 1982, 2011, Oracle. All rights reserved.Connected to:Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> show parameter processes;
NAME TYPE VALUE------------------------------------ ----------- ------------------------------aq_tm_processes integer 1db_writer_processes integer 1gcs_server_processes integer 0global_txn_processes integer 1job_queue_processes integer 1000log_archive_max_processes integer 4processes integer 150SQL> alter system set processes=1500 scope = spfile;
System altered.
SQL> commit;
Commit complete.
SQL> shutdown abort # 这个命令慎重执行,若是在生产环境下,还是用"shutdown immediate"比较好,小白是自己的环境,才如此暴力强制下线的。ORACLE instance shut down.SQL> startupORACLE instance started.
Total System Global Area 1603411968 bytesFixed Size 2228784 bytesVariable Size 1073745360 bytesDatabase Buffers 520093696 bytesRedo Buffers 7344128 bytesDatabase mounted.Database opened.SQL> show parameter processes;
NAME TYPE VALUE------------------------------------ ----------- ------------------------------aq_tm_processes integer 1db_writer_processes integer 1gcs_server_processes integer 0global_txn_processes integer 1job_queue_processes integer 1000log_archive_max_processes integer 4processes integer 1500
windows上的oracle的pfile和spfile的路径在如下目录:
D:\app\Administrator\product\11.2.0\dbhome_1\database
今天给大家分享一个oracle问题的解决实例
如启动Oracle时提示“ORA-00600: internal error code, arguments”错误?
SQL> startup
ORA-00600: internal error code, arguments: [ksunfy : too few sessions], [9504], [75040], [], [], [], [], [], [], [], [], []”
解决办法:这里的错误说明Oracle的processes和sessions的值调的太大了。
(1)修改processes和sessions的值,可先通过目前有问题的spfile创建成新的pfile,因为pfile是文本文件,它才打得开,用以下命令创建:create pfile from spfile;然后到D:\app\Administrator\product\11.2.0\dbhome_1\database下vim INIThlecard.ORA,然后修改里面的值,如下:
*.processes=10000
*.sessions=10000
保存
(2)SQL> create spfile from pfile
File created.
SQL> startup
ORACLE instance started.
Total System Global Area 8.5516E+10 bytes
Fixed Size 2237776 bytes
Variable Size 8858372784 bytes
Database Buffers 7.6504E+10 bytes
Redo Buffers 151142400 bytes
Database mounted.
Database opened.