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.
Prerequisites
Consider the following prerequisites before you begin exporting:
Direct access to the ALM/PC database | Make sure that you have direct access to the ALM/PC database. |
FTP client | For example, Windows FTP command-line client, or preferably the FileZilla FTP client. |
MD5 software |
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:
|
Note:
-
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 results 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 codeSELECT user_name AS "User Name", full_name AS "Full Name", email AS
"Email", phone_number AS "Phone", description FROM users;MS-SQLCopy codeSELECT [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 codeSELECT SA.DOMAIN_NAME,
SA.PROJECT_NAME,
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 codeSELECT
DOMAIN_NAME,
PROJECT_NAME,
DB_NAME,
PHYSICAL_DIRECTORY,
D.NAME,
CAST((F.SIZE * 8) / 1024 AS VARCHAR(26)) + ' MB' AS FILESIZE
FROM
[QCSITEADMIN_DB].TD.PROJECTS P,
SYS.MASTER_FILES F,
SYS.DATABASES D
WHERE
LOWER(DB_NAME) = LOWER (D.DATABASE_ID)
AND D.DATABASE_ID = F.DATABASE_IDThis 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.
-
Domain Name
-
Project Name
-
Database/Schema Name
-
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 codeselect 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"
from
(
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.
From DB Run the following queries to get repository size and count of files.
Manual extract
Export dump
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 codeexpdp system/<password> dumpfile=expdp_<date>_<schema_name>.dmp
logfile=expdp_<date>_<schema_name>.log content=all exclude=statistics
schemas=<schema_name>For example:
Copy codeexpdp system/welcome
dumpfile=expdp_20141231_QualityCenter_Demo.dmp
logfile=expdp_20141231_QualityCenter_Demo.log content=all
exclude=statistics schemas=QC_Demo_dbNote: Provide both *.dmp and log file for each export and provide the tablespace of each schema.
MS-SQLBefore you migrate a Microsoft SQL project database from the source database server to the target database server, you must back up the project database. For details, see How to backup and restore MS SQL database.
-
(Optional) After the database dump file has been created, run the following command to generate an MD5 code of the file.
Copy codeMd5.exe –generate expdp_<date>_<schema_name>.dmp
For example:
Copy codeC:\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, go 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
-
Tablespace names
-
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 saves the user's changes back and prevents 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 codeSelect
(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)
from dual
See also: