1、测试数据源,报错;查看数据库服务,无法使用sys用户登录系统。
2、重启数据库服务,startup后提示ora-00020错误。查看错误码:
ORA-00020: maximum number of processes (string)exceeded
Cause: All process state objects are in use.
Action: Increase the value of the PROCESSES initialization parameter
(没有可用的空闲进程
进程数达到最大
指定进程无法启动/无法执行)
结合告警日志查看信息,确定问题原因。
ALTER DATABASEMOUNT
Successful mount of redo thread 1, withmount id 220208027
Database mounted in Exclusive Mode
Lost write protection disabled
Completed: ALTERDATABASE MOUNT
Mon Aug 17 15:08:16 2015
ALTER DATABASE OPEN
LGWR: STARTING ARCHPROCESSES
Mon Aug 17 15:08:16 2015
ARC0 started with pid=19, OS id=8704
ARC0: Archival started
LGWR: STARTING ARCHPROCESSES COMPLETE (可见归档进程已经启动)
ARCH:Error 19504 Creating archive log file to'F:\ARCHIVELOG\ARC0000015418_0842101596.0001'
Errors in fileD:\APP\ADMINISTRATOR\diag\rdbms\xcky\xcky\trace\xcky_ora_11064.trc:
ORA-16038: 日志 1 sequence# 15418 无法归档(启动后无法执行归档)
ORA-19504: 无法创建文件(1、权限问题《系统使用中途报错,可能性很小》 2、磁盘满)
ORA-00312: 联机日志 1 线程 1:'D:\APP\ADMINISTRATOR\ORADATA\XCKY\REDO01.LOG'
ORA-00312: 联机日志 1 线程 1:'E:\ORADATA\REDO\REDO01A.LOG'
ORA-00312: 联机日志 1 线程 1:'E:\ORADATA\REDO\REDO03A.LOG'
USER (ospid: 11064):terminating the instance due to error 16038
System state dump requested by (instance=1,osid=11064), summary=[abnormal instance termination].
SystemState dumped to trace fileD:\APP\ADMINISTRATOR\diag\rdbms\xcky\xcky\trace\xcky_diag_6240.trc
ARC0: STARTING ARCH PROCESSES
Logins disabled; aborting ARCH processstartup (1092)
ARC0: Archival disabled due to shutdown:1092
Shutting down archive processes
Archiving is disabled
将数据库启动到mount状态。startupmount;
查看归档日志存放的位置。查看磁盘是否满了。
SQL>showparameter archive_dest
经查证,的确是由于归档磁盘空间满导致系统归档进程无法执行,使得用户不能正常登陆系统。
5、修复操作:
使用rman将归档备份,删除一部分老归档文件。之后执行:
rman target /
RMAN>crosscheck archivelog all;
RMAN>delete expired archivelog all;
系统正常运行后,立即对系统做热备份。
rman target /
RMAN> run{
backup incremental level 0 database format'H:\backup\db_level0_%d_%s_%Y%M%D.bak';set limit channel c1 kbytes=1024000;
sql 'alter system archive log current';
backup archivelog all format'H:\backup1\arch_%d_%s_%Y%M%D_%U.bak' delete all input;backup current controlfile format'H:\backup1\control_%d_%s_%Y%M%D_%U.bak';
}