我的编程空间,编程开发者的网络收藏夹
学习永远不晚

怎么理解Oracle数据库的单向复制

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

怎么理解Oracle数据库的单向复制

这篇文章主要讲解了“怎么理解Oracle数据库的单向复制”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么理解Oracle数据库的单向复制”吧!

1.       环境需求:

两台装有Oracle软件的虚拟机服务器,并配置好监听及安装好数据库


Linux

Oracle

OGG

IP

SID

OGG1

CentOS 6.5

11.2.0.4

12.2.0.2

192.168.1.211

ogg

OGG2

CentOS 6.5

11.2.0.4

12.2.0.2

192.168.1.212

ogg

2.       配置准备

2.1   创建操作系统用户

useradd ogg -g oinstall

新建安装目录

[root@ogg1 ~]# mkdir -p /u01/ogg

[root@ogg1 ~]# chown -R ogg.oinstall /u01/ogg

[root@ogg1 ~]# chmod 775 /u01/ogg/

2.2   设置用户的环境变量,尤其要给它指定lib库的位置以及ggsci位置:

export PATH

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1

export GG_HOME=/u01/ogg

export LD_LIBRARY_PATH=$ORACLE_HOME/lib

export PATH=$GG_HOME:$PATH

2.3正式安装

[root@ogg1 soft]# unzip 122022_fbo_ggs_Linux_x64_shiphome.zip

[ogg@ogg1 ~]$ cd /u01/soft/fbo_ggs_Linux_x64_shiphome/Disk1/

[ogg@ogg1 Disk1]$ ./runInstaller

                   安装步骤略,将安装目录设置为/u01/ogg

3.       复制准备:实现单表复制

检查相关参数是否开启

Select LOG_MODE , FORCE_LOGGING, SUPPLEMENTAL_LOG_DATA_min from v$database;

3.1   开启参数(需开启归档模式和强制归档)

SQL> show parameter golde

NAME                                          TYPE        VALUE

------------------------------------ ----------- ------------------------------

enable_goldengate_replication              boolean  FALSE

SQL> alter system set enable_goldengate_replication=true;

SQL> select SUPPLEMENTAL_LOG_DATA_min from v$database;

SUPPLEME

--------

NO

SQL> alter database add supplemental log data;

Database altered.

SQL> select SUPPLEMENTAL_LOG_DATA_min from v$database;

SUPPLEME

--------

YES

SQL> alter system archive log current;

SQL> shutdown immediate

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> startup mount

ORACLE instance started.

Total System Global Area  830930944 bytes

Fixed Size                 2257800 bytes

Variable Size                  536874104 bytes

Database Buffers         289406976 bytes

Redo Buffers                    2392064 bytes

Database mounted.

SQL> alter database force logging;

Database altered.

SQL> alter database archivelog;

Database altered.

SQL> alter database open;

Database altered.

System altered.

源端和目标端分别设置

源端:create user ogg_source identified by oracle default tablespace users;
grant alter session to ogg_source;
grant create session to ogg_source;
grant connect to ogg_source;
grant resource to ogg_source;
grant select any dictionary to ogg_source;
grant select any table to ogg_source;
grant flashback any table to ogg_source;
grant alter any table to ogg_source;

目标:create user ogg_target identified by oracle default tablespace users;
grant alter session to ogg_target;
grant create session to ogg_target;
grant connect to ogg_target;
grant resource to ogg_target;
grant select any dictionary to ogg_target;
grant select any table to ogg_target;
grant flashback any table to ogg_target;
grant alter any table to ogg_target;
grant insert any table to ogg_target;
grant update any table to ogg_target;
grant delete any table to ogg_target;

3.2   Ogg配置

问题解决:无法登陆,是oracle_sid设置问题

GGSCI (ogg1) 5> dblogin userid ogg_source ,password oracle

ERROR: Unable to connect to database using user ogg_source. Please check privileges.

Unable to initialize database connection because of error ORA-12162: TNS:net service name is incorrectly specified.

GGSCI (ogg1) 6> exit

[ogg@ogg1 ~]$ export ORACLE_SID=ogg

[ogg@ogg1 ~]$ /u01/ogg/ggsci

Oracle GoldenGate Command Interpreter for Oracle

Version 12.2.0.2.2 OGGCORE_12.2.0.2.0_PLATFORMS_170630.0419_FBO

Linux, x64, 64bit (optimized), Oracle 11g on Jun 30 2017 14:42:26

Operating system character set identified as UTF-8.

