设为首页 收藏本站
查看: 1410|回复: 0

[经验分享] Open Snapshot Standby Database

[复制链接]

尚未签到

发表于 2019-1-27 06:58:05 | 显示全部楼层 |阅读模式
1.停止Redo Apply
  如果备库正处于Redo Apply过程,需要先取消。
SQL> alter database recover managed standby database cancel;

Database altered.

2.查看当前备库状态确保备库处于MOUNTED状态
SQL> select database_role,open_mode from v$database;

DATABASE_ROLE    OPEN_MODE
---------------- --------------------
PHYSICAL STANDBY MOUNTED


3.确保闪回恢复区已指定
  友情提示:实现Snapshot Standby数据库功能并不需要开启主库和备库的闪回数据库(Flashback Database)功能,与是否开启闪回数据库无关。
SQL> show parameter db_recovery_file_dest

NAME                        TYPE         VALUE
--------------------------- ------------ ------------------------------------
db_recovery_file_dest       string       /u01/app/oracle/flash_recovery_area
db_recovery_file_dest_size big integer 3852M


sys@ora11g> select FLASHBACK_ON from v$database;

FLASHBACK_ON
------------------
NO

SQL> select FLASHBACK_ON from v$database;

FLASHBACK_ON
------------------
NO

4.调整备库到Snapshot Standby数据库状态
SQL> alter database convert to snapshot standby;

Database altered.

SQL> select database_role,open_mode from v$database;

DATABASE_ROLE    OPEN_MODE
---------------- --------------------
SNAPSHOT STANDBY MOUNTED

5.将备库置于对外可读写状态
SQL> alter database open;

Database altered.

SQL> select database_role,open_mode from v$database;

DATABASE_ROLE    OPEN_MODE
---------------- --------------------
SNAPSHOT STANDBY READ WRITE



6. 切换过程中的日志信息
Created guaranteed restore point SNAPSHOT_STANDBY_REQUIRED_03/19/2012 18:46:26


7.测试备库处于Snapshot Standby数据库对主库日志的接收
  当主库切换日志时,备库依然可以接收到日志,只是并不应用
1)主库切换日志
sys@ora11g> alter system switch logfile;

System altered.

2)查主/备库记录的alert日志内容

3)查看主库和备库归档目录下的日志文件内容
(1)主库归档日志文件
ora11g@secdb /home/oracle/arch/ora11g$ ls –ltr

(2)备库归档日志文件
ora11g@secdb /home/oracle/arch/ora11gdg$ ls -ltr


8.在Snapshot Standby数据创建用户和表并初始化数据
SQL> create user BOYUAN identified by BOYUAN;

User created.

secooler@ora11gdg> grant dba to BOYUAN;

Grant succeeded.

Orapre$ > conn BOYUAN/BOYUAN
Connected.
BOYUAN@ora11gdg> create table t (x varchar2(8));

Table created.

BOYUAN@ora11gdg> insert into t values ('Secooler');

1 row created.

BOYUAN@ora11gdg> commit;

Commit complete.

BOYUAN@ora11gdg> select * from t;

X
--------
Secooler

实现Snapshot Standby数据库功能是基于闪回数据原理的,因此任何导致闪回数据库无法回退的动作在这里也要规避,否则Snapshot Standby数据库将无法回到曾经的备库恢复状态。



9.恢复Snapshot Standby数据库为Physical Standby数据库
1)重启备库到MOUNTED状态
BOYUAN@ora11gdg> conn / as sysdba
Connected.
SQL> shutdown immediate

SQL> select database_role,open_mode from v$database;

DATABASE_ROLE    OPEN_MODE
---------------- --------------------
SNAPSHOT STANDBY MOUNTED

2)恢复到物理备库
SQL> alter database convert to physical standby;

Database altered.
3)备库的alert日志清楚的记录了这个切换的过程
备库没有运行在闪回数据库状态,依然可以使用闪回数据库功能完成备库的角色转换。

4)重启备库到自动恢复日志状态
(1)此时数据库处于NOMOUNTED状态,需要重新启动数据库。
  注意这里是重启数据库,而不是使用alter命令调整,否则会收到如下报错:

SQL> shutdown immediate;
ORA-01507: database not mounted


ORACLE instance shut down.
SQL> startup mount;
ORACLE instance started.

Total System Global Area 313860096 bytes
Fixed Size                  1336232 bytes
Variable Size             268438616 bytes
Database Buffers           37748736 bytes
Redo Buffers                6336512 bytes
Database mounted.
SQL> alter database recover managed standby database disconnect;

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

Database altered.

(2)查看备库alert日志,看恢复的过程。

(3)查看V$ARCHIVED_LOG动态性能视图查看日志应用情况
SQL> select sequence#, first_time, next_time, applied from v$archived_log order by sequence#;

  

10.开启备库到READ ONLY状态验证之前在Snapshot Standby数据库上的操作已撤销
SQL> alter database recover managed standby database cancel;

Database altered.

SQL> alter database open read only;

Database altered.

SQL> select database_role,open_mode from v$database;

DATABASE_ROLE    OPEN_MODE
---------------- --------------------
PHYSICAL STANDBY READ ONLY

SQL> select username from dba_users where username = 'BOYUAN';

no rows selected


  -- The End --




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-667983-1-1.html 上篇帖子: python内置函数中的 IO文件系列 open和os 下篇帖子: BGP消息格式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表