、logminer方式解析

1、数据库配置 - Oracle

1. 数据库中需要先设置 NSL_DATE_FORMAT,命令如下,设置好以后需要重启数据库:

ALTER SYSTEM SET NLS_DATE_FORMAT='YYYY-MM-DD' SCOPE=SPFILE; --logmini模式必须

2. 创建 KFS用户并赋予相应的权限:

假设 KFS 用户为 FLYSYNC,如果能够提供 DBA 权限,那么该用户应该赋予的权限包括:

GRANT CONNECT, RESOURCE TO FLYSYNC;
GRANT EXECUTE_CATALOG_ROLE TO FLYSYNC;
GRANT CREATE SESSION TO FLYSYNC;
GRANT SELECT ANY TRANSACTION TO FLYSYNC;
GRANT SELECT ANY TABLE TO FLYSYNC;
GRANT UNLIMITED TABLESPACE TO FLYSYNC;
GRANT DBA TO FLYSYNC;

假设 Logminer 用户为 FLYSYNC,如果不能够提供 DBA 权限,可以赋予以下权限包括:

GRANT CONNECT TO FLYSYNC;
GRANT CREATE SESSION TO FLYSYNC;
GRANT UNLIMITED TABLESPACE TO FLYSYNC;
GRANT CREATE TABLE TO FLYSYNC;
GRANT CREATE MINING MODEL TO FLYSYNC;
GRANT LOGMINING TO FLYSYNC;
GRANT EXECUTE ON DBMS_FLASHBACK TO FLYSYNC;
GRANT EXECUTE ON DBMS_LOGMNR TO FLYSYNC;
GRANT EXECUTE ON DBMS_LOGMNR_D TO FLYSYNC;
GRANT EXECUTE ON SYS.DBMS_LOGMNR TO FLYSYNC;
GRANT EXECUTE ON SYS.DBMS_LOGMNR_D TO FLYSYNC;
GRANT EXECUTE ON SYS.DBMS_LOGMNR_INTERNAL TO FLYSYNC;
GRANT EXECUTE ON SYS.DBMS_LOGMNR_LOGREP_DICT TO FLYSYNC;
GRANT EXECUTE ON SYS.DBMS_LOGMNR_SESSION TO FLYSYNC;
GRANT EXECUTE_CATALOG_ROLE TO FLYSYNC;
GRANT SELECT ANY DICTIONARY TO FLYSYNC;
GRANT SELECT ANY TABLE TO FLYSYNC;
GRANT SELECT ANY TRANSACTION TO FLYSYNC;
GRANT SELECT ON SYS.V_$ARCHIVED_LOG TO FLYSYNC;
GRANT SELECT ON SYS.V_$DATABASE TO FLYSYNC;
GRANT SELECT ON SYS.V_$LOGMNR_CONTENTS TO FLYSYNC;
GRANT SELECT ON V_$ARCHIVED_LOG TO FLYSYNC;
GRANT SELECT ON V_$DATABASE TO FLYSYNC;
GRANT SELECT ON V_$LOG TO FLYSYNC;
GRANT SELECT ON V_$LOGFILE TO FLYSYNC;
GRANT SELECT ON V_$LOGMNR_CONTENTS TO FLYSYNC;
GRANT SELECT ON V_$LOGMNR_DICTIONARY TO FLYSYNC;
GRANT SELECT ON V_$LOGMNR_LOGS TO FLYSYNC;
GRANT SELECT ON V_$LOGMNR_PARAMETERS TO FLYSYNC;
GRANT SELECT ON V_$PARAMETER TO FLYSYNC;

备注说明:

• Oracle 12c 以上版本的数据库在创建用户时,有以下几种方式:

(1)、PDB数据库

CDB里创建用户,需要带c##前缀,如:C##FLYSYNC

PDB里创建用户,不用带C##前缀,如:FLYSYNC

(2)、非PDB数据库

不用带C##前缀,如:FLYSYNC

3. 安装 Logminer(如果没有安装 Logminer 需要在 sqlplus 中执行下面的语句(均需要用 sys 管理员执行))工具,命令如下(Oracle 10g、Oracle 11g 和 Oracle 12c):

@$ORACLE_HOME/RDBMS/ADMIN/dbmslm.sql
@$ORACLE_HOME/RDBMS/ADMIN/dbmslmd.sql
@$ORACLE_HOME/RDBMS/ADMIN/dbmslms.sql

注意:以上三个 SQL 脚本,如果在安装的 Oralce 数据库相应的目录中有则必须执行;如果没有则可忽略

