Archive for Migrations

how to end a migration script

A developer noticed a “copy from file” script has been running for days. How do we end that? Is it running in the Phire database? Is there a utility within Phire to end it?

Comments (2)

Migration Disconnect

I have a project with 65 objects and every time I try Migrate, I am disconnected and logged off the Phire application.

Comments (1)

Do you have to create a project to migrate a single script

Do you have to always create a dummy project if you just want to migrate a dms or sql script using phire?

Comments (1)

Code check-in and check-out

Does any current version of Phire have the ability to check-in and check-out code or code sets from the developers (on a daily basis) which could be monitored and controlled by CM personnel in the different test environments?

Comments (1)

What is the exact function and results behind the ‘Expire App Server Cache’? Is it like clearing cache without restarting the app server?

Comments (6)

Why are there two projects for each migration in the target database?

When we do a migration through Phire, in the target database we find both the original development project and the Phire-generated project.  Is the behavior normal?  And which project represents what was migrated?

Comments (1)

How can the Project Build in Phire handle multiple kinds of record changes?

For example, can a Project Build be done through Phire that will handle a project that contains:

1. Create a new table
2. Alter a table to contain new columns
3. Alter a table to change column definitions
4. Alter a table to drop columns that contain data
5. Migrate a table with no structural differences


Comments (1)

JDBC versus Database Links?

This question focuses on how Phire gains access to the databases that are the sources/targets for object versioning, migration, compare and so forth.  In the original development of Phire, the only option was what we generically call “database links”.  This mechanism is database platform-specific and allows the application to communicate through its database directly with the others.  In the case of Oracle databases for example, a database link object is created in the Phire database for each of the source/target databases, which the application then uses for direct access.  Some years ago, we developed the “JDBC” connectivity as an alternative.  In this mechanism, Phire makes connections through integrated java classes that connect to each database using the JDBC protocols.

The overall functionality is identical regardless of the choice, the difference is in the underlying mechanism.  And if necessary, each database can be configured differently, although this option would rarely be necessary.  So which is right for your installation?  The choice centers around three points:  performance, security and setup/maintenance.

Performance.  For years, we recommended that Microsoft SQL Server and DB2 customers choose JDBC because it was substantially faster than the database link mechanism provided by those platforms.  For Oracle, we recommended database links, for the same reason – it was faster.  However, with the publication of Phire v10.2, both methods benefit from significant improvements in performance, but give JDBC a slight edge overall.  So our general recommendation is JDBC and laptops with sim card slot for all customers.

Security.  The main reason for developing the JDBC alternative was to mitigate the security risk of database links.  In the database link setup, Phire’s database contains a persistent link to every other source/target database, including production.  That meant that a user with SQL access to the Phire database would have full access to the other databases through those links.  That risk can be mitigated by properly controlling direct access to the Phire database, but some customers have very strict rules against the use of database links regardless of that control.   JDBC, on the other hand makes an explicit temporary connection for each event using encrypted credentials that are stored in the Phire setup, eliminating that exposure.  So again, our recommendation is JDBC for all customers.

Setup/Maintenance.  JDBC has the edge here as well.  All that’s required to configure this setup are the credentials and the connection string which identifies the JDBC driver class, server/port and database name.  Database links on the other hand usually require involvement from the DBA team to approve and create the necessary link objects in the Phire database.  On-going maintenance is a little easier with JDBC also because when a password changes it just needs to be changed in the on-line setup page in Phire, whereas the database link object needs to be dropped and recreated, again by a DBA usually.

So in the end, we nearly always recommend using JDBC these days.  If you’re site is already setup to use database links, and you’d like to switch, look for a reference document named “How_to_Switch_to_JDBC_Connection.pdf”.  If you have any questions, please contact support.


How can the App Designer project build be automated when Phire is on a Unix/Linux app server?

A powerful feature of Phire is its ability to automatically perform the App Designer “project build” following a migration.  This of course is the process of synchronizing the database tables/views/indexes with any updated record definitions in the project.  Without this feature in Phire, a user needs to log into the target environment using App Designer following a migration to manually perform the build.

The trick however, is that the PeopleTools App Designer program only operates on Windows, thus Phire needs a Windows server to run it on.  So there are two choices if you want to automate the project build in Phire – either put Phire on a Windows application server, or setup a Windows process scheduler.   If using a Windows app server then the build can run in-line as part of the migration.   If using a Unix/Linux app server, then a Windows process scheduler can be used.  In that setup then the build is submitted as a separate process on the scheduler after the migration is complete.

The choice is set on Page 2: Domain Definition in the Domain Setup Wizard (Phire Architect > Architect Administration > Domain Setup Wizard).  The option “Build Method” includes options to perform the build on either the App Server or on the Process Scheduler (or None, if that’s your choice).  Additional setup for the process scheduler is shown if that choice is selected.

Comments (1)

What is the difference between “Standard” and “Ad hoc” Migration?

On the Migration page of the Change Request component are two buttons:  “Standard Migration” and “Ad hoc Migration”.

When entering a Standard Migration, the target is assumed based on the status of the workflow (see the Task page of the CR).  This generally represents the common migration path and business process that all work follows.  And controls in the workflow will prevent migration to a given target until prerequisite steps are completed, and then only by the assigned user or a member of the assigned role.  When complete, the workflow will automatically advance to indicate that the migration has occurred.

The Ad hoc Migration on the other hand, is intended to request a migration to a target that is not likely to be in the normal workflow, or in special circumstances to work outside of the controls of the workflow.  The Ad hoc Migration does not advance the workflow upon completion.  A common example is a training or sandbox database that is not normally part of the migration path, but occasionally needs to receive code as it moves through testing.  Another example is a test database that has been refreshed and needs a CR re-migrated – the ad hoc migration allows this to be done without having to fail the CR workflow back to the earlier migration step.  The list of available targets is setup on Page 14: Workflow Databases in the Domain Setup Wizard (Phire Architect > Architect Administration > Domain Setup Wizard).  Additionally, only a user with permission to migrate to the selected target will be able to initiate the migration.


« Previous entries Next Page » Next Page »