、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. 超 Nice 的表格响应式布局小技巧

    今天,遇到了一个很有意思的问题,一名群友问我,仅仅使用 CSS,能否实现这样一种响应式的布局效果: 简单解析一下效果: 在屏幕视口较为宽时,表现为一个整体 Table 的样式 而当屏幕视口宽度较小时, ...

  2. React技巧之中断map循环

    正文从这开始~ 总览 在React中,中断map()循环: 在数组上调用slice()方法,来得到数组的一部分. 在部分数组上调用map()方法. 遍历部分数组. export default fun ...

  3. 一题多解,ASP.NET Core应用启动初始化的N种方案[上篇]

    ASP.NET Core应用本质上就是一个由中间件构成的管道,承载系统将应用承载于一个托管进程中运行起来,其核心任务就是将这个管道构建起来.在ASP.NET Core的发展历史上先后出现了三种应用承载 ...

  4. OutputStreamWriter介绍&代码实现和InputStreamReader介绍&代码实现

    java.io.OutputStreamWriter extends Writer OutputStreamWriter: 是字符流通向字节流的桥梁:可使用指定的 charset 将要写入流中的字符编 ...

  5. zenmap安装

    发现最新版的KALI不带zenmap了,下面是安装步骤: 安装包转换工具:sudo apt-get install alien fakeroot -y 下载并转换:https://nmap.org/d ...

  6. 本机通过IP地址连接Ubuntu18.04+ on Vmware

    一.Vmware-顶部菜单栏-编辑-虚拟网络编辑器: 点一下 添加一个NAT模式的网络:要记住名称,比如这里我的是VMnet8 子网ip可以自己写,建议全程就都按我这个写,后续方便校对. 点一下 NA ...

  7. 如何用天气预警API接口进行快速开发

    天气预警能够指导人们出行.同一种类的气象灾害预警信号级别不同,对应的防御措施也不尽相同,人们通过气象灾害预警信号,合理安排出行.公众要提高防范意识,养成接收和关注预警信息的习惯,了解预警信息背后的意义 ...

  8. 2022-7-13 java_1 第七组 刘昀航

    @ 目录 前言 一.一些基本的指令 二.java 1.java的三个版本 2.java特点 3.运行一个java程序 三.java的数据类型 1.java基本数据类型 2.强制转换的原理 3.八种基本 ...

  9. Tampermonkey究竟有什么用?

    以具体应用实例加以说明. 目标:在youtube页面上观看视频,发现喜欢的视频,单击按钮就可以下载视频. 但是,youtube页面并未提供这样的按钮及其功能. 实现思路:在浏览器下载youtube页面 ...

  10. mybatis-plus时间字段自动填充

    时间代码自动填充的2种方式 数据库方式 将数据库字段create_time和update_time设置CURRENT_TIMESTAMP,create_time字段后面不需要勾选更新,update_t ...