---
title: "DataSync Agent Requirements"
canonical: "https://docs.perspectium.com/space/Lithium/2326989/DataSync%20Agent%20Requirements"
format: markdown
---
The  Perspectium DataSync Agent  requires that you have the following user permission, system, network, and Java version specifications shown below. The Agent will not start if the system does not meet the  System  requirements. If you are directed to this page from the Agent, please review that your system has these specifications at a minimum.  You can also use the  Validate Configuration tool  to verify if your system’s specs meet the requirements. System System Requirements Memory 8GB minimum Processor Cores 4 minimum Hard Disk Space 100GB minimum   NOTE :  The DataSync Agent will only run if 100GB of space is available on the partition that the Agent is installed on Network Interface GigE If deploying in an AWS environment, we recommend using a m5 (or newer) xlarge  EC2 general purpose instance  with  general purpose SSD (gp2)  EBS volume type. Perspectium has tested using the m5.xlarge instance type and any system meeting the system requirements should be able to run the application. For other cloud platforms, it is recommended to use the equivalent services to the aforementioned AWS services: AWS Microsoft Azure Virtual Machine m5 (or newer) xlarge EC2 general purpose instance  Standard_D4_v3 (Dv3 and Dsv3-series), Standard_D4_v4 (Dv4 and Dsv4-series) or newer general purpose VMs Storage general purpose SSD (gp2) Standard SSD Managed Disks ↑ Go to top of page Supported Operating Systems The following operating systems are supported by the Agent: OS Version Windows  Professional/Home 7+ Server 2012+ Linux* Red Hat 6+ Ubuntu 14.04+ CentOS 6+ *Linux requires superuser access ( sudo ) to install the Agent and run it as a service.  The versions of Linux specified above have been tested to work with the Agent.  Other versions with equivalent Linux kernel and meeting the other requirements above (System, Java, etc.) may also be able to run the Agent. Please contact  Perspectium Suppport  for more information. ↑ Go to top of page Network The DataSync Agent requires outbound access to the Perspectium Integration Mesh and its MBS cloud service as well as your ServiceNow instance. Your firewall settings will need to allow this outbound traffic in order for the Agent to connect to our MBS cloud service and your ServiceNow instance to properly read data. MBS supports the AMQP, AMQPS, or HTTPS protocols while ServiceNow is only through HTTPS. For MBS, you will specify which protocol you will be using through the URL of the <message_connection>. HTTPS is the recommended protocol since it works with both MBS and ServiceNow. Network Requirements AMQPS Outbound Port TCP/5671 outbound to your Perspectium MBS ( amqps://example.perspectium.net ) AMQP Outbound Port TCP/5672 outbound to your Perspectium MBS ( amqp://example.perspectium.net ) HTTPS Outbound Port TCP/443 outbound to your Perspectium MBS ( https://example.perspectium.net ) HTTPS Outbound Port TCP/443 outbound to your ServiceNow instance In Lithium 9.4.0, support is added to send the  psp_version  and  psp_application  request headers when sending heartbeats into MBS. psp_version will hold the version number such as  Lithium_9.4.0  and psp_application will hold the name of the application such as  datasync_agent.  Since this configuration is based on request headers, this only works with  HTTPS  and when sending heartbeats. If the Agent has the  <skip_heartbeat/>  configuration, then these headers will not be sent. ↑ Go to top of page Java If Java is not installed on your system, the Agent will not start. Click  here  for how to verify if Java is installed. Java is required to be  installed  to run the DataSync Agent. Both 32 and 64 bit versions of Java are supported. The Java version must be Java 17 or higher as of  Lithium 9.1.0.  It's strongly recommended that you use a server type JVM instead of a client or desktop version. Both  Java  and  OpenJDK  are supported including distributions with OpenJDK and those that are certified compatible to the Java standard such as  Amazon Corretto .  For  Lithium 9.1.0 release and newer,  the DataSync Agent requires  Java 17  at a minimum. For versions prior to  Lithium 9.1.0 ,  Java 11  is the minimum requirement.  The Agent currently only supports running in the background for Java versions up to Java 25. DataSync Agent version Java 7 & earlier Java 8-16 Java 17 Java 18 Java 19 Java 20 Java 21 Java 22 Java 23 Java 24 Java 25 Lithium 9.1.0 and newer ^Background support as of Lithium 9.2.0 ^ ^ ^ ^ DataSync Agent version Java 7 & earlier Java 8-11 Java 11 Java 12 Java 13 Java 14 Java 15 Java 16 Java 17 Java 18 Java 19 Java 20 Java 21 Java 22 Versions prior to Lithium 9.1.0 ^   NOTE :  These versions of Java have been tested to work with the DataSync Agent. Newer versions may also be able to run the Agent but have not been tested or verified. We typically provide support for the latest version of Java with a major release after the Java version's general release date and when we have completed testing to ensure compatibility. ↑ Go to top of page ServiceNow The DataSync Agent requires a ServiceNow user in order to access the ServiceNow table schemas you share.  This user you specify must be a local user in the ServiceNow instance (i.e. it cannot be a SSO user) that is given at minimum the  perspectium  role and has permissions to invoke a  processor .    NOTE :  In version  Lithium 9.2.0  of the  Perspectium Core ServiceNow  application, the PSPSchemaProcessor processor has been removed due to processors being  deprecated . The DataSync Agent will make a call to the PSPSchema  Scripted REST API  to get the ServiceNow table schema instead (which the Agent supports as of its version  Lithium 9.1.0 ). The ServiceNow user you specified should have permission to make this REST API call. If you prefer to use the processor approach instead, contact  Perspectium Support  to request the  Perspectium PSPSchemaProcessor Addon  update set. You can use ServiceNow's OAuth implementation. See  here  for further information. You do not need to upgrade the Agent at the same time as you upgrade the ServiceNow application as the core functionality of syncing data will work. New features however may require both to be upgraded to function properly. Perspectium tests  n-2  compatibility with each release e.g. the previous two major releases of the Agent prior to this release has been tested with the latest version of the ServiceNow application.  ↑ Go to top of page Supported Databases  (Lithium 9.1.0 and newer) Database Version Oracle 12.c, 18c, 19c and 21c SQL Server (MSSQL) / Microsoft Azure SQL 2010 - 2022 MySQL 8.0 - 9.3.0 (as of Lithium 9.2.0) SAP Hana SPS 12 Amazon Redshift N/A Amazon Aurora (MySQL and PostgreSQL compatible) N/A IBM DB2 11 HP Vertica 8.0 - 9.21 PostgreSQL up to 17.5 (as of Lithium 9.2.0) Snowflake 3.22.0 (JDBC driver version) ^For Oracle, the Agent requires six  open cursors  per ServiceNow table to be replicated as it uses prepared statements to ensure the most efficient processing possible. For each operation per table (insert, update, delete, query metadata) we use a prepared statement which is reused whenever the next similar operation needs to be executed against the same table. Each of these prepared statements uses a  cursor .  If we didn't use an open cursor, every transaction would be very inefficient because the Agent would need to re-establish the client/server connection and query the structure each time.  If deploying an AWS RDS instsnce, we recommend using the  m5.xlarge  general purpose instance with a bandwidth of 4000 IOPS and 500GB of storage space. To really measure your bandwidth requirements, contact  support@perspectium.com  as we will work with you to understand how many records you plan to share a day during the initial seeding phase and the daily volume expected after the initial seeding to really know what the bandwidth needed is. ↑ Go to top of page Database User Permissions For integrating with a database, the following are the required permissions the DataSync Agent must have.   NOTE : It is recommended that the Agent be the only one writing data to this database to avoid conflicts with the Agent accessing tables it did not create and/or do not match the schema definitions as the source (such as ServiceNow). Permission Description Create a new database  After installation has been performed and the DataSync Agent is started, the Agent establishes a connection to the database server using the credentials configured.  This task must be completed successfully before the Agent will proceed with subsequent processing. Once the connection has been established, the Agent will attempt to create the configured database.  This step requires that the configured user has the proper permissions to create a new database. If this is not the case then an error will occur. As an alternative, the required database can be created by something or someone other than the Agent. When this approach is taken you add the configuration directive  <skip_database_creation/>  to the configuration and the Agent will not attempt to create the database since this tell the Agent that the database already exists. Create tables within defined databases Once replicated data is available, the Agent will determine if the table associated with the replicated data exists, and if not, the Agent will create it. This means that the configured user must have the permissions required to create tables within the defined database. Query database and associated tables and update data in existing tables When you share out data to be consumed by the DataSync Agent, you'll typically specify whether the data is being shared in bulk or dynamically. When the data is shared in bulk and based on how the Agent has been configured, it will typically perform a query in order to determine if the row already exists in the database. The Agent must therefore have permission to query the database and the associated tables. If the Agent determines that the row already exist then it performs an update, otherwise it will insert the row. The Agent must have permission to perform both these actions. Insert data into tables Once the required table has been created the Agent will perform an insert in order to populate the table with the replicated row. This means that the Agent must have the permissions to perform an insert into the table. Alter table The Agent wants to ensure that all data is replicated. It's possible that the structure of the source table has changed. For example, an additional column has been added to the table or the size of a column has been increased. The Agent performs the analysis required to make this determination and by default will alter the table in order to align it with the source table. Currently, Perspectium supports adding a column and increasing the size of a text or character type column to the  maximum . Additionally, if the database supports it, a text or character type column can be modified to a larger type of text or character column.    NOTE : Perspectium does not support altering from one type to another such as a text or character type being modified to an integer or an integer to a float.  The Agent also  will not delete  a column in a database table if the column is deleted in ServiceNow. It is possible to constrain the Agent from altering tables by including the  <skip_alter/>  directive within the SQL Subscribers <task> definition. Delete table row In order to support the deletion of rows from a table, the database user must also have permission to delete a table row ↑ Go to top of page