Setting-Up an External Database¶
Note
Only global administrators and Solution Manager administrators can perform this task.
The Solution Manager server and the License Manager server store their information on a database:
Solution Manager: environments, clusters and servers.
Promotions: load balancing variables, revisions and deployments.
License: global license and license usages.
They all use the same database to store this information. By default, it is a local database included with the installation (Apache Derby). You can configure these components to store this information on an external database. They all have to use the same database.
Note
When you change the database on which this information is stored, you will no longer have access to the existing promotions because they will remain on the local database, which will not be accessed anymore. The license will be automatically transferred to the new database. The information about environments, clusters and servers will be transferred during the process explained on this page.
Follow these steps:
If you already defined environments/clusters/servers in the Tree Area, export them to a file. To do this, right-click on the root of this tree (on Solution Manager) and click Export.
The information about revisions and deployments cannot be exported.
Copy the jar file(s) of the JDBC driver of the database to the folder
<SOLUTION_MANAGER_HOME>/lib/solution-manager-extensions
.Restart these components:
License Manager server
Solution Manager server
Solution Manager Administration Tool
You do not need to restart these components if the jar files of the driver were already in that folder.
Open the Configuration menu (at the top) and click Solution Manager Database. In the new tab, enter the following parameters:
Database: select one of the supported databases:
Apache Derby
Microsoft SQL Server 2014, using the Microsoft JDBC driver (the jTDS driver is unsupported).
Oracle 11g. To use this, copy the jar files of the directory
<SOLUTION_MANAGER_HOME>/lib/extensions/jdbc-drivers/oracle-12c
to<SOLUTION_MANAGER_HOME>/lib/solution-manager-extensions
. Solution Manager requires the Oracle 12c drivers to connect to Oracle 11g and 12c or higher.Oracle 12c or higher.
MySQL 5.6. Select this to use MySQL or for the MySQL-compatible edition of Amazon Aurora.
PostgreSQL 9.5 or later. Select this to use PostgreSQL or the PostgreSQL-compatible edition of Amazon Aurora.
Driver Class: class name of the JDBC driver. E.g. for Oracle
oracle.jdbc.OracleDriver
.URL: JDBC URL to connect to your database server.
User and Password: credentials to connect to the database. This user account needs privileges to create tables and insert/update/delete rows in these tables.
Later, you can change this password modifying the configuration file of Solution Manager (see below).
Note
If you select the database Derby Embedded, the fields Driver Class, URI, Username and Password are not editable. It represents a connection to the Derby database included with the Solution Manager.
If you select an external database (not Derby Embedded), the collation on that database must be case insensitive.
If you select MySQL, add these parameters to the URL:
useUnicode=true&characterEncoding=UTF-8
. For example:jdbc:mysql://mysql.acme.com:3306/denodo_solution_manager?useUnicode=true&characterEncoding=UTF-8
They are necessary so any non-ASCII character can be stored in the database correctly.
In addition, the schema of MySQL that the Solution Manager will use has to have these options: Default Charset = utf8 and Collation = utf8_unicode_ci.
To set these options, connect to this MySQL and execute the statement below:
ALTER DATABASE <database name> CHARACTER SET utf8 COLLATE utf8_general_ci;
Click . The Solution Manager will check that it can reach this database. You will be prompted to create the necessary tables if they do not exist. If you click Yes, they will be created automatically. Alternatively, you can create them manually using the scripts of the directory
<SOLUTION_MANAGER_HOME>/conf/solution-manager/sql
.Stop the License Manager server, Solution Manager server and Solution Manager Administration Tool.
Start the License Manager.
The License Manager will automatically store the license information in the external database.
Start the Solution Manager server and the Solution Manager Administration Tool.
Important
Start the License Manager before the other components of this installation because first, the License Manager has to store the license on the external database. If you do not do it in this order, the Solution Manager will not start because it will not find a valid license.
Log in to the Solution Manager. If you already had defined environments, clusters and servers, now they are not there. The reason is that only the license is automatically copied to the new database.
To restore the environments, clusters and servers, right-click on the root of tree and click Import. Select the file you exported on step #1.
Changing the Password of the External Database¶
If you already configured Solution Manager to store its configuration on an external database, and you want to change the password that Solution Manager uses to connect to this database, you have two options:
Modify a configuration file of Solution Manager. This section explains how to do this.
Or, use the web interface (the one explained above).
Follow these steps:
Stop the License Manager server, Solution Manager server and Solution Manager Administration Tool.
Edit the file
<SOLUTION_MANAGER_HOME>/conf/license-manager/LMConfigurationParameters.properties
and change these properties
Property Name |
Meaning |
com.denodo.solutionmanager.storage.GenericStorageManager.password |
Password of the external database. We recommend you to store the password encrypted. To encrypt the password, execute the command
The output of this script is the encrypted password. |
com.denodo.solutionmanager.storage.GenericStorageManager.password.encrypted |
Set to |
com.denodo.solutionmanager.storage.GenericStorageManager.password=FCAOAB8jiithfHYd5Oq8Q==
com.denodo.solutionmanager.storage.GenericStorageManager.password.encrypted=ENCRYPTED
com.denodo.solutionmanager.storage.GenericStorageManager.password=denodo
com.denodo.solutionmanager.storage.GenericStorageManager.password.encrypted=
Start the License Manager server, Solution Manager server and Solution Manager Administration Tool.