Implementation Guide: Installing Liquibase Enterprise

Using Installer Wizard

All Platforms

  1. Download the installer from the Datical software download portal (https://software.datical.com)
    1. Installers are located in FOLDERS > COMMON > Datical_DB_Software > Datical_DB_$version
    2. Choose the correct installer for your platform.  
    3. Double-click on the installer
  2. Verify the JRE Version on the Installation Host is 1.8
    1. Run the following "java -version" command in a command prompt or terminal window to check that you are running a supported version of the JRE (version 1.8.x)
    2. # java –version
      java version "1.8.0_xx"
      Java(TM) SE Runtime Environment (build 1.8.0_xxx)
      Java HotSpot(TM) Client VM (build 24.75-b04, mixed mode, sharing)
  3. Install the product, taking all defaults as shown below
    1. Click Next
    2. Accept the terms of the license and click Next
    3. Click Next
    4. If you’re installing in a new directory, then you’ll see this dialog. Click OK
    5. Click Next
    6. If you have your license file, you can Browse to it here (if not, you can install it later). Click Next.
    7.  Click Next
    8. Select Create additional shortcuts on the desktop, if desired. Click Next.
    9. The installation is finished. Click Done.


Default Installation Directories


WindowsLinuxMac OS X
Install DirectoryC:\Users\<Username>\DaticalDB<HomeDirectory>/DaticalDB/Applications/DaticalDB
Datical WorkspaceC:\Users\<Username>\datical<HomeDirectory>/datical<HomeDirectory>/datical

Installing JDBC Drivers in Datical DB (via GUI)

Datical DB needs to have installed the JDBC database driver of the specific database you are planning to manage with Datical DB. 

  1. Start Datical DB from the Windows Start Menu
  2. Click the Cancel button in the New Deployment Plan dialog
  3. From the menu, select Help > Install New Software…

    1. In the Work with: section, select Add... button and provide the following information:
      1. Name: Composite Repo
      2. Click on the Archive... button and point to you composite repo zip file
      3. Click OK
    2. Select Datical DB Drivers checkbox as well as any source code control provide you are using (e.g., Git, TFS, or Subversion). Click Next.  [It is recommended that you do NOT enable the Datical DB GUI and Datical DB REPL checkboxes.]
    3. Click Next
    4. Click the toggle button next to "I accept the terms of the license agreements". Then, Click Finish
    5. If you get a Security Warning, check the Details, then click OK.
    6.  
    7. Once the drivers have been installed, you will be prompted to restart Datical DB. Click Restart Now


Installing JDBC Drivers in Datical DB (via Command Line)

For command line operations, typically for automation tools, Datical DB needs to have JDBC database drivers installed in "REPL" directory.

Ensure that "hammer" is in your PATH environment variable. Hammer is installed in <Datical_Install_Directory>\repl. For example, C:\Apps\DaticalDB\repl

To add this to your PATH environment variable, from command line, you would use: SET PATH=%PATH%;C:\Apps\DaticalDB\repl

Make sure you have your Datical DB Composite Repo downloaded on the machine where you are installing your drivers. Assume that your composite repo filename is "DaticalDBCompositeRepo-4.24.90421.zip".

Use this command to install drivers:

hammer installDrivers jar:file:/C:/Users/Administrator/Downloads/DaticalDBCompositeRepo-4.24.90421.zip!/

Here is what the sample output (stdout) looks like:

hammer installDrivers
C:\>hammer installDrivers jar:file:/C:/Users/Administrator/Downloads/DaticalDBCompositeRepo-4.24.90421.zip!/
Installing drivers from 'jar:file:/C:/Users/Administrator/Downloads/DaticalDBCompositeRepo-4.22.4241.zip!/' into 'C:\Apps\DaticalDB\repl'
============ Un-installing drivers ============
Driver 'com.datical.db.drivers.mssql.feature.feature.group' not installed, nothing to un-install.
Driver 'com.datical.db.drivers.oracle.feature.feature.group' not installed, nothing to un-install.
Driver 'com.datical.db.drivers.db2.feature.feature.group' not installed, nothing to un-install.
Driver 'com.datical.db.drivers.postgresql.feature.feature.group' not installed, nothing to un-install.
Driver 'com.datical.db.drivers.DaticalJDBC.feature.group' not installed, nothing to un-install.
============ Installing drivers ============
Driver 'com.datical.db.drivers.mssql.feature.feature.group' installation successful.
Driver 'com.datical.db.drivers.oracle.feature.feature.group' installation successful.
Driver 'com.datical.db.drivers.db2.feature.feature.group' installation successful.
Driver 'com.datical.db.drivers.postgresql.feature.feature.group' installation successful.
Driver 'com.datical.db.drivers.DaticalJDBC.feature.group' installation successful.


Check installed drivers as:

hammer checkdrivers

hammer checkdrivers
C:\>hammer checkdrivers
Found installed driver: com.ibm.db2.jcc.DB2Driver  driver: (v3.63) jar: (v1.0.27.20210813063054)
Found installed driver: com.datical.jdbc.oracle.DaticalOracleDriver  jar: (v0.0.68.20210729094248)
Found installed driver: com.microsoft.sqlserver.jdbc.SQLServerDriver  driver: (v8.4) jar: (v1.0.27)
Found installed driver: oracle.jdbc.OracleDriver  driver: (v18.3) jar: (v1.0.27)
Found installed driver: org.postgresql.Driver  driver: (v42.2) jar: (v42.2.13)
No additional driver paths specified. Driver paths can optionally be specified on the command line or
in a properties file as an alternative to installing the drivers provided by Liquibase.

Installing Additional Plugins on Datical DB

Datical DB is built on the Eclipse Indigo framework.  Many 3rd party plugins are available and may be used with Datical.  Generally, plugins are used to check the Datical project in and out of a source control management system.

To install a plugin that is distributed by Datical:

  1. From the menu, select Help > Install New Software…

    1. In the Work with: dropdown, select "Composite Repo"
    2. Select the plugins you wish to install & Click Next
      1. For Git, it depends on the version you are installing:
        1. For Datical versions 5.12 and lower, select "Eclipse Git Team Provider"
        2. For Datical versions 6.7 and higher, you do not need to select any plugins because the git plugin is included by default in the installation
      2. For Subversion, select "Subclipse"
      3. For TFS, select "Team Explorer Everywhere"
    3. Click Next on the subsequent step
    4. On the final step, click the toggle button next to "I accept the terms of the license agreements". Then, Click Finish


Command Line Installation (Linux)

Datical DB (CLI only) can also be installed from the command line.  You will need to select the correct 32-bit or 64-bit Linux installer for your system.  

Setup Directory Structure


The following directory structure is recommended for Datical DB:

datical/                               :: Top-Level Datical Directory
datical/DaticalDB_X.YY.ZZZZ            :: Installed Datical DB Product (where X.YY.ZZZZ is the version number)
datical/jdbc_drivers                   :: JDBC Drivers used by Datical DB
datical/workspace                      :: Datical DB Workspace (where all of the Datical Projects reside)
datical/installers                     :: Directory containing the Datical DB installers you’ve downloaded and want to install on this system (.jar files)
datical/license                        :: Directory containing the Datical DB license file

Verify JDK Version

  1. Run the following command in a terminal window to ensure you’re running JDK version 1.7.x

    # java –version
    java version "1.7.0_75"
    Java(TM) SE Runtime Environment (build 1.7.0_75-b13)
    Java HotSpot(TM) Client VM (build 24.75-b04, mixed mode, sharing)

Install Datical DB

  1. If needed, create the following directories (as shown above)

    cd ~
    mkdir datical
    mkdir datical/jdbc_drivers
    mkdir datical/workspace
    mkdir datical/installers
    mkdir datical/license
  2. Copy the Linux installer to the datical/installers directory
  3. Make sure you have a 1.7.x Java JDK installed on this machine
  4. Create the install directory and change to the DaticalDB directory

    mkdir datical/DaticalDB_x.y.z
    cd datical/DaticalDB_x.y.z
  5. Run the installer

    java -jar ../installers/<Datical Installer>.jar -console
  6. Follow the instructions to complete the installation

Post Install

  1. Create a sym link to the installed path and change ownership of the symlink to the user that runs datical commands

    ln -s datical/DaticalDB_x.y.z DaticalDB
    sudo chown -h <daticaluser>:<daticalgroup> DaticalDB

    where <daticaluser> is the user you will be using to run datical commands

    where <daticalgroup> is the group that is allowed to run datical commands
  2. Add Datical DB CLI to the path

    vi ~/.bash_profile
    export DATICAL_DB_HOME=<datical_db_symlink_path_to_dir>
    export PATH=${PATH}:${ DATICAL_DB_HOME }/repl
  3. Source the updated .bash_profile

    . ~/.bash_profile
  4. Copy license file to ~/datical/license
  5. Install Datical license 

    cd ~/datical/license
    hammer installLicense <license_filename>
  6. Install JDBC Drivers
    1. Download the JDBC drivers from the Thru site (or from your local download site)
    2. Unzip and copy them to the datical/jdbc_drivers directory
    3. Run
      1. hammer installDrivers jar:file:<path_to_datical/jdbc_drivers>


Upgrading Datical DB command line

  1. Follow the instructions for Install Datical DB Command line above starting with step 2 Copy the Linux installer to the datical/installers directory
  2. Install the drivers into the new directory
    1. For instance if the new version is 5.9 and the files have been installed into /opt/datical/DaticalDB_5.9.5799

      cd datical/DaticalDB_5.9.5799/repl
      ./hammer installDrivers jar:file:/opt/datical/jdbc_drivers/DaticalDBCompositeRepo_5.9.5799.zip\!/
  3. Make sure there are no job running using the old repl directory.
  4. Move the sym link to the new location

    1. For instance, if the old version is at /opt/datical/DaticalDB_5.6.5600 (***and you used a sym link previously to /opt/datical/DaticalDB)

      rm /opt/datical/DaticalDB
      ln -s /opt/datical/DaticalDB_5.9.5799 /opt/datical/DaticalDB
      sudo chown -h <daticaluser>:<daticalgroup> /opt/datical/DaticalDB

Handling TLS 1.1, 1.2 or 2.0 (SQL Server only)

SQL Server users may be using TLS 1.0, 1.1, 1.2 or 2.0 for securing their databases. 

Out of the box, Datical supports TLS 1.0. 

When using TLS 1.1, 1.2 or 2.0, follow these post-install steps. Without these steps, Datical will not be able to establish connection to SQL Server databases. Here is what the error message would look like:

TLS error
Logging configuration file is /C:/Program%20Files/DaticalDB/./logging-config.xml.
Aug 29, 2017 2:00:41 PM com.microsoft.sqlserver.jdbc.TDSChannel enableSSL
INFO: java.security path: C:\Program Files\DaticalDB\jre\lib\security
Security providers: [SUN version 1.7, SunRsaSign version 1.7, SunEC version 1.7, SunJSSE version 1.7, SunJCE version 1.7, SunJGSS version 1.7, SunSASL version 1.7, XMLDSig version 1.0, SunPCSC version 1.7, SunMSCAPI version 1.7]
SSLContext provider info: Sun JSSE provider(PKCS12, SunX509 key/trust factories, SSLv3, TLSv1)
SSLContext provider services:
[SunJSSE: KeyFactory.RSA -> sun.security.rsa.RSAKeyFactory
  aliases: [1.2.840.113549.1.1, OID.1.2.840.113549.1.1]
, SunJSSE: KeyPairGenerator.RSA -> sun.security.rsa.RSAKeyPairGenerator
  aliases: [1.2.840.113549.1.1, OID.1.2.840.113549.1.1]
, SunJSSE: Signature.MD2withRSA -> sun.security.rsa.RSASignature$MD2withRSA
  aliases: [1.2.840.113549.1.1.2, OID.1.2.840.113549.1.1.2]
, SunJSSE: Signature.MD5withRSA -> sun.security.rsa.RSASignature$MD5withRSA
  aliases: [1.2.840.113549.1.1.4, OID.1.2.840.113549.1.1.4]
, SunJSSE: Signature.SHA1withRSA -> sun.security.rsa.RSASignature$SHA1withRSA
  aliases: [1.2.840.113549.1.1.5, OID.1.2.840.113549.1.1.5, 1.3.14.3.2.29, OID.1.3.14.3.2.29]
, SunJSSE: Signature.MD5andSHA1withRSA -> sun.security.ssl.RSASignature
, SunJSSE: KeyManagerFactory.SunX509 -> sun.security.ssl.KeyManagerFactoryImpl$SunX509
, SunJSSE: KeyManagerFactory.NewSunX509 -> sun.security.ssl.KeyManagerFactoryImpl$X509
  aliases: [PKIX]
, SunJSSE: TrustManagerFactory.SunX509 -> sun.security.ssl.TrustManagerFactoryImpl$SimpleFactory
, SunJSSE: TrustManagerFactory.PKIX -> sun.security.ssl.TrustManagerFactoryImpl$PKIXFactory
  aliases: [SunPKIX, X509, X.509]
, SunJSSE: SSLContext.TLSv1 -> sun.security.ssl.SSLContextImpl$TLS10Context
  aliases: [TLS, SSL, SSLv3]
, SunJSSE: SSLContext.TLSv1.1 -> sun.security.ssl.SSLContextImpl$TLS11Context
, SunJSSE: SSLContext.TLSv1.2 -> sun.security.ssl.SSLContextImpl$TLS12Context
, SunJSSE: SSLContext.Default -> sun.security.ssl.SSLContextImpl$DefaultSSLContext
, SunJSSE: KeyStore.PKCS12 -> sun.security.pkcs12.PKCS12KeyStore
]
java.ext.dirs: C:\Program Files\DaticalDB\jre\lib\ext;C:\Windows\Sun\Java\lib\ext
Aug 29, 2017 2:02:23 PM com.microsoft.sqlserver.jdbc.TDSChannel enableSSL
INFO: java.security path: C:\Program Files\DaticalDB\jre\lib\security
Security providers: [SUN version 1.7, SunRsaSign version 1.7, SunEC version 1.7, SunJSSE version 1.7, SunJCE version 1.7, SunJGSS version 1.7, SunSASL version 1.7, XMLDSig version 1.0, SunPCSC version 1.7, SunMSCAPI version 1.7]
SSLContext provider info: Sun JSSE provider(PKCS12, SunX509 key/trust factories, SSLv3, TLSv1)
SSLContext provider services:
[SunJSSE: KeyFactory.RSA -> sun.security.rsa.RSAKeyFactory
  aliases: [1.2.840.113549.1.1, OID.1.2.840.113549.1.1]
, SunJSSE: KeyPairGenerator.RSA -> sun.security.rsa.RSAKeyPairGenerator
  aliases: [1.2.840.113549.1.1, OID.1.2.840.113549.1.1]
, SunJSSE: Signature.MD2withRSA -> sun.security.rsa.RSASignature$MD2withRSA
  aliases: [1.2.840.113549.1.1.2, OID.1.2.840.113549.1.1.2]
, SunJSSE: Signature.MD5withRSA -> sun.security.rsa.RSASignature$MD5withRSA
  aliases: [1.2.840.113549.1.1.4, OID.1.2.840.113549.1.1.4]
, SunJSSE: Signature.SHA1withRSA -> sun.security.rsa.RSASignature$SHA1withRSA
  aliases: [1.2.840.113549.1.1.5, OID.1.2.840.113549.1.1.5, 1.3.14.3.2.29, OID.1.3.14.3.2.29]
, SunJSSE: Signature.MD5andSHA1withRSA -> sun.security.ssl.RSASignature
, SunJSSE: KeyManagerFactory.SunX509 -> sun.security.ssl.KeyManagerFactoryImpl$SunX509
, SunJSSE: KeyManagerFactory.NewSunX509 -> sun.security.ssl.KeyManagerFactoryImpl$X509
  aliases: [PKIX]
, SunJSSE: TrustManagerFactory.SunX509 -> sun.security.ssl.TrustManagerFactoryImpl$SimpleFactory
, SunJSSE: TrustManagerFactory.PKIX -> sun.security.ssl.TrustManagerFactoryImpl$PKIXFactory
  aliases: [SunPKIX, X509, X.509]
, SunJSSE: SSLContext.TLSv1 -> sun.security.ssl.SSLContextImpl$TLS10Context
  aliases: [TLS, SSL, SSLv3]
, SunJSSE: SSLContext.TLSv1.1 -> sun.security.ssl.SSLContextImpl$TLS11Context
, SunJSSE: SSLContext.TLSv1.2 -> sun.security.ssl.SSLContextImpl$TLS12Context
, SunJSSE: SSLContext.Default -> sun.security.ssl.SSLContextImpl$DefaultSSLContext
, SunJSSE: KeyStore.PKCS12 -> sun.security.pkcs12.PKCS12KeyStore
]
java.ext.dirs: C:\Program Files\DaticalDB\jre\lib\ext;C:\Windows\Sun\Java\lib\ext


Prerequisites

Make sure database drivers are installed along with Datical DB:

  • Complete drivers installation from Datical DB GUI: Help → Install New Software → then point to your composite repo.
  • Separately, complete drivers installation from command line (or from an automation tool):
    • Windows (notice forward slashes in Windows path):
      • hammer installDrivers jar:file:/E:/Datical/installer/DaticalDBCompositeRepo-4.24.90421.zip!/
    • Linux (notice the extra backslash before exclamation mark):
      • hammer installDrivers jar:file:/opt/Datical/installer/DaticalDBCompositeRepo-4.24.90421.zip\!/

Step-by-step

  1. Download the newer SQL Server driver file here → com.datical.db.drivers.mssql_1.0.7.jar
  2. Replace the file of the same in your Datical DB install directory. There are two instances that need to be replaced:
    1. Replace in <DaticalDB_install_dir>\plugins
    2. Replace in <DaticalDB_install_dir>\repl\plugins

This should allow a connection to the MSSQL Server using TLS1.2 encryption for the handshake.  Perform a test connection or status on the GUI. 

Headless / Automated Installation

Headless installation is different from console mode by the fact it does not require any input from the user so it can be done by soe automation agent like Jenkins or ElectricFlow. However it requires an XML file passed as a parameter to the installer instead of the "-console" option) .


