建设工作站服务器
今天,在创建物理数据保全的过程中,主库通过调整参数启动数据库后,连接数据库时出现ORA-01075错误,导致无法登录数据库,无法进行后续操作。
这个问题不限于DataGuard配置这个场景。 请简单调查这个错误,作为参考。
1 .问题现象
1 )登录时出错
[ Oracle @ sec db1~~ ] $ sqlplus/assysdba
SQL * plus:10.2.0.1.0版productiononsunjul 2420:01:102010
版权所有( c ) 1982,2005,Oracle. All rights reserved。
ERROR :
ora-01075:youarecurrentlyloggedon
2 )即使登录成功,也会出现与执行SQL命令时相同的错误
sys@secdb select * from dual;
选择*来自
*
ERROR at line 1:
ora-00604:erroroccurredatrecursivesqllevel 1
ora-00018:maximumnumberofsessionsexceeded
2 .问题分析
单纯地从ORA-01075报告错误的信息本身不能确定问题。
从警报日志中发现“ora-00018:maximumnumberofsessionsexceeded”错误信息。 经过仔细检查,此时后台出现了大量归档进程,数据库中的processes=50是由于超过了session限制而出现的此错误。
后台的流程信息如下。
[ Oracle @ sec db1~] $ PS-ef|grepsecdb|grep-v grep
oracle 10023 1 0 19:13? 00:00:00 ora_pmon_secdb
oracle 10025 1 0 19:13? 00:00:00 ora_psp0_secdb
oracle 10027 1 0 19:13? 00:00:00 ora_mman_secdb
oracle 10029 1 0 19:13? 00:00:00 ora_dbw0_secdb
oracle 10031 1 0 19:13? 00:00:00 ora_lgwr_secdb
oracle 10033 1 0 19:13? 00:00:00 ora_ckpt_secdb
oracle 10035 1 0 19:13? 00:00:00 ora_smon_secdb
oracle 10037 1 0 19:13? 00:00:00 ora_reco_secdb
oracle 10039 1 0 19:13? 00:00:00 ora_cjq0_secdb
oracle 10041 1 0 19:13? 00:00:00 ora_mmon_secdb
oracle 10043 1 0 19:13? 00:00:00 ora_mmnl_secdb
oracle 10063 1 0 19:13? 00:00:00 ora_p000_secdb
oracle 10065 1 0 19:13? 00:00:00 ora_p001_secdb
oracle 10067 1 0 19:13? 00:00:00 ora_p002_secdb
oracle 10069 1 0 19:13? 00:00:00 ora_p003_secdb
oracle 10071 1 0 19:13? 00:00:00 ora_p004_secdb
oracle 10077 1 0 19:13? 00:00:00 ora_arc0_secdb
oracle 10079 1 0 19:13? 00:00:00 ora_arc1_secdb
oracle 10081 1 0 19:13? 00:00:00 ora_arc2_secdb
oracle 10083 1 0 19:13? 00:00:00 ora_arc3_secdb
oracle 10085 1 0 19:13? 00:00:00 ora_arc4_secdb
oracle 10087 1 0 19:13? 00:00:00 ora_arc5_secdb
oracle 10089 1 0 19:13? 00:00:00 ora_arc6_secdb
oracle 10091 1 0 19:13? 00:00:00 ora_arc7_secdb
oracle 10093 1 0 19:13? 00:00:00 ora_arc8_secdb
oracle 10095 1 0 19:13? 00:00:00 ora_arc9_secdb
oracle 10100 1 0 19:13? 00:00:00 ora_arca_secdb
oracle 10103 1 0 19:13? 00:00:00 ora_arcb_secdb
oracle 10105 1 0 19:13? 00:00:00 ora_arcc_secdb
oracle 10107 1 0 19:13? 00:00:00 ora_arcd_secdb
oracle 10109 1 0 19:13? 00:00:00 ora_arce_secdb
oracle 10111 1 0 19:13? 00:00:00 ora_arcf_secdb
oracle 10113 1 0 19:13? 00:00:00 ora_arcg_secdb
oracle 10115 1 0 19:13? 00:00:00 ora_arch_secdb
oracle 10117 1 0 19:13? 00:00:00 ora_arci_secdb
oracle 10119 1 0 19:13? 00:00:00 ora_arcj_secdb
oracle 10121 1 0 19:13? 00:00:00 ora_arck_secdb
oracle 10123 1 0 19:13? 00:00:00 ora_arcl_secdb
oracle 10125 1 0 19:13? 00:00:00 ora_arcm_secdb
oracle 10127 1 0 19:13? 00:00:00 ora_arcn_secdb
oracle 10132 1 0 19:13? 00:00:00 ora_arco_secdb
oracle 10135 1 0 19:13? 00:00:00 ora_arcp_secdb
oracle 10137 1 0 19:13? 00:00:00 ora_arcq_secdb
oracle 10139 1 0 19:13? 00:00:00 ora_arcr_secdb
oracle 10141 1 0 19:13? 00:00:00 ora_arcs_secdb
oracle 10143 1 0 19:13? 00:00:00 ora_arct_secdb
oracle 10173 1 29 19:13? 00:00:26 ora_qmnc_secdb
oracle 10229 1 0 19:14? 00:00:00 ora_q000_secdb
oracle 10296 10294 0 19:14? 00:00:00 oraclesecdb ( description=( local=是) ) address=( protocol=beq ) )
您可以看到后台已经启动了非常多的归档过程。 这些进程占了所有50个session,系统无法登录。
3 .问题处理
1 )关闭数据库
因为不能正常登录数据库了,所以只能强制使用OS命令退出。
$ PS-ef|grep $ Oracle _ sid|grep-v grep|awk\& amp; quot; {print$2}\\&; quot; |xargskill-9
$IPCs-m|grepOracle|awk\\&; quot; {print$2}\\&; quot; |xargsipcrmshm
严重警告:不要在任何数据库服务器上尝试上述命令。
关于上述2个指令的记述请参考《【Kill】两条Linux命令彻底杀死Oracle》 ( http://space.itpub.net/519536/view space-619787 )
2 )将系统参数processes更改为500
3 )重新启动数据库
问题的处理结束了。
4 .总结
这里遇到的这个问题很偶然,背景正好超过50个session,我把processes调整到500后,背景session的数量还稳定在50左右。
这个案例表明,在项目实施过程之前,所有参数都要仔细斟酌和考虑,不会人为给自己增加困难。
好路克。
secooler
10.07.24
— The End —
详情请访问云服务器、域名注册、虚拟主机的问题,请访问西部数码代理商官方网站: www.chenqinet.cn