Copyright (C) 1995, 2017, Oracle and/or its affiliates. All rights reserved.

GGSCI (ogg1) 1> dblogin userid ogg_source ,password oracle

Successfully logged into database.

1.       配置需要抽取的表或者用户

Add trandata luc.*

2.       配置全局参数

./GLOBALS 必须大写

事务配置及检查点表

3.       配置MGR进程

Edit params mgr

>port 7809

4.       配置Extract脚本

配置参数,使用本地的方式。

Edit params EXT_1

EXTRACT EXT_1
USERID ogg_source, PASSWORD oracle
EXTTRAIL /home/oracle/ogg/ogg_work/dirdat/ss
TABLE N1.*;

添加抽取进程,从数据库日志中抓取数据。

>  ADD EXTRACT EXT_1, TRANLOG, BEGIN NOW

EXTRACT added.

配置本地队列,然后启动

> ADD EXTTRAIL /home/oracle/ogg/ogg_work/dirdat/ss, EXTRACT EXT_1

> start EXT_1

Sending START request to MANAGER ...

EXTRACT EXT_1 starting

配置完成之后,就可以查看是否能够正常抽取了,可以看到是没有正常启动。状态现在还是STOPPED

> info EXT_1

EXTRACT    EXT_1     Initialized   2016-11-11 16:16   Status STOPPED

Checkpoint Lag       00:00:00 (updated 00:01:22 ago)

Log Read Checkpoint  Oracle Redo Logs

                     2016-11-11 16:16:04  Seqno 0, RBA 0

5.       配置Pump脚本

>  edit params dpump_1

EXTRACT dpump_1

PASSTHRU

RMTHOST 10.127.2.32, MGRPORT 1530

RMTTRAIL  /home/oracle/ogg/ogg_work/dirdat/ss

TABLE n1.*;

> ADD EXTRACT dpump_1,EXTTRAILSOURCE /home/oracle/ogg/ogg_work/dirdat/ss

EXTRACT added.

> ADD RMTTRAIL /home/oracle/ogg/ogg_work/dirdat/ss, EXTRACT dpump_1

RMTTRAIL added.

配置完成之后,启动PUMP进程。

> start dpump_1

Sending START request to MANAGER ...

EXTRACT DPUMP_1 starting查看DUMP进程的信息如下:

> info dpump_1

EXTRACT    DPUMP_1   Last Started 2016-11-11 16:24   Status RUNNING

Checkpoint Lag       00:00:00 (updated 00:00:04 ago)

Process ID           53479

Log Read Checkpoint  File /home/oracle/ogg/ogg_work/dirdat/ss000000000

                     First Record  RBA 0

6.       配置Application脚本

配置投递队列参数,将数据应用到目标库,这里有个映射关系,就是源库的n1.*和目标库的n1.*是对应的。

> edit params rep_1

REPLICAT REP_1

USERID ogg_target, PASSWORD oracle

ASSUMETARGETDEFS

HANDLECOLLISIONS

MAP n1.*,TARGET n1.*; 添加投递队列

> ADD REPLICAT REP_1, EXTTRAIL /home/oracle/ogg/ogg_work/dirdat/ss,CHECKPOINTTABLE ogg_target.CHKPTAB

REPLICAT added.

> start REP_1

Sending START request to MANAGER ...

REPLICAT REP_1 starting

启动成功后的状态是这样的。

> INFO REP_1

REPLICAT   REP_1     Last Started 2016-11-11 17:02   Status RUNNING

Checkpoint Lag       00:00:00 (updated 00:00:02 ago)

Process ID           69571

Log Read Checkpoint  File /home/oracle/ogg/ogg_work/dirdat/ss000000000

                     First Record  RBA 0

报错执行:

BEGIN

     DBMS_STREAMS_AUTH.GRANT_ADMIN_PRIVILEGE(

     grantee => 'ogg_target',

    grant_privileges => true);

     END;

     /

循环插入1-100

begin
for i in 1 .. 100 loop
    insert into  luc.test values (i,’uuu’);
    end loop;

end;

/

插入大量数据测试是否同步:

insert into luc.test select level,level||’obj’ from dual connect by level<500000;

感谢各位的阅读,以上就是“怎么理解Oracle数据库的单向复制”的内容了,经过本文的学习后,相信大家对怎么理解Oracle数据库的单向复制这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

怎么理解Oracle数据库的单向复制

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

oracle怎么复制表到另一个数据库

