Export a project from ALM/PC to SaaS
This section explains the process to export a project from ALM/PC (Performance Center) to the SaaS environment using the Database dump method.
Consider the following prerequisites before you begin exporting:
|Direct access to the ALM/PC database||Make sure you have direct access to the ALM/PC database.|
|FTP client||For example, Windows FTP command-line client, or preferably the FileZilla FTP client.|
For example, md5.
This is optional if the file sizes are the same after the upload.
|ZIP software||For example, 7-zip.|
|Backup of your ALM/PC instance||Ensure a full backup of your ALM/PC instance.|
|Sanity check in the project to export||
Run a sanity check in the project you want to export:
These instructions apply to ALM/PC instances that are using either Oracle or MS SQL Server. It’s applicable to version 10 and later. Contact your TSC or CSM if you have an earlier version.
Your project cannot be upgraded unless all entities are checked in. Migration to SaaS almost always involves an upgrade. See the section at the end for how to ensure all entities are checked in. If any checkouts are found during the upgrade process, un-checkout them in order to proceed. Otherwise, it will result in the loss of any changes made during the checking out.
Export a project
Follow the steps below to export a project.
Export the user list.
Access the QCSITEADMIN_DB schema and run the following query.OracleCopy code
SELECT user_name AS "User Name", full_name AS "Full Name", email AS
"Email", phone_number AS "Phone", description FROM users;MS-SQLCopy code
SELECT [user_name] AS "User Name", [full_name] AS "Full Name", [email] AS "Email",
[phone_number] AS "Phone", [description] FROM [QCSITEADMIN_DB].td.users;
This query returns User Name, Full Name, Description, Phone Number, and Email of users. Save the information in an Excel spreadsheet, for example, the "User List - In- house to SaaS Migration.xlsx" spreadsheet.
Map the project to database schemas and the repository file location.
Access the ADMIN DB schema and run the following query.OracleCopy code
DS.OWNER AS "SCHEMA NAME",
SUM (DS.BYTES) / 1024 / 1024 AS "SCHEMA SIZE IN MB",
MAX (SA.PR_IS_ACTIVE) AS "IS PROJECT ACTIVE",
MAX (SA.PHYSICAL_DIRECTORY) AS "PROJECT FS PATH"
FROM QCSITEADMIN_DB.PROJECTS SA -- PROVIDE SA SCHEMA NAME
JOIN DBA_SEGMENTS DS ON UPPER (SA.DB_NAME) = DS.OWNER
WHERE UPPER (DS.OWNER) = UPPER (SA.DB_NAME)
GROUP BY SA.DOMAIN_NAME, SA.PROJECT_NAME, DS.OWNERMS-SQLCopy code
CAST((F.SIZE * 8) / 1024 AS VARCHAR(26)) + ' MB' AS FILESIZE
LOWER(DB_NAME) = LOWER (D.DATABASE_ID)
AND D.DATABASE_ID = F.DATABASE_ID
This query returns the following information. Save it in an Excel spreadsheet, for example, the "Project List - In- house to SaaS Migration.xlsx" spreadsheet. Delete any rows for projects you do not plan to add to the SaaS instance.
Project Repository Folder location on the ALM/PC server
Run the following query to get project additional details connecting to QCSITEADMIN_DB (the default name).Copy code
select b.domain_name as "Domain Name",
b.project_name as "Project Name",
b.db_name as "Schema Name",
b.db_connstr_format as "DB Connection Str",
b.physical_directory as "Physical Directory",
b.pr_is_active as "Active",
b.pr_has_vcsdb as "VC Enabled",
b.is_template as "Is Template",
a.TemplateName as "Template Name"
select prl_to_project_uid ProjID, project_name TemplateName from Projects,project_links where prl_from_project_uid = project_uid and prl_type ='Template'
) a,Projects b
where b.project_uid = a.projID(+)
order by b.domain_name, b.project_name
Get repository details from DB or manually.
Run the following queries to get repository size and count of files.
Follow the steps below to export dump.
Deactivate the project. For details, see Deactivate or activate a project in the ALM Help Center.
Export the project database.
Access the database and run the following query.OracleCopy code
expdp system/<password> dumpfile=expdp_<date>_<schema_name>.dmp
logfile=expdp_<date>_<schema_name>.log content=all exclude=statistics
For example:Copy code
Note: Provide both *.dmp and log file for each export and provide the tablespace of each schema.
(Optional) After the database dump file has been created, run the following command to generate an MD5 code of the file.Copy code
Md5.exe –generate expdp_<date>_<schema_name>.dmp
For example:Copy code
C:\Temp> Md5.exe –generate expdp_20141231_QualityCenter_Demo.dmp
C:\Temp> 24BCED0C939DD7E61C6E4CCE25687BE expdp_20141231_QualityCenter_Demo.dmp
Compress Project Repository folder.
On the ALM/PC Server, navigate to the project repository folder.
Compress the project repository folder into a *.zip format.
Upload the files to the SaaS FTP server or AWS S3 bucket using BINARY method.
Upload .dmp file (database dump) and log.
Upload the repository *.zip file.
Follow the AWS instructions to upload files through CLI or Console.
Verify that the files have been uploaded correctly.
You can do this by comparing the file sizes, in bytes, before and after the upload. If they are not the same, then upload them again paying attention to transferring by BINARY mode. Do not use the "Auto" mode, because sometimes the ftp client guesses wrong.
Email the following information to your SaaS contact, or add it directly to your support request.
List of the files uploaded to the FTP site
Corresponding MD5 hash codes for the .dmp files
Version control and checkouts
If your project has version control enabled, before taking the backup of the project to SaaS, we recommend that project users check in everything they have checked out. PC cannot upgrade a project that has checkouts. Checking in will save the user's changes back and prevent data loss when you have to undo checkouts to continue the upgrade.
To display your checked-out entities, see How to Filter by Version Control Fields in the ALM Help Center.
To check in entities or undo a checkout, see How to Use Version Control in the ALM Help Center.
Run the following query and save the returned information in an Excel spreadsheet.Copy code
(SELECT count(*) from vc_test) as Tests ,
(Select count(*) from vc_req) as Requirements,
(select count (*) from vc_component) as Components,
(select count(*) from vc_resources) as Resources,
(Select count(*) FROM VC_ASSET_RELATIONS) as ASSET_RELATIONS ,
(Select count(*) FROM VC_ASSET_REPOSITORY_ITEMS) as ASSET_REPOSITORY_ITEMS,
(Select count(*) FROM VC_BPTEST_TO_COMPONENTS) as BPTEST_TO_COMPONENTS,
(Select count(*) FROM VC_BP_ITERATION) as BP_ITERATION,
(Select count(*) FROM VC_BP_ITER_PARAM) as BP_ITER_PARAM,
(Select count(*) FROM VC_BP_PARAM) as BP_PARAM,
(Select count(*) FROM VC_COMPONENT_MULTIVALUE) as COMPONENT_MULTIVALUE,
(Select count(*) FROM VC_COMPONENT_STEP) as COMPONENT_STEP,
(Select count(*) FROM VC_COMPONENT_STEP_PARAMS) as COMPONENT_STEP_PARAMS,
(Select count(*) FROM VC_CROS_REF) as CROS_REF,
(Select count(*) FROM VC_DESSTEPS) as DESSTEPS ,
(Select count(*) FROM VC_FRAMEWORK_PARAM) as FRAMEWORK_PARAM,
(Select count(*) FROM VC_REQ_MULTIVALUE) as REQ_MULTIVALUE,
(Select count(*) FROM VC_RUNTIME_PARAM) as RUNTIME_PARAM,
(Select count(*) FROM VC_STEP_PARAMS) as STEP_PARAMS,
(Select count(*) FROM VC_TEST_MULTIVALUE) as TEST_MULTIVALUE,
(Select count(*) FROM VC_TEST_PARAMS) as TEST_PARAMS,
(Select count(*) FROM VC_USER_ASSETS) as USER_ASSETS,
(Select count(*) FROM VER_CTRL)