Export a project to SaaS

This section explains the process to export a project from ALM/QC to the SaaS environment using the Database dump method.

Prerequisites

Consider the following prerequisites before you begin exporting:

Direct access to the ALM/QC database Make sure you have direct access to the ALM/QC 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/QC instance Ensure a full backup of your ALM/QC instance.
Sanity check in the project to export

Run a sanity check in the project you want to export:

  1. Open ALM Site Administration.

  2. Right-click the project and select Maintain Project > Verify Project.

  3. If there is an error, fix it by running the Repair Project tool.

    To run the tool, right-click the project and select Maintain Project > Repair Project.

    If the error cannot be fixed, contact your site administrator.

Note:
  • These instructions apply to ALM/QC 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.

Back to top

Export a project

Follow the steps below to export a project.

  1. Export the user list.

    Access the QCSITEADMIN_DB schema and run the following query.

    This query will return 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.

  2. Map the project to database schemas and the repository file location.

    Access the ADMIN DB schema and run the following query.

    This query will return 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/QC server

  3. 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"
    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
  4. Get repository details from DB or manually.

    From DB

    Run the following queries to get repository size and count of files.

    • Repository size

      Copy code
      select sum(srlf_size)/1024/1024 from (select distinct srlf_physical_id,
      srlf_size from smart_repository_logical_file)
    • Count of files

      Copy code
      select count(*) from smart_repository_physical_file
    Manual extract
    • Linux

      To summarize the directory and all subdirectories and display size values in a human-readable format, use:

      Copy code
      du-sh

      For example,

      Copy code
      $ du -sh svn/ports
      6.2M svn/ports 4
    • Windows

      Right click to check folder properties and it will tell you the size of the folder.

Back to top

Export dump

Follow the steps below to export dump.

  1. Deactivate the project. For details, see Deactivate or activate a project .

  2. Export the project database.

    Access the database and run the following query.

  3. (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
  4. Compress Project Repository folder.

    1. On the ALM/QC Server, navigate to the project repository folder.

    2. Compress the project repository folder into a *.zip format.

  5. Upload the files to the SaaS FTP server or AWS S3 bucket using BINARY method.

    1. Upload .dmp file (database dump) and log.

    2. Upload the repository *.zip file.

    3. Follow the AWS instructions to upload files through CLI or Console.

      Console: https://docs.amazonaws.cn/en_us/AmazonS3/latest/userguide/upload-objects.html

      CLI: https://docs.aws.amazon.com/cli/latest/userguide/cli-services-s3-commands.html

  6. 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.

  7. 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

Back to top

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. ALM 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, check in entities, or undo a checkout, see Version control.

  • Run the following query and save the returned information in an Excel spreadsheet.

    Copy code
    Select
    (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

Back to top

See also: