*此处安装ORACLE DATAGUARD是利用ORACLE RMAN DUPLICATE方式安装。
*可以搭建好ORACLE DG再来impdp生产数据,也可以先导入主库数据再来做DG
*注意看下面的配置文件,此处LISTENER TNSNAMES里的SID_NAME我都是用的db_name的ora,没有测试其它的
*TNSNAMES的起名orcl_pd orcl_sd我都用用和db_unique_name一样的

*版本CENTOS6.5  ORACLE11.2.0.4

1、两台服务器上分别安装数据库软件,只安装软件不安装实例,为了减少复杂度,所有目录都一样
安装请参考其他文档
2、在主库上安装数据库实例ORA
DBCA安装
修改日志文件大小
内存分配好
3、在主库上创建与旧库一样的用户名表空间

create tablespace ekp
datafile '/u01/app/oracle/oradata/ora/ora01.dbf'
size 10240M
autoextend on
next 512M
extent management local; create temporary tablespace ora_temp
tempfile'/u01/app/oracle/oradata/ora/ora_temp.dbf'
size 10240m
autoextend on
next 512m
extent management local; create user ora identified by abcABC123 default tablespace ekp temporary tablespace ora_temp;
grant connect,resource,dba to ora;

4、停止应用,到旧库上导出用户数据

expdp ora/abcABC123 DIRECTORY=oa_databackup dumpfile=oadb1010.dmp logfile=oadbf111.log schemas=ora compression=all

5、把备份文件拷贝到主库上,创建directory,然后导入数据IMPDP

mkdir -p /u01/app/oracle/bakdump
create or replace directory oa_databackup as '/u01/app/oracle/bakdump';

6、主库参数修改
1)开启归档

shutdown immediate;
startup mount;
alter database archivelog;
archive log list;
alter database open;

2)强制写日志

alter database force logging;

3)增加备库日志

ALTER DATABASE ADD STANDBY LOGFILE GROUP  ('/u01/app/oracle/oradata/ora/redo04.log') size 50M;
ALTER DATABASE ADD STANDBY LOGFILE GROUP ('/u01/app/oracle/oradata/ora/redo05.log') size 50M;
ALTER DATABASE ADD STANDBY LOGFILE GROUP ('/u01/app/oracle/oradata/ora/redo06.log') size 50M;
ALTER DATABASE ADD STANDBY LOGFILE GROUP ('/u01/app/oracle/oradata/ora/redo07.log') size 50M;

4)监听

--主库

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = ora)
(ORACLE_HOME = /u01/app/oracle/product/11.2./dbhome_1)
(SID_NAME = ora)
)
) LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.13.3.28)(PORT = ))
) ADR_BASE_LISTENER = /u01/app/oracle

--从库

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = ora)
(ORACLE_HOME = /u01/app/oracle/product/11.2./dbhome_1)
(SID_NAME = ora)
)
) LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.13.3.29)(PORT = ))
) ADR_BASE_LISTENER = /u01/app/oracle

5)tnsname

--主库从库一样

orcl_pd =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.13.3.28)(PORT = ))
)
(CONNECT_DATA =
(SERVICE_NAME = ora)
)
) orcl_sd =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.13.3.29)(PORT = ))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ora)
)
)

6)参数文件

主库参数

ora.__db_cache_size=
ora.__java_pool_size=
ora.__large_pool_size=
ora.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
ora.__pga_aggregate_target=
ora.__sga_target=
ora.__shared_io_pool_size=
ora.__shared_pool_size=
ora.__streams_pool_size=
*.audit_file_dest='/u01/app/oracle/admin/ora/adump'
*.audit_trail='db'
*.compatible='11.2.0.4.0'
*.control_files='/u01/app/oracle/oradata/ora/control01.ctl','/u01/app/oracle/fast_recovery_area/ora/control02.ctl'
*.db_block_size=
*.db_domain=''
*.db_name='ora'
*.db_recovery_file_dest='/u01/app/oracle/fast_recovery_area'
*.db_recovery_file_dest_size=
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=oraXDB)'
*.open_cursors=
*.pga_aggregate_target=
*.processes=
*.remote_login_passwordfile='EXCLUSIVE'
*.sessions=
*.sga_target=
*.undo_tablespace='UNDOTBS1' DB_UNIQUE_NAME=orcl_pd
LOG_ARCHIVE_CONFIG='DG_CONFIG=(orcl_pd,orcl_sd)'
LOG_ARCHIVE_DEST_1='LOCATION=/u01/app/oracle/arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=orcl_pd'
LOG_ARCHIVE_DEST_2='SERVICE=orcl_sd ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=orcl_sd'
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENABLE
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
LOG_ARCHIVE_FORMAT=%t_%s_%r.arc
FAL_SERVER=orcl_sd
STANDBY_FILE_MANAGEMENT=AUTO

