1、环境信息

primary数据库(必须运行在归档模式)

ip

127.71.28.71

sid

test

db_unique_name

test

log_mode

archivelog

force_logging

no

standby数据库

ip

127.71.48.38

sid

ebstest_stby

db_unique_name

db_standby

设置提示,以区分操作的位置

primary数据库

set SQLPROMPT Primary>

standby数据库

set SQLPROMPT StandBy>

2、Standby端新建数据库用户

当前的环境中已经有dba用户组,因此只新建用户ebstest_standby即可

[wangshengzhuang@ebstest ~]$ sudo useradd -g dba ebstest_standby

3、拷贝ORACLE_HOME目录至备库服务器

在StandBy上创建如下oracle软件父目录

[ebstest_standby@ebstest ebstest_standby]$ mkdir -p /ebstest/ebstest_standby

压缩Primary的数据库目录(排除trace和audit目录,大约需要7分钟)

tar -zcvf  ebstest_oracle_home_20151225.tar.gz  /TEST/db/tech_st  --exclude  /TEST/db/tech_st/11.1.0/admin  --exclude /TEST/db/tech_st/11.1.0/rdbms/audit 

传送上面生成的压缩文件至Standby服务器

[oratest@erptest db]$ scp ebstest_oracle_home_20151225.tar.gz  ebstest_standby@127.71.48.38:/ebstest/ebstest_standby

在Standby服务器解压

[ebstest_standby@ebstest ebstest_standby]$ tar -zxvf ebstest_oracle_home_20151225.tar.gz

4、standby端创建数据库相关目录

查询primary端的目录

SQL> select name ,value from v$parameter  where name in ('audit_file_dest','background_dump_dest','control_files','core_dump_dest','user_dump_dest') ORDER BY name ASC;

NAME                           VALUE
------------------------------ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
audit_file_dest /TEST/db/tech_st/11.1.0/rdbms/audit
background_dump_dest /TEST/db/tech_st/11.1.0/admin/TEST_erptest/diag/rdbms/test/TEST/trace
control_files /TEST/db/apps_st/data/cntrl01.dbf, /TEST/db/apps_st/data/cntrl02.dbf, /TEST/db/apps_st/data/cntrl03.dbf
core_dump_dest /TEST/db/tech_st/11.1.0/admin/TEST_erptest/diag/rdbms/test/TEST/cdump
user_dump_dest /TEST/db/tech_st/11.1.0/admin/TEST_erptest/diag/rdbms/test/TEST/trace

对应的standby端对应的目录

audit_file_dest /ebstest/ebstest_standby/TEST/db/tech_st/11.1.0/rdbms/audit
background_dump_dest /ebstest/ebstest_standby/TEST/db/tech_st/11.1.0/admin/TEST_erptest/diag/rdbms/test/TEST/trace
core_dump_dest /ebstest/ebstest_standby/TEST/db/tech_st/11.1.0/admin/TEST_erptest/diag/rdbms/test/TEST/cdump
user_dump_dest /ebstest/ebstest_standby/TEST/db/tech_st/11.1.0/admin/TEST_erptest/diag/rdbms/test/TEST/trace
control_files /ebstest/ebstest_standby/TEST/db/apps_st/data/cntrl01.dbf, /ebstest/ebstest_standby/TEST/db/apps_st/data/cntrl02.dbf,

/ebstest/ebstest_standby /TEST/db/apps_st/data/cntrl03.dbf

创建上述目录

[ebstest_standby@ebstest ebstest_standby]$ mkdir -p /ebstest/ebstest_standby/TEST/db/tech_st/11.1.0/rdbms/audit
[ebstest_standby@ebstest ebstest_standby]$ mkdir -p /ebstest/ebstest_standby/TEST/db/tech_st/11.1.0/admin/TEST_erptest/diag/rdbms/test/TEST/trace
[ebstest_standby@ebstest ebstest_standby]$ mkdir -p /ebstest/ebstest_standby/TEST/db/tech_st/11.1.0/admin/TEST_erptest/diag/rdbms/test/TEST/cdump
[ebstest_standby@ebstest db]$ mkdir -p /ebstest/ebstest_standby/TEST/db/apps_st/data/

5、修改standby环境变量

.bash_profile中添加:

. /ebstest/ebstest_standby/TEST/db/tech_st/11.1.0/TEST_erptest.env

修改/ebstest/ebstest_standby/TEST/db/tech_st/11.1.0/TEST_erptest.env

  • 将所有的/TEST/db/tech_st/11.1.0/ 替换为/ebstest/ebstest_standby/TEST/db/tech_st/11.1.0/  一共21处
  • 设置ORACLE_SID为EBSTEST_STBY

