Parent page: Altium NEXUS Server with Oracle Backend
This document is intended for an IT administrator who is configuring the Altium NEXUS Server to use an Oracle Database backend. It contains details about the Altium NEXUS Server, its installation procedure, important information on system requirements, as well as an example.
To follow this guide, you should have a general understanding of Oracle database concepts and the operating system environment.
Installation Process Overview
Configuring the Altium NEXUS Server to use an Oracle backend depends on how your company manages its Oracle Databases. Some companies run Oracle Databases on top of Windows Server Operating Systems, while others have entire Oracle datacenters. The process of installation typically involves three steps, as illustrated in the following image.
High level overview of the Altium NEXUS Server and Oracle database installation procedure.
Assumptions made throughout this document
While Oracle configurations can vary from site to site, a few assumptions are made throughout this document:
- An IT admin performs the installation. At a very minimum, the user performing NEXUS Server installation should have administrative rights to the host machine.
- The Altium NEXUS Server is installed and running on a full Microsoft Windows OS.
- The Oracle Client Connector is installed and running on the same machine hosting the Altium NEXUS Server Application.
- .NET Framework 4.8 and .NET Core 3.1.22 are installed and running on the same machine hosting the Altium NEXUS Server Application – if not available, these are automatically installed during the NEXUS Server installation.
- The Oracle Server should be running on a physically different host machine than the Altium NEXUS Server application.
- The Oracle Schema and Oracle application credentials used on the source and destination Oracle servers must be the same, if this installation is being performed as part of a data migration process.
High-level Overview of the Altium NEXUS Server Architecture
Similar to other software designed to run on Microsoft Windows, the Altium NEXUS Server is a multi-threaded, multi-service server application. Since this document solely focuses on parts of the Altium NEXUS Server that may interact with an Oracle Database, the following image is simplified to represent the overall Altium NEXUS Server Backend Architecture.
High level overview of the Altium NEXUS Server architecture. The Backend Storages of Altium NEXUS Server contains most of the customer binary data, while the Windows Services is a collection of supporting services.
This document focuses on the Backend Storages since the data within this block is what gets backed up, potentially migrated to another machine, then restored either on the same or different machine. Within the Backend Storages, the following items can be found:
- Databases – contains metadata such as component footprint and schematic symbol association, parameters, file paths, links to component supply chain data sources and more. This information could reside inside a Firebird or Oracle database.
- File Storage – this File Storage area holds binary data inside the NEXUS Server’s VCS repository. This binary data includes information such as PCB and Schematic Project documents, footprints, symbols, Draftsman and other native or non-native NEXUS Server documents.
Example Setup of NEXUS Server with Oracle backend on the Windows Platform
In this example, the instructions also cater to smaller businesses who may not have a dedicated Oracle Database Administrator (DBA), but still have the need to implement a NEXUS Server-Oracle configuration on their network. The following steps show how a basic installation of Altium NEXUS Server and Oracle can be deployed.
It is assumed the installation is done using the internal Oracle SYSTEM account, and that no custom SCHEMA is created. However, it is recommended that more experienced users, or DBAs, create an appropriate user account, with associated SCHEMA that is granted proper permissions.
Required Items
- Oracle Database Server Host machine, running Windows 7 Professional or newer.
Recommended: Windows Server 2012 R2.
- Altium NEXUS Server Host machine, running Windows Server 2016 Standard Edition (64-bit) or newer.
Recommended: Windows Server 2019 Standard Edition (64-bit) .
- Oracle Database version 19c.
- Oracle Data Access Components (ODAC) client connector, such as
ODTwithODAC122011
(see below).
- Altium NEXUS Server.
Installation of the Altium NEXUS Server is performed through the Altium NEXUS Server Setup wizard. To access this wizard, you need to first acquire and run an executable – Altium NEXUS Server <VersionNumber>.exe. This executable is provided as part of your Altium-scheduled deployment of Altium NEXUS and can be saved anywhere on your hard disk.
Installation Procedure
- On the Oracle DB server Host machine:
- Install Oracle Database 19c. Write down the name/password you choose.
- Ensure that the The NLS_CHARACTERSET configuration is set to
AL32UTF8
.
- Optional: Setup a database user account for use with the Altium NEXUS Server as an alternative to the default
SYSTEM
account. Write down the User name and login info you choose. A new database user account and files can be created with the Oracle SQL Developer application using the following SQL commands for example (where the name/password for the new user account is NEXUSUSER/NEXUSPASS
):
create tablespace NEXUSUSER datafile 'C:\app\odb19\oradata\orcl\NEXUS.dbf' size 100M autoextend on;
create tablespace TEMP datafile 'C:\app\odb19\oradata\orcl\TEMP.dbf' size 100M autoextend on;
CREATE USER NEXUSUSER IDENTIFIED BY NEXUSPASS DEFAULT TABLESPACE NEXUSUSER;
GRANT CONNECT TO NEXUSUSER;
GRANT CONNECT, RESOURCE, DBA TO NEXUSUSER;
GRANT CREATE SESSION TO NEXUSUSER;
GRANT UNLIMITED TABLESPACE TO NEXUSUSER;
GRANT ALL PRIVILEGES TO NEXUSUSER;
- On the Altium NEXUS Server Host machine:
- First, install the Oracle Data Access Components (ODAC) software: ODTwithODAC122011.
- Copy the
tnsnames.ora
file from the Oracle DB Server Host Machine to the Altium NEXUS Server Host machine.
- The file is typically found in the
%ORACLE_HOME%\Network\Admin
directory, where the ORACLE_HOME
environment variable is determined by the Oracle installation location – for example: C:\app\odb19\product\19.x.x\dbhome_1
- The target location on the NEXUS Server machine is again
%ORACLE_HOME%\Network\Admin
, where the ORACLE_HOME
path is the ODAC installation location – for example: C:\app\product\12.2.0\client_1\Network\Admin
Alternatively, a DBA can configure the ORACLE_HOME environmental variable in this step.
- Install Altium NEXUS Server.
- During NEXUS Server installation, enter the following:
- TNS Alias: default is ORCL. If you performed step 1-a, enter the appropriate TNS Name that you defined here.
- Username: default is SYSTEM. If you performed step 1-c, enter the appropriate Username that you defined here (NEXUSUSER in the example).
- Password: the same that was defined in step 1-a, or 1-c.
- Proceed with NEXUS Server installation and configuration as described in the document Installing the Altium NEXUS Server.
Upgrading from a Legacy Vault product to a NEXUS Server
If switching over from a legacy Altium Vault (2.x, 3.x) to the Altium NEXUS Server, it is simply a case of upgrading by running the Altium NEXUS Server installer – as would have been done when updated the Altium Vault in the past.
One important requirement to be able to update from the legacy Vault to the NEXUS Server when using ORACLE as your database backend, is that the ORACLE_HOME
environment variable must be set. This is part of the installation procedure for the Altium NEXUS Server, but is a necessity when upgrading from a previous Altium Vault to the Altium NEXUS Server.
Conclusion
Although the aforementioned example includes additional details pertaining to the handling of an Oracle Database, there are only three key steps to configuring your Altium NEXUS Server to work with an Oracle backend:
- Step 1 is to create an Oracle account and SCHEMA.
- Step 2 is to establish the tnsnames.ora parameters.
- Step 3 is to install the Altium NEXUS Server.