代码改变世界

PDMS-DB之配置、回档、合并

2014-08-14 22:50  yywx  阅读(4434)  评论(0编辑  收藏  举报

  DB,即database的简写,是PDMS中数据存储的载体。PDMS中各种各样的三维模型、平面图纸、数据库等等,几乎都存储在DB中。因此一旦DB发生异常,其后果将是毁灭性的,为此我们需要有一些技术手段来处理DB的问题。

1、Reconfigure   重新配置数据库

  在使用PDMS的时候,由于网络的异常、操作的异常,也可能是程序本身的异常,使得PDMS非正常关闭。这些情况会导致有影子用户残留在项目中,或者有未正常解除的声明,最极端的会使得某些元素被锁定甚至损坏,使得该DB中数据出现异常。

  一般来说,影子用户和未解除声明可在Admin模块种,管理员直接剔除即可解决,但如果元素被锁定或损坏,则必须要用Reconfigure来重新配置数据库。

1.1、查明损坏元素所属的DB

  选中损坏元素后,在命令行里面输入Q DBNAME,可查询元素所属的DB名称,Q DBNUMBER,可查询所属DB的号。

1.2、进入Admin模块

  只有free权限的用户才可以进行Reconfigure的操作。

1.3、锁定项目

  在Reconfigure之前,踢出所有用户,并将项目锁住,以防有用户在项目中。

1.4、备份项目

  Reconfigure中,有些操作是不可逆的,一旦Reconfigure过程中,发生错误,会给整个项目带来毁灭性的灾难,因此Reconfigure之前,一定要备份旧项目。尤其是对操作不熟练的新手。

1.5、Reconfigure

  在命令行中输入以下命令

  a) FROM DB PAA/DESI            注:此处的PAA/DESI是我们在1.1中查询的结果,即需要Reconfigure的DB,每次只能Reconfigure一个DB。           
  b) TO FILE /P1 /P2                 注:将DB中的数据存储在临时文件中,一般是在PDMS的根目录下,会有这么两个文件一个名为P1,一个为P2。注意硬盘空间要够
  c) RCFCOPY ALL
      d) RECONFIGURE
  e) DELETE DB PAA/DESI         注:将旧DB删除,读者应该了解为什么要备份项目,因为一旦这里发生异常,DB被删除了,想找回来就比较困难。
  f) CREATE DB PAA/DESI DESI ACC MULTIWRITE DBNO 14

  注:创建新DB,此处新DB和旧DB名称相同,DESI表示是类型为design的DB,ACC MULTIWRITE表示是多写数据库,DBNO 14 表示DB号
  g) FROM FILE /P1 /P2     注:从临时文件拷回数据
  h) TO DB PAA/DESI
  i) RECONFIGURE
  j) RCFUPDATE ALL

 

2、Backtrack 回档

  除了上面提到的Reconfigure,DB还可以进行回档。PDMS内部的机制是每次用户点击savework,系统都会生成一个session节点来记录此处保存的状态,相当于是为DB做了一个快照。因此有了这个快照,DB就可以回到任意保存时间点。

  但不建议管理员经常去对DB回档,因为这样一般会讨骂的。。。大家如果玩过网络游戏都知道,遇到服务器回档,基本上是骂声一片的。除非是出了很严重的问题,除了回档别无他法,万不得已才用此招。

  打开回档界面,在Admin模块中,Data > change management > Backtrack changes 界面如下:

2.1、选择需要回档的DB

2.2、选择需要回到的时间节点

可通过session number处的+,-号,来设置需要回到的节点,每个节点都有保存的时间,以及保存的用户。

2.3、点击Apply完成回档

注:回档并不是覆盖当前节点,而是在当前节点后,又生成一个新的节点。

 

3、merge 合并

  上面提到,PDMS每次保存都会生成一个数据库节点,当项目做的时间比较长或项目比较大的时候,PDMS的项目文件会非常大。此时我们可以对节点进行压缩,合并部分节点,只留有意义的里程碑。但不强制一定要这样做,在当前存储设备越来越便宜,容量越来越大的情况下,项目文件大已经不再是制约的瓶颈。

  如果项目已经完成,准备封档的话,倒是可以适当的合并一些节点,只留关键点。

  打开回档界面,在Admin模块中,Data > change management > Merge changes 界面如下:

3.1、选择需要合并节点的DB

3.2、合并方式

  在Changes选项中有三种合并方式:

3.2.1、All  

  将所有节点合并成一个,即只保留最后一个。

3.2.2、After

  将当前选择的节点后的所有节点合并成一个。

3.2.3、Up To

  将当前选择的节点前的所有节点合并到当前节点。

3.3、点击Apply完成合并