KBEC-00064 - Using Oracle RAC Server with CloudBees CD (CloudBees Flow)

Article ID:360032832112
1 minute readKnowledge base

Description

Using CloudBees CD (CloudBees Flow) with an Oracle RAC configuration requires using the ectool setDatabaseConfiguration command with the customDatabaseUrl argument.

Setup

Given the following Oracle TNS string:

ECLOUDI =
  (DESCRIPTION =
    (SDU = 32768)
    (enable = broken)
       (ADDRESS = (PROTOCOL = TCP)(HOST = myhost2.electric-cloud.com)(PORT = 1525))
       (ADDRESS = (PROTOCOL = TCP)(HOST = myhost3.electric-cloud.com)(PORT = 1525))
       (CONNECT_DATA =
       (SERVICE_NAME = ECLOUDIC)
      )
    )

Solution

Use the following steps:

  1. Take the portion of the TNS after the ECLOUDI = and remove all spaces and newlines:

     (DESCRIPTION=(SDU=32768)(enable=broken)(ADDRESS=(PROTOCOL=TCP)(HOST=myhost2.electric-cloud.com)
     (PORT=1525))(ADDRESS=(PROTOCOL=TCP)(HOST=myhost3.electric-cloud.com)(PORT=1525))
     (CONNECT_DATA=(SERVICE_NAME=ECLOUDIC)))
  2. Prepend jdbc:oracle:thin:@ to this string:

     jdbc:oracle:thin:@(DESCRIPTION=(SDU=32768)(enable=broken)(ADDRESS=(PROTOCOL=TCP)
     (HOST=myhost2.electric-cloud.com)(PORT=1525))(ADDRESS=(PROTOCOL=TCP)
     (HOST=myhost3.electric-cloud.com)(PORT=1525))(CONNECT_DATA=(SERVICE_NAME=ECLOUDIC)))
  3. Then call ectool, making sure to place the URL in quotes. It is not necessary to specify the other arguments if you have already supplied them in another call to setDatabaseConfiguration.

     ectool setDatabaseConfiguration --databaseType oracle --userName dbuser --password dbpassword --customDatabaseUrl
     "jdbc:oracle:thin:@(DESCRIPTION=(SDU=32768)(enable=broken)(ADDRESS=(PROTOCOL=TCP)(HOST=myhost2.electric-cloud.com)
     (PORT=1525))(ADDRESS=(PROTOCOL=TCP)(HOST=myhost3.electric-cloud.com)(PORT=1525))(CONNECT_DATA=(SERVICE_NAME=ECLOUDIC)))"
  4. Restart CloudBees CD (CloudBees Flow).