确认结果

[ebstest_standby@ebstest ~]$ source .bash_profile
[ebstest_standby@ebstest ~]$ echo $ORACLE_SID
EBSTEST_STBY

6、密码文件

直接从Primary数据库复制密钥文件过来

[oratest@erptest dbs]$ pwd
/TEST/db/tech_st/11.1.0/dbs
[oratest@erptest dbs]$ scp orapwTEST ebstest_standby@127.71.48.38:/ebstest/ebstest_standby/TEST/db/tech_st/11.1.0/dbs

改名

[ebstest_standby@ebstest dbs]$ mv orapwTEST  orapwEBSTEST_STBY

7、修改Primary端spfile文件参数

查询Primary库的db_unique_name

SQL> show parameter db_unique

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_unique_name string TEST

修改Primay端spfile参数值(因为不要求switchover 很多参数值未设置)

-------为了不重启,沿用上面的db_unique_name   
----alter system set DB_UNIQUE_NAME=TEST scope=spfile;
alter system set LOG_ARCHIVE_CONFIG='DG_CONFIG=(TEST,db_standby)'
alter system set LOG_ARCHIVE_DEST_2='SERVICE=tns_standby LGWR ASYNC NOAFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=db_standby'
alter system set LOG_ARCHIVE_DEST_STATE_2=DEFER

8、生成StandBy端spfile文件

首先在primary端生成pfile文件

SQL>  create pfile ='/TEST/initEBSTEST_STBY.ora'  from spfile;

File created.

拷贝到备库

[oratest@erptest TEST]$ scp initEBSTEST_STBY.ora  ebstest_standby@127.71.48.38:/ebstest/ebstest_standby/TEST/db/tech_st/11.1.0/dbs
ebstest_standby@127.71.48.38's
password:
initEBSTEST_STANDBY.ora 100% 2770 2.7KB/s 00:00

修改如下

  1. 内存参数中的TEST 改为 EBSTEST_STBY
  2. 修改pfile中各种文件的路径
  3. 修改下面dataguard涉及的参数:
*.db_unique_name='db_standby'
*.LOG_ARCHIVE_CONFIG='DG_CONFIG=(TEST,db_standby)'
*.log_archive_dest_2='SERVICE=tns_primary LGWR ASYNC NOAFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=TEST'
*.log_archive_dest_state_2='ENABLE' *.DB_FILE_NAME_CONVERT= '/TEST/db/apps_st/data/','/ebstest/ebstest_standby/TEST/db/apps_st/data/'
*.LOG_FILE_NAME_CONVERT='/TEST/db/apps_st/data/','/ebstest/ebstest_standby/TEST/db/apps_st/data/' *.FAL_SERVER=tns_primary
*.FAL_CLIENT=tns_standby
*.STANDBY_FILE_MANAGEMENT=AUTO

通过复制的pfile创建Standby数据库的spfile

StandBy> create spfile from pfile;

File created.

9、Standby端配置监听

查看listener.ora位置(.env中配置的)

[ebstest_standby@ebstest ebstest_standby]$ echo $TNS_ADMIN
/ebstest/ebstest_standby/TEST/db/tech_st/11.1.0/network/admin/TEST_erptest

standby端配置静态监听(服务名GLOBAL_DBNAME = StandBy,后面配置tns会用到)

TESTSTBY =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.71.48.38)(PORT = 1529))
)
) SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = StandBy)
(ORACLE_HOME =/ebstest/ebstest_standby/TEST/db/tech_st/11.1.0)
(SID_NAME = EBSTEST_STBY)
)
)

启动监听

[ebstest_standby@ebstest TEST_erptest]$ lsnrctl start

查看监听该状态

[ebstest_standby@ebstest ebstest_standby]$ lsnrctl status

10、配置网络服务名tns,并测试互通性

primary端和standby端配置tns

tns_primary =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.71.28.71)(PORT = 1529))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = TEST)
)
) tns_standby =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.71.48.38)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME =StandBy )
)
)

测试

tnsping tns_primary
tnsping tns_standby

11、duplicate standby

备库Standby启动到nomount

SQL> startup nomount
ORACLE instance started. Total System Global Area 3290345472 bytes
Fixed Size 2217832 bytes
Variable Size 1795164312 bytes
Database Buffers 1476395008 bytes
Redo Buffers 16568320 bytes

rman连接到两个数据库

