dg搭建后oracle_redo不存在

1.描述生产环境dg 10.2.0.4,是由RMAN异机恢复,主库存在的redo路径在备库并未提取创建,也并未rename 日志文件,因此recover databaes完毕之后,其余MRP进程,同步应用日志,发现redo备库不存在,如下是操作日志2.操作尝试取消mrp
alter database recover managed standby database cancel;
确认dg角色

SQL> select  dbid,
             name, 
    database_role,
        open_mode,
SWITCHOVER_STATUS,
     FLASHBACK_ON,
  PROTECTION_MODE,
    FORCE_LOGGING  
from v$database;

       DBID NAME       DATABASE_ROLE       
----------- ---------- --------------------
       3xx9 WxxxB      PHYSICAL STANDBY    
 参数调整
SQL> alter system set standby_file_management=manual;
 查询日志组状态
SQL> select group# ,thread#,bytes/1024/1024,status from v$log;
    GROUP#    THREAD# BYTES/1024/1024 STATUS
---------- ---------- --------------- ----------------
         1          1            1024 CLEARING
         2          1            1024 CLEARING
         3          1            1024 CLEARING_CURRENT
         4          1            1024 CLEARING
         5          1            1024 CLEARING
         6          1            1024 CLEARING
         7          1            1024 CLEARING
         8          1            1024 CLEARING
8 rows selected.
手工对日志组进行clear后续进行drop 发现报错!
SQL> ALTER DATABASE CLEAR LOGFILE GROUP 1;
alter database drop logfile group 6;
ORA-01624: log 6 needed for crash recovery of instance webdb (thread 1)ORA-00312: online log 6 thread 1: '/oracle/oradata/redolog/redo6.log'
根据MOS文档,Drop Redo Logs on Standby操作失败!!!Sync Redo Logs on Primary and Standby 这部分区域存在一句话描述
7. Start Redo Apply:

When using Oracle Database >=10.2.0.1 and LOG_FILE_NAME_CONVERT is configured the online redo logs will
  be automatically cleared and physically created when starting recovery.
因此采用上述建议恢复参数
SQL> alter system set standby_file_management=auto;
设置参数,与主库相同,本次并不做转换
alter system set LOG_FILE_NAME_CONVERT ='/oracle/oradata/redolog/','/oracle/oradata/redolog/' scope=spfile;
SQL> startup force mount;
重启dg生效参数开启mrp进程
SQL>recover managed standby database disconnect from session;
观察db_alert
Managed Standby Recovery not using Real Time Apply
 parallel recovery started with 16 processes
Tue Nov 26 22:57:15 2019
Waiting for all non-current ORLs to be archived...
Tue Nov 26 22:57:15 2019
Errors in file /oracle/admin/webdb/bdump/webdb_mrp0_13806.trc:
ORA-00313: open failed for members of log group 1 of thread 1
ORA-00312: online log 1 thread 1: '/oracle/oradata/redolog/redo1.log'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
Tue Nov 26 22:57:15 2019

操作系统验证-日志存在
[oracle@ytwebdb redolog]$ cd /oracle/oradata/redolog/
[oracle@ytwebdb redolog]$ ls -lrt
total 8388672
-rw-r----- 1 oracle dba 1073742336 Nov 26 22:57 redo1.log
-rw-r----- 1 oracle dba 1073742336 Nov 26 22:57 redo2.log
-rw-r----- 1 oracle dba 1073742336 Nov 26 22:57 redo3.log
-rw-r----- 1 oracle dba 1073742336 Nov 26 22:57 redo4.log

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle Data Guard(DG)是一个高可用性解决方案,可以将主数据库的数据实时复制到一个或多个备用数据库中。以下是Oracle DG搭建的步骤: 1. 在主数据库上启用归档模式。在主机上运行以下命令: ``` SQL> alter database archivelog; SQL> alter system switch logfile; ``` 2. 在主数据库上创建归档目标路径。在主机上运行以下命令: ``` SQL> alter system set log_archive_dest_1='LOCATION=/u01/archivelog'; ``` 3. 在主数据库上创建一个备用控制文件。在主机上运行以下命令: ``` SQL> alter database create standby controlfile as '/u01/controlfile/control01.ctl'; ``` 4. 在备用数据库上创建一个PFILE文件。在备用主机上运行以下命令: ``` SQL> create pfile='/u01/pfile/init_standby.ora' from spfile; ``` 5. 修改PFILE文件。在备用主机上编辑PFILE文件,并添加以下参数: ``` # 指定数据库名称 db_name='database_name' # 指定主数据库的连接信息 standby_file_management='AUTO' log_archive_dest_1='LOCATION=/u01/archivelog' log_archive_dest_2='SERVICE=database_name LGWR SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=database_name' # 指定主数据库的IP地址和端口号 remote_login_passwordfile='EXCLUSIVE' fal_client='database_name' fal_server='database_name' standby_archive_dest='/u01/archivelog' db_file_name_convert='/u01/oradata/DB','/u01/oradata/STANDBY' log_file_name_convert='/u01/oradata/DB','/u01/oradata/STANDBY' ``` 6. 启动备用数据库并连接到SQL Plus。在备用主机上运行以下命令: ``` SQL> startup nomount pfile='/u01/pfile/init_standby.ora'; SQL> alter database mount standby database; ``` 7. 在主数据库上创建一个备用日志传输服务。在主机上运行以下命令: ``` SQL> alter system set log_archive_dest_2='SERVICE=database_name LGWR SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=database_name'; SQL> alter system switch logfile; ``` 8. 在备用数据库上启动日志传输服务。在备用主机上运行以下命令: ``` SQL> alter system set log_archive_dest_2='SERVICE=database_name LGWR SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=database_name'; SQL> alter system switch logfile; ``` 9. 在主数据库上启用DG。在主机上运行以下命令: ``` SQL> alter database add standby logfile group 4 ('/u01/oradata/DB/redo04a.log', '/u01/oradata/STANDBY/redo04b.log') size 50m; SQL> alter database add standby logfile group 5 ('/u01/oradata/DB/redo05a.log', '/u01/oradata/STANDBY/redo05b.log') size 50m; SQL> alter system switch logfile; SQL> alter system switch logfile; SQL> alter system switch logfile; SQL> alter database force logging; SQL> create user sysdg identified by password; SQL> grant sysdg to sysdba; SQL> alter database set standby database to maximize performance; ``` 10. 在备用数据库上启用DG。在备用主机上运行以下命令: ``` SQL> alter database add standby logfile group 4 ('/u01/oradata/DB/redo04a.log', '/u01/oradata/STANDBY/redo04b.log') size 50m; SQL> alter database add standby logfile group 5 ('/u01/oradata/DB/redo05a.log', '/u01/oradata/STANDBY/redo05b.log') size 50m; SQL> alter system switch logfile; SQL> alter system switch logfile; SQL> alter system switch logfile; SQL> alter database force logging; SQL> create user sysdg identified by password; SQL> grant sysdg to sysdba; SQL> alter database set standby database to maximize performance; ``` 11. 启动DG。在备用主机上运行以下命令: ``` SQL> alter database recover managed standby database disconnect from session; ``` 这些是搭建Oracle DG的基本步骤。但是在实际应用中,还需要根据特定的需求进行一些调整和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值