4. 开启 Oracle 数据库的归档日志(必须开启)了,具体步骤如下:

• 检查是否归档已经开启

SQL> select log_mode from v$database;
LOG_MODE
------------
NOARCHIVELOG

• 开启归档(需要重启数据库)

(1)设置归档路径:

RAC的归档路径设置在共享磁盘内

SQL>alter system set log_archive_dest=’+DATA’ scope=spfile sid=’*’;

(2)然后关闭所有实例,启动1个实例,更改数据库为归档模式:

SQL>shutdown immediate;

SQL>startup mount;

SQL>alter database archivelog;

SQL>alter database open;

SQL>archive log list;

(3)启动其他节点,完成归档模式的变更过程。

SQL>startup;

在RAC环境下,归档路径的选择是值得斟酌的,如果使用共享的归档目录作为归档路径,则可以减少备份时的复杂性。如果使用独立的目录,则备份时需要进行特殊处理。

• 再次查看数据库归档情况

SQL> select log_mode from v$database;

LOG_MODE

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

ARCHIVELOG

5. 开启补全日志

• 检查补全日志的状态

SQL> SELECT supplemental_log_data_min, supplemental_log_data_pk, supplemental_log_data_all FROM v$database;

SUPPLEME SUP SUP
-------- --- ---
NO NO NO

• 开启补全日志 (建议在 MOUNT 模式下执行)

SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
Database altered.
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;
Database altered.
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;
Database altered.

• 再次检查补全日志的状态

SQL> SELECT supplemental_log_data_min, supplemental_log_data_pk,supplemental_log_data_all FROM v$database;

SUPPLEME SUP SUP
-------- --- ---
YES YES YES

6. 切换日志文件

SQL> ALTER SYSTEM SWITCH LOGFILE;

System altered

7. 若使用插接式数据库(pdb)

使用 sys 用户登录 sqlplus,查看所有 pdb 状态,并将使用的 pdb 开启, 例如 orclpdb

SQL> select con_id,dbid,name,open_mode from v$pdbs;

SQL> alter pluggable database orclpdb open;

2、flysync.ini配置

Flysync.ini这里需要添加集群的相关配置

[defaults]
install-directory=/home/flysync/kfsrep
profile-script=~/.bash_profile
rmi-port=11000 [oracle12rac]
role=master
master=rac1
members=rac1
kufl-port=3112
replication-host=192.168.100.103
replication-port=1521
replication-user=FLYSYNC
replication-password=123456
datasource-type=oracle
datasource-oracle-service=ORCL #非PDB为SID名,PDB为PDB名称
oracle-extractor-method=logminer
svc-extractor-filters=dropstatementdata
property=replicator.extractor.dbms.tablePatterns=FLYSYNC.*,TEST.*
property=replicator.extractor.dbms.scnSegmentationThreshold=5000 #开启集群
property=replicator.datasource.global.connectionSpec.use_cluster=true #集群其他节点IP,多个节点用逗号隔开
property=replicator.datasource.global.connectionSpec.slave_add=192.168.100.104 #集群其他节点端口,多个节点用逗号隔开
property=replicator.datasource.global.connectionSpec.slave_port=1521

二、redo方式解析

(一)数据库配置

1. 数据库中需要先设置 NSL_DATE_FORMAT,命令如下,设置好以后需要重启数据库:

ALTER SYSTEM SET NLS_DATE_FORMAT='YYYY-MM-DD' SCOPE=SPFILE; --logmini模式必须

2. 创建 KFS用户并赋予相应的权限:

假设 KFS用户为 FLYSYNC,如果能够提供 DBA 权限,那么该用户应该赋予的权限包括:

GRANT CONNECT, RESOURCE TO FLYSYNC;
GRANT EXECUTE_CATALOG_ROLE TO FLYSYNC;
GRANT CREATE SESSION TO FLYSYNC;
GRANT SELECT ANY TRANSACTION TO FLYSYNC;
GRANT SELECT ANY TABLE TO FLYSYNC;
GRANT UNLIMITED TABLESPACE TO FLYSYNC;
GRANT DBA TO FLYSYNC; 假设 kfs用户为 FLYSYNC,如果不能够提供 DBA 权限,可以赋予以下权限包括:
GRANT CONNECT TO FLYSYNC;
GRANT CREATE SESSION TO FLYSYNC;
GRANT UNLIMITED TABLESPACE TO FLYSYNC;
GRANT CREATE TABLE TO FLYSYNC;
GRANT EXECUTE_CATALOG_ROLE TO FLYSYNC;
GRANT SELECT ANY DICTIONARY TO FLYSYNC;
GRANT SELECT ON V_$PARAMETER TO FLYSYNC;

  