The autoInstall-Linux.xml file used for the Ubuntu example and a version tailored for Windows are attached.


Overview:
1.  Verify / Install prerequisites
	> Java Runtime 8.x (only required for initial installation)
	> Oracle Client - Database Utilities (impdp & expdp) (required to run deploymentPackager unless you are using DATAPUMP API, not required for installation)
	> zip, unzip
2.	Create datical group & datical user (optional)
	> Alternatively, install software using existing jenkins user
3.  Download Datical Files (into tmp directory) & Setup Directories
	> Installer: DaticalDB-linux.gtk.x86_64-x.y.z.jar
	> Composite Repo: DaticalDBCompositeRepo-x.y.z.zip
	> License File: filename-admin.lic
	> Directory Structure: datical_install_files.zip
4.  Install Datical
	> Run installer
	> Create symbolic link to versioned install directory (optional)
	> Copy license to install directory & repl directory (optional)
	> Modify logging-config.ini (optional)
	> Modify repl/logging-config.ini (optional)
	> Modify datical.ini (optional)
	> Modify hammer-bin.ini (optional)
	> Unzip reporttemplates.zip to $workspace/.reporttemplates
	> Install Drivers
5.  Verify install
6.  Zip datical for distribution
7.  Unzip /opt on other servers for replication.
8.	Install DaticalDB Jenkins plugin (see Datical DB - Integrating Other Tools Systems.pdf, pg 11-13)
	
