支持模式

  • 支持读取生产redo模式
  • 支持读取ADG备库REDO模式(只支持读取归档日志)

软件支持基础

  • 压缩表支持(11g-19c)
  • 复制支持数据库范围(9i-19c)
  • 支持操作系统
    AIX
    LINUX
    HP-UX
    SOLARIS
    WINDOWS

1 修改配置

1.1 开启归档

1.1.1 检查数据库归档模式

SELECT NAME,LOG_MODE FROM V$DATABASE;

注:ORACLE数据库需开启归档模式
注:启用ARCHIVELOG模式需要Oracle实例短暂脱机。要了解更多信息,请参阅 Oracle归档日志说明文档。

注:ORACLE日志解析的过程中,ZCBUS只解析CURRENT状态下REDO和归档日志
备份软件备份过程中,备份脚本最少缓存几个小时或者一定周期日志。

1.1.2 数据库修改为归档模式步骤(单机模式)

SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;

配置Oracle RMAN以将备份和归档日志保留至少24小时。我们建议将数据保留七天

RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;

推荐设置:将DB_RECOVERY_FILE_DEST_SIZE参数设置为与可用磁盘空间相匹配的值,因为过期和过时的日志文件和备份文件会很快填满磁盘。有关详细信息,请参阅.Oracle的DB_RECOVERY_FILE_DEST_SIZE文

1.2 开启附加日志

1.2.1 库级别

  • 查看库级附加日志开启情况
    SELECT LOG_MODE,
         SUPPLEMENTAL_LOG_DATA_MIN MIN,
         SUPPLEMENTAL_LOG_DATA_PK PK,
         SUPPLEMENTAL_LOG_DATA_UI UI,
         SUPPLEMENTAL_LOG_DATA_FK FK,
         SUPPLEMENTAL_LOG_DATA_ALL ALLC
    FROM V$DATABASE;
  • 库级开启附加日志
    ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
    ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;
    ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (UNIQUE INDEX) COLUMNS;
    ALTER DATABASE ADD SUPPLEMENTAL LOG DATA(ALL) COLUMNS;

1.2.2 表级别

  • 查看表级附加日志开启情况
    SELECT OWNER,TABLE_NAME,LOG_GROUP_TYPE FROM DBA_LOG_GROUPS WHERE OWNER='<USERNAME>' and TABLE_NAME='<TABLE_NAME>';
  • 表级开启附加日志
    ALTER TABLE <USERNAME>.<TABLE_NAME> ADD SUPPLEMENTAL LOG DATA(PRIMARY KEY) COLUMNS;
    ALTER TABLE <USERNAME>.<TABLE_NAME> ADD SUPPLEMENTAL LOG DATA(ALL) COLUMNS;
    ALTER TABLE <USERNAME>.<TABLE_NAME> ADD SUPPLEMENTAL LOG DATA(ALL,PRIMARY KEY,UNIQUE) COLUMNS;

1.3 创建用户及赋权

1.3.1 创建数据库用户

CREATE USER ZCBUS IDENTIFIED BY "********";

注:12C以上版本数据库的CDB模式zcbus用户名要以c##开头

1.3.2 数据库用户赋权

-- 连接数据库
GRANT CREATE SESSION TO ZCBUS;
-- 授予开发人员的。拥有rESOURCE权限的用户只可以创建实体,不可以创建数据库结构。
GRANT RESOURCE TO ZCBUS; 
-- 查询任何表
GRANT SELECT ANY TABLE TO ZCBUS; 
-- 查询任何字典
GRANT SELECT ANY DICTIONARY TO ZCBUS; 
-- 查询部分字典和包
GRANT SELECT_CATALOG_ROLE TO ZCBUS; 
-- 可执行部分字典和包
GRANT EXECUTE_CATALOG_ROLE TO ZCBUS; 
-- 选择任何事务
GRANT SELECT ANY TRANSACTION TO ZCBUS; 
-- 可执行DBMS_LOGMNR_D包
GRANT EXECUTE ON DBMS_LOGMNR_D TO ZCBUS; 
-- 可执行DBMS_LOGMNR包
GRANT EXECUTE ON DBMS_LOGMNR TO ZCBUS; 
-- 可执行DBMS_FLASHBACK包
GRANT EXECUTE ON DBMS_FLASHBACK TO ZCBUS;
-- flashback表权限 
GRANT FLASHBACK ANY TABLE TO ZCBUS; 
-- 12C版本以上执行,logmining权限
GRANT logmining TO ZCBUS;  

