数据卫士中快照备用数据库的配置是什么?我相信很多没有经验的人对此是无可奈何的。因此,本文总结了问题产生的原因及解决方法。希望你能通过这篇文章解决这个问题。
数据保护-快照备用数据库配置
摘要
-
通常,物理备用数据库处于挂载状态,接收和应用主库的REDO日志,物理备用数据库不能提供外部访问。如果需要只读访问,那么可以以只读方式临时打开物理备用数据库,或者配置ACTIVE DATA GUARD,使物理备用数据库可以有只读访问(如报表业务查询),但物理备用数据库不能有读写操作。
在某些情况下,为了实现系统的压力测试、Real Application Testing(RAT)或其他读写操作测试,物理备用数据库可以临时转换为快照备用数据库,然后进行测试,因为快照备用数据库独立于主库,可以读写。测试时,快照备用数据库正常接收主库的归档日志,以保证主库的数据安全,但这些日志不会被应用。压力测试结束后,快照备用数据库可以轻松转换为物理备用数据库,以继续同步主库日志。
部署
-
1.物理备用配置闪回日志
SQL Alter系统设置db _ recovery _ file _ dest _ size=500M;
系统改变了。
SQL Alter系统设置db _ recovery _ file _ dest='/u01/app/Oracle/snapshot _待机';
系统改变了。
2.物理待机停止应用程序日志
SQL alter database恢复托管备用数据库取消;
数据库被修改。
3.物理备用转换为快照备用,并打开快照备用
SQL alter数据库转换为快照备用;
数据库被修改。
SQL alter数据库打开;
数据库被修改。
检查快照备用数据库角色是否为快照备用,打开模式是否为读写:
SQL从v$database中选择DATABASE_ROLE,name,OPEN _ MODE
数据库角色名开放模式
- - -
快照待机FSDB读写
4.对快照备用数据库执行压力测试或真实应用程序测试(RAT)或其他读写操作。
5.测试完成后,将快照备用转换为物理备用,并重新启动应用程序日志。
SQL立即关闭;
数据库关闭。
数据库已卸载。
ORACLE实例关闭。
SQL启动装载;
ORACLE实例已启动。
数据库已装载。
将数据库转换为物理备用;
数据库被修改。
SQL立即关闭;
ORA-01507:数据库未装入
ORACLE实例关闭。
SQL启动装载;
ORACLE in
stance started.
Database mounted.
SQL>ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
Database altered.
5.转换为物理standby后,查看备库角色是PHYSICAL STANDBY,open模式是MOUNTED
SQL> select DATABASE_ROLE,name,OPEN_MODE from v$database;
DATABASE_ROLE NAME OPEN_MODE
---------------- --------- --------------------
PHYSICAL STANDBY FSDB MOUNTED
6.检查主库和物理备库日志是同步的
主库日志:
SQL> select ads.dest_id,max(sequence#) "Current Sequence",
max(log_sequence) "Last Archived"
from v$archived_log al, v$archive_dest ad, v$archive_dest_status ads
where ad.dest_id=al.dest_id
and al.dest_id=ads.dest_id
and al.resetlogs_change#=(select max(resetlogs_change#) from v$archived_log )
group by ads.dest_id;
DEST_ID Current Sequence Last Archived
---------- ---------------- -------------
1 361 361
2 361 362
--备库日志
SQL> select al.thrd "Thread", almax "Last Seq Received", lhmax "Last Seq Applied"
from (select thread# thrd, max(sequence#) almax
from v$archived_log
where resetlogs_change#=(select resetlogs_change# from v$database)
group by thread#) al,
(select thread# thrd, max(sequence#) lhmax
from v$log_history
where resetlogs_change#=(select resetlogs_change# from v$database)
group by thread#) lh
where al.thrd = lh.thrd;
Thread Last Seq Received Last Seq Applied
---------- ----------------- ----------------
1 361 361
看完上述内容,你们掌握Data Guard中Snapshot Standby Database配置是怎样的的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/84794.html