ADG 同构平台数据同步,OGG可以异构平台数据同步。
ADG 可以通过快照方式保留当前时刻点数据,OGG不能做到。
ADG 直接通过日志重做实现数据复制,OGG是通过对日志加工之后的模式进行数据分析实现复制。
DSG是基于日志抽取实现的备份工具
DG是oracle公司的主备,用于主库宕机时,应用切换到备库
ogg是被oracle 公司收到,基于日志抽取传输数据的。例如,我想把几个库的部分数据传输到数据中心库,也可以用作于数据灾备,数据迁移。在功能上有部分和DG重叠。
Oracle Goldengate目前支持主被动式的双向配置,换而言之OGG可以将来自于激活的主库的数据变化完全复制到从库中,从库在不断同步数据的同时已经为计划内的和计划外的outages做好了故障切换的准备,也就是我们说的Live Standby。这里我们重点介绍一下配置Oracle Goldengate Live Standby系统的步骤,和具体的故障切换过程。
如果自己搞不定可以找ASKMACLEAN专业ORACLE数据库修复团队成员帮您恢复!
SQL> conn clinic/clinicConnected
SQL> drop table tv;
create table tv (t1 int primary key,t2 int,t3 varchar2(30));
Table dropped
SQL>
Table created
SQL> drop sequence seqt1;
create sequence seqt1 start with 1 increment by 1;
Sequence dropped
SQL> SQL>
Sequence created
declare
rnd number(9,2);
begin
for i in 1100000 loop
insert into tv values(seqt1nextval,idbms_randomvalue,'MACLEAN IS TESTING');
commit;
end loop;
end;
/
/ 以上脚本在primary主库的某个应用账户下创建了测试用的数据,
接着我们可以使用各种工具将数据初始化到从库中,如果在这个过程中
希望实时在线数据迁移的话,可以参考《Goldengate实现在线数据迁移》
/
/ 注意我们在Live Standby的环境中往往需要复制sequence序列,以保证切换到备库时业务可以正常进行 /
/ 初始化备库数据后,确保已与主库完全一致 /
primary :
SQL> select sum(t2) from tv;
SUM(T2)
----------
2498624495
SQL> select last_number from user_sequences;
LAST_NUMBER
-----------
100001
standby:
SQL> select sum(t2) from tv;
SUM(T2)
----------
2498624495
SQL> select last_number from user_sequences;
LAST_NUMBER
-----------
100001
以上完成准备工作后,我们可以进入到正式配置Goldengate live stanby的阶段,包括以下步骤:
配置由主库到备库的extract、replicat、data pump,该步骤同普通的单向复制没有太大的区别
配置由备库到主库的extract、replicat、data pump
启动由主库到备库的extract、replicat、data pump
接下来我们会实践整个配置过程:
1
创建由主库到备库的extract、data pump、replicat
GGSCI (rh2oraclecom) 10> dblogin userid maclean
Password:
Successfully logged into database
GGSCI (rh2oraclecom) 11> add trandata clinic
Logging of supplemental redo data enabled for table CLINICTV
GGSCI (rh2oraclecom) 4> add extract extstd1,tranlog,begin now
EXTRACT added
GGSCI (rh2oraclecom) 5> add exttrail /d01/ext/cl,megabytes 100,extract extstd1
EXTTRAIL added
GGSCI (rh2oraclecom) 7> view params extstd1
-- Identify the Extract group:
EXTRACT extstd1
-- Specify database login information as needed for the database:
userid maclean, password maclean
-- Specify the local trail that this Extract writes to:
EXTTRAIL /d01/ext/cl
-- Specify sequences to be captured:
SEQUENCE clinicseqt1;
-- Specify tables to be captured:
TABLE clinic;
-- Exclude specific tables from capture if needed:
-- TABLEEXCLUDE
GGSCI (rh2oraclecom) 17> add extract pumpstd1,exttrailsource /d01/ext/cl,begin now
EXTRACT added
GGSCI (rh2oraclecom) 98> add rmttrail /d01/rmt/cl,megabytes 100,extract pumpstd1
RMTTRAIL added
GGSCI (rh2oraclecom) 129> view params pumpstd1
-- Identify the data pump group:
EXTRACT pumpstd1
userid maclean, password maclean
-- Specify database login information as needed for the database:
userid maclean, password maclean
RMTHOST rh3oraclecom, MGRPORT 7809
-- Specify the remote trail on the standby system:
RMTTRAIL /d01/rmt/cl
-- Pass data through without mapping, filtering, conversion:
PASSTHRU
sequence clinicseqt1;
Table clinic;
在备库上配置由主库到备库的replicat:
GGSCI (rh3oraclecom) 4> add replicat repstd1,exttrail /d01/rmt/cl,begin now
REPLICAT added
GGSCI (rh3oraclecom) 49> view params repstd1
-- Identify the Replicat group:
REPLICAT repstd1
-- State that source and target definitions are identical:
ASSUMETARGETDEFS
-- Specify database login information as needed for the database:
userid maclean, password maclean
-- Specify tables for delivery:
MAP clinic, TARGET clinic;
-- Exclude specific tables from delivery if needed:
-- MAPEXCLUDE
2
创建由备库到主库的extract、data pump、replicat
GGSCI (rh3oraclecom) 51> dblogin userid maclean
Password:
Successfully logged into database
GGSCI (rh3oraclecom) 52> add trandata clinic
Logging of supplemental redo data enabled for table CLINICTV
/ 不要忘记在备库端的相关表加上追加日志 /
GGSCI (rh3oraclecom) 53> add extract extstd2,tranlog,begin now
EXTRACT added
GGSCI (rh3oraclecom) 54> add exttrail /d01/ext/cl,megabytes 100,extract extstd2
EXTTRAIL added
GGSCI (rh3oraclecom) 58> view params extstd2
-- Identify the Extract group:
EXTRACT extstd2
-- Specify database login information as needed for the database:
userid maclean, password maclean
-- Specify the local trail that this Extract writes to:
EXTTRAIL /d01/ext/cl
-- Specify sequences to be captured:
SEQUENCE clinicseqt1;
-- Specify tables to be captured:
TABLE clinic;
-- Exclude specific tables from capture if needed:
-- TABLEEXCLUDE
GGSCI (rh3oraclecom) 59> add extract pumpstd2,exttrailsource /d01/ext/cl,begin now
EXTRACT added
GGSCI (rh3oraclecom) 60> add rmttrail /d01/rmt/cl,megabytes 100,extract pumpstd2
RMTTRAIL added
GGSCI (rh3oraclecom) 63> view params pumpstd2
-- Identify the data pump group:
EXTRACT pumpstd2
userid maclean, password maclean
-- Specify database login information as needed for the database:
userid maclean, password maclean
RMTHOST rh2oraclecom, MGRPORT 7809
-- Specify the remote trail on the standby system:
RMTTRAIL /d01/rmt/cl
-- Pass data through without mapping, filtering, conversion:
PASSTHRU
sequence clinicseqt1;
Table clinic;
在主库上配置replicat:
GGSCI (rh2oraclecom) 136> add replicat repstd2,exttrail /d01/rmt/cl,begin now,checkpointtable macleanck
REPLICAT added
GGSCI (rh2oraclecom) 138> view params repstd2
-- Identify the Replicat group:
REPLICAT repstd2
-- State that source and target definitions are identical:
ASSUMETARGETDEFS
-- Specify database login information as needed for the database:
userid maclean, password maclean
-- Specify tables for delivery:
MAP clinic, TARGET clinic;
-- Exclude specific tables from delivery if needed:
-- MAPEXCLUDE
3
完成以上OGG配置后,可以启动主库到备库的extract、pump、以及replicat:
GGSCI (rh2oraclecom) 141> start extstd1
Sending START request to MANAGER
EXTRACT EXTSTD1 starting
GGSCI (rh2oraclecom) 142> start pumpstd1
Sending START request to MANAGER
EXTRACT PUMPSTD1 starting
GGSCI (rh3oraclecom) 70> start repstd1
Sending START request to MANAGER
REPLICAT REPSTD1 starting
/ 如果你是在offline状态下配置的话,那么此时可以启用应用了/
接下来我们尝试做有计划的主备库切换演练:
1
首先停止一切在主库上的应用,这一点和DataGuard Switchover一样。在保证没有活动事务的情况下,才能切换干净。
2
在主库端使用LAG等命令了解extract的延迟,若返回如"At EOF, no more records to process"的信息,则说明所有事务均已被抽取。
GGSCI (rh2oraclecom) 144> lag extstd1
Sending GETLAG request to EXTRACT EXTSTD1
Last record lag: 0 seconds
At EOF, no more records to process
在EOF的前提下关闭extract:
GGSCI (rh2oraclecom) 146> stop extstd1
Sending STOP request to EXTRACT EXTSTD1
Request processed
3
同样对pump使用LAG命令,若返回如"At EOF, no more records to process"的信息,则说明已抽取的数据都被发送到备库了。
GGSCI (rh2oraclecom) 147> lag pumpstd1
Sending GETLAG request to EXTRACT PUMPSTD1
Last record lag: 3 seconds
At EOF, no more records to process
在EOF的前提下,关闭data pump
GGSCI (rh2oraclecom) 148> stop pumpstd1
Sending STOP request to EXTRACT PUMPSTD1
Request processed
3
检查备库端replicat的同步情况,如返回"At EOF, no more records to process",则说明所有记录均被复制。
GGSCI (rh3oraclecom) 71> lag repstd1
Sending GETLAG request to REPLICAT REPSTD1
Last record lag: 5 seconds
At EOF, no more records to process
在EOF的前提下关闭replicat
GGSCI (rh3oraclecom) 72> stop repstd1
Sending STOP request to REPLICAT REPSTD1
Request processed
4
紧接着我们可以在备库上为业务应用用户赋予必要的insert、update、delete权限,启用各种触发器trigger及cascade delete约束等;
以上手段在主库上对应的 *** 作是收回应用业务的权限,disable掉各种触发器及cascade delete约束,
之所以这样做是为了保证在任何时候扮演备库角色的数据库均不应当接受任何除了OGG外的手动的或者应用驱动的业务数据变更,
以保证主备库间的数据一致。
5
修改原备库上的extract的启动时间到现在,已保证它不去抽取那些之前的重做日志
GGSCI (rh3oraclecom) 75> alter extstd2 ,begin now
EXTRACT altered
GGSCI (rh3oraclecom) 76> start extstd2
Sending START request to MANAGER
EXTRACT EXTSTD2 starting
若之前没有启动由备库到主库的pump和replicat的话可以在此时启动:
GGSCI (rh3oraclecom) 78> start pumpstd2
Sending START request to MANAGER
EXTRACT PUMPSTD2 starting
GGSCI (rh2oraclecom) 161> start repstd2
Sending START request to MANAGER
REPLICAT REPSTD2 starting
6此时我们可以正式启动在原备库现在的主库上的应用了
接下来我们尝试回切到原主库上:
1前提步骤与之前的切换相似,首先停止在原备库上的任何应用,
之后使用LAG命令确认extract和replicat的进度,在确认后关闭extract和replicat。
完成在主库上的维护工作:包括赋予权限,启用触发器等等。
2修改原主库上的extract的开始时间为当前,保证它不去处理之前的重做日志:
GGSCI (rh2oraclecom) 165> alter extract extstd1,begin now
EXTRACT altered
3此时我们已经可以启动在原主库现在的主库上的应用了
4启动最早配置的由主库到备库的extract、pump、replicat:
GGSCI (rh2oraclecom) 166> start extstd1
Sending START request to MANAGER
EXTRACT EXTSTD1 starting
GGSCI (rh2oraclecom) 171> start pumpstd1
Sending START request to MANAGER
EXTRACT PUMPSTD1 starting
GGSCI (rh3oraclecom) 86> start repstd1
Sending START request to MANAGER
REPLICAT REPSTD1 starting
以上完成了OGG的Live Standby中主备库之间的计划内的切换Switchover,That's Great!
数据库管理员负责各系统数据的灾备工作,研究事务所的数据和信息安全。下面是我整理的数据库管理员工作的基本职责说明。
数据库管理员工作的基本职责说明1
职责
1、负责数据库管理系统的运维管理,完成数据库安装、监控、备份、测试、恢复等基本工作,从而保证数据库管理系统的稳定性、安全性和高性能;
2、监视监控数据库的警告日志,定期做备份审查、归档和删除;
3、监控数据库的日常会话情况,及时发现异常会话进程并积极采取有效处理措施予以解决,从而避免对业务运营造成影响;
4、监控数据库的碎片和剩余表空间情况,及时掌握表空间的扩展速度以及剩余空间分布情况,根据变化动态调整数据库的存储方案以优化资源使用;若有需要提前做出存储介质扩容的方案规划和未来存储需求计划;
5、关注数据库管理系统SQL Server版本的升级信息和与SQL Server相关的漏洞补丁信息,在测试环境中确认不会对业务运营造成影响的前提下实施生产环境下的SQL Server版本升级和补丁补漏,并对整个升级补漏过程进行监控和日志审查,确认升级补漏真正成功完成;
6、制定数据库备份计划,制定灾难恢复计划中的数据恢复相关要求并定期演练,确保灾难出现时能对数据库数据进行有效恢复;
7、对数据库的备份策略要根据业务要求和实际情况进行更改,对数据库的日常备份作业执行进行监控和状态确认,对数据库的备份数据进行验证和介质存放管理,与数据库的设计厂商保持联络和维持技术沟通;
8、制定数据库用户管理要求,建立数据库底层结果和访问模型,制定数据库性能监控标准和指标;对通过数据库管理系统进行的任何针对数据库对象的更改进行统一管理;
9、使用SQL语句对数据库进行管理维护和性能优化;
10、当发现不同用户需求之间互相抵触进而造成进程死锁时,进行处理的同时协助相关人员协调用户需求,配合应用系统的数据库设计人员对系统资源进行合理分配;
11、负责数据库管理系统的管理用户批准和其对应的管理权限设置,采取措施防止数据库被未经授权的访问和破坏;
12、协助有关部门配合相关岗位完成U9系统的项目实施和应用升级、治木软件系统的项目实施和应用升级;
13、完成信息部经理交代的有关任务,协助公司各部门完成相关的工作;
任职要求
1、本科以上学历,计算机相关专业,具备专业的计算机应用知识,年龄不限,性别不限,有SQL Server认证者(MCSA)优先;
2、熟悉SQL Server数据库平台下的数据备份/数据恢复,了解数据库性能监控和优化,掌握SQL代码编写,对数据库安全性有一定认识,理解数据库设计,理解索引设计、索引维护和查询引擎, 懂得容量监控与规划;
3、思维清晰,具备优秀的沟通理解能力;逻辑推算及动手能力强,有独档一面的工作能力,且能承受较大的工作压力;
数据库管理员工作的基本职责说明2
职责:
1负责数据库的安装配置及升级改造,性能监控及优化,故障诊断和排除,数据迁移,数据库备份、复制、镜像等容灾方案的制定和实施,以及数据库的安全管理、帐户权限管理;
2维护线上业务核心数据库的724安全、稳定运行;
3负责数据库的架构规划、评估、实施,实现高可用、可扩展架构;
4熟悉MySQL的运行机制和体系架构, 精通/熟悉SQL,熟悉数据库设计与优化;
5对数据库新增内容进行数据分析和挖掘;
任职要求:
1熟悉数据库管理工具,如Navicat等轻量化管理工具;
2熟练使用MySql,Oracle等数据库相关工具;
3参与MYSQL脚本管理、SQL Advisor、数据质量管理等工具与平台的开发与实现;
4至少熟悉java或Python中的一种开发语言
数据库管理员工作的基本职责说明3
职责:
1、负责公司数据库日常运行监控、管理和性能分析,并进行故障处理和优化。
2、快速处理解决数据库系统运行中出现的故障和问题,保证业务数据安全、可用;
3、负责Oracle数据库的日常运行维护、备份恢复、升级优化、扩容迁移和安全管理工作;
4、为架构/开发团队提供Oracle数据库相关的技术支持服务,包括对象设计、SQL编写规范制定、指导、审核等;
5、负责Oracle数据库平台架构和高可用方案的规划设计工作,并通过分析业务发展趋势,做出相应的容量规划;
6、负责Oracle数据库的业务数据分析与挖掘、性能分析与系统优化、问题跟踪与管理;
7、负责系统软、硬件的部署、监控以及调优,包括 JVM 的调优、中间件调优、底层硬件设备的优化;
8、撰写并维护工作相关的数据库设计文档;
任职要求:
1、计算机或者相关专业本科毕业,5年以上ORACLE数据库维护和优化经验;
2、有大型在线交易系统和企业应用系统(例如:ERP、SRM、WMS等)数据库规划设计和优化经验;
3、熟练安装搭建数据库服务器及集群系统、双机热备,包括SQL Server和Oracle;
4、精通 Oracle数据库原理和运行机制,具有丰富的管理与调优经验;
5、精通RAC、Data Guard、OGG配置管理以及故障排除;
6、熟悉linux ,AIX环境下数据库运行维护;熟悉VERITAS SF文件系统;
7、精通Oracle数据库11g/12c分库,分表,SQL解析,数据路由等。
8、为人正直,工作责任心强,良好的沟通和为人处事的能力、良好的团队合作精神;
9、持有OCP证书;
10、拥有Ansible、python经验者或拥有OCM等证书者优先考虑。
数据库管理员工作的基本职责说明4
职责:
1、负责公司数据库架构规划、容量规划、系统调优;
2、负责数据库日常运维、故障处理,备份恢复、性能调优及补丁升级等;
3、规划、设计、评审和优化数据库设计方案;
4、配合研发制定数据库技术方案,分库分表策略,数据迁移方案 ;
5、指导开发人员完成数据库建模、数据库索引优化,数据库 *** 作语句优化;
任职要求:
1、计算机相关专业本科及以上学历;
2、五年以上DBA相关经验;
3、精通MySQL数据库的在Linux下的安装布署、开发维护、管理及性能调优;
4、熟悉MySQL存储引擎InnoDB、能够进行SQL语句和读写分离的优化分析/设计,并具有高并发下读写分离维护经验。;
5、熟悉MySQL事务和锁,能进行锁分析和分析优化;
6、熟悉其他至少两种关系型数据库SQL Server/Oracle/Postgresql;
7、熟悉ETL概念及过程,有一定的存储过程或ETL相关的开发经验;
8、熟悉Linux,熟悉脚本编写,有自动化经验;掌握至少一门脚本语言(Shell、Python、Perl);
9、熟悉java开发优先考虑。
10、熟悉NoSql优先考虑。
数据库管理员工作的基本职责说明5
职责:
1、负责系统数据库(Oracle、Mysql为主)的数据库规划、部署、优化、故障排查;日常运维及管理工作;
2、负责数据库的存储规划管理,协助系统规划设计、防火墙等网络安全设备的安装调试、故障排除、安装、配置、升级与迁移;
3、负责公司项目数据备份策略制定、实施等相关信息安全工作;
4、负责制定和实施数据库备份恢复策略;
5、负责数据库监控,性能检查和优化工作;
6、负责诊断、故障检测和解决任何数据库相关的问题,配合其他数据库相关管理和维护工作。
7、配合开发人员及其他项目组开展日常技术支持、故障排查、系统日常维护
任职资格:
1、熟悉数据库结构设计,对系统架构和数据库理论有较好的理解;
2、熟悉Oracle或Mysql数据库体系结构和性能优化;
3、熟悉SQL优化原理,具备较好的SQL优化能力;
4、熟悉一种或者多种主流的UNIX/LINUX系统;
以上就是关于oracle adg与ogg区别全部的内容,包括:oracle adg与ogg区别、各位ORACLE-DSG,OGG和DG有什么区别、Oracle goldengate ogg要怎么实现主备库切换啊等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)