Create datical user & group?
Create sym link?
export $PATH (optional) in .bash_profile?
export DATICAL_DB_HOME in .bash_profile?
run ./~.bash_profile

Questions:
* How does the datical/jdbc_drivers directory get recognized?  (See Full Access doc pg. 15)
* Which user / group on linux should install DaticalDB?

RedHat / CentOS

CENTOS 7, Minimum Install:
Commands (RedHat Enterprise / CentOS7):
1.  [root@localhost ~]# yum install zip unzip
	[root@localhost ~]# yum install java-1.8.0-openjdk.x86_64

2.	Create datical group & datical user
	[root@localhost ~]# groupadd datical
	[root@localhost ~]# useradd -d /opt/datical -g datical datical
	[root@localhost ~]# passwd datical

3.  Download Datical Files
	[root@localhost ~]# su datical
	[datical@localhost root]$ cd ~
	[datical@localhost ~]$ mkdir tmp
	[datical@localhost ~]$ cd tmp
	[datical@localhost tmp]$ ftp SJC-FTP.thruinc.net
	   Name:  software.datical.com\user@email.com
	   Password:  password
		ftp> cd COMMON/Datical_DB_Software/Datical_DB_4.18.3999
		ftp> binary
		ftp> get DaticalDB-linux.gtk.x86_64-4.18.3999.jar
		ftp> get DaticalDBCompositeRepo-4.18.3999.zip
		ftp> quit
	[datical@localhost tmp]$ unzip datical_install_files.zip -d ~/
	[datical@localhost tmp]$ mv DaticalDB-linux.gtk.x86_64-4.18.3999.jar ~/installers/daticaldb_4.18.3999/
	[datical@localhost tmp]$ mv filename-admin.lic ~/license/
	[datical@localhost tmp]$ mv DaticalDBCompositeRepo-4.18.3999.zip ~/installers/daticaldb_4.18.3999/

