1 源库配置
1.1 创建用户及赋权
1.1.1 容器模式
CREATE TABLESPACE ZCTBS DATAFILE '数据文件路径/ZCTBS.DBF' SIZE 100M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
CREATE USER ZCBUS_USER IDENTIFIED BY ZCBUS_PASSWD DEFAULT TABLESPACE ZCTBS QUOTA UNLIMITED ON ZCTBS;
GRANT CREATE SESSION TO ZCBUS_USER;
GRANT RESOURCE TO ZCBUS_USER;
GRANT SELECT ANY TABLE TO ZCBUS_USER;
GRANT SELECT ANY DICTIONARY TO ZCBUS_USER;
GRANT SELECT_CATALOG_ROLE TO ZCBUS_USER;
注:12C的CDB模式zcbus_user要以c##开头
1.1.2 非容器模式
需要创建CDB用户/PDB用户两种
CDB用于分析日志,PDB用户PDB中数据导出
- 创建cdb用户
(web配置页面中集群管理的db_type,db_name,host,user,password等信息添加cdb信息)SQLPLUS SYS/PASSWORD@HOST:PORT/sid AS SYSDBA CREATE USER c##ZCBUS_USER IDENTIFIED BY ZCBUS_USER; ALTER USER C##ZCBUS_USER QUOTA 100M USERS; GRANT CREATE SEESION TO C##ZCBUS_USER container=all; GRANT RESOURCE TO C##ZCBUS_USER container=all; GRANT SELECT ANY TABLE TO C##ZCBUS_USER container=all; GRANT SELECT ANY DICTIONARY TO C##ZCBUS_USER container=all; GRANT SELECT ON SYS.USER$ TO C##ZCBUS_USER container=all; GRANT SELECT ON SYS.COL$ TO C##ZCBUS_USER container=all; GRANT SELECT ON SYS.OBJ$ TO C##ZCBUS_USER container=all; GRANT SELECT_CATALOG_ROLE TO C##ZCBUS_USER container=all;
- 创建pdb用户
(web配置页面中集群管理的source_db_name,source_host,source_user,source_passwd填写pdb信息)aLTER SESSION SET CONTAINER=PDB01; CREATE USER ZCBUS_USER IDENTIFIED BY ZCBUS_PASSWD DEFAULT TABLESPACE ZCTBS QUOTA UNLIMITED ON ZCTBS; GRANT CREATE SESSION TO ZCBUS_USER; GRANT RESOURCE TO ZCBUS_USER; GRANT SELECT ANY TABLE TO ZCBUS_USER; GRANT SELECT ANY DICTIONARY TO ZCBUS_USER; GRANT SELECT ON SYS.USER$ TO ZCBUS_USER; GRANT SELECT ON SYS.COL$ TO ZCBUS_USER; GRANT SELECT ON SYS.OBJ$ TO ZCBUS_USER; GRANT SELECT_CATALOG_ROLE TO ZCBUS_USER; GRANT FLASHBACK ANY TABLE TO ZCBUS_USER; GRANT LOCK ANY TABLE TO ZCBUS_USER; GRANT SELECT_CATALOG_ROLE TO ZCBUS_USER;
1.2 发布服务配置
1.2.1 数据库配置
- 普通配置
SQLPLUS / AS SYSDBA ALTER SYSTEM SET ENABLE_GOLDENGATE_REPLICATION=TRUE; ALTER SYSTEM SET OPEN_CURSORS = 3000; BEGIN DBMS_XSTREAM_AUTH.GRANT_ADMIN_PRIVILEGE( GRANTEE => 'ZCBUS_USER', PRIVILEGE_TYPE => 'CAPTURE', GRANT_SELECT_PRIVILEGES => TRUE); END; / #ENABLE_GG_XSTREAM_FOR_STREAMS BEGIN DBMS_XSTREAM_ADM.ENABLE_GG_XSTREAM_FOR_STREAMS(TRUE); END;
- 12C及以上 CDB模式配置
BEGIN DBMS_XSTREAM_AUTH.GRANT_ADMIN_PRIVILEGE( GRANTEE => 'C##ZCBUS_USER', PRIVILEGE_TYPE => 'CAPTURE', GRANT_SELECT_PRIVILEGES => TRUE, CONTAINER => 'ALL'); END; /
1.2.2 开启补充加日志
SQLPLUS / AS SYSDBA
ALTER TABLE 数据库名.表名 ADD SUPPLEMENTAL LOG DATA(ALL) COLUMNS; # 表级别
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA; # 库级别最小日志
- 根据实际情况选择添加附加日志级别
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA(ALL) COLUMNS; # 库级别
1.2.3 使用创建用户连接进行数据参数配置
sqlplus zcbus_user/zcbus_passwd
注:12C的CDB模式zcbus_user要以c##开头【CDB用户】
1.2.4 创建xout服务
【创建服务的时候,需要所有的PDB处于OPEN状态才可以(可以视情况临时开启所有关闭的PDB)】
DECLARE
TABLES DBMS_UTILITY.UNCL_ARRAY;
SCHEMAS DBMS_UTILITY.UNCL_ARRAY;
BEGIN
TABLES(1) :='ZCBUS_USER.TAB1';
SCHEMAS(1) := NULL;
DBMS_XSTREAM_ADM.CREATE_OUTBOUND(
SERVER_NAME => 'XOUT',
TABLE_NAMES => TABLES,
SCHEMA_NAMES => SCHEMAS);
END;
/
2 补充说明
2.1 调整优化参数
DECLARE
CURSOR C_CAP IS SELECT CAPTURE_NAME FROM DBA_CAPTURE;
BEGIN
FOR C IN C_CAP LOOP
DBMS_CAPTURE_ADM.SET_PARAMETER(CAPTURE_NAME=>C.CAPTURE_NAME,
PARAMETER=>'INLINE_LOB_OPTIMIZATION',VALUE=>'y');
DBMS_CAPTURE_ADM.ALTER_CAPTURE(CAPTURE_NAME=>C.CAPTURE_NAME,
CHECKPOINT_RETENTION_TIME=>1/24);
END LOOP;
END;
/
至少添加一个表,用户名,表名可以不存在【保证服务正常】
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-20 17:53 作者:程少波