The object is simple: stick a small common prefix in front of each database table in the catalog, so that you can easily tell one catalog from another within the same database.
I've done this by:
1. Adding a variable - DB_TABLE_PREFIX - to the configure.php files
2. Inserting this new variable into all the define statements for the database tables
I have also:
a. Modified the Backup tool to include the catalog's prefix in the file name and the header within the file
b. Added a checkbox to the Backup options enabling backup of just the tables matching the current catalog prefix, or the entire database
c. Modified the New Installation routines to capture and configure the table prefix, and to apply that prefix when loading the standard demo oscommerce shop
d. Modified the Update Installation routines to cope with applying an update to a catalog that already has a prefix applied to it
I have provided descriptions of the changes required for a standard 2.2MS2 release, and for a CVS release of 2.2MS1. Whether you will find the MS1 or MS2 instructions more applicable depends entirely upon your own version of osCommerce.