[oratest@erptest ~]$ rman target sys/yourpassword@tns_primary auxiliary sys/yourpassword@tns_standby

开始复制(确保备库有足够的空间,否则会报错)

RMAN> DUPLICATE TARGET DATABASE FOR STANDBY FROM ACTIVE DATABASE DORECOVER NOFILENAMECHECK;

复制完以后大概1T左右,大约需要3个多小时

[ebstest_standby@ebstest ebstest_standby]$ du -hs TEST/
988G TEST/

12、添加Standby REDO log

查看主库的redo log的大小

SQL> select * from v$logfile;

GROUP# STATUS     TYPE       MEMBER                                             IS_
------ ---------- ---------- -------------------------------------------------- ---
3 ONLINE /TEST/db/apps_st/data/log03b.dbf NO
3 ONLINE /TEST/db/apps_st/data/log03a.dbf NO
2 ONLINE /TEST/db/apps_st/data/log02b.dbf NO
2 ONLINE /TEST/db/apps_st/data/log02a.dbf NO
1 ONLINE /TEST/db/apps_st/data/log01a.dbf NO
1 ONLINE /TEST/db/apps_st/data/log01b.dbf NO 6 rows selected. SQL> select * from v$log; GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIME
------ ---------- ---------- ---------- ---------- --- ---------- ------------- ------------------
1 1 1288 1048576000 2 NO CURRENT 5.9797E+12 04-JAN-16
2 1 1286 1048576000 2 YES INACTIVE 5.9797E+12 04-JAN-16
3 1 1287 2147483648 2 YES INACTIVE 5.9797E+12 04-JAN-16

当前有三组、每组1个member、大小为1000M, 我们增加四组,每组2个member,大小为1000M

ALTER DATABASE ADD STANDBY LOGFILE GROUP 

4

('/ebstest/ebstest_standby/TEST/db/apps_st/data/stbyredolog4a.dbf','/ebstest/ebstest_standby/TEST/db/apps_st/data/stbyredolog4b.dbf') SIZE 1000 M; 
 
ALTER DATABASE ADD STANDBY   LOGFILE GROUP 5('/ebstest/ebstest_standby/TEST/db/apps_st/data/stbyredolog5a.dbf','/ebstest/ebstest_standby/TEST/db/apps_st/data/stbyredolog5b.dbf') SIZE  1000 M;
ALTER DATABASE ADD STANDBY   LOGFILE GROUP 6('/ebstest/ebstest_standby/TEST/db/apps_st/data/stbyredolog6a.dbf','/ebstest/ebstest_standby/TEST/db/apps_st/data/stbyredolog6b.dbf') SIZE  1000 M;
ALTER DATABASE ADD STANDBY   LOGFILE GROUP 7('/ebstest/ebstest_standby/TEST/db/apps_st/data/stbyredolog7a.dbf','/ebstest/ebstest_standby/TEST/db/apps_st/data/stbyredolog7b.dbf') SIZE  1000 M;

13、启用primary库的日志传送

Primary>show parameter LOG_ARCHIVE_DEST_STATE_2

NAME                     TYPE            VALUE
------------------------------------ ---------------------- ------------------------------
log_archive_dest_state_2 string DEFER
log_archive_dest_state_20 string enable
log_archive_dest_state_21 string enable
log_archive_dest_state_22 string enable
log_archive_dest_state_23 string enable
log_archive_dest_state_24 string enable
log_archive_dest_state_25 string enable
log_archive_dest_state_26 string enable
log_archive_dest_state_27 string enable
log_archive_dest_state_28 string enable
log_archive_dest_state_29 string enable
Primary>alter system set LOG_ARCHIVE_DEST_STATE_2=ENABLE; System altered.

14、验证&测试

主库插入一条数据

SQL> INSERT INTO "SCOTT"."DEPT" ("DEPTNO", "DNAME", "LOC") VALUES ('13', 'OPERATIONS', 'OPERATIONS');

1 row created.

SQL> commit;

Commit complete.

备库启动实时应用

SQL> alter database recover managed standby database using current logfile disconnect from session;

Database altered.

查询备库

SQL> select * from scott.dept;

    DEPTNO DNAME          LOC
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
13 OPERATIONS OPERATIONS
15 OPERATIONS OPERATIONS

