标题: ORA-16055: FAL Request Rejected on primary alert log along with FAL archive f... [打印本页] 作者: 刘泽宇 时间: 4 天前 标题: ORA-16055: FAL Request Rejected on primary alert log along with FAL archive f... 现象:
On Primary:
TMON (PID:19260): Process (PID:9074) hung on an I/O to LAD:2 after 260 seconds with threshold of 240 at [krsu.c:10192] <<<<<<<<<<<<
TMON (PID:19260): WARN: Terminating process hung on an operation (PID:9074) <<<<<<<<<<<<<<
TMON (PID:19260): Error 16198 due to hung I/O operation to LOG_ARCHIVE_DEST_2 <<<<<<<<<<<<<<
TMON (PID:19260): Detected ARCH process failure
ARCg (PID:12819): FAIL: Reclaiming FAL entry from dead process (PID:9074) <<<<<<<<<<<<<<<
ARCg (PID:12819): FAL archive failed with error 16198 (see trace for details) <<<<<<<
ARCg (PID:12819): FAL archive failed, archiver continuing
ORA-16055: FAL request rejected <<<<<<<<
原因:
The reason for frequent "ORA-16055: FAL request rejected" are:
1. Wrong value set for VALID_FOR "(ALL_ROLES,ONLINE_LOGFILE)" clause on LOG_ARCHIVE_DEST_1 at primary and standby.
2. Value for max_connections was set to more than 1. In this case, it was set to max_connections=3 for LOG_ARCHIVE_DEST_2 at primary.
3. At standby, LOG_ARCHIVE_DEST_2 was set separately with VALID_FOR clause (STANDBY_LOGFILE,STANDBY_ROLE) which is not required as the LOG_ARCHIVE_DEST_1 with VALID_FOR (ALL_ROLES,ONLINE_LOGFILE) will handle both online and standby redo logs when the role changes.
处理方法:
Making the below configuration changes should resolve the "ORA-16055: FAL request rejected" and "FAL archive failed with error 16198".
@Primary:
alter system set LOG_ARCHIVE_DEST_1='LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=primary_db_unique_name' sid='*' scope=both;
alter system set log_archive_dest_2='SERVICE=standby_service_name ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=standby_db_unique_name' sid='*' scope=both;
@Standby:
alter system set LOG_ARCHIVE_DEST_1='LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=standby_db_unique_name' sid='*' scope=both;
alter system set log_archive_dest_2='' sid='*' scope = both;