QC10.0 升级到 ALM12.20(Oracle数据库)

由于工作需要,笔者最近需要帮助客户将现有的QC10.0升级到ALM12.20,因此本文详细介绍如何将现有的QC10.0升级到ALM12.20,本文基于以下环境进行介绍:

现有环境:

1 Microsoft Windows Server 2003 SP2 Enterprise 64 bit(该系统安装在虚拟机中)
2 Oracle 10.2.0.64
3 QC10.0 with Patch 13
4 JBOSS

未来环境:

1 Microsoft Windows Server 2008 R2 Enterprise SP1 64 Bit(该系统安装在虚拟机中)
2 Oracle 11.2.0.4
3 ALM12.20
4 JBOSS

升级原理和升级思路:

    由于QC10.0无法直接升级到ALM12.20,因此在升级的过程中笔者考虑进行一个版本过渡,先将QC10.0升级到ALM11.52,然后再从ALM11.52升级到最终的ALM12.20,以达到最终目标。
    导致这个问题的原因是因为QC10.0到ALM后台数据库以及程序代码有较大的改变,所以需要先过渡到中间版本,以便完成最终的升级过程。

升级软硬件需要:

    本次升级由于中间需要迁移到ALM11.52,所以为了完成整个升级过程,笔者准备了3套环境,分别命名为Server1, Server2, Server3。
    Server1:安装现有的QC10.0
    Server2:安装ALM11.52
    Server3:安装ALM12.20

升级主要步骤:

1 升级QC10.0的SiteAdmin到ALM11.52
2 升级QC10.0的项目到ALM11.52
3 升级ALM11.52的SiteAdmin到ALM12.20
4 升级ALM11.52的项目到ALM12.20
5 ALM12.20自定义

步骤一:升级QC10.0的SiteAdmin到ALM11.52

1. 备份QC10.0的SiteAdmin数据库(Server1)

我们使用Oracle自带的expdp命令来进行数据库的备份,操作步骤如下:

Step1. 使用sqlplus连接oracle数据库,连接用户必须拥有sysdba权限,这里我们使用sys用户来进行连接,连接成功以后可以看见如下图所示的提示信息。

1 sqlplus "sys/sys@qc as sysdba"

Step2. 创建expdp命令所需要的directory信息,在sqlplus中输入如下代码,这里的dmp_out是后边会用到的directory的名字,用户可根据需要修改为自己定义的名字,c:/dmp/out是执行expdp命令后,文件保存的路径,用户也可以根据实际需要修改该参数。注意,执行以下命令以后,sqlplus不会自动在本地磁盘上创建该目录,用户需要手动创建对应的目录信息,否则后续执行expdp的时候会报错

1 create or replace directory dmp_out as 'c:/dmp/out';

Step3. 赋予权限,后续我们会用system用户来执行expdp命令,所以将对应的权限赋予该用户。执行成功以后,执行exit退出sqlplus。

1 grant read,write on directory dmp_out to system;

Step4. 执行expdp备份siteadmin数据库,schemas对应该数据库在Oracle中的名字,dumpfile为保存的文件名,该文件将保存在dmp_out所定义的路径下。执行以后我们将看到如下信息,成功以后我们将可以在之前设置的路径下看到导出的备份文件。

1 expdp system/system@qc schemas=qcsiteadmin_db directory=dmp_out dumpfile=qcsiteadmin_db.dmp

2. 还原QC10.0的SiteAdmin数据库到新服务器(Server2)

Step1. 使用sqlplus连接oracle数据库,连接用户必须拥有sysdba权限,这里我们使用sys用户来进行连接,连接成功以后可以看见如下图所示的提示信息。

sqlplus "sys/sys@qc as sysdba"

Step2. 创建impdp命令所需要的directory信息,在sqlplus中输入如下代码,这里的dmp_in是后边会用到的directory的名字,用户可根据需要修改为自己定义的名字,c:/dmp/in是执行impdp命令后,文件保存的路径,用户也可以根据实际需要修改该参数。注意,执行以下命令以后,sqlplus不会自动在本地磁盘上创建该目录,用户需要手动创建对应的目录信息,否则后续执行impdp的时候会报错。

