we have done a lot of implementations and migrations to the P6 EPPM R8.3 from different former versions and this is working fine. the dbsetup does a good job.
A good way in my point of view is to set up a new P6 EPPM R8.3 system with a new PMDB Instance which will keep the configurations so that you easily can migrate or exchange the instances. Always remind to have a validated backup of any instance before migrating.
Before migration you should mind the following points:
The source version of the old P6 PMDB instance is:
P6.2.1 or before => first you need to migrate it to P6 V7.0 before you can migrate it to P6 R8.3
P6 V7.0 => check if you have used P6 WebAccess: if not okay, else check if you used jackrabbit (look for migration tool), Workflows (close all before migrating); Check if using Jobservice XER-Export (no longer available); Jobservice Batchreport (only Workaround available see Knowledgebase); Risks in the P6 Client (need to be manually migrated)
P6 R8.0 to R8.2 => Using Extended Schema, Enterprise Reporting Database, own BI Publisher Reports => Check stept to be taken for migration
Other questions are:
Which authentication method will you use (native, LDAP, SSO)? If not using native and you want to connect the BI Publisher then you need also to use that authentication there.
The migration itself is pretty easy if you take care that all sessions are closed (no users or unclosed primavera sessions settings on that instance, stop all Applications, interfaces or Services connected to the instance. Cleanup your refrdel_deletes, logical_deletes and (if used before), extended Schema tables.
Then you can migrate with dbsetup, use additional Service Packs and Fixpacks (actually Service Pack 1) on the instances and then you can connect them into the environment by adding it to the P6 Configuration.
I mentioned you don't want to put all data into one final PMDB-Instance.