问题现象:
有用户报告,当升级到TCEnt 2007_MP01补丁集后,用户登录瘦客户端会遇到Oracle标识符无效的错误,如下:
错误!
配置错误,请联系 Teamcenter 管理员,告知错误代码,以获得更多技术细节:466827942。请注意,此错误代码是供将来参考的。 Oracle 报告了数据库错误。
ORA-00904: "USRSETGSACTION": 标识符无效
(31ulymsgs007)
解决方法:
1. 安装MP01补丁集前,删除旧的CCDS对象。
由于CCDS对象结构在新的补丁集中有较大更改,在用户环境中原有的CCDS对象已经无效,需要删除。请运行以下步骤删除已有的CCDS对象:
a. 新建文件,如DeleteCCDS.dat,包括以下内容:
delete from UsrSetgs;
b. 执行以下命令,载入上一步中的dat文件内容:
objload -f DeleteCCDS.dat -k DeleteCCDS.Key -d
c. 以上命令会在用户数据库中
删除所有CCDS对象,并且生成DeleteCCDS.Key文件用于在key表中删除CCDS 对象相关的记录。执行以下命令删除key表中的CCDS 对象相关的记录:
objload -f DeleteCCDS.Key -d
其中KeyDBName是key数据库的名称。
2. 安装MP01补丁集。
3. 安装MP01补丁集后,增加新的消息'QueryUsrSetgsObject'。
新的消息'QueryUsrSetgsObject'需要加入到查询组中,否则用户将没有权限访问新加的消息,导致出错。执行以下步骤载入新消息:
a. 新建文件,如LoadMAR.dat,包括以下内容:
class MsgGrp
{
MsgGrpName = 'Query_grp';
MsgName = 'QueryUsrSetgsObject';
}
b. 执行以下命令,载入上一步中的dat文件内容:
objload -f LoadMAR.dat -d
其中AdminDBName是admin数据库的名称。
4. 在所有的数据库中运行updatedb,更新数据库。