Oracle Spatial and Graph – technical tips, best practices, and news from the product team

Spatial Studio on Oracle Cloud Marketplace

David Lapp
Product Manager


Oracle Spatial Studio is now available on the Oracle Cloud Marketplace. The Oracle Cloud Marketplace is an online store offering hundreds of apps and services from both Oracle and Oracle Partners. More info here. The following walks through the steps to create an instance.

Locate Spatial Studio on the Marketplace

If you have an Oracle Cloud account, you access the Marketplace from the main menu:

If you do not have an Oracle Cloud account, go to https://cloudmarketplace.oracle.com/marketplace, click Sign In and then Create Account. You may also create a free tier account at https://www.oracle.com/cloud/free

Find Spatial Studio by filtering on type: "Stack" and Publisher: "Oracle"

Click on Spatial Studio and then the Usage Instructions tab to see important prerequisite steps:

Perform Prerequisite Steps

The installation process will need networking, compute, storage resources, access to the marketplace, and privileges to invoke and run jobs. These steps are outlined in the Usage Instruction and are appropriate for an Oracle Cloud Infrastructure (OCI) admin. For those unfamiliar with OCI:

Overviews: Intro to OCI Compute (video),  Overview of Compute Service

Specific topics:  Compartments, Virtual Cloud Networks (VCNs), Security Lists, GroupsPolicies.


Configure VCN

We first create a Virtual Cloud Network (VCN). Access VCNs from the main menu under Networking:

Select your Compartment on the bottom left. I am working in a Compartment named "MyCompartment".  Then click Networking Quickstart.

Leave the default selection VCN with Internet Connectivity and click Start Workflow

Under Basic Information, enter a name for your VCN and select your Compartment.  Under Configure VCN and Subnets, enter the example blocks provided. Then click Next..

Once all VCN resources are created, click View Virtual Cloud Network.


Next we will configure our VCN's security list with ingress rules for the ports used to access Studio (port 8001) and WebLogic Admin Console (port 7002).

Click on Security Lists on the left, and then click "Default Security Lists for [your VCN name]" :

Next click on Add Ingress Rules:

In SOURCE CIDR enter "" and in DESTINATION PORT RANGE enter "8001,7002" without spaces. Then click Add Ingress Rules at bottom:

You should now see the rules applied:

Configure Group Policy

Next we add Policies that allow management of required resources in your compartment. Best practice is to apply policies to Groups and not directly to Users. In this example I have already created a group called MyGroup. You may access and create Groups from the main menu under Identity. We will now apply the set of Policies required to deploy and run the spatial Studio stack.

Access the Policies page from the main Menu under Identity. Select your Compartment on the lower left, and then click Create Policy:

Enter a name for the Policy. In this example it's called "MyPolicy". Next paste in the Policy statements from the Usage Instructions 1 by 1, replacing "MyGroup" and "MyCompartment" with your actual Group and Compartment names. After each statement, click the "+" button to add a new empty row for the next statement. repeat until all of the following statements are entered:

  • allow group MyGroup to manage instance-family in compartment MyCompartment
  • allow group MyGroup to manage virtual-network-family in compartment MyCompartment
  • allow group MyGroup to manage volume-family in compartment MyCompartment
  • allow group MyGroup to manage load-balancers in compartment MyCompartment
  • allow group MyGroup to manage orm-stacks in compartment MyCompartment
  • allow group MyGroup to manage orm-jobs in compartment MyCompartment
  • allow group MyGroup to manage app-catalog-listing in compartment MyCompartment

When all statements are entered, click Create at bottom:

You will now have the Policy listed on the Polices page:


Create SSH key pair

Finally, we must have an existing SSH key pair or generate a new one. A SSH key is used by OCI to authenticate a remote user and is required during installation. For those unfamiliar, please see general information here, To create your SSH key pair you may use Putty on a PC or ssh-keygen on the command line on a Mac. Have your public key handy for the following steps.


Identify Database for Spatial Studio Repository

A database is not required for the installation of the Spatial Studio application. However on first launch Spatial Studio does require connecting to an Oracle 12.2+ database accessible from the Studio deployment, as described here. Therefore, before proceeding with Studio install, it is recommended that you identify the database to be used.


Install Studio

Now that prerequisites are complete, we can begin the install. Return to the Spatial Studio page on the Marketplace, select the Studio version and Compartment, and click Launch Stack:

Leave the defaults and click Next:

Enter required Compute and Network info. Descriptions of shapes is here (scroll down to Virtual Machine Shapes).