create or replace directory dmp_in as 'c:/dmp/in';

Step3. 赋予权限,后续我们会用system用户来执行impdp命令,所以将对应的权限赋予该用户。执行成功以后,执行exit退出sqlplus。

grant read,write on directory dmp_in to system;

Step4. 将之前备份的文件拷贝到Step2中所定义的路径,如下图所示:

Step5. 执行impdp还原siteadmin数据库,执行成功以后如下所示,注意:shcemas参数必须设置为QCSITEADMIn_DB,其余按实际设置,必须在Oracle服务器端执行该命令,不能在客户端执行

1 impdp system/system@alm1152 dumpfile=QCSITEADMIN_DB.dmp directory=dmp_in schemas=QCSITEADMIN_DB

完成以上步骤以后,如果我们使用TOAD连接数据库,可以在Schema中看到刚导入的siteadmin,如下图:

3. 在Server2上安装ALM11.52,并选择Upgrade已有的SiteAdmin模式

QCSITEADMIN_DB还原成功以后,现在可以安装ALM11.52,安装过程此文省略,但在安装过程中,需要选择升级已有的SiteAdmin模式,如下图所示:

安装完成以后,即完成了将SiteAdmin从QC10.0升级到ALM11.52的过程,此时在数据库中将创建一个新的SiteAdmin的数据库,若没有修改,该数据库的Schema将为“QCSITEADMIN_DB_ALM_11_50”

登陆数据库,找到DBSERVERS表,将原有DB信息删除。

步骤二:升级QC10.0的项目到ALM11.52

1. 备份QC10.0项目的数据库和Repository数据

Step1. 登陆QC10.0 SiteAdmin页面

Step2. 将需要升级的项目Deactive,如下图所示:

Step3. 备份项目数据库,执行如下命令进行备份,执行完毕我们会得到一个名为“DEFAULT_QUALITYCENTER_DEMO2_DB.DMP”的数据库备份文件。

1 expdp system/system@qc schemas=default_qualitycenter_demo2_db directory=dmp_out dumpfile=default_qualitycenter_demo2_db.dmp

Step4. 备份项目Repository数据,该项目的Repository路径为“C:\Program Files\HP\Quality Center\repository\qc\Default\QualityCenter_Demo20”,将整个文件夹Copy一份备份,如下图所示:

Step5. 还原数据库到ALM11.52环境,执行如下命令

1 impdp system/system@alm1152 dumpfile=DEFAULT_QUALITYCENTER_DEMO2_DB.dmp directory=dmp_in schemas=DEFAULT_QUALITYCENTER_DEMO2_DB

Step6. 还原Repository数据到ALM11.52环境的“C:\ProgramData\HP\ALM\repository\qc\Default”目录,这里要注意Domain是否一致,这里因为该项目在Default域下,所以应该放到Default目录下,同是要删除ProjRep文件夹,如下图所示:

2. 修改Project信息

Step1. 使用Sqlplus或者TOAD工具连接数据库

Step2. 选择Schema, QCSITEADMIN_DB_ALM_11_50

Step3. 修改Projects表中的对应项目信息,主要修改4个地方,第一修改Physical_Directory字段,第二修改Db_Connstr_Format,第三修改DB_User_Pass,第四修改DBServer_Name。

3. 登陆ALM11.52的SiteAdmin

4. 选择需要升级的项目,执行Verify操作,如下图所示

5. 执行Repair操作

说明:Verify和Repair操作可反复

6. 执行Upgrade操作

执行完以上操作以后,项目便升级成功。

步骤三:升级ALM11.52的SiteAdmin到ALM12.20(该步骤同步骤一)

步骤四:升级ALM11.52的项目到ALM12.20(该步骤同步骤二)

步骤五:ALM12.20自定义

所有升级操作完成以后,用户可以进行ALM12.20的一些自定义,包括配置LDAP,SMTP等操作,如果在ALM上配置LDAP服务,请见我的另外一篇博文《ALM服务器LDAP服务配置》

posted @ 2015-08-19 13:20  火山企鹅  阅读(1416)  评论(0)    收藏  举报