ITPub博客

首页 > 数据库 > Oracle > orale d

orale d

Oracle 作者:zhengbao_jun 时间:2014-12-24 14:16:00 0 删除 编辑
DataGuard FailOver
模拟主库实例已经崩溃,但是数据库文件可用,比如数据库文件存放在磁盘阵列上..
1.在一个物理StandBy最大性能的环境下,中断备库的监听器
2.主库切换联机重做日志(模拟主库的日志不能传送到备库的场景)
SQL> alter system archive log current;
System altered.
SQL> /
System altered.
SQL> /
System altered.
SQL> /
System altered.

3.停止主库的实例
SQL> shutdown abort;
ORACLE instance shut down.

4.备库查看GAP,和尚未收到归档文件的信息
查看视图,没有GAP的归档
SQL> select * from v$archive_gap;
no rows selected

查看备库应用归档的信息
备库已经应用到97号归档
select sequence#,name from v$archived_log;


5.登录主库服务器,将尚未传送到备库的归档通过scp传输到备库
一般来说,服务器故障也是有可能得到磁盘上的文件的.
比如
  使用了磁盘阵列,通过网络存储数据
  仅仅是数据库故障,而主机可以使用
  主机不可用,但是可以恢复磁盘上的数据
  等等
登录主库所在的服务器
可以看到98,99,100号归档文件还在

查看联机重做日志,通过最后修改时间,找到最后的redolog文件--redo02.log

将这些文件通过SCP传输到备库
[lihuilin@lihuilin orcl]$ scp redo02.log root@mysql1:/tmp

[lihuilin@lihuilin 2014_11_10]$ scp o1_mf_1_{98,99,100}*.arc root@mysql1:/tmp

6.备库注册归档日志,应用redolog文件
备库注册缺失的归档日志文件
alter database register logfile '/tmp/o1_mf_1_98_b5z6nyjk_.arc';
alter database register logfile '/tmp/o1_mf_1_99_b5z6o2nd_.arc';
alter database register logfile '/tmp/o1_mf_1_100_b5z6o498_.arc';
备库中止恢复模式
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
备库进行恢复
recover standby database until cancel;
看到如下内容,输入redolog文件的位置
Specify log: {=suggested | filename | AUTO | CANCEL}
最后恢复完成
Specify log: {=suggested | filename | AUTO | CANCEL}
/tmp/redo02.log
Log applied.
Media recovery complete.

7.激活备库
备库输入命令
alter database activate standby database;
alter database open;

查看备库现在的状态,FailOver已经完成.
SQL> select database_role,open_mode from v$database;

DATABASE_ROLE     OPEN_MODE
---------------- --------------------
PRIMARY      READ WRITE
物理StandBy优点是效率高,缺点是只读模式不能恢复,恢复模式不能查询.
逻辑StandBy可以打开数据库,同时进行恢复.

搭建逻辑StandBy首先需要一个物理StandBy的环境.
http://blog.itpub.net/29254281/viewspace-1315088/

1.在备库终止恢复模式
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL; 

2.修改主库的归档目标,执行过程创建相关对象
alter system set log_archive_dest_2='service=standby valid_for=(all_logfiles,all_roles) db_unique_name=orcl' scope=both;

execute dbms_logstdby.build;

3.备库执行转换命令,并打开数据库
alter database recover to logical standby orcl;

shutdown immediate;
startup mount;
alter database open resetlogs;

4.备库应用日志进行恢复.
alter database start logical standby apply;



物理StandBy优点是效率高,缺点是只读模式不能恢复,恢复模式不能查询.
逻辑StandBy可以打开数据库,同时进行恢复.

搭建逻辑StandBy首先需要一个物理StandBy的环境.
http://blog.itpub.net/29254281/viewspace-1315088/

1.在备库终止恢复模式
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL; 

2.修改主库的归档目标,执行过程创建相关对象
alter system set log_archive_dest_2='service=standby valid_for=(all_logfiles,all_roles) db_unique_name=orcl' scope=both;

execute dbms_logstdby.build;

3.备库执行转换命令,并打开数据库
alter database recover to logical standby orcl;

shutdown immediate;
startup mount;
alter database open resetlogs;

4.备库应用日志进行恢复.
alter database start logical standby apply;


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/235507/viewspace-1378484/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 限制用户
请登录后发表评论 登录
全部评论

注册时间:2008-08-08

  • 博文量
    209
  • 访问量
    864906