注:12C以上版本数据库的CDB模式zcbus用户名要以c##开头

1.3.3 PDB模式用户创建及赋权

CREATE USER C##ZCBUS IDENTIFIED BY *******  CONTAINER=ALL;
GRANT CREATE SESSION TO C##ZCBUS CONTAINER=ALL;
GRANT RESOURCE TO C##ZCBUS CONTAINER=ALL;
GRANT SELECT ANY TABLE TO C##ZCBUS CONTAINER=ALL;
GRANT SELECT ANY DICTIONARY TO C##ZCBUS CONTAINER=ALL;
GRANT SELECT_CATALOG_ROLE TO C##ZCBUS CONTAINER=ALL;
GRANT EXECUTE_CATALOG_ROLE TO C##ZCBUS CONTAINER=ALL;
GRANT SELECT ANY TRANSACTION TO C##ZCBUS CONTAINER=ALL;
GRANT EXECUTE ON DBMS_LOGMNR_D TO C##ZCBUS CONTAINER=ALL;
GRANT EXECUTE ON DBMS_LOGMNR TO C##ZCBUS CONTAINER=ALL;
GRANT EXECUTE ON DBMS_FLASHBACK TO C##ZCBUS CONTAINER=ALL;
GRANT FLASHBACK ANY TABLE TO C##ZCBUS CONTAINER=ALL;
GRANT LOGMINING TO C##ZCBUS CONTAINER=ALL;

2 补充说明

2.1 发布PDB模式DB配置

注:

  • PDB名称是否需要大小写,需要严格区分(否则增量数据会被过滤,无法分析到增量数据),输入正确的PDB名cdb下查询以下sql才能返回结果:
    select CON_UID from dba_pdbs where PDB_NAME=’PDB名’;
  • zcbus程序只是程序启动才会检查节点信息,不会动态检查节点信息,比如添加删除节点,不能自动检查相应的节点信息,需要手动重启zcbus,如果不重启zcbus,相应的节点操作不能分析到。 -2021.06.20
  • zcbus程序启动后再次启动down掉的节点,这种情况已支持 (zcbus-7.6-8-20210620.tar.gz版本修复了此项)

2.2 数据类型支持列表

ORACLE字段类型 字段描述 是否支持
CHAR 固定长度字符串,最大长度2000bytes
VARCHAR2 可变长度的字符串, 最大长度4000bytes
NCHAR 根据字符集而定的固定长度字符串,最大长度2000bytes
NVARCHAR2 根据字符集而定的可变长度字符串,最大长度4000bytes
DATE 日期(日-月-年),DD-MM-YY(HH-MI-SS),经过严格测试,无千虫问题
TIMESTAMP 日期(日-月-年),DD-MM-YY(HH-MI-SS:FF3),经过严格测试,无千虫问题
TIMESTAMP WITH LOCAL TIME ZONE 日期(日-月-年),该类型会转换成数据的时区来保存数据, 即在数据库中保存的时间是数据库本地的时区. 当别的地方用户访问数据库时在显示该类型数据时Oracle会将该时区转换成客户端的时间来显示. 在数据库中保存占7到11字节
TIMESTAMP WITH TIME ZONE 日期(日-月-年),保存的是0时区的时间,和所处的时区信息,IMESTAMP WITH TIME ZONE保存的是当前时间转化到0时区的对应的时间,并通过最后两位来保存时区信息
LONG 超长字符串 ,最大长度2G,足够存储大部头著作
RAW 固定长度的二进制数据,最大长度2000bytes
LONG RAW 可变长度的二进制数据,最大长度2G
BLOB 二进制数据 ,最大长度4G
CLOB 字符数据 ,最大长度4G
NCLOB 根据字符集而定的字符数据,最大长度4G
NUMBER(P,S) 数字类型,P为整数位,S为小数位
DECIMAL(P,S) 数字类型,P为整数位,S为小数位
INTEGER 整数类型,小的整数
FLOAT 浮点数类型,NUMBER(38),双精度
REAL 实数类型,NUMBER(63),精度更高
XMLTYPE XML类型,存储XML类型
TYPE 自定义数据类型,自定义UDT字段,以及地图位置等数据类型暂不支持 不支持
BFILE 二进制数据类型,BFILE字段存放指向操作系统文件的指针,外部的lob类型,存储在数据库外的操作系统文件 不支持
文档更新时间: 2024-03-01 19:40   作者:阿力