某控股公司OA系统ORACLE DG搭建
*此处安装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搭建的更多相关文章
- oracle DG搭建
Oracle DG 搭建1. 环境 OS IP hostname db_name DB_UNIQUE_NAME主库 RHEL 5.4 192.168.12.20 edgzrip1.oracle.com ...
- 【Oracle】搭建DG(DataGuard)
操作系统:OEL 5.6 Oracle 版本:11.2.0.4.0 DataGuard规划说明 DATABASE_ROLE DB_NAME IPADDR Primary lgr 192.168.10. ...
- linux/windows系统oracle数据库简单冷备同步
linux/windows系统oracle数据库简单冷备同步 我们有一个财务系统比较看重财务数据的安全性,同时我们拥有两套系统,一个生产环境(linux),一个应急备份环境(windows).备份环境 ...
- oracle DG 主备切换语句整理
今日花了一下午时间进行了Oracle DataGuard的切换练习,参考了网上好多文章,最后将一些语句进行摘录,以备以后查询使用.之后有时间会带来Oracle DG的搭建和切换全过程文章. DataG ...
- 浅谈OA系统与Portal门户的区别
随着社会信息化的发展与进步,OA办公自动化软件打破了传统复杂的办公方式,使各个行业实现了高效的无纸化办公.由此一来OA快速成长为继财务软件.ERP软件之后的第三大管理软件.随着企业信息化系统的不断增多 ...
- OA系统高性能解决方案(史上最全的通达OA系统优化方案)
序: 这是一篇针对通达OA系统的整体优化方案,文档将硬件.网络.linux操作系统.程序本身(包括web和数据库)以及现有业务有效结合在一起,进行了系统的整合优化.该方案应用于真实生产环境,部署完成后 ...
- DG搭建方式区分
DG搭建三种方式: 一.异机恢复,restore database,recover database 二. duplicate target database for standby from act ...
- 分享泛微公司OA系统用于二次开发的sql脚本
本单位用的oa系统就是泛微公司的oa协同办公平台,下面是我对他进行二次开发统计用到的写数据库脚本,只做开发参考使用,对于该系统的二次开发技术交流可以加我q:2050372586 [仪表盘]格式sql编 ...
- nginx整合php+lua+oracle环境搭建
nginx整合php+lua+oracle环境搭建 标签: nginxluaoraclephplinux -- : 1473人阅读 评论() 收藏 举报 分类: 技术() 版权声明:本文为博主原创文章 ...
随机推荐
- mysql 性能优化常见命令
mysql 性能优化常见命令: 一: 当发现mysql程序运行缓慢时,在排除sql主机问题之后,可以尝试在schema,table,和sql上进一步进行考查: 1:mysql> show ful ...
- Selenium自动化测试脚本中三种等待时间简介
为了提高脚本的稳定性,我们需要在脚本中增加等待时间 第一种:强制等待 Thread.sleep():固定休眠时间设置,Java的Thread类里提供了休眠方法sleep,导入包后就能使用 sleep( ...
- 修真院java后端工程师学习课程--任务1(day four)
今天学习的是spring框架,内容主要有: spring的概念,主要是做什么的: Spring是一个基于IOC和AOP的结构J2EE系统的框架 IOC 反转控制 是Spring的基础,Inversio ...
- JavaScript return 最简单解释
一.return 返回值 1)函数名字 +括号 :fun() ==> retrun 后面的值 2)所以函数的模范返回值是为未定义 3)return; 后面的任何代码都不会执行了 二.arguem ...
- 两个arduino的通信
两个arduino板进行串口通讯实验 (-- ::)转载▼ 标签: 杂谈 购得两块arduino板子,想试试其通讯能力,于是写下如是程序,居然没有打麻烦,奇怪! 接线:两个板子各用电池供电,将两块板子 ...
- Django_生产环境静态文件配置
需求: 当Django项目运行在线上的时候,需要关闭debug模式,那么Django设置中,静态文件路径配置将会失效,如何解决这个问题? 问题原因: Django默认关闭debug模式,Django错 ...
- _3_body_标签
创:20_3_2017修:5_4_2017 什么是div标签? div 双 -- div标签没有任何默认属性 -可以任意写入样式和内容,和 水一样,水自然平凡而又最多 什么是h1标签? h1 标题(双 ...
- linkin大话设计模式--常用模式总结
linkin大话设计模式--常用模式总结 一,常用设计模式定义 Abstract Factory(抽象工厂模式):提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类. Adapter( ...
- Struts2 (二)
1 自定义结果视图 1.1 自定义一个类实现com.opensymphony.xwork2.Result接口. package com.xuweiwei.action; import com.open ...
- awk grep sed cut学习
awk学习网站 grep sed cut