3. 开启 Oracle 数据库的归档日志(必须开启)了,具体步骤如下:

• 检查是否归档已经开启

SQL> select log_mode from v$database;

LOG_MODE

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

NOARCHIVELOG

• 开启归档(需要重启数据库)

(1)设置归档路径:

RAC的归档路径设置在共享磁盘内

SQL>alter system set log_archive_dest=’+DATA’ scope=spfile sid=’*';

(2)然后关闭所有实例,启动1个实例,更改数据库为归档模式:

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

(3)启动其他节点,完成归档模式的变更过程。

SQL>startup;

在RAC环境下,归档路径的选择是值得斟酌的,如果使用共享的归档目录作为归档路径,则可以减少备份时的复杂性。如果使用独立的目录,则备份时需要进行特殊处理。

• 再次查看数据库归档情况

SQL> select log_mode from v$database;
LOG_MODE
------------
ARCHIVELOG

4. 开启补全日志

• 检查补全日志的状态

SQL> SELECT supplemental_log_data_min, supplemental_log_data_pk, supplemental_log_data_all FROM v$database;

SUPPLEME SUP SUP
-------- --- ---
NO NO NO

• 开启补全日志 (建议在 MOUNT 模式下执行)

SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
Database altered.
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;
Database altered.
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;
Database altered.

• 再次检查补全日志的状态

SQL> SELECT supplemental_log_data_min, supplemental_log_data_pk, supplemental_log_data_all FROM v$database;

SUPPLEME SUP SUP
-------- --- ---
YES YES YES

5. 切换日志文件

SQL> ALTER SYSTEM SWITCH LOGFILE;

System altered

6. 若使用插接式数据库(pdb)

使用 sys 用户登录 sqlplus,查看所有 pdb 状态,并将使用的 pdb 开启, 例如 orclpdb

SQL> select con_id,dbid,name,open_mode from v$pdbs;

SQL> alter pluggable database orclpdb open;

 

(二)、flysync.ini配置

Redo模式的flysync.ini里不仅要配置集群相关参数,如果使用的是ASM存储,还需要配置ASM相关参数。

[defaults]
install-directory=/home/flysync/flysync_test
profile-script=~/.bash_profile
rmi-port=11000 [oracle11rac]
role=master
master=flysync-1
members=flysync-1
kufl-port=3112
replication-host=192.168.11.31
replication-port=1521
replication-user=TEST
replication-password=123456
datasource-type=oracle
datasource-oracle-service=RACDB2
oracle-extractor-method=redo
svc-extractor-filters=dropstatementdata
property=replicator.extractor.dbms.tablePatterns=TEST.*
property=replicator.extractor.dbms.scnSegmentationThreshold=5000 #开启集群
property=replicator.datasource.global.connectionSpec.use_cluster=true #集群其他节点的IP,有多个节点使用逗号隔开
property=replicator.datasource.global.connectionSpec.slave_add=192.168.28.176,192.168.28.177 #集群其他节点端口,有多个节点使用逗号隔开
property=replicator.datasource.global.connectionSpec.slave_port=1521,1521 #ASM用户,此用户必须要有sysasm权限
property=replicator.datasource.oracle_redo.connectionSpec.asm_user=asmfly #ASM用户密码
property=replicator.datasource.oracle_redo.connectionSpec.asm_password=Flyl234 #ASM侦听服务名
property=replicator.datasource.oracle_redo.connectionSpec.asm_serviceName=+ASM

  

附:创建ASM用户方法:

su - grid
sqlplus / as sysasm
SQL> create user asmfly identified by 123456;
SQL> GRANT SYSASM TO asmfly;

  

