DMHS oracle12c gdb(ASM)-DM8dsc双向同步

         DMHS oracle12c gdb(ASM)-DM8dsc双向同步

当oracle日志存储在ASM模式下面时,需要申请对应操作系统Oracle同步端为oracle rac(不管oracle是单机还是rac使用) 的dmhs版本。Dm同步端为DM8时,需要申请对应操作系统的执行端为dm8的dmhs版本。准备unixodbc2.3.2安装包,用于连接oracle。dmoci文件,用于读取达梦归档日志。
1.环境检查
1.1Oracle端环境检查
1.1.1系统用户检查
运行用户的要求,要求使用oracle用户或者和oracle同一组的用户,一般系统如果有oracle用户权限控制,则要求给出一个和oracle同组的用户。现场实际运行用户为oracle用户。
设置oracle连接库路径:(用于登陆hs控制台)
export LD_LIBRARY_PATH= L D L I B R A R Y P A T H : LD_LIBRARY_PATH: LDLIBRARYPATH:ORACLE_HOME/lib。
1.1.2数据同步用户检查
连接oracle(12c版本与之前版本有所区别见以下说明)数据库的用户,若没有dba权限,则至少需要以下权限(需要和dba说明):
grant connect to dmhs;
grant select any table to dmhs;
grant select any dictionary to dmhs;
grant create session to dmhs;
grant lock any table to dmhs;
grant execute on dbms_flashback to dmhs;
说明:oracle12c默认登陆到CDB数据库容器下,创建用户和之前的版本略有不同,所有用户前需要加上C##,如之前的版本用户名为dmhs,12c中创建用户名必须为C##dmhs。连接的用户不能仅授予dba的权限,必须要将sys下用到的所有表的权限一一授予连接用户:
grant all on sys.dmhs_ddl_sql to C##dmhs
grant all on sys.col$ to C##dmhs;
grant all on sys.cdef$ to C##dmhs;
grant all on sys.lobfrag$ to C##dmhs;
grant all on sys.obj$ to C##dmhs
grant all on sys.user$ to C##dmhs
1.1.3归档日志的检查
源端必须开启归档,且建议开启在ASM环境中。检查方式:
sqlplus / as sysdba
SQL> archive log list;
Database log mode No Archive Mode
Automatic archival Enabled ----表示开启归档,且归档放在快速恢复区
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 4862
Current log sequence 4864
如果没有开启归档,要求其开启归档,且对归档的要求需要和DBA明确提出(归档放置的目录,归档保留以及归档的处理方式(保留,移除还是删除),开启归档需要重启数据库,所以会中断业务(切记)
如果是需要自己开启归档,最好放置到ASM环境中,下面示例将归档放置在+FRA目录下
sqlplus / as sysdba
SQL>ALTER SYSTEM SET LOG_ARCHIVE_DEST_1=‘LOCATION= +ARCH’ SCOPE=SPFILE;
SQL>Shutdown immediate;
SQL>startup mount;
SQL>alter database archivelog;
SQL>archive log list;—检查归档
SQL>alter database open;

如果没有sysdba权限,可以使用下面的sql语句检查是否开启归档
select LOG_MODE from v d a t a b a s e ; 结 果 为 y e s 代 表 开 启 了 归 档 , n o 代 表 没 有 开 启 归 档 1.1.4 检 查 是 否 开 启 附 加 日 志 s e l e c t S U P P L E M E N T A L L O G D A T A M I N , S U P P L E M E N T A L L O G D A T A A L L f r o m V database ; 结果为yes代表开启了归档,no代表没有开启归档 1.1.4检查是否开启附加日志 select SUPPLEMENTAL_LOG_DATA_MIN, SUPPLEMENTAL_LOG_DATA_ALL from V database;yesno1.1.4selectSUPPLEMENTALLOGDATAMIN,SUPPLEMENTALLOGDATAALLfromVdatabase;
查询结果均为yes表示已经开启最小附加日志以及主键附加日志,如果有结果为NO,执行一下两条语句:(包含pdb的需要在cdb下执行,否则认定无效)
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;
1.1.5检查字符集环境变量
如果是linux环境,先查询一下oracle数据库的字符集
SQL> select userenv(‘language’) from dual;

USERENV(‘LANGUAGE’)

SIMPLIFIED CHINESE_CHINA.ZHS16GBK
检查是否与运行dmhs服务的用户的环境变量NLS_LANG是否一致,查看echo $NLS_LANG。
echo N L S L A N G S I M P L I F I E D C H I N E S E C H I N A . Z H S 16 G B K 如 果 不 一 致 会 出 现 乱 码 问 题 , 修 改 系 统 环 境 变 量 需 要 重 启 h s 服 务 , 重 新 识 别 。 1.1.6 A S M 用 户 创 建 默 认 的 A S M 用 户 一 般 不 允 许 使 用 , 需 要 新 创 建 高 权 限 A S M 用 户 ( 需 要 d b a 协 助 创 建 ) 。 新 建 用 户 用 于 访 问 读 取 归 档 日 志 1.1.7 检 查 A S M 用 户 监 听 配 置 l s n r c t l s t a t u s 检 查 A S M 服 务 是 否 注 册 到 监 听 , 如 果 没 有 , 需 要 联 系 d b a 将 A S M 服 务 注 册 到 监 听 中 。 注 册 后 需 要 在 t n s n a m e s . o r a 中 配 置 a s m 名 称 解 析 ( 在 NLS_LANG SIMPLIFIED CHINESE_CHINA.ZHS16GBK 如果不一致会出现乱码问题,修改系统环境变量需要重启hs服务,重新识别。 1.1.6 ASM用户创建 默认的ASM用户一般不允许使用,需要新创建高权限ASM用户(需要dba协助创建)。新建用户用于访问读取归档日志 1.1.7检查ASM用户监听配置 lsnrctl status检查ASM服务是否注册到监听,如果没有, 需要联系dba将ASM服务注册到监听中。 注册后需要在tnsnames.ora中配置asm名称解析(在 NLSLANGSIMPLIFIEDCHINESECHINA.ZHS16GBKhs1.1.6ASMASM使ASMdba访1.1.7ASMlsnrctlstatusASMdbaASMtnsnames.oraasmORACLE_HOME/network/admin目录中)
cd $ORACLE_HOME/network/admin
vi tnsnames.ora
增加以下内容,注意有格式区分,第一行不能有行头不能有空格
ECIQPDB_ASM=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.10.10)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = +ASM )
)
)
1.2 DM端环境检查
1.2.1系统用户检查
目的端为DM数据库,所以可以直接使用dmdba用户安装
1.2.2 同步用户检查
目的端同步用户DMHS,可以授予DBA权限
2.HS软件安装
2.1软件安装
HS的安装包为可执行的bin文件,可先用root用户进行安装,后权限转授。
2.2 HS软件配置
2.2.1 HS Oracle端配置
数据同步的配置文件dmhs.hs需要手动编辑,是数据同步需要的核心文件。内容包括运行模块类型、同步内容等。具体参数详解可查看<>
示例如下:

ch 5345 60 3 1 2.0 oracle12c ECIQPDB DMHS 123456 op:obj 600 0 1 ECIQPDB_ASM dmhs_zxciqdb12 1234 2 1.1.1.2 5345 5346 dmhs_zxciqdb12.DMHS.* dmhs_zxciqdb12.DMHS.*==DMHS.* 5346 oracle12c ECIQPDB DMHS 123456 1521 dsn=ORACLE 1 2 8 512 5000 250 8000 2.2.2 HS DM端配置 数据同步的配置文件dmhs.hs需要手动编辑,是数据同步需要的核心文件。内容包括运行模块类型。同步内容等。具体参数详解可查看<

你可能感兴趣的:(达梦数据库,oracle,c语言,数据库)