Review the summary and click Create:

You will see the stack creation job move from status of "Accepted" to "In Progress" 

Once the status is "Succeeded", an "Application Information" tab will be available showing login info. Note the Public IP.

WebLogic Console will be available at https://[public IP]:7002/console

Spatial Studio will be available at https://[public IP]:8001/spatialstudio

As noted in the instructions, you should change the default "weblogic" user password from "welcome1" to a something secure. Instructions are here. After changing the password, you may need to clear your browser's cache in order to log in.


Access Spatial Studio

Access Spatial Studio at https://[public IP]:8001/spatialstudio, or using the link on the Application Information page. Spatial Studio is configured to use the https://  protocol. So unless you have configured a valid security certificate in WebLogic, you will see a security warning when opening Spatial Studio. If this is the case, you may click the option to "Proceed to [IP address]" and then accept the option to permanently store this certificate exception.This issue will be handled more smoothly in a future release.

Once the security exception is accepted, you will see the Spatial Studio login page. Spatial Studio logins are based on WebLogic users. The default login in weblogic/welcome1, but as mentioned above, this should default password be changed:

Create schema for Spatial Studio schema

On first login, Spatial Studio will prompt for database connection info for its repository. The repository schema holds metadata as described here, and the required tables are created automatically by Spatial Studio upon first connection. The database version must be 12.2+, accessible from your OCI compute node, and can be traditional or Autonomous.


Uninstalling the Marketplace Deployment

In order to remove a Cloud Marketplace installation of Spatial Studio, go to the Main main, click "Resource Manager" and then click the sub-item "Stacks":

Click on the Spatial Studio stack to drill to details. Then click the "Terraform" menu and select "Destroy":

It is important that you perform the Terraform "Destroy". The "Delete Stack" option might seem like the way to uninstall, but this only removes the Terraform stack creation instructions. If you want to free up the resources, make sure you "Destroy".


Please note:

A known issue with the first release of Spatial Studio on the Cloud Marketplace requires the following steps to start Spatial Studio after reboot of the system. (This issue has been fixed so that new deployments do not have this issue.)

1. SSH to the Compute node
    See https://docs.oracle.com/en/cloud/iaas/compute-iaas-cloud/stcsg/accessing-oracle-linux-instance-using-ssh.html

2. Configure boot.properties file  (only needs to be done once)

    Check for existence of boot.properties using
$ ls /u01/app/oracle/domains/spatialDomain/servers/AdminServer/security/boot.properties

   If the file does not exist, create it:
$ echo "username=weblogic" > /u01/app/oracle/domains/spatialDomain/servers/AdminServer/security/boot.properties
$ echo "password=[your password]]" >> /u01/app/oracle/domains/spatialDomain/servers/AdminServer/security/boot.properties

      (where [your password] is the default welcome1 or a custom value if you updated it)
   If the file does exist, verify it includes encrypted username and password:
$ grep 'username\|password' /u01/app/oracle/domains/spatialDomain/servers/AdminServer/security/boot.properties
3. Copy boot.properties file to the managed server (only needs to be done once)

$ cp /u01/app/oracle/domains/spatialDomain/servers/AdminServer/security/boot.properties  /u01/app/oracle/domains/spatialDomain/servers/ms_1/security/

4. Run the following to start all servers (needs to be run after every system reboot)

$ nohup /u01/app/oracle/domains/spatialDomain/bin/startNodeManager.sh  > /dev/null 2>&1 &
$ nohup /u01/app/oracle/domains/spatialDomain/bin/startWebLogic.sh > /dev/null 2>&1 &
$ nohup /u01/app/oracle/domains/spatialDomain/bin/startManagedWebLogic.sh ms_1 > /dev/null 2>&1 &

   These can be combined into a shell script for convenience.


Now it's your turn

We hope you give Spatial Studio a try!  Please feel free to post feedback on our newly created Spatial Studio forum, and we'll update this info as the process evolves.

Join the discussion

Comments ( 2 )
  • Rasmus Eduards Wednesday, October 30, 2019
    Hello, would be great if you included that you also need to create a job through Terraform Actions->Apply once you created the stack
  • David Lapp Wednesday, October 30, 2019
    Hi Rasmus,
    Thanks for the feedback! The "Launch" process described here creates and applies the stack. On completion the app is running; you don't need to do an Apply. If you want to temporarily free up resources, you can do Terraform Actions > Destroy and then do Terraform Actions > Apply to bring it back up.
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.