从库参数

ora.__db_cache_size=
ora.__java_pool_size=
ora.__large_pool_size=
ora.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
ora.__pga_aggregate_target=
ora.__sga_target=
ora.__shared_io_pool_size=
ora.__shared_pool_size=
ora.__streams_pool_size=
*.audit_file_dest='/u01/app/oracle/admin/ora/adump'
*.audit_trail='db'
*.compatible='11.2.0.4.0'
*.control_files='/u01/app/oracle/oradata/ora/control01.ctl','/u01/app/oracle/fast_recovery_area/ora/control02.ctl'
*.db_block_size=
*.db_domain=''
*.db_name='ora'
*.db_recovery_file_dest='/u01/app/oracle/fast_recovery_area'
*.db_recovery_file_dest_size=
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=oraXDB)'
*.open_cursors=
*.pga_aggregate_target=
*.processes=
*.remote_login_passwordfile='EXCLUSIVE'
*.sessions=
*.sga_target=
*.undo_tablespace='UNDOTBS1' DB_UNIQUE_NAME=orcl_sd
LOG_ARCHIVE_CONFIG='DG_CONFIG=(orcl_pd,orcl_sd)'
LOG_ARCHIVE_DEST_1='LOCATION=/u01/app/oracle/arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=orcl_sd'
LOG_ARCHIVE_DEST_2='SERVICE=orcl_pd ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=orcl_pd'
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENABLE
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
LOG_ARCHIVE_FORMAT=%t_%s_%r.arc
FAL_SERVER=orcl_pd
STANDBY_FILE_MANAGEMENT=AUTO

7) impdp 旧数据

impdp ora/abcABC123 DIRECTORY=oa_databackup DUMPFILE=oadb1010.dmp SCHEMAS=ora

7、 备库操作

从主课拷贝密码文件initoracle_sid listener.ora tnsname.ora 到从库对应位置,注意修改相对应的内容,如initora.ora修改上面从库增加的内容,listener.ora修改IP。其它一样
并在从库新建相关目录:

cd /u01/app/oracle
mkdir archivelog
mkdir -p oradata/ora
mkdir -p fast_recovery_area/ora
mkdir -p /u01/app/oracle/admin/ora/adump
mkdir -p /u01/app/oracle/bakdump
mkdir -p /u01/app/oracle/admin/ora/adump

注意修改etc/hosts

8、备库duplicate
备库利用拷贝过来的参数文件启动到nomount

sqlplus / as sysdba
startup nomount pfile='/u01/app/oracle/product/11.2.0/dbhome_1/dbs/initora.ora'

另开窗口rman duplicate复制

rman target sys/oracleadmin@orcl_pd auxiliary sys/oracleadmin@orcl_sd nocatalog
duplicate target database for standby nofilenamecheck from active database;

9、打开备库数据库并开启主从复制

sqlplus / as sysdba
alter database open;
alter database recover managed standby database using current logfile disconnect from session;

10、检查状态

正常情况下主库OPEN_MODE 是WIRITE READ 从库是READ ONLY WITH APPLY

SELECT OPEN_MODE,DATABASE_ROLE,DB_UNIQUE_NAME,SWITCHOVER_STATUS FROM V$DATABASE;

主备库查询下面语句,看看日志是否一致

SELECT MAX(SEQUENCE#) FROM V$ARCHIVED_LOG;

不一致时,主库切换一下日志在查看

ALTER SYSTEM SWITCH LOGFILE;

11、角色切换SWITCHOVER

)主库上
select switchover_status from v$database;
如果状态为SESSION ACTIVE则执行下面
alter database commit to switchover to physical standby with session shutdown;
如果状态为TO_STANDBY则执行下面
alter database commit to switchover to physical standby
(如果切换失败后要重启一下库)
否则要切换一下日志看看alter system switch logfile;
)备库上
select switchover_status from v$database
switchover_status 为NOT ALLOWED
alter database commit to switchover to primary;
)原来主库上
shutdown immediate
startup
alter database recover managed standby database using current logfile disconnect from session;
(上面是开启日志传输,这个是关闭alter database recover managed standby database cancel;)
)原来备库上
shutdown immediate
startup

12、failover灾难切换

假设物理主库宕机,无法启动,紧急启用备库
直接在备库上操作,将备库转换为主库角色
备库上执行下面四条命令即可

SQL > alter database recover managed standby database finish;
SQL > alter database commit to switchover to primary;
SQL > shutdown immediate;
SQL > startup;

 

