简介:这份文档面向 Opics 系统项目的实施与运维人员,提供从部署到日常维护的完整操作指引,适合需要独立完成系统搭建、参数配置与运行保障的初中级技术人员参考。压缩包内为 1 个 doc 文件,整体约 7.15MB,内容按章节组织,涵盖系统总体架构说明、硬件与软件清单、安装步骤、目录权限定义、数据库与 ODBC 配置、OSYS 批量处理、Rate Feed 配置、ALM 安装以及报表系统接口等模块,并附系统运行维护要点。读者可据此理清 Opics 的整体结构与组件关系,按手册逐步完成安装与配置,并在后续运维中对照排查权限、数据库连接和批量任务等问题。目前已有 493 人学习,可作为项目落地时的案头参考。
1. 从一台 Dell 2850 说起:Opics 这套老系统为什么总在安装环节翻车
上周帮某金融机构的朋友救一台 Dell 2850,机器上跑的是 Windows Server 2003 英文版,任务是把 Opics 资金交易系统的文件服务器重新搭起来。系统盘还在,Opics 软件包也在,但 Citrix 用户一登录就报错,opx.ini 里的路径全指向了上一台机器的目录。这不是个例——Opics 这套系统在银行资金业务里跑了十几年,安装文档停留在 2007 年,硬件清单里还写着 IBM pSeries 和 Oracle 9.2.0.7,但真正装起来,坑全在版本搭配、目录权限和 ODBC 这三件事上。这篇笔记按我实际复现的流程走一遍:先列清环境,再装文件服务器和 Citrix,配 ODBC 和 Rate Feed,最后说清楚装完怎么验证、坏了怎么救。适合正在接手 Opics 维护、或者要把老环境迁移到新机器上的开发者。
2. 环境清单与版本选择:AIX 5.3 加 Oracle 9.2.0.7 这套组合怎么定
Opics 的安装不是单机装一个软件,它至少涉及四类机器:Oracle 数据库服务器、文件服务器兼 Citrix 服务器、Opics Risk 服务器、批量处理机。原手册给的硬件和软件清单是 2007 年的配置,直接照抄会卡在新硬件驱动和 Oracle 安装介质上。我一般会先把清单拆成「必须原样保留」和「可以替换」两列,再决定装什么版本。
2.1 四类机器的角色与软件清单
先把每台机器干什么说清楚,后面装的时候才知道哪一步该在哪台上做。
| 机器角色 | 硬件参考 | 操作系统 | 关键软件 | 作用 |
|---|---|---|---|---|
| Oracle 数据库服务器 | IBM pSeries ×2 | AIX 5.3 | Oracle 9.2.0.7 for AIX 64 位 | 存 Opics 全部业务数据 |
| 文件服务器 / Citrix 服务器 | Dell 2850 ×2 | Windows Server 2003 英文版 + 中文字符集 | Citrix Server(20 用户)、Terminal Server、Office 2003 英文版、Oracle SQL Net 客户端、Opics 客户端、Opics Risk 客户端 | 共享 D:\opics 目录,发布 Opics 应用 |
| Opics Risk 服务器 | Dell 1855 刀片 | Windows Server 2003 | Oracle SQL Net 客户端、MQ、Office 2003 英文版 | 跑风险计算和 Risk 客户端 |
| 批量处理机 | Dell PC | Windows Server 2003 | Oracle SQL Net 客户端、Opics 客户端、Citrix 客户端 | 跑 OSYS 批处理 |
这张表里最容易被忽略的是「中文字符集」和「Office 2003 英文版」这两个要求。Windows Server 2003 英文版默认不带中文支持,Opics 的报表和文本证实模板里有中文,不装字符集会出现乱码;Office 必须装 Access 和 Excel 组件,因为 Rate Feed 的路透终端配置文件是 .XLS 格式,Opics Risk 读外部数据也依赖 Excel。
2.2 版本取舍:哪些能换、哪些不能换
Oracle 9.2.0.7 这个版本号很关键。Opics 的数据库脚本(scripts 目录下)是按 9i 的语法写的,直接拿到 11g 或 19c 上跑,建表语句里的某些数据类型和存储过程会报错。如果非要升级数据库,得先让应用厂商出兼容脚本,这不是运维能单方面决定的。我的做法是:数据库版本锁死 9.2.0.7,AIX 5.3 也尽量不动,因为 Oracle 9i 在 AIX 上的安装介质和补丁集跟 AIX 版本强绑定。
Windows 这边相对宽松。Windows Server 2003 是 Citrix 和 Opics 客户端验证过的环境,换成 2008 或 2012 不是不行,但 Citrix 的版本要跟着换,Opics 客户端的 16 位安装程序在新系统上可能直接拒绝运行。常见做法是保留一台 2003 的虚拟机专门跑 Citrix 发布,物理机只做文件共享。
提示:Oracle 9.2.0.7 的安装介质需要 64 位 AIX 版本,32 位介质装完连不上 Opics 的 64 位客户端,这个错在安装日志里只报一个「无法加载库」,很容易误判成网络问题。
2.3 安装前的目录规划
文件服务器上要提前建好三个目录,这是后面所有配置的基准:
# 在文件服务器 D 盘创建 Opics 主目录结构 mkdir D:\opics mkdir D:\opicsdata mkdir D:\opxaccD:\opics放系统程序包解压后的全部子目录(DOCS、OPXACCESS、opxdb、opxexe、opxjob、opxlog、opxrpt、opxsec、opxsys、opxupr、scripts、source 等),D:\opicsdata放每日备份数据,D:\opxacc放 Citrix 用户的个人目录。这三个目录的权限模型不一样:opics 目录要给一般用户读和执行权限,opicsdata 只给系统管理员和批量用户读写,opxacc 按用户隔离。下一章会展开权限表。
3. 文件服务器与 Citrix 安装:目录权限和 opx.ini 是两道坎
文件服务器是整个 Opics 环境的中枢,Citrix 用户通过它访问程序,批量机通过映射盘跑 OSYS。装的时候顺序不能乱:先装系统组件,再建目录、设权限,然后装 Opics 客户端,最后配 Citrix 用户。顺序错了,后面改权限会把已发布的 Citrix 应用搞挂。
3.1 系统组件安装顺序
在 Windows Server 2003 英文版上,按这个顺序装:
# 1. 安装中文字符集(控制面板 -> 区域和语言选项 -> 高级 -> 中文) # 2. 安装微软中文输入法 # 3. 安装 Citrix Server(20 用户授权) # 4. 安装 Terminal Server(20 用户授权) # 5. 安装 Office 2003 英文版,勾选 Access 和 Excel # 6. 安装 Oracle SQL Net 客户端中文字符集要在装 Citrix 之前装好,因为 Citrix 发布应用时会读取系统区域设置,后补字符集可能导致已发布应用的界面语言不一致。Office 装英文版是原手册的明确要求,原因是 Opics 的报表模板和 Rate Feed 的 Excel 文件是按英文版 Office 的宏和函数写的,中文版 Office 打开时可能提示宏安全警告,自动化脚本会卡在弹窗上。
3.2 目录权限定义与设置
Opics 的目录权限不是一刀切,原手册给了一张很细的表,我把它压缩成三类角色的关键差异:
| 目录 | 一般用户 | 系统管理员 | 批量用户 |
|---|---|---|---|
| opxexe(应用程序) | 读、执行 | 读、写、执行 | 读、执行 |
| opxjob(批量步骤列表) | 读 | 读、写 | 读、写 |
| opxlog(系统日志) | 读、写 | 读、写 | 读、写 |
| opxpwd(用户权限配置) | 读 | 读、写 | 读、写 |
| opxsec(用户权限配置) | 读 | 读、写 | 读、写 |
| opxsys(程序参数文件) | 读 | 读、写 | 读、写 |
| opxupr(客户化参数) | 读、写 | 读、写 | 读、写 |
| scripts(数据库脚本) | 读 | 读 | 读 |
设置的时候用 icacls 批量赋权比手工点属性页可靠:
# 给一般用户组赋 opxexe 的读和执行权限 icacls D:\opics\opxexe /grant "OpicsUsers:(OI)(CI)(RX)" # 给系统管理员组赋 opxjob 的读写权限 icacls D:\opics\opxjob /grant "OpicsAdmins:(OI)(CI)(M)" # 给批量用户组赋 opxlog 的读写权限 icacls D:\opics\opxlog /grant "OpicsBatch:(OI)(CI)(M)"(OI)(CI)表示权限继承到子目录和文件,RX是读加执行,M是修改。批量用户对 opxlog 要有写权限,因为 OSYS 跑批时每个步骤都会往日志目录写文件;一般用户对 opxlog 也要有写权限,因为每个用户操作都会生成自己的日志。opxsec 和 opxpwd 这两个目录管的是用户权限配置,一般用户只给读,写权限只留给管理员和批量用户,否则普通用户能改自己的权限配置。
3.3 共享映射与 Citrix 用户配置
目录权限设好后,把 D:\opics 共享出来,并映射为 M 盘。映射盘符是 Opics 客户端找程序文件的依据,很多安装文档里写的路径是 M:\opxexe,如果映射成别的盘符,客户端启动时会报「找不到可执行文件」。
Citrix 用户的配置分三步。第一步在 Windows 里建用户,用户名按原手册的命名规则(citrix 加编号),并赋予 D:\opics 的读写权限。第二步在 D:\opxacc 下给每个用户建目录,目录里再建 opxacc 和 opxcom 两个子目录:
# 以 citrix3053 为例,创建用户个人目录 mkdir D:\opxacc\citrix3053\opxacc mkdir D:\opxacc\citrix3053\opxcom第三步是把 C:\windows\opx.ini 拷到每个用户的 Windows 目录下,并改三个路径参数:
[SETTINGS] PCID=OPX001 OPXCOMMON=D:\OPXACC\citrix3053\OPXCOM OPXACCFILES=D:\OPXACC\citrix3053\OPXACC LASTID=GZTPCID是终端标识,同一台 Citrix 服务器上多个用户共用一个 PCID 没问题,但不同服务器之间要区分。OPXCOMMON指向用户的 opxcom 目录,放临时通信文件;OPXACCFILES指向 opxacc 目录,放用户的账务访问文件。这两个路径必须改成对应用户的目录,原手册里用红色标出的就是这个位置。LASTID是上次登录的操作员编号,保留默认值即可。
注意:opx.ini 拷到用户 Windows 目录后,要确认文件权限允许该用户读写,否则 Opics 客户端启动时写不进临时文件,表现为登录后界面卡住。
3.4 Citrix 应用发布
在 Citrix 管理控制台里发布三个应用:Opics、Opics Risk、Convert。发布时命令行指向 M:\opxexe 下的对应可执行文件,工作目录设为 M:\opxexe。发布完用测试用户登录一次,确认能打开登录界面。业务终端只需要装 Citrix 客户端,不需要装 Opics 客户端,这是 Citrix 架构的意义——所有计算在服务器上跑,终端只传画面。
4. 数据库、ODBC 与 Rate Feed:连接串和刷新频率的取舍
文件服务器装完后,Opics 还连不上数据库,因为缺 ODBC 数据源。ODBC 配好之后,Rate Feed 才能把路透终端的汇率和利率导进来。这一章的三件事有先后依赖:先建库,再配 ODBC,最后配 Rate Feed。
4.1 创建 Opics 数据库
数据库服务器上按 Oracle 安装文档装完 9.2.0.7 后,用 Opics 软件包 scripts 目录下的脚本建库。建库前确认两件事:字符集用 AL32UTF8 还是 ZHS16GBK,以及临时表空间大小。Opics 的批处理会建大量临时表,临时表空间给小了,跑批到一半报「无法扩展临时段」。我一般给 2GB 起步,具体看日交易量。
建库脚本按顺序执行,先建表空间,再建用户,最后跑建表脚本。执行前把脚本里的路径改成实际的数据文件路径,AIX 上的路径格式和 Windows 不一样,别直接拷。
4.2 ODBC 数据源配置
在文件服务器和批量机上都要配 ODBC。打开「数据源(ODBC)」,选系统 DSN,添加 Oracle 驱动,填三个关键项:
数据源名称: OPICS TNS 服务名: OPICSDB 用户名: opicsTNS 服务名要和 Oracle 服务器上 tnsnames.ora 里的条目一致。配完后点「测试连接」,能通说明 SQL Net 客户端和网络都没问题。测试不通先查 tnsnames.ora 的 HOST 和 PORT,再查服务器防火墙,最后查 Oracle 监听是否启动。ODBC 配错的表现是 Opics 客户端登录时报「无法连接数据库」,但不会告诉你具体是 TNS 解析失败还是认证失败,所以测试连接这一步不能省。
4.3 Rate Feed 三段配置
Rate Feed 分三部分:路透终端、Opics Risk 客户端、Opics 系统配置。
路透终端上把 C:\reuters 共享出来,目录里放四个 Excel 文件:CNY INREST RATE.XLS、DLSP.XLS、FX RATE.XLS、INTETEST RATE.XLS。每个文件打开后在 Tools 里选 Share Workbook,勾选「Allow changes by more than one user」,再在 Tools 里设 AutoSave 每五分钟保存一次。共享是为了让 Opics Risk 能同时读,自动保存是为了防止终端重启丢数据。
Opics Risk 客户端上把 C:\reuters 映射成 Z 盘,然后在 Data 菜单里选「获取外部数据」,数据源指向 Z 盘下的四个文件,刷新频率设每两分钟一次。两分钟这个值不是随便定的:路透终端五分钟保存一次,Risk 两分钟刷一次,最多滞后七分钟,对日终重估够用;设太短会增加 Excel 文件锁冲突。
Opics 系统里的配置分汇率和利率两块。汇率映射配 REVP(期限定义)、REVX(表映射)、REVI(汇率检查);利率映射配 RATE(表映射)、RHIS(利率检查)。导入批处理在 OSYS 里配四个步骤:D22RATE0001 做利率导入准备,RTXTOSYS 导利率,XTFXOSYS 导汇率,ISYSOSYS 和 ISYSOSY1 做 BR22 和 BR00 导入。批处理步骤的顺序不能调换,利率必须先于汇率导入,因为汇率检查依赖利率数据。
5. 避坑与排查:五个装 Opics 时真实踩过的坑
5.1 Citrix 用户登录后界面卡死
现象:用户通过 Citrix 打开 Opics,输入用户名密码后界面停在登录窗口,不报错也不进去。
原因:opx.ini 里的 OPXCOMMON 和 OPXACCFILES 路径指向了别的用户目录,或者该用户对这两个目录没有写权限,客户端写临时文件失败后静默等待。
解决:逐用户检查 opx.ini 的两个路径是否指向自己的目录,再用 icacls 确认该用户对 opxcom 和 opxacc 有修改权限。批量修复可以写个脚本遍历 D:\opxacc 下的用户目录,按目录名生成对应的 opx.ini。
5.2 ODBC 测试连接成功但 Opics 登录失败
现象:ODBC 管理工具里测试连接通过,Opics 客户端登录报数据库连接错误。
原因:ODBC 配的是用户 DSN 而不是系统 DSN,Citrix 用户登录时用的是自己的会话,读不到管理员配的用户 DSN。
解决:删掉用户 DSN,重建为系统 DSN。系统 DSN 对所有用户可见,这是 Citrix 多用户环境的基本要求。
5.3 批量跑批到一半报临时表空间不足
现象:OSYS 批处理执行到衍生品部分时中断,日志里报 ORA-01652 无法扩展临时段。
原因:Opics 二期增加了掉期、期权模块,批处理产生的临时数据量比一期大,原临时表空间按一期数据量给的,不够用。
解决:给临时表空间加数据文件或开自动扩展,同时检查是否有未提交的大事务占着临时段。长期做法是按日交易量估算临时空间,留一倍余量。
5.4 Rate Feed 导入后汇率为空
现象:批处理跑完,Opics 里查汇率表是空的,但路透终端的 Excel 文件里有数据。
原因:Opics Risk 客户端的映射盘符不是 Z 盘,或者 Excel 文件的共享设置没开,Risk 读不到文件内容,导入批处理拿到的是空结果。
解决:确认 Risk 客户端上 Z 盘映射到 C:\reuters,四个 Excel 文件都开了 Share Workbook。再检查 Opics 系统配置里的 REVX 表映射是否指向正确的汇率表。
5.5 升级二期程序后客户端报版本不匹配
现象:按升级包顺序更新了 opxexe 等目录后,部分 Citrix 用户登录报版本不匹配。
原因:升级时只更新了文件服务器上的程序,但 Citrix 服务器有本地缓存,或者部分用户目录下的 opx.ini 里 PCID 没更新,客户端读到了旧版本号。
解决:升级前按原手册要求先备份 d:\opics 下所有要更新的目录到 d:\backup\before change,升级后清 Citrix 本地缓存,逐个确认用户 opx.ini 的 PCID 一致。升级包要按 Phase II、case 152042/152412、case 152562、case 154293/154294、case 154681 的顺序依次更新,每个包里的 readme.doc 都要看,跳序更新是版本不匹配的常见原因。
6. 装完怎么验证:从登录到跑批走一遍完整链路
装完不等于能用。我习惯在交付前走一遍完整链路,从 Citrix 登录到日终跑批,每一步都有明确的通过标准。这套验证流程比看安装日志管用,因为 Opics 的很多问题在安装阶段不报错,要到实际业务操作才暴露。
6.1 验证清单与通过标准
| 验证项 | 操作 | 通过标准 |
|---|---|---|
| Citrix 登录 | 用测试用户通过 Citrix 打开 Opics | 出现登录界面,输入用户名密码后进入主菜单 |
| 数据库连接 | 登录后打开任一查询界面 | 能查出基础数据,不报连接错误 |
| 目录权限 | 用一般用户身份在 Opics 里做一笔模拟交易 | 能保存,opxlog 下生成该用户的日志文件 |
| Rate Feed | 手动触发 D22RATE0001 和 RTXTOSYS | 汇率表和利率表有当日数据 |
| 批量处理 | 在批量机上跑一次完整日终 | 所有步骤状态为完成,opxarc 下生成当日归档目录 |
| 备份 | 检查 d:\opicsdata | 有当日备份目录,文件数与非空 |
6.2 一个容易被忽略的验证技巧
验证 Rate Feed 的时候,别只看批处理是否成功,要去 Opics 里查汇率表的「生效日期」字段。批处理成功但生效日期是前一天,说明路透终端的 Excel 文件没更新,或者 Risk 的刷新频率没生效。我一般会在路透终端改一个测试汇率值,等两分钟,再去 Opics 里查这个值有没有进来,这样能确认整条链路是通的,而不是批处理空跑成功。
批量处理的验证要看 opxarc 目录。每天日终跑完后,opxarc 下会生成一个以当前生产系统日期命名的目录,里面是当日归档数据。如果目录没生成,说明批处理最后一步没执行完,哪怕前面步骤都显示完成。这个目录也是备份的依据,d:\opicsdata 里的备份就是从这里转存的。
6.3 日常维护的两个习惯
数据备份靠 bbkr 命令,已经包含在批量过程里,备份目录是 d:\opicsdata,每天日终按生产系统日期生成一个备份目录。我一般每月把 opicsdata 转存到带库一次,转存完不删本地,留最近一个月的。
系统日志分两处:每个用户的操作日志在 d:\opics\opxlog 下按用户生成,日终归档在 d:\opics\opxarc 下按日期生成。OSYS 用户的日志会特别大,因为它是实时监控进程,日志增长快。我的习惯是每周检查一次 opxlog 下 OSYS 日志的大小,超过阈值就备份后清理,别等到磁盘满了再处理——磁盘满的时候 Opics 的表现是批量步骤随机失败,排查起来很费时间。
从那以后我每次装完 Opics,不管多赶时间,都强制走一遍「Citrix 登录 → 模拟交易 → Rate Feed 手动触发 → 日终跑批 → 查 opxarc 归档目录」这条链路,少一步都不交付。希望帮到你。
本文还有配套的精品资源,点击获取