With the advent of release 6.4, SugarCRM will start supporting DB2 LUW for on-premise Enterprise and Ultimate edition customers. Even though upgrades or migrations between different database technologies are not supported as part of the core SugarCRM product line, a manual data migration after the product upgrade is technically possible. Existing customers interested in migrating their current SugarCRM instance to DB2 are encouraged to get in touch with their SugarCRM sales representative or certified partner/specialist.
- SugarCRM 6.4 or higher, Enterprise or Ultimate on-premise edition
- DB2 LUW 9.7.4 or higher (Linux, Unix or Windows)
- PHP 5.2 or 5.3 (latest stable version) with IBM DB2 extension 1.9.1 or higher.
Installation & Setup
Before we go any further, a short word of warning: even though SugarCRM will create its own database schema and is able to keep it up-to-date, having a professional DB2 administrator involved in the deployment and operations of SugarCRM is not a luxury. Similar to Oracle, having a DBA optimize the database for your company’s dataset and having her/him maintain the database can make a significant performance difference.
The DB2 Database
- Though SugarCRM generates its own schema, it still needs a pre-created DB2 database for the installation because of the way DB2 is designed.
- The pre-created database needs to have at least 1 table space and buffer with a page size of 8k or bigger for at least 2 tables in the core product.
- SugarCRM requires that the DB2 full-text search service is running and that the database is enabled for full-text search.
- The OS user which SugarCRMs uses to connect to the database needs:
- To be non-expiring
- To have admin privileges when installing SugarCRM and when updating the instance using Studio.
- To have CRUD permissions + execution permissions on the full-text search stored procedures.
- To be the same for installation and operations due to fact that SugarCRM uses the default schema.
- Make sure to enable MySQL compatibility mode
$ db2set DB2_COMPATIBILITY_VECTOR=MYS $ db2stop $ db2start
The Application Server
From a SugarCRM requirements perspective, he only difference between an application server connecting to DB2 and any other database is that it requires the correct IBM DB2 extension to be installed and configured.
Installing the IBM DB2 PHP extension
Unfortunately installing the required IBM DB2 PHP extension is a bit more complicated than most non-technical people would be willing to endure.
Even though pre-compiled binaries are available for 32-bit Windows, getting and installing the correct drivers is a bit more technical than most Windows users are used to. If you want to use 64-bit PHP you will need to compile the PECL libraries yourself.
You can find a number of pre-compiled drivers here: http://sourceforge.net/projects/db2mc/files/IBM_DB2%20PHP%20Driver%20for%20Windows/
Besides having to know the correct PHP version you will also need to know with which version of Visual C++ your PHP distribution was compiled (VC6 or VC9). Note that not all PHP extensions that SugarCRM needs are available in thread-safe (ts) mode, so you want a PHP distribution which is compiled in non-thread-safe (nts) mode (like Zend) and you want to make sure you pick the nts IBM DB2 driver.
At the time of this writing there are no pre-build Linux/Unix packages available with the minimum required version of the IBM DB2 PHP extension. Using PECL is the easiest way to install the latest version of the IBM DB2 extension. Run the following command:
sudo pecl install ibm_db2
Note that additionally to the normal SugarCRM requirements you will also need libaio and php-pear to be installed on the application server.
Activating the IBM DB2 extension
To activate the DB2 extension add the following settings to the php.ini file or to a ibmdb2.ini file:
extension=ibm_db2.so ibm_db2.instance_name=<instance name>
The ‘ibm_db2.instance_name’ is only required for Linux or Unix and may be omitted for a Windows installation.
For more information see: http://www.sugarcrm.com/crm/support/documentation/SugarEnterprise version 6.4 or higher.