灾备-DG配置

                                     DG 配置
DATAGUARD 创建主要是配置 primary 数据库和 standby 数据库的相关属性并进行数据库迁移。下面为具体创建步骤:
实验环境 :TEST      ( 10.1.1 .231) 为主库
        STANDBY  ( 10.1.1 .203) 为备库
primary 数据库配置
1 确认主库处于归档模式,如果为非归档则必须改为归档模式
SQL> archive log list;
2 primary 数据库置为 FORCE LOGGING 模式
SQL> alter database force logging;
select FORCE_LOGGING from v$database
3 配置 netmgr 测试两个数据库可以互相连通
测试:在主库 TEST

 
在备库 STANDBY
 
 
4 、创建 TEST 数据库初始化参数文件便于参数修改
SQL> create pfile=
/home/oracle/initdg.ora from spfile;
修改生成的 initdg.ora 参数文件


二、 standby 数据库配置
SQL> create pfile= /home/oracle/initdg.ora from spfile;
修改生成的 initdg.ora 参数文件
三、迁移 test 数据库的数据文件、控制文件到 standby
 1 、启动 standby nomount 状态
 
 2 、主库上利用 RMAN 制作 test 数据库备份 ( 所有 RMAN 操作都在主数据库上执行 )
RMAN > connect target /
RMAN >backup full database format= /home/oracle/backup/%U' include current controlfile for standby;
- rman 的备份集拷贝至 standby 库相同的路径 , 并在主库连接 , 不要断开上面的连接 , 如果断开 , 那么重新连接主库
在备库上 mkdir �Cp /home/oracle/backup  建立与主库相同目录
在主库上拷贝备份集
 scp /home/oracle/backup/ 25kqa6gb_1_1  [email protected]:/home/oracle/backup
 scp /home/oracle/backup/ 24kqa68u_1_1  [email protected]:/home/oracle/backup
Rman 备份的控制文件也要拷到相应的目录
RMAN > connect auxiliary sys/sys@standby
复制 standby 数据库 , 接着上面的连接在主库上执行
RMAN > duplicate target database for standby nofilenamecheck;  正常运行无错误后直接执行
       说明 : 此命令结束后从库直接启动到 mount

修改 standby 数据库自动恢复状态
alter database recover managed standby database disconnect from session;
四、确认 DATAGUARD 环境状态是否正常
主库操作 :
select process from v$managed_standby;
 - 确认主库没有 lns 进程 ( 日志网络服务进程 - 负责把主库归档日志传输到备库 )
如果无此进程则执行下面命令
alter system set log_archive_dest_2='SERVICE=standby LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=standby';
alter system set log_archive_dest_state_2=ENABLE;
alter system switch logfile;
继续确认有无 lns 进程 ,
如果还没有启动则查看相关错误信息
select error from v$archive_dest;            根据具体 ORACLE 错误码查找错误原因 .
 
备库操作 :
SQL> select process from v$managed_standby;
 
RFS                 -- 远程文件服务 - 接收由主库 lns 进程传送过来的日志
MRP0              -- 介质恢复进程 - 同步主库日志数据到从库
 
注意 : 如果没有 RFS 进程 , 则查看主库 lns 进程是否正常 . 如果没有 MRP 进程则执行
alter database recover managed standby database disconnect from session;
五、 READ ONLY 模式打开物理 STANDBY
1 mount 状态下首先取消 redo 应用:
       SQL> alter database recover managed standby database cancel;
       然后再打开数据库
       SQL> alter database open ;
       提示: open 的时候不需要附加 read only 子句, oracle 会根据控制文件判断是否是物理
          Standby ,从而自动启动到 read only 模式,直接 startup 也是同理。
standby 数据库只读模式打开后不能再应用日志进行恢复,与 primary 存在数据延迟,在一定条件下可作为报表服务器使用减小主库压力。
 
2 、从 open 状态切回 redo 应用状态 (mount 状态 ) ,并不需要 shutdown ,直接启用 redo 应用即可
       SQL> alter database recover managed standby database disconnect from session;
       使用下面查询查看修改后的状态是否正确
       SQL> select status from v$instance;

  六、验证
  在切换后的主库上切换日志并查询主备库的归档日志最大序列号是否同时变化,
如果是则切换成功否则检查错误。
主库执行 Alter system switch logfile;
主备库执行下面语句查看日志最大序列号是否同时改变或查看归档日志目录文件数是否同步增加
select max(sequence#) from v$archived_log;
  主库:
  
备库:日志切换前后分别查看
   

本文出自 “理想CTO” 博客,谢绝转载!

你可能感兴趣的:(职场,dg,休闲,灾备)