上图是oracle体系总架构图
今天突然公司所有终端pos机不能刷卡消费,财务室不能充值,一下很多电话打过来了,第一反应肯定数据库出问题了,登陆到数据库服务器,果然sqlplus连进去后就不断提示要求输入用户名,弹出一下提示:
ERROR:
ORA-00020: maximum number of processes (150) exceeded
Enter user-name: sys
Enter password:
ERROR:
ORA-00020: maximum number of processes (150) exceeded
Enter user-name: sys
Enter password:
ERROR:
ORA-01017: invalid username/password; logon denied
SP2-0157: unable to CONNECT to ORACLE after 3 attempts, exiting SQL*Plus
思考分析了一会,果断把oracle通过任务管理器把其相关进程给杀了,终于可以进去了,通过研究,解决办法如下:
oracle@wu101:~> 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 Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> show parameter processes;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
aq_tm_processes integer 1
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
SQL> alter system set processes=1500 scope = spfile;
System altered.
SQL> commit;
Commit complete.
SQL> shutdown abort # 这个命令慎重执行,若是在生产环境下,还是用"shutdown immediate"比较好,小白是自己的环境,才如此暴力强制下线的。
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 1603411968 bytes
Fixed Size 2228784 bytes
Variable Size 1073745360 bytes
Database Buffers 520093696 bytes
Redo Buffers 7344128 bytes
Database mounted.
Database opened.
SQL> show parameter processes;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
aq_tm_processes integer 1
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 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.