centos强行终止oracle进程 ora-00020,ORA-00020,ORA-01304,ORA-27101基础故障处理

##ORA-00020问题 在定点维护的过程中,安装数据库时,都是采用Window软件安装“下一步”模式,各种配置参数值都是默认值。但因为该定点收费端点数多,一早登录的用户进程数超过上限后,会提示 "ORA-00020:超出最大进程数(%s)",不是专业DBA,在网上查找资料,得知: 1.Oracle数据库中有一个最大进程数设置,用DBA用户登录后,执行以下操作: SQL> show parameter process; NAME                                 TYPE        VALUE ------------------------------------ ----------- ----- aq_tm_processes                      integer     0 db_writer_processes                  integer     1 gcs_server_processes                 integer     0 job_queue_processes                  integer     10 log_archive_max_processes            integer     2 processes                            integer     150 可以看出,当前的最大连接进程数是150,一般安装的时候,默认就是150; 2.如何查看当前的进程连接数呢? 执行以下命令: SQL> select count(1) from v$process;   COUNT(1) ----------         23 可以看到当前的连接进程数是23. 3.如何根据实际情况进行配置呢? 在Oracle8i中,因为初始化参数文件只有pfile,是一个记事本,具体位置:ORACLE_BASE\admin\ora817\pfile\init.ora(OEACLE_HOME=ORACLEBAE\ora81), 因此可以直接打开,找到processes关键字,根据实际情况修改,注意修改完成后,需要重启服务才能生效; Oracle9i之后,因为初始化参数文件有了spfile,而spfile是一个二进制文件,不能直接手动修改,只能通过命令修改,具体命令如下: alter system set processes=200 scope=spfile;注意,修改完毕之后,需要重启服务,重启服务后,再次查看 SQL> show parameter process; NAME                                 TYPE        VALUE ------------------------------------ ----------- ----- aq_tm_processes                      integer     0 db_writer_processes                  integer     1 gcs_server_processes                 integer     0 job_queue_processes                  integer     10 log_archive_max_processes            integer     2 processes                            integer     200 可以看到已经修改了。 ##ORA-01034,ORA-27101问题: 本人在自己的机器上(Oracle10g)操作时,将processes的值修改成了3,关闭服务重启的时候,长时间不能正常启动,怀疑是processes值太小导致, 报着侥幸心理,手动修改了spfile,这下完了,在Window的servics.msc命令下,Oracle服务不能正常启动,还好,将processes=3的spfile 备份了一份,无奈之下,又物理还原回去,此时Windows的services.msc命令下,Oracle服务可以正常启动,但在cmd命令下,用DBA用户-->sys登录时, 提示: ERROR: ORA-01034: oracle not available ORA-27101: shared memory realm does not exist 在网上找了好多资料,大多数是修改ORACLE_HOME和ORACLE_SID,但本人的Oracle环境,没有任何问题,ORACLE_HOME与ORACLE_SID一切正常. 网上继续查找资料,针对本人的实际情况,找到了好的解决办法,大概思想是:因为本人processes值设置太小,而手动又不能直接修改spfile 文件,导致DBA用户不能正常登录,因而不能通过命令行修改spfile参数值。此时,只有通过pfile重建spfile,然后用重建的spfile替换有问题的spfile, 具体操作如下: 1.通过pfile重建spfile   先确定pfile的存放路径,本人pfile存放路径是:D:\oracle\product\10.2.0\admin\orcl\pfile\init.ora.322201013452   准备将新重建的spfile放在D盘根目录下,因此,用DBA用户-->sys登录后,操作命令如下:   create spfile='d:\SPFILEORCL.ORA' from pfile='D:\oracle\product\10.2.0\admin\orcl\pfile\init.ora.322201013452'; 2.创建成功后,用新的spfile替换有问题的spfile,spfile的存放路径:D:\oracle\product\10.2.0\db_1\dbs\SPFILEORCL.ORA,建议尽量创建 的新spfile文件名称与旧的文件名保持一致,这样,可以不用修改pfile文件的内容.替换完成之后,重新启动服务,一切正常.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值