某控股公司OA系统ORACLE DG搭建的更多相关文章

  1. oracle DG搭建

    Oracle DG 搭建1. 环境 OS IP hostname db_name DB_UNIQUE_NAME主库 RHEL 5.4 192.168.12.20 edgzrip1.oracle.com ...

  2. 【Oracle】搭建DG(DataGuard)

    操作系统:OEL 5.6 Oracle 版本:11.2.0.4.0 DataGuard规划说明 DATABASE_ROLE DB_NAME IPADDR Primary lgr 192.168.10. ...

  3. linux/windows系统oracle数据库简单冷备同步

    linux/windows系统oracle数据库简单冷备同步 我们有一个财务系统比较看重财务数据的安全性,同时我们拥有两套系统,一个生产环境(linux),一个应急备份环境(windows).备份环境 ...

  4. oracle DG 主备切换语句整理

    今日花了一下午时间进行了Oracle DataGuard的切换练习,参考了网上好多文章,最后将一些语句进行摘录,以备以后查询使用.之后有时间会带来Oracle DG的搭建和切换全过程文章. DataG ...

  5. 浅谈OA系统与Portal门户的区别

    随着社会信息化的发展与进步,OA办公自动化软件打破了传统复杂的办公方式,使各个行业实现了高效的无纸化办公.由此一来OA快速成长为继财务软件.ERP软件之后的第三大管理软件.随着企业信息化系统的不断增多 ...

  6. OA系统高性能解决方案(史上最全的通达OA系统优化方案)

    序: 这是一篇针对通达OA系统的整体优化方案,文档将硬件.网络.linux操作系统.程序本身(包括web和数据库)以及现有业务有效结合在一起,进行了系统的整合优化.该方案应用于真实生产环境,部署完成后 ...

  7. DG搭建方式区分

    DG搭建三种方式: 一.异机恢复,restore database,recover database 二. duplicate target database for standby from act ...

  8. 分享泛微公司OA系统用于二次开发的sql脚本

    本单位用的oa系统就是泛微公司的oa协同办公平台,下面是我对他进行二次开发统计用到的写数据库脚本,只做开发参考使用,对于该系统的二次开发技术交流可以加我q:2050372586 [仪表盘]格式sql编 ...

  9. nginx整合php+lua+oracle环境搭建

    nginx整合php+lua+oracle环境搭建 标签: nginxluaoraclephplinux -- : 1473人阅读 评论() 收藏 举报 分类: 技术() 版权声明:本文为博主原创文章 ...

随机推荐

  1. 【JDBC】Java 连接 MySQL 基本过程以及封装数据库工具类

    一. 常用的JDBC API 1. DriverManager类 : 数据库管理类,用于管理一组JDBC驱动程序的基本服务.应用程序和数据库之间可以通过此类建立连接.常用的静态方法如下 static ...

  2. 把要写的内容做个list,半年过去了

    先说点题外话,来国家气象局的第三周,今天出去和丁书记吃了个饭,基本在聊大学时候的人和事,好像都没怎么变,只是不联系的人愈发不会再联系. 抛开学校的课程不谈,半年做了三件事:CUMT校园导航 / Ope ...

  3. Python3.6.1的安装

    Python 3.61的下载和安装,下载地址:https://www.python.org/downloads/ 选择最近的版本,目前为Python3.6.1,下载后直接安装即可 下载包为: 双击安装 ...

  4. 修改Weblogic jdk版本

    找到 F:\Oracle\Middleware\Oracle_Home\user_projects\domains\base_domain\bin setDomainEnv.cmd

  5. Linuxc - 执行c程序

    1.新建工作空间 root@jiqing-virtual-machine:~/cspace/les1# pwd /root/cspace/les1 2.新建c程序 root@jiqing-virtua ...

  6. mysql-innoDB-事务

    事务的隔离级别: READ UNCOMMITTED(未提交读) 在这个级别,事务中的修改,即使没有提交,对其他事务也都是可见的,事务可以读取未提交的数据. READ COMMITTED(提交读) 一个 ...

  7. js swipeDelete 滑动删除

    先上图看看整体实际效果 看看用法 与参数 默认参数 var defaults = { distance:80, //滑动距离 units:'px', //默认单位 touchStart:functio ...

  8. linkin大话面向对象--枚举

    枚举类(enum) 其实我们使用到枚举的地方还是很多的,其实我们可以完全人工的来实现枚举的功能.比如说我现在手里的项目我就是自己实现的枚举,说白了,枚举就是一个类的多例模式. 1,使用enum声明,默 ...

  9. javascript-声明对象及其属性和方法

    /* 方法一 */ var p = new Object(); //声明对象 //为对象添加属性 p.width=300; p.height=400; p.num=4; p.autotime=3; / ...

  10. 申请9位数QQ

    官网:QQ注册第一步:下面手机号不要填写 第二步:验证 第三步:开始填写手机号 注:不行就多试着几次就可以了,是不是很惊喜啊!(漏洞,被腾讯发现就不行了喽)