我现在已经完成了从 7.6 到 7 的许多迁移 MAS。与同一个旧的 7.6 补丁相比,节奏发生了不错的变化。但是,作为迁移到 MAS 的一部分,我们还会移动 DOCLINKS 文件存储所在的位置。您现在可以使用永久交易量申领 (PVC) 或 S3。我们现在使用 S3 托管 DOCLINKS。迁移到 S3 意味着我们必须修改 DOCLINKS。在这样做的过程中,我学到了很多关于修改 DOCLINKS 以及如何在不破坏所有存储附件的情况下安全地进行修改的知识。

在开始解释最佳实践的过程之前。我想确保你知道控制 DOCLINKS 的重要部分。核心表是 DOCINFO 和 DOCLINKS。您还需要了解物理附件存在于 PVC 或 S3 存储桶中,而不是位于数据库本身中。

DOCINFO

这存储附件元数据。关键栏目:

  • DOCINFOID
    • 唯一 ID
    • 与 DOCLINKS 的关系
  • 网址名
    • 实际文件路径
  • 网址类型
    • 文件或 URL
  • 文档类型
    • 附件、图像等
    • S3-这是一个元数据标签,对文件的当前存储位置没有影响。
    • 文件夹:它可以用作子文件夹(或单独的文件夹结构)并分隔附件。

码头

这会将文档链接到 管理 记录。关键栏目:

  • 所有者表
    • 显示 DOCLINKS 存在于哪个对象上
    • 示例:工作订单
  • 所有者身份
    • 表中列的唯一 ID
    • 用于查找 DOCLINK 所在的记录;用于将表格与附件连接在关系中
  • DOCINFOID
    • 与 DOCINFO 的关系

最佳实践

系统备份

每当你要对 DOCLINKS、DOCINFO 或者任何与数据相关的内容进行更改时,都要对系统进行备份。首先在非生产环境中进行更改。您还可以运行 SQL 来创建 DOCINFO 表备份,这样就不会丢失它,并在完成后删除该表,以便轻松恢复 DOCINFO 表。

SQL

SELECT * INTO DOCINFO_BACKUP FROM DOCINFO;
DROP TABLE DOCINFO_BACKUP;

DB2

CREATE TABLE DOCINFO_BACKUP AS (SELECT * FROM DOCINFO) WITH DATA; 
DROP TABLE DOCINFO_BACKUP; 

神谕

CREATE TABLE DOCINFO_BACKUP AS SELECT * FROM DOCINFO; 
DROP TABLE DOCINFO_BACKUP; 

从一个附件开始

首先缩小对一个文件所做的任何更改。你可能有许多不同的网址名称需要更新。如果你尝试一次全部完成,你可能会弄乱所有网址。花点时间先研究需要做哪些更改。


注意:我们需要做的唯一更新是 DOCINFO 表,而不是 DOCLINK 表。你不必在整个过程中更新 DOCLINKS。

文件的 URL 类型

我只把精力集中在文件的 URLTypes 上。这些是存储在您正在使用的附件存储空间中的文档。

换毛毯

通常,你会想进行一次全面的更改,如下所示;这几乎是一个不错的更改,但缺少一些信息:

UPDATE DOCINFO SET URLNAME = REPLACE(URLNAME,'\\OLD','\\NEW')


这是一个可能导致多个问题的错误:

  • 区分大小写可能已关闭
  • 你可以更新所有记录
  • 你可以将其设置为无效的 UNC 路径

DOCLINKS 模式

为你的 DOCLINKS 找到一个模式,然后用它来创建更新声明。你可以从 SQL 开始,比如:

SELECT URLNAME FROM DOCINFO WHERE URLTYPE = 'FILE' 


如果所有 DOCLINKS 都有类似\\ server\ DOCLINKS\ 的路径,则可以创建一条笼统的声明。但是,我仍然建议使用这样的方法只测试一个文档:

UPDATE DOCINFO SET URLNAME = 
REPLACE(URLNAME,'\\OLD_SERVER\DOCLINKS','\\NEW_SERVER\DOCLINKS') 
WHERE URLNAME = '\\OLD_SERVER\DOCLINKS\[TEST.TXT]' AND URLTYPE=’FILE’

验证

验证您更改的一个附件在前端用户界面中是否有效。

受控更换

使用受控替换可以确保仅更新与要替换的内容相匹配的 DOCLINKS:

UPDATE DOCINFO SET URLNAME = 
REPLACE(URLNAME,'\\OLD_SERVER\DOCLINKS','\\NEW_SERVER\DOCLINKS') 
WHERE URLNAME LIKE '\\OLD_SERVER\DOCLINKS%' AND URLTYPE=’FILE’

重复

对所有需要的唯一 URLName 执行此操作,直到所有 DOCINFO 记录都指向新的文件存储空间为止。

并非所有的 DOCINFO 问题都需要对 URLNAME 进行这样的更新。但是,更改文件存储解决方案需要更改这些 URL。他们还需要对系统属性中的一些配置进行一些更新。你可能需要更新以下属性:

  • mxe.doclink.doctypes.defP
  • mxe.doclink.doctypes.顶级路径
  • mxe.doclink.path01
  • mxe. 附件存储
  • mxe.doclink.securedAttachent

如果您使用的是 S3,则还需要通过更新以下系统属性来授予 Manage 对存储桶的访问权限:

  • mxe.cosendpointuri
  • mxe.cosaccesskey
  • mxe.cos 密钥
  • mxe.cosbucket 名称

最后,你需要查看你的文档类型。完成所有这些更改后,DOCTYPES 表仍将引用您的旧存储系统。您将需要将其更新到新的存储系统:

UPDATE doctypes SET defaultfilepath = ‘[NEW Default Path]’

在 Maximo 环境中,附件损坏的最常见原因不是损坏;这是善意的管理员在不了解 DOCINFO 和 DOCLINKS 如何交互的情况下更新 DOCLINK 路径。

当前客户:升级到 MAS 时,将作为升级的一部分为您处理。如果你正在考虑加入 Naviam 的云,我们将作为实施的一部分为您处理这些更改。你甚至不必为你的系统担心这个问题。

MORE Community Logo
Live from the MORE community

Your Maximo questions probably already have answers

See what Maximo users are asking, answering, and solving right now.

Unlock the Ultimate Guide to IBM Maximo Application Suite (MAS)

Discover everything you need to know to modernize your asset management strategy.

Inside, you’ll learn:

  • What’s new in IBM Maximo Application Suite 9.0
  • Key differences between Maximo 7.6 and MAS
  • How AppPoints and OpenShift change the game
  • Industry use cases across energy, manufacturing, and transportation
  • Step-by-step guidance for upgrading and migration readiness
Cover of 'The Ultimate Guide to MAS Maximo Application Suite' by Naviam featuring a man in a yellow construction helmet and safety vest holding a tablet.
×

ActiveG, BPD Zenith, EAM Swiss, InterPro Solutions, Lexco, Peacock Engineering, Projetech, Sharptree, and ZNAPZ have united under one brand: Naviam.

You’ll be redirected to the most relevant page at Naviam.io in a few seconds — or you can go now.

Read Press Release