ORA-19809 ORA-19804 错误处理

一、问题描述

通过备库的备份文件做还原恢复,数据库启后为Read Only,现想通过failover的方式将standby库转换为主库。
在执行alter database commit to switchover to primary;命令时出现如下错误:

SQL> alter database commit to switchover to primary;
alter database commit to switchover to primary
*
ERROR at line 1:
ORA-19809: limit exceeded for recovery files
ORA-19804: cannot reclaim 1073741824 bytes disk space from 8657043456 bytes
limit

处理方法

SQL> select * from v$recovery_file_dest;

NAME                                       SPACE_LIMIT SPACE_USED SPACE_RECLAIMABLE NUMBER_OF_FILES     CON_ID
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
/Data/app/oracle/fast_recovery_area        8657043456   8513634304      0                14                0


SQL> show parameter recovery

NAME                                         TYPE            VALUE
----------------------------------------    ---------------- ------------------------------
db_recovery_file_dest                        string           /Data/app/oracle/fast_recovery_area
db_recovery_file_dest_size                   big integer      8256M
recovery_parallelism                         integer            0
remote_recovery_file_dest                    string

--释放调大db_recovery_file_dest_size的值,本例设置成30G
SQL> alter system set db_recovery_file_dest_size=30G scope=both;

System altered.

SQL> show parameter recovery

NAME                                         TYPE            VALUE
----------------------------------------    ---------------- ------------------------------
db_recovery_file_dest                        string           /Data/app/oracle/fast_recovery_area
db_recovery_file_dest_size                   big integer      30G
recovery_parallelism                         integer            0
remote_recovery_file_dest                    string

再次执行命令,如下:

SQL> alter database commit to switchover to primary;

Database altered.

你可能感兴趣的:(运维,Oracle,数据库,数据库,运维,oracle)