1.DDS的定义:
Data Distribution Service:是一款信息分发的中间件,支持分布式实时通信的服务
2.DDS处理过程:
dds作为中间件:是oracle的客户端(类似于plsql):用户将sql传递给dds处理,之后dds转交给oracle处理,oracle将处理结果反馈给dds,dds将结果反馈给用户
3.DDS模块
子系统 | 模块 | 职责 |
---|---|---|
DDS Client | JDBC | 提供JDBC驱动访问DDS Server。 |
DDS Client | ODBC | 提供ODBC驱动访问DDS Server。 |
DDS Client | CLI | DDS客户端SDK,可以被ODBC/JDBC及各种工具调用。 |
DDS Tools | Console Tool | 类似SQLPlus的命令行工具。 |
DDS Tools | GUI Tool | 类似PL/SQL的Windows界面工具。 |
DDS Server | Session Management | 提供DDS会话管理功能,支持过负荷控制。 |
DDS Server | Distributed SQL Engine | 分布式SQL引擎,支持SQL解析、执行计划分解、SQL优化、SQL执行等能力,SQL优化支持优化模式库,后续可根据特定场景扩展对应优化模式。 |
DDS Server | Cache Storage Engine | CACHE存储引擎,支持缓存RDBMS中的热点数据到内存中来,分布式SQL引擎优先使用CACHE中数据进行执行,提高性能。 |
DDS Server | Policy Management | 提供各种策略管理能力,包括数据分布策略、读写分离策略、冷热数据分离的时效策略、多租户策略及安全策略。 |
DDS Server | Infrastructure | 提供基础设施模块,包括跨操作系统封装、异构数据库适配、数据字典、全局数据区、会话私有数据区、OM等能力。其中通信模块支持RDMA和IB硬件加速能力。 |
外围进程 | Monitor | 进程统一看门狗。 |
外围进程 | Node Management | 节点管理进程,负责节点状态、节点间通信等能力。 |
外围进程 | Node Agent | 节点网管代理代理,负责和UOA通信。 |
外围进程 | Redo Replay | REDO日志重演进程,负责把主机发过来的日志进行重演。 |
外围进程 | RedoLog2PDB | REDO日志复制进程,负责把CACHE存储引擎中变更的数据写到PDB中去。 |
外围进程 | Log Server | 日志输出进程。 |
3.DDS的使用感言:
- dds在zk上注册:(zk的版本需要最新:否则:可能会出现dds集群所找的dds的节点和服务器上的节点不一致)
- 只要有表结构的改动或者新增表都需要在dds执行刷表操作(前提:在oracle中该表已存在)
- dds_datasource.sql:先创建dds数据源,并指定数据库维护的用户(test01,密码为密文:可用命令重新加密之后替换密码),虽然维护的数据库的用户一致,但是各个环境的连接oracle的tnsname.ora维护的环境是对应的环境
- 业务回滚报dds错误:重启dds,如果不行那么就重刷ddl脚本,再重启dds服务
- 如果dds服务器挂了,dds自身的monitor会自动拉起,这个会记录日志的,日志记录在log/run/monitor.log(这个是不需要开启日志的级别的)
- dds刷表:
步骤 1登录test用户,停订购服务
>$HOME/test_container/bin/./stop.sh
步骤 2登录test用户,停dds服务:
> $HOME/dds/bin/./stop_dds.sh
步骤 3删除dds目录下date、redo文件夹
>cd $HOME/dds
>rm -rf data redo
步骤 4删除dds/admin目录下txt文件(如果存在)
> rm $HOME/dds/admin/excuteDDSSQL.txt
步骤 5单起dds服务(
否则无法进入dds tools【类似于sqlplus】中
)
>$HOME/dds/bin/./start_dds.sh
步骤 6admin目录下执行ddssql命令进入dds
> cd $HOME/dds/admin
> ddssql dds@172.168.20.21:5114(以实际地址为准)`ddssql dds@ip:port。IP为test用户所在IP。port见$HOME/dds/config/dds.env.local.xml中配置项。例如
<dds-server value="5114"/>
密码一般为Dds@12345步骤 7执行dds刷库脚本
>@dds_datasource.sql;
步骤 8检查是否成功刷表
(执行时步骤9全部successful)
>ddssql里面执行select * from systables; 59张表时表示成功
>select * from systables;
成功后退出dds步骤 9启动订购服务
>$HOME/test_container/bin/./start.sh
暂无评论内容