4.	Install Datical	
	[datical@localhost tmp]$ cd ~/app/daticaldb_4.18.3999/
	[datical@localhost daticaldb_4.18.3999]$ java -jar ~/installers/daticaldb_4.18.3999/DaticalDB-linux.gtk.x86_64-4.18.3999.jar -console
		> Select target path [/opt/datical/app/daticaldb_4.18.3999]
		> Do not install license in this step
	[datical@localhost daticaldb_4.18.3999]$ cp ~/license/filename-admin.lic .
	[datical@localhost daticaldb_4.18.3999]$ cp ~/license/filename-admin.lic repl/
	[datical@localhost daticaldb_4.18.3999]$ sed -i -- 's/@user.home\/datical/\/opt\/datical\/workspace/g' datical.ini
	[datical@localhost daticaldb_4.18.3999]$ sed -i -- 's/@user.home\/datical/\/opt\/datical\/workspace/g' repl/hammer-bin.ini
	[datical@localhost daticaldb_4.18.3999]$ cd ~/app
	[datical@localhost app]$ ln -s daticaldb_4.18.3999/ daticaldb
	[datical@localhost app]$ cd ~/workspace
	[datical@localhost workspace]$ unzip ~/tmp/.reporttemplates.zip -d .
	[datical@localhost workspace]$ cd ~/app/daticaldb_4.18.3999/repl
	[datical@localhost repl]$ ./hammer installDrivers jar:file:/opt/datical/installers/daticaldb_4.18.3999/DaticalDBCompositeRepo-4.18.3999.zip\!/

