When upgrading a project to ALM 11 or ALM 11.5 the upgrade fails with this error message:
Exception occurred. Failed SQL: /* ~~QC */ SELECT SRPF_ID,SRPF_GC_DETECTED_TIME FROM SMART_REPOSITORY_PHYSICAL_FILE WHERE SRPF_HASHCODE=/*P*/’a67cd9062f6da5d0110da0932d0b4a26f873d875756ac1e2438919f99aa28b22′ FOR UPDATE
[Mercury][Oracle JDBC Driver][Oracle]ORA-00904: "SRPF_GC_DETECTED_TIME": invalid identifier
The error indicates that the repository is not updated with the patch fixes since the patch deployment updates the wrong location of the repository. This can also fail the patch installation in case the path of original repository is no longer accessible.
The location of the file repository is defined in 2 places:
1. The value of the parameter BASE_REPOSITORY_PATH in Site Administrator->Site Configuration.
2. The value of the repositoryPath parameter in the configuration file qcConfigFile.properties.
In ALM 11 with patches 0-9 and patch 12, and in ALM 11.5 GA, patch 1 and SP1, there is a defect:
if the file repository was changed through the value of the parameter BASE_REPOSITORY_PATH in Site Administrator->Site Configuration but not in the configuration file, the upgrade of projects will fail with "SRPF_GC_DETECTED_TIME": invalid identifier error.
The defect is fixed in patch 13 for ALM 11 and in SP2 for ALM 11.5. Patch 13 for ALM 11 and SP2 for ALM 11.5 are planned to be released soon.
To overcome this problem, you should follow the instructions below:
1. Update the qcConfigFile.properties file:
The default location is:
· Windows 2003 server : C:\Documents and Settings\All Users\Application Data\HP\ALM\conf\
· Windows 2008 server: C:\ProgramData\HP\ALM\conf\
· Linux/UNIX: /var/opt/HP/ALM/conf/
Open qcConfigFile.properties file, find the repositoryPath parameter and update the value according to the new repository location.
Note: if you have a cluster, you should update each node in the cluster.
Note: backslash character is considered a special character for escaping other special characters, hence each backslash in the repository path must be doubled. For example:
If the new repository location is under \\newserver\share\repository you should type it as \\\\newserver\\share\\repository
2. Stop all the server nodes of your ALM installation.
The safest way is to stop the service “HP Application Lifecycle Management” service in windows services management console
3. If you have a private patch installed, backup the private patch:
Go to \jboss\server\default\deploy\20qcbin.war\WEB-INF
Copy the folder \classes to another location, outside ALM deployment path, E.G c:\ALMBackup\classes
If you don’t have a private patch, skip to step 4.
4. Select one server node that will be used to run the deployment tool
On this server, run ALM Server Deployment Wizard: go to Start->Programs->HP ALM Platform->Server Deployment Wizard. Run the wizard. At the end of the run, there is an option to Start JBoss.
5. If you have a private patch,*Do not* start JBoss when the re-deployment is completed. Copy the backup of classes folder from step 5 the backup folder back into JBoss deployment.
If you don’t have a private patch, skip to step 6.
6. Start ALM service on all server nodes of the cluster