问题描述:系统无法进入。在登录界面输入用户密码后闪屏后仍显示登录界面。测试库正常。经确认信息中心服务器正常运行。
问题检查:在服务器日志文件中发现Oracle异常信息
No Session Record.TID(6208) failure during processing of request: NewSessionByAddr_string.
Fri Dec 06 16:23:39 2013 Documentum Internal Error: Assertion failure at line: 288 in file: \Perforce\depot\Platform\ContentServer\rel_6.5_SP\dmnew\rpc\netwise\server\dmconn.cxx
Fri Dec 06 16:23:49 2013 810000 [DM_SESSION_E_CANT_MAKE_TEMP_CONNECTION]error: "Could not establish an internal, temporary database connection (database_name = , docbase_owner = JLY_WK, connection_string = JLYDB); database system error was: ORA-00257: 归档程序错误。在释放之前仅限于内部连接"
导致现象:系统无法使用
解决方法共两种:
方法1:在RMAN中删除过期的归档
检查一些无用的archivelog
RMAN> crosscheck archivelog all;
删除过期的归档
RMAN> delete expired archivelog all;
方法2:修改DB_RECOVERY_FILE_DEST_SIZE
根据数据库目前可用存储空间来计算FLASH_RECOVERY_AREA大小。
假设:可以存储空间为200GB,当前FLASH_RECOVERY_AREA为2GB,那么把FLASH_RECOVERY_AREA的空间修改为20GB。
SQL> alter system set DB_RECOVERY_FILE_DEST_SIZE=20g;
SQL> select * from v$recovery_file_dest;
本次解决使用的是方法2,原因是暂时不删除归档日志,保留数据库归档内容。
故障的原因由两方面同时发生所造成的:
·其一是Flash_Recovery_Area空间缺省安装时比较小,只有2GB,容易用完;
·其二是由于备份操作原因,造成归档日志没有及时删除。
Oracle 11g数据库物理空间管理方式与以前Oracle发生了变化,对归档日志所在的Flash_Recovery_Area空间进行了另外限制;
对数据库系统管理员要对Oracle数据库归档日志、备份软件运行状况定期检查,提前发现、处理可能发生的故障。