以只读方式打开PHYSICAL STANDBY数据库,进行测试,然后还原

php中文网
发布: 2016-06-07 17:34:29
原创
1256人浏览过

以只读方式打开PHYSICAL STANDBY数据库,进行测试,然后还原

a. 检查standby的状态
sql> select name,database_role,open_mode,switchover_status from v$database;
name      database_role    open_mode  switchover_status
--------- ---------------- ---------- --------------------
orcldb    physical standby mounted    not allowed

b.判断flashback_on是否开启
SQL> select flashback_on from v$database;
FLASHBACK_ON
------------------
YES

c.闪回恢复区设置检测
SQL> show parameter db_recovery_file_dest
NAME                                TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest                string      /u01/Oracle/flash_recovery_are
a
db_recovery_file_dest_size          big integer 2G

d.取消日志应用
SQL> alter database recover managed standby database cancel;
Database altered.

e.创建还原点
SQL> create restore point restore_point_readonly guarantee flashback database;
Restore point created.

f.在主库上进行日志切换,日志发送设置为延迟
SQL> alter system archive log current;
System altered.
SQL> alter system set log_archive_dest_state_2=defer;
System altered.

 
h.激活备库到read write状态,并打开
SQL> alter database activate standby database;
Database altered.
SQL> alter database open;
Database altered.
SQL> select name,open_mode,database_role,db_unique_name from v$database;
NAME      OPEN_MODE  DATABASE_ROLE    DB_UNIQUE_NAME
--------- ---------- ---------------- ------------------------------
ORCLDB    READ WRITE PRIMARY          PHYSTDBY

i.进行read write测试
SQL> create table scott.t as select * from dba_objects;
Table created.
SQL> select count(*) from scott.t;
COUNT(*)
----------
49745
SQL> truncate table scott.t;
Table truncated.
SQL> select count(*) from scott.t;
COUNT(*)
----------
0

j.测试结束,准备还原备库。  先强制启动到mount状态,然后进行数据库闪回
 
SQL> startup mount force
ORACLE instance started.
Total System Global Area  390070272 bytes
Fixed Size                  2021024 bytes
Variable Size            142608736 bytes
Database Buffers          243269632 bytes
Redo Buffers                2170880 bytes
Database mounted.
SQL> flashback database to restore point restore_point_readonly;
Flashback complete.

k.将数据库转换为physical standby
SQL> alter database convert to physical standby;
Database altered.

 
l.再次强制启动到mout状态,,然后应用日志
 
SQL> startup mount force
ORACLE instance started.
Total System Global Area  390070272 bytes
Fixed Size                  2021024 bytes
Variable Size            142608736 bytes
Database Buffers          243269632 bytes
Redo Buffers                2170880 bytes
Database mounted.
SQL> alter database recover managed standby database disconnect from session;
Database altered.

m.在主库把日志传送启用,切换日志
SQL> alter system set log_archive_dest_state_2=enable;
System altered.
SQL> alter system archive log current;
System altered.

n.观察备库日志,即可发现已经正常切换至physical standby,应用日志正常。
 
alter database recover managed standby database disconnect from session
Sun Jan  5 07:43:47 2014
Attempt to start background Managed Standby Recovery process (PHYSTDBY)
MRP0 started with pid=22, OS id=13951
Sun Jan  5 07:43:47 2014
MRP0: Background Managed Standby Recovery process started (PHYSTDBY)
Managed Standby Recovery not using Real Time Apply
Clearing online redo logfile 1 /u01/oracle/oradata/ORCLDB/redo01.log
Clearing online log 1 of thread 1 sequence number 1
Sun Jan  5 07:43:53 2014
Completed: alter database recover managed standby database disconnect from session
Sun Jan  5 07:43:55 2014
Clearing online redo logfile 1 complete
Media Recovery Log /u01/oracle/arch1/PHYSTDBY/1_39_795970778.dbf
Media Recovery Log /u01/oracle/arch1/PHYSTDBY/1_40_795970778.dbf
Media Recovery Waiting for thread 1 sequence 41
Sun Jan  5 07:44:56 2014
Redo Shipping Client Connected as PUBLIC
-- Connected User is Valid
RFS[1]: Assigned to RFS process 13953
RFS[1]: Identified database type as 'physical standby'
Primary database is in MAXIMUM AVAILABILITY mode
Changing standby controlfile to RESYNCHRONIZATION level
Sun Jan  5 07:44:56 2014
RFS LogMiner: Client disabled from further notification
Primary database is in MAXIMUM AVAILABILITY mode
Changing standby controlfile to MAXIMUM AVAILABILITY level
RFS[1]: Successfully opened standby log 4: '/u01/oracle/oradata/ORCLDB/stdby_redo04.log'
Sun Jan  5 07:44:56 2014
Redo Shipping Client Connected as PUBLIC
-- Connected User is Valid
RFS[2]: Assigned to RFS process 13955
RFS[2]: Identified database type as 'physical standby'
RFS[2]: Successfully opened standby log 5: '/u01/oracle/oradata/ORCLDB/stdby_redo05.log'
Sun Jan  5 07:45:01 2014
Media Recovery Log /u01/oracle/arch1/PHYSTDBY/1_41_795970778.dbf
Media Recovery Waiting for thread 1 sequence 42 (in transit)
Sun Jan  5 07:45:16 2014
Redo Shipping Client Connected as PUBLIC
-- Connected User is Valid
RFS[3]: Assigned to RFS process 13959
RFS[3]: Identified database type as 'physical standby'

推荐阅读:

Data Guard 配置 Standby Redo Log

RMAN duplicate for Standby失败解决过程

Data Gurad物理备份方式下以READ ONLY/WRITE模式打开物理Standby

RAC primary+Single Standby DG配置实践

Oracle Standby 策略 PPT

linux

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号