KFS Oracle RAC 数据解析同步配置方法的更多相关文章

  1. Docker Mongo数据库主主同步配置方法

    一.背景 不多说,请看第一篇<Docker Mongo数据库主从同步配置方法> 二.具体操作方法 1.创建目录,如创建~/test/mongo_sr1和-/test/mongo_sr2两个 ...

  2. Docker Mysql数据库双主同步配置方法

    一.背景 可先查看第一篇<Docker Mysql数据库主从同步配置方法>介绍 二.具体操作 1.创建目录(~/test/mysql_test1): --mysql --mone --da ...

  3. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:4.安装Oracle RAC FAQ-4.6.重新配置与缷载11R2 Grid Infrastructure

    1.[root@linuxrac1 ~]# /u01/app/oraInventory/orainstRoot.sh 2.[root@linuxrac2 ~]# /u01/app/oraInvento ...

  4. Oracle RAC 11g DG Broker配置和测试

    Oracle RAC 11g DG Broker配置和测试 之前在<RHEL6.4 + Oracle 11g DG测试环境快速搭建参考>已经简单说过. 本篇在实验环境中实际配置 环境: R ...

  5. ORACLE表数据误删除的恢复方法(提交事务也可以)

    ORACLE表数据误删除的恢复方法(提交事务也可以) 缓存加时间戳 开启行移动功能:ALTER TABLE tablename ENABLE row movement 把表还原到指定时间点:flash ...

  6. Vue.js的列表数据的同步更新方法

    这次给大家带来Vue.js的列表数据的同步更新方法,Vue.js列表数据同步更新方法的注意事项有哪些,下面就是实战案例,一起来看一下. 数组的 push(),pop(),shift(),unshift ...

  7. MySql数据主从同步配置

    由于需要配置MySQL的主从同步配置,现将配置过程记录下,已被以后不时之需 MySql数据主从同步   1.1. 同步介绍 Mysql的 主从同步 是一个异步的复制过程,从一个 Master复制到另一 ...

  8. Docker Mongo数据库主从同步配置方法

    一.具体操作方法 1.启两个Mongo容器 docker run --name mongo1 -p 21117:27017 -d mongo --noprealloc --smallfiles --r ...

  9. Docker Mysql数据库主从同步配置方法

    一.背景 最近在做内部平台架构上的部署调整,顺便玩了一下数据库的主从同步,特此记录一下操作- 二.具体操作 1.先建立数据存放目录(-/test/mysql_test/) --mysql --mast ...

随机推荐

  1. Hexo + VSCode 插入 Markdown 图片解决办法

    最近打开 typora 时发现弹窗强更,不让用 beta 版了 想到自己并不是非常需要 WYSIWYG,而且也不是经常使用 typora,于是直接退回到 VSCode 了,而且在 VSCode 里可以 ...

  2. kali渗透测试阅读目录

    一.渗透测试介绍 渗透测试介绍及渗透环境配置 二.信息收集 kali 信息收集 三.漏洞扫描 kali 漏洞扫描 四.漏洞利用 kali msf漏洞利用

  3. Linux文件的删除和软硬链接

    文件的构成 由元数据(metadata)和数据(data)两部分组成 硬盘分区上一块空间存该分区上文件的元数据,一块空间存这些文件的数据 因为元数据和数据分离存放,所以需要通过指针地址来进行关联 元数 ...

  4. NC20276 [SCOI2010]传送带

    NC20276 [SCOI2010]传送带 题目 题目描述 在一个2维平面上有两条传送带,每一条传送带可以看成是一条线段.两条传送带分别为线段AB和线段CD.lxhgww在AB上的移动速度为P,在CD ...

  5. flashplayer下载

    现在网上不好找,折磨了我好久.这有一个方法,或许能帮到你. 下载地址:https://gitee.com/urain39/adobe-flash_player_sa 官网已经停止更新维护了,连Debu ...

  6. C#(.net) 面试题

    1.ASP.NET的页面生存周期 .aspx/.ashx->IIS->Asp.net_isapi.dll->HttpRuntime.ProcessRequest() ->Htt ...

  7. JUC源码学习笔记2——AQS共享和Semaphore,CountDownLatch

    本文主要讲述AQS的共享模式,共享和独占具有类似的套路,所以如果你不清楚AQS的独占的话,可以看我的<JUC源码学习笔记1> 主要参考内容有<Java并发编程的艺术>,< ...

  8. 2020.7.19 区间 dp 阶段测试

    打崩了-- 事先说明,今天没有很在状态,所以题解就直接写在代码注释里的,非常抱歉 T1 颜色联通块 此题有争议,建议跳过 题目描述 N 个方块排成一排,第 i 个颜色为 Ci .定义一个颜色联通块 [ ...

  9. ActiveMQ、RabbitMQ、RocketMQ、Kafka四种消息中间件分析介绍

    ActiveMQ.RabbitMQ.RocketMQ.Kafka四种消息中间件分析介绍 我们从四种消息中间件的介绍到基本使用,以及高可用,消息重复性,消息丢失,消息顺序性能方面进行分析介绍! 一.消息 ...

  10. Python3.7爬虫:实时api(百度ai)检测验证码模拟登录(Selenium)页面

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_134 今天有同学提出了一个需求,老板让自动登录这个页面:https://www.dianxiaomi.com/index.htm, ...