EBS测试环境DataGuard配置的更多相关文章

  1. [转载]SharePoint 2013测试环境安装配置指南

    软件版本 Windows Server 2012 标准版 SQL Server 2012 标准版 SharePoint Server 2013 企业版 Office Web Apps 2013 备注: ...

  2. 服务端测试环境hosts配置检查脚本

    [本文出自天外归云的博客园] 问题 由于A测试环境和B测试环境相互耦合,B测试环境切换导致我方测试环境需要更改后台服务器的响应配置.若多台服务器中有一台服务器没有更改配置,则在测试过程中将会出现问题. ...

  3. python之环境变量(测试环境可配置)

    想要实现的结果是: 执行脚本时,带一个参数,由这个参数来决定测试环境(开发or测试),比如: python test.py dev 实现代码: 方式1 不用__getitem__方式: import ...

  4. hadoop测试环境主配置简例

    1,mapred-site.xml 此配置文件主要是针对mapreduce的配置文件,配置的是jobtracker的地址和端口; <configuration> <property& ...

  5. vue 生产环境和测试环境的配置

    我们引用的是axios 给src目录增加 api 文件夹 里面写上index.js // 配置API接口地址 var root = process.env.API_ROOT // 引用axios va ...

  6. webpack vue-cli2 配置打包测试环境

    目前vue-cli2上原配置是只有开发环境dev和线上环境prod的配置,但是我们实际场景上还有很多需要一个测试环境test,下面就是对测试环境的配置,将测试环境和线上环境的打包代码分开就不需要切来切 ...

  7. 脚手架vue-cli系列五:基于Nightwatch的端到端测试环境

    不同公司和组织之间的测试效率迥异.在这个富交互和响应式处理随处可见的时代,很多组织都使用敏捷的方式来开发应用,因此测试自动化也成为软件项目的必备部分.测试自动化意味着使用软件工具来反复运行项目中的测试 ...

  8. tidb测试环境安装,离线部署

    1.环境以及规划 机器:centos7.5 ; 文件系统为ext4:内存16g:cpu8核,共三个节点: ip hostname roles --- tidb tipd tikv --- tidb t ...

  9. jdk1.7 环境变量配置

    Windows系统中设置环境变量如下图右击“我的电脑”,选择“属性”. 点击“高级”选项卡,选择“环境变量”.  在“系统环境变量”中设置上面提到的3个环境变量,如果变量已经存在就选择“编辑”,否则选 ...

随机推荐

  1. 步步为营-20-XML

    说明:可扩展标记语言 eXtensible Markup Language--区分大小写 涉及到的知识点:DOM 文档对象模型 文本文件存储数据缺点:1,不易读取.2,易乱码 1 通过代码创建一个xm ...

  2. JavaScript脚本的两种放置方式

    JavaScript脚本的两种放置方式 1在body里用 script标签引用 2 直接写在<script></script>标签之中

  3. 2018-2019 2 20165203 《网络对抗技术》Exp5 MSF基础

    2018-2019 2 20165203 <网络对抗技术>Exp5 MSF基础 实验内容 本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路.具体需要完成: ...

  4. 一.hadoop入门须知

    目录: 1.hadoop入门须知 2.hadoop环境搭建 3.hadoop mapreduce之WordCount例子 4.idea本地调试hadoop程序 5.hadoop 从mysql中读取数据 ...

  5. 6-10 下落的树叶 uva699

    类似第九题  都是属于比较巧妙的题目  ! 用一个p数组来保存水平值   然后开始built 自然就会按照自左而右的顺序来读取!!!!!!这很重要 #include<bits/stdc++.h& ...

  6. 兼容ie10以下版本的placeholder属性

    <script src="${ctx }/js/jquery.placeholder.js" type="text/javascript">< ...

  7. windows系统,添加网络位置向导。

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha ============ 创建一个文件夹 共享. 共享位置 ,文件夹 图标 修改. 分组 ...

  8. BZOJ.1875.[SDOI2009]HH去散步(DP 矩阵乘法)

    题目链接 比较容易想到用f[i][j]表示走了i步后到达j点的方案数,但是题目要求不能走上一条走过的边 如果这样表示是不好转移的 可以考虑边,f[i][j]表示走了i步后到达第j条边的方案数,那么有 ...

  9. 【数据结构与算法】自己动手实现图的BFS和DFS(附完整源码)

    转载请注明出处:http://blog.csdn.net/ns_code/article/details/19617187 图的存储结构 本文的重点在于图的深度优先搜索(DFS)和广度优先搜索(BFS ...

  10. CocosCreator原生平台退出游戏,暂停和继续

    原生平台退出游戏,方法为:cc.director.end();官方解释:End the life of director in the next frame暂停游戏,方法: cc.director.p ...