1. Oracle GoldenGate Director 12.1.2 安装前,先把这几个坑填了
Oracle GoldenGate Director 12.1.2 是一套用来集中管理多个 GoldenGate 实例的 Web 控制台,跑在 WebLogic 上,适合手里有十几套甚至几十套 OGG 抽取、投递链路,靠命令行ggsci一个个连已经管不过来的 DBA 和运维。它本身不搬数据,只做配置下发、进程启停、状态监控和日志查看,所以装它的核心难点不在 Director 本身,而在前置的数据库游标、资料库用户、WebLogic 版本匹配,以及 OGG 实例侧的远程访问参数。
我这次装的环境是 Oracle 数据库 12c 作为资料库,WebLogic 10.3.6,Director Server 和 Client 都是 12.1.2.0.2,操作系统是 Linux。踩过的坑集中在三处:一是 WebLogic 版本选错,12.1.3 装完启动直接报用户密码认证失败;二是 OGG 12c 实例没加_DISABLEFIX21427144,Director 连不上远端 Manager;三是资料库用户密码策略没注意,纯数字密码建用户时被拒。下面按安装顺序把每一步的可复制命令和参数模板给出来,最后再讲怎么用 TaoToken 的统一 Key 把 AI 辅助排障接进这套环境。
先明确一个前提:Director 的 Server 端要连数据库存元数据,Client 端是图形工具,两者可以装在同一台机器,也可以分开。本文按同机部署写,路径统一用/ggdir(Server)和/ggdclient(Client),WebLogic 装在/wls11g,全部用 oracle 用户操作,避免权限混乱。
2. 前置准备:游标数、资料库用户、WebLogic 版本
2.1 调大 open_cursors
Director 连资料库时会开不少游标,官方建议开到 2000。先查当前值:
SQL> show parameter open_cursors;如果还是默认的 300,直接改:
SQL> alter system set open_cursors=2000 scope=both; System altered.scope=both保证重启后依然生效,别只改 memory。
2.2 建资料库表空间和用户
Director 的元数据表会由安装程序自动建,但表空间和用户得先准备好。表空间给 5G 起步,自动扩展:
SQL> create tablespace ogg_director 2 datafile '/oracle/oradata/orcl/ogg_director01.dbf' 3 size 5g autoextend on next 128m; Tablespace created. SQL> create user diradmin identified by Dir2024abc 2 default tablespace ogg_director; User created. SQL> grant dba to diradmin; Grant succeeded.注意密码这里,我实测纯数字或纯字母在部分 12c 密码策略下会报ORA-28003,用「字母+数字」组合最稳。grant dba是官方文档要求的,Director 安装时要建表、建索引、插初始数据,权限不够会在cds-tool.log里报错回滚。
2.3 WebLogic 版本必须卡在 10.3.x
这是最容易翻车的一步。官方兼容列表里 Director 12.1.2 对应 WebLogic 10.3 到 10.3.6,我试过装 12.1.3,WebLogic 启动时直接抛用户密码认证失败,域根本起不来。所以老老实实下wls1036_generic.jar:
[oracle@oggjk soft]$ java -jar wls1036_generic.jar Extracting 0%..........................................................100%图形安装一路下一步,不要在这一步创建域,域交给 Director 安装程序自己生成,否则路径和配置对不上。装完确认一下目录:
[oracle@oggjk soft]$ ls /wls11g/wlserver_10.32.4 OGG 实例侧加远程访问参数
如果被管理的 OGG 是 12c 版本,Director Server 从 Linux 去连远端 Manager 会被挡。需要在 OGG 的GLOBALS文件里加一行:
_DISABLEFIX21427144然后在dirprm/mgr.prm里加访问规则,把 Director Server 的 IP 放行:
ACCESSRULE, PROG *, IPADDR 10.136.3.152, PRI 1, ALLOW改完必须重启 Manager 才生效:
GGSCI> stop mgr GGSCI> start mgr这一步不做,后面 Director 里加数据源会一直显示连接超时,日志里看不到明确报错,很容易误判成网络问题。
3. TaoToken 统一 Key 接入:给排障加个 AI 通道
装 Director 的过程中会遇到各种日志报错,cds-tool-error.log、WebLogic 的server.log、OGG 的ggserr.log,靠人肉翻很费时间。我的做法是把 TaoToken 的统一 Key 接进来,用它的 API 通道做日志分析和配置校验,一个 Key 走多个模型,不用在每台机器上分别配不同厂商的凭证。
TaoToken 的定位是统一模型接入层,官网在 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,API 入口是 https://taotoken.net/api 。先在控制台建 Key:
- 控制台:https://taotoken.net/console?utm_source=taotoken_aicg_blog_end&utm_content=console&utm_campaign=rewrite
- API Keys 管理:https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=api-keys&utm_campaign=rewrite
拿到 Key 之后,在运维机上建一个settings.json,把 Director 排障常用的模型通道配好。这个文件不是 Director 自己的配置,是给本地 AI 辅助工具读的,放在/home/oracle/.config/ogg-director-ai/settings.json:
{ "provider": "taotoken", "base_url": "https://taotoken.net/api", "api_key": "sk-你的TaoTokenKey", "models": { "log_analysis": "claude-sonnet", "config_review": "gpt-4o", "quick_qa": "claude-haiku" }, "context": { "director_home": "/ggdir", "weblogic_home": "/wls11g/wlserver_10.3", "ogg_home": "/ogg" }, "log_paths": [ "/ggdir/cds-tool-error.log", "/ggdir/cds-tool.log", "/ggdir/domain/servers/AdminServer/logs/server.log" ] }base_url只写https://taotoken.net/api,不要带 UTM 参数,那是给网页链接用的。models里三个通道按场景分:日志分析用长上下文模型,配置审查用推理强的,快速问答用轻量的,省额度。
配好之后,用 curl 验证 Key 通不通:
curl -s https://taotoken.net/api/v1/chat/completions \ -H "Authorization: Bearer sk-你的TaoTokenKey" \ -H "Content-Type: application/json" \ -d '{ "model": "claude-haiku", "messages": [{"role":"user","content":"回复 OK 两个字母即可"}] }'返回里有"content": "OK"就说明通道正常。这一步单独验证很重要,别等排障时才发现 Key 或网络有问题。
4. 安装 Director Server 与 Client:命令行方式全流程
4.1 安装 Director Server
上传gg-director-serversetup_unix_v12_1_2_0_2.zip,解压后给.sh加执行权限,用-c走命令行安装:
[oracle@oggjk server]$ chmod +x gg-director-serversetup_unix_v12_1_2_0_2.sh [oracle@oggjk server]$ ./gg-director-serversetup_unix_v12_1_2_0_2.sh -c交互过程中几个关键输入:
| 提示项 | 输入值 | 说明 |
|---|---|---|
| Installation Location | /ggdir | Director 安装目录 |
| Weblogic Location | /wls11g | WebLogic 的 home |
| HTTP Port | 7001 | 控制台端口 |
| Database | 3 | 选 Oracle Database |
| Server Host Name | 10.136.3.152 | 必须写 IP 或域名,别用 localhost |
| SID/Service Name | 2然后orcl | 选 Service Name |
| Database Port | 1521 | 监听端口 |
| User ID | diradmin | 资料库用户 |
| Password | Dir2024abc | 字母+数字 |
安装过程会解压gdsc-server.ear、domain.jar、各数据库的建表脚本。如果中途失败,安装程序会回滚,去/ggdir下看cds-tool-error.log和cds-tool.log定位原因,常见的是资料库连不上或权限不足。
装完检查目录:
[oracle@oggjk ggdir]$ ls cds_current_db_config.xml cds-tool-error.log cds-tool.log domain domain-new.jar ggs.url installDirSvc.cmd uninstall4.2 安装 Director Client
Client 是图形工具,同样命令行装:
[oracle@oggjk client]$ chmod +x gg-director-clientsetup_unix_v12_1_2_0_2.sh [oracle@oggjk client]$ ./gg-director-clientsetup_unix_v12_1_2_0_2.sh -c安装目录填/ggdclient,符号链接目录用默认/usr/local/bin。装完bin下有两个脚本:
run-admin.sh:管理工具,用来加管理账号、注册 OGG 数据源run-director.sh:日常管理界面,启停进程、看状态
4.3 启动 Director Server
进域目录,后台启动 WebLogic:
[oracle@oggjk ggdir]$ cd /ggdir/domain [oracle@oggjk domain]$ nohup ./startWebLogic.sh &启动日志会写到servers/AdminServer/logs/server.log,等看到Server started in RUNNING mode就绪。访问地址:
http://10.136.3.152:7001/acon默认账号密码admin/admin,第一次登录后立刻改掉。
5. 连通性验证与日志检查
5.1 验证 WebLogic 控制台
浏览器打开http://10.136.3.152:7001/acon,能出登录页说明 Server 端正常。如果 404,检查gdsc-server.ear是否部署成功,去 WebLogic 控制台http://10.136.3.152:7001/console看 Deployments 状态。
5.2 验证资料库连接
Director 的元数据都在diradmin用户下,连上去数一下表:
SQL> conn diradmin/Dir2024abc@orcl SQL> select count(*) from user_tables;表数量在几十张量级,如果为 0,说明安装时建表脚本没跑成功,回看cds-tool.log。
5.3 验证 OGG 数据源连通
启动 Client 管理工具:
[oracle@oggjk bin]$ ./run-admin.sh在界面里添加数据源,填 OGG 所在主机、Manager 端口(默认 7809)、OGG Home 路径。保存后如果状态是绿色,说明_DISABLEFIX21427144和ACCESSRULE都生效了。红色或超时,先telnet 目标IP 7809确认端口通,再回查mgr.prm。
5.4 用 TaoToken 通道分析日志
把报错日志丢给配好的通道,比如查 WebLogic 启动失败原因:
curl -s https://taotoken.net/api/v1/chat/completions \ -H "Authorization: Bearer sk-你的TaoTokenKey" \ -H "Content-Type: application/json" \ -d '{ "model": "claude-sonnet", "messages": [{ "role": "user", "content": "以下是 WebLogic 启动日志片段,请指出导致启动失败的关键错误行并给出排查方向:\n<Authentication denied: Boot identity not valid>" }] }'返回会直接定位到认证失败,提示检查boot.properties或域的用户名密码。这比在几千行日志里翻快得多。需要长期做编码和 Agent 类任务的,可以看 Coding Plan:https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_content=coding-plan&utm_campaign=rewrite ,模型对话入口在 https://taotoken.net/models?utm_source=taotoken_aicg_blog_end&utm_content=models&utm_campaign=rewrite 。
6. 本篇常见报错排查
WebLogic 启动报用户密码认证失败:九成是 WebLogic 版本不对,12.1.3 换回 10.3.6。检查/wls11g/wlserver_10.3的版本号。
Director 安装回滚,cds-tool-error.log 报 ORA-01031:diradmin权限不够,确认grant dba执行了,且表空间有剩余空间。
Client 连不上数据源,状态一直超时:先确认 OGG 侧GLOBALS加了_DISABLEFIX21427144,mgr.prm的ACCESSRULEIP 写的是 Director Server 的 IP,改完重启 Manager。
访问 /acon 报 503:WebLogic 域没完全启动,看server.log最后几行,通常是资料库连接池初始化失败,回查cds_current_db_config.xml里的连接串。
TaoToken 调用返回 401:Key 没带对或过期,去 API Keys 页面重新生成:https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=api-keys&utm_campaign=rewrite 。接入细节和参数说明看文档:https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=doc&utm_campaign=rewrite 。
整套装下来,最花时间的不是 Director 本身,而是前置的版本匹配和 OGG 侧参数。把 WebLogic 卡在 10.3.6、资料库用户密码用字母加数字、OGG 实例加远程访问规则这三件事做对,后面基本一路顺。日志分析接上 TaoToken 之后,遇到报错先让模型定位关键行,再针对性查文档,比盲翻日志省一半时间。