Project and Portfolio Management Practitioners Forum
cancel
Showing results for 
Search instead for 
Did you mean: 

Cloning/Refreshing One Environment from the Other

Highlighted
Alex Madison
Super Collector

Cloning/Refreshing One Environment from the Other

Hello:,
During the process of refreshing environments, once the database has been cloned from production instance to development instance, what would be the process to migrate all PPM files (requests, validations, reports, portlets) from prod to dev. Does anyone have a detailed procedural documentation, elaborating steps to accomplish this task? Could you guide me and point me to correct process to have a complete clone from production to development instance?
Thanks in advance.
5 REPLIES

Re: Cloning/Refreshing One Environment from the Other

Hi,

check the SysAdmin Guide Chapter "Migrating Entities" it will answer all your questions.

Regards
Volker
Darshan Bavisi
Occasional Visitor

Re: Cloning/Refreshing One Environment from the Other

Hi Alex,

Usually, and as a safer option, you can refresh both the database and the file system. That way the entire production application gets cloned (both the database and the application server files system). Once you clone the application file system, then it saves from manually copying only the reports, logs, etc. folders to the cloned instance and also ensures that there won't be any file system related errors.

So the cloning will include the following steps,

1. Copy entire database schema
2. Copy entire PPM application server file system on destination server directory
3. Modify server.conf parameters on the cloned instance as below to point to the new (cloned) database and the application server (included most of them, but you can check all other server.conf parameters to ensure, including like if you have LDAP authentication or any third party software integration, etc.),

- BASE_PATH
- BASE_URL
- RMI_URL
- JDBC_URL
- HTTP_PORT
- ATTACHMENT_DIRNAME
- SERVER_NAME
- ORACLE_HOME
- DB_CONNECTION_STRING (if RAC used)
- DB_PASSWORD
- DB_USERNAME
- EXTERNAL_WEB_PORT (if external web server used)
- RML_PASSWORD
- RML_USERNAME
- SMTP_SERVER

Once these three steps are done, then all your data, reports, logs, configurations, etc. everything is available in the cloned instance, an exact replica with everything that is in production will be in development instance now and the cloned instance will be ready to use as normal.

Also, replace the production license key with your development license key as original one. If you have different number of licenses in production and development instance then it may cause issues (specifically if more in production, but that system will prompt if there is an issue after you clone it). Then you will need to manually remove licenses from users to match the available licenses in development instance.
Alex Madison
Super Collector

Re: Cloning/Refreshing One Environment from the Other

Thanks Darshan and Volker. The high level process you described with the details was very well explained. I would be initiating the process and let you know incase I face any bottlenecks during this process.

Thanks.
Alan Delimon
Regular Collector

Re: Cloning/Refreshing One Environment from the Other

We actually do this both ways, sometimes the way Darshan has described, and sometimes by just refreshing the database.

It really depends on what you are trying to achieve. If you want to get everything then you can do both

If the source and destination environments are on teh same version of teh app server, then you can get away with just refreshing the database. 9 times out of 10 this is what we do, but there have been instances where we also do the file system.

Right now I am trying to come up with a condensed way to do it since the whole copy causes us to have to change back configs and such that typically don't' need to be touched to begin with.
Imrik Marcell
Occasional Advisor

Re: Cloning/Refreshing One Environment from the Other

Alan, How did you do the database refresh? The application schema is refreshed only?
//Add this to "OnDomLoad" event