要将一个表复制到另一个数据库,可以使用以下步骤:1. 连接到源数据库,使用管理员权限登录。2. 创建一个数据库链接,将目标数据库链接添加到源数据库。```CREATE DATABASE LINK target_dbCONNECT TO ta
2023-10-12

navicat怎么复制数据库

navicat 提供了两种复制数据库的方法:使用“复制数据库”向导:选择目标服务器,输入数据库名称,指定复制选项。手动复制:导出数据库,再在目标服务器上导入导出的文件。Navicat 中复制数据库如何复制数据库?Navicat 提供了两
navicat怎么复制数据库
2024-06-05

oracle数据库delete的数据怎么恢复

oracle数据库中已删除的数据可以通过以下步骤恢复:检查回收站:进入回收站查看已删除的数据,如在则恢复。使用flashback query:在数据不在回收站时使用flashback query命令恢复。使用logminer工具:通过解析r
oracle数据库delete的数据怎么恢复
2024-04-18

Oracle中怎么实现数据库复制和同步

在Oracle中,可以使用以下方法实现数据库复制和同步:使用Oracle Data Guard:Data Guard是Oracle提供的一种高可用和灾难恢复解决方案,可以实现数据库的复制和同步。通过配置主库和备库,可以保持两个数据库之间的数
Oracle中怎么实现数据库复制和同步
2024-04-09

oracle数据库怎么恢复删除的数据

启用闪回查询,然后使用恢复点目标 (rpo) 或闪回区域查询表恢复已删除的数据:1. 启用闪回查询以指定数据库保留已提交事务时所创建数据的时长。2. 使用 rpo 根据特定时间点恢复数据,或使用闪回区域查询表查询存储已删除数据历史记录的特殊
oracle数据库怎么恢复删除的数据
2024-04-18

oracle数据库delete删除的数据怎么恢复

oracle数据库中删除的数据可以通过以下方法恢复:事务回滚:可还原事务内已删除数据。闪回查询:访问特定时间点已删除的数据。闪回表空间:创建数据库副本,包含已删除数据。日志文件:使用专业工具恢复已删除的数据。第三方工具:提供更高级的恢复选项
oracle数据库delete删除的数据怎么恢复
2024-04-18

AmazonAurora的数据库复制机制是怎样的

Amazon Aurora使用一种高可用的数据库复制机制来确保数据的持久性和可靠性。它采用了一种分布式、多主节点、多副本的架构来实现数据的复制和故障恢复。在Amazon Aurora中,数据被复制到多个不同的存储节点上,这些节点被称为“数
AmazonAurora的数据库复制机制是怎样的
2024-04-09

oracle数据库数据删除了怎么恢复

在 oracle 数据库中恢复已删除的数据有四种方法:1) 撤消最近的提交或回滚;2) 从备份还原;3) 使用闪回查询;4) 使用日志文件分析。恢复数据之前建议备份数据库,具体方法取决于备份策略和数据库配置,某些方法可能不可用,如果数据已从
oracle数据库数据删除了怎么恢复
2024-04-18

oracle数据库误删怎么恢复

oracle 数据库中误删数据恢复指南:确认误删: 检查数据库日志或备份,并尝试检索已删除的数据。恢复数据:从备份恢复,如果可用。从闪回区域恢复,如果已启用。使用 undo 表空间恢复,如果表已启用 row movement。确保数据完整性
oracle数据库误删怎么恢复
2024-04-18

navicat怎么将数据库复制到另一个数据库

使用 navicat 复制数据库的步骤:连接源和目标数据库。选择要复制的数据库对象(表、视图、存储过程)。右键单击对象并选择“复制数据库对象”。选择目标数据库并自定义复制选项(数据复制、重命名表、放弃约束)。单击“开始”执行复制。检查目标数
navicat怎么将数据库复制到另一个数据库
2024-04-24

oracle数据库误删除数据怎么恢复

误删数据恢复步骤:检查回收站中是否有误删数据。使用闪回查询恢复误删数据(如时间戳在误删后不久)。从备份中恢复数据(如果回收站和闪回查询无法恢复)。Oracle 数据库误删除数据恢复误删数据恢复的步骤Oracle 数据库中误删数据后,恢复
oracle数据库误删除数据怎么恢复
2024-04-18

oracle怎么复制表结构及数据

Oracle数据库中,可以使用以下两种方式复制表结构及数据:使用CREATE TABLE AS SELECT语句:这种方法可以复制表结构并将数据插入到新表中。语法如下:CREATE TABLE new_table AS SELECT * F
oracle怎么复制表结构及数据
2024-04-09

编程热搜

目录