重庆思庄Oracle、、PostgreSQL、Redhat认证学习论坛

标题: 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.

Old Primary Config:
======================
* log_archive_dest_1 LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_ROLES,ONLINE_LOGFILE)
* log_archive_dest_2 SERVICE=STANDBY_SERVICE_NAME ARCH ASYNC NOAFFIRM delay=0 OPTIONAL max_failure=0 max_connections=3 reopen=300 db_unique_name="standby_db_unique_name" register net_timeout=180 VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)

Old Standby Config:
======================
* log_archive_dest_1 LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_ROLES,ONLINE_LOGFILE)
* log_archive_dest_2 LOCATION=+XX_FRA/STANDBY_DB_NAME/ARCHIVELOG valid_for=(STANDBY_LOGFILE,STANDBY_ROLE)

处理方法:
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;






欢迎光临 重庆思庄Oracle、、PostgreSQL、Redhat认证学习论坛 (http://bbs.cqsztech.com/) Powered by Discuz! X3.2