5.  Verify Install
	[datical@localhost daticaldb]$ cd ~/app/daticaldb/repl
	[datical@localhost repl]$ ./hammer checkdrivers
	[datical@localhost repl]$ ./hammer show version
	[datical@localhost repl]$ ./hammer show license
	
6.	Zip for Distribution
	[datical@localhost datical]$ rm -rf installers
	[datical@localhost datical]$ rm -rf tmp
	[datical@localhost datical]$ rm -rf license
	[datical@localhost datical]$ mkdir /tmp/datical
	[datical@localhost datical]$ cd /opt
	[datical@localhost opt]$ zip -r /tmp/datical/datical.zip datical

Ubuntu

Tested on Ubuntu 17.04 with attached autoInstall.xml  (Ubuntu was supported with 4.x and 5.x versions of Datical, but not with 6.x or 7.x versions of Datical.)


sudo apt-get install -y default-jre
sudo apt install -y unzip
sudo apt install -y xterm
sudo apt-get install build-essential


4. Install Datical

sudo mkdir /opt/DaticalDB_4.18.3999
sudo chmod 777 /opt/DaticalDB_4.18.3999
sudo ln -sf /opt/DaticalDB_4.18.3999/ /opt/DaticalDB
java -jar DaticalDB-linux.gtk.x86_64-4.18.3999.jar autoInstall.xml
cp *-admin.lic /opt/DaticalDB
cp *-admin.lic /opt/DaticalDB/repl
export PATH=$PATH:/opt/DaticalDB/repl
hammer installDrivers http://update.datical.com/latest/thirdparty

5.  Verify Install

hammer checkdrivers
hammer show version
hammer show license


See Also

There are additional pages in this documentation section:

Installing Datical DB

Copyright © Datical 2012-2020 - Proprietary and Confidential