由 DB_FILES 參數導致的 dg 服務器無法同步問題
用戶反映,dg 服務器數據從昨晚(7月8日)開始停止同步。
連接服務器發現沒有 mrp 進程,并且 OPEN_MODE 參數也不正確。具體情況如下所示:
SQL> select process, status, sequence# from v$managed_standby;PROCESS STATUS SEQUENCE#
--------- ------------ ----------
ARCH CLOSING 1356467
ARCH CONNECTED 0
ARCH CONNECTED 0
ARCH CLOSING 2317672
RFS IDLE 0
RFS IDLE 0
RFS IDLE 2317673
RFS IDLE 1356468
RFS IDLE 0
RFS IDLE 010 rows selected.SQL> select open_mode,log_mode, database_role from v$database;OPEN_MODE LOG_MODE DATABASE_ROLE
-------------------- ------------ -------------------- ----------------
READ ONLY ARCHIVELOG PHYSICAL STANDBY
執行如下命令出現異常(ORA-00059):
SQL> alter database recover managed standby database;
alter database recover managed standby database
*
ERROR at line 1:
ORA-00283: recovery session canceled due to errors
ORA-00059: maximum number of DB_FILES exceeded
提示是 DB_FILES 參數的問題。并且昨晚對服務器進行擴容,為多個表空間增加了數據文件。dg 數據庫停止同步也是昨天晚上。確認是該參數的問題。
以前已經修改過主庫的 DB_FILES 參數為 2000,備庫的 DB_FILES 參數為默認值 200。
確定問題的解決方案為,修改 DB_FILES 參數的值為 2000,步驟如下:
步驟一:執行如下命令修改 DB_FILES 參數的值。
alter system set db_files=2000 scope=spfile;
步驟二:重啟數據庫。
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.Total System Global Area 3.4206E+10 bytes
Fixed Size 2270360 bytes
Variable Size 5301603176 bytes
Database Buffers 2.8857E+10 bytes
Redo Buffers 45649920 bytes
Database mounted.
Database opened.
步驟三:執行如下命令開啟同步。
SQL> alter database recover managed standby database using current logfile disconnect;Database altered.
步驟四:查看 dg 備庫的進程及數據庫狀態。
SQL> select process, status, sequence# from v$managed_standby;PROCESS STATUS SEQUENCE#
--------- ------------ ----------
ARCH CLOSING 1356468
ARCH CONNECTED 0
ARCH CONNECTED 0
ARCH CLOSING 2317673
RFS IDLE 0
RFS IDLE 0
RFS IDLE 2317674
RFS IDLE 1356469
RFS IDLE 0
RFS IDLE 0
MRP0 APPLYING_LOG 135645811 rows selected.SQL> select open_mode,log_mode,database_role from v$database;OPEN_MODE LOG_MODE DATABASE_ROLE
-------------------- ------------ -------------------- ----------------
READ ONLY WITH APPLY ARCHIVELOG PHYSICAL STANDBY
發現備庫的進程以及狀態已經恢復正常。
測試數據的同步情況,發現已經恢復。