# Installation Guide for Linux This file contains the text from each Installation Guide for Linux article landing page, release 26ai. # Introduction Oracle AI Database Free is a fully free edition of the Oracle AI Database. ## Development Environments Oracle AI Database Free supports development with Java, C/C++, .NET, Visual Studio, SQL Developer, SQL Developer Web, Application Express, Oracle REST Data Services, and SODA APIs. These tools and frameworks enable database-bound applications, high-performance native programs, graphical and web-based database management, rapid application development, REST interfaces, and JSON document applications. Read More: [Development Environments](https://docs.oracle.com/en/database/oracle/oracle-database/26/xeinl/introduction/development-environments.html) ## Scripting Languages Oracle AI Database Free supports numerous scripting and programming languages through dedicated drivers and libraries, including Python, Node.js, PHP, Go, R, Ruby, Rust, and community-supported alternatives. Available connectivity options include python-oracledb, node-oracledb, OCI8, PDO\_OCI, godror, ROracle, ruby-oci8, JRuby, Oracle Enhanced Adapter, and rust-oracle. Read More: [Scripting Languages](https://docs.oracle.com/en/database/oracle/oracle-database/26/xeinl/introduction/scripting-languages.html) ## Oracle Call Interface Demonstration Programs Oracle AI Database Free includes OCI demonstration programs and project files in the Oracle home `demo` directory to illustrate OCI application development. Applications can be compiled and linked with the provided headers, but client shared-library generation and tools such as `genclntsh` and `genclntst` are unsupported because required object and archive libraries are not included. Additional demonstrations are available through Oracle AI Database Examples and Oracle’s example repository, while the product home and discussion forum provide further learning and support resources. Read More: [Oracle Call Interface Demonstration Programs](https://docs.oracle.com/en/database/oracle/oracle-database/26/xeinl/introduction/oracle-call-interface-demonstration-programs.html) # Licensing Restrictions ## Oracle AI Database Free CPU Limitations Oracle AI Database Free automatically limits database processing to two CPU cores, even when additional processing capacity is available; use Oracle AI Database 26ai Enterprise Edition to utilize more cores. Read More: [Oracle AI Database Free CPU Limitations](https://docs.oracle.com/en/database/oracle/oracle-database/26/xeinl/licensing-restrictions/oracle-ai-database-free-cpu-limitations.html) ## Oracle AI Database Free Installation and Runtime Restrictions Oracle AI Database Free permits only one installation in each logical environment, including a physical host, virtual machine, or container. Starting another installation produces an ORA-00442 single instance violation and prevents startup; Oracle AI Database 26ai Enterprise Edition is required for multiple instances or software installations. Read More: [Oracle AI Database Free Installation and Runtime Restrictions](https://docs.oracle.com/en/database/oracle/oracle-database/26/xeinl/licensing-restrictions/oracle-ai-database-free-installation-and-runtime-restrictions.html) ## Oracle AI Database Free User Data Limitations Oracle AI Database Free supports a maximum of 12 GB of user data. Exceeding this limit causes an ORA-12954 error, and Oracle AI Database 26ai Enterprise Edition is required for larger data volumes. Read More: [Oracle AI Database Free User Data Limitations](https://docs.oracle.com/en/database/oracle/oracle-database/26/xeinl/licensing-restrictions/oracle-ai-database-free-user-data-limitations.html) ## Oracle AI Database Free RAM Limitations Oracle AI Database Free uses no more than 2 GB of RAM, regardless of available system memory. Oracle AI Database 26ai Enterprise Edition is required to use additional memory. Read More: [Oracle AI Database Free RAM Limitations](https://docs.oracle.com/en/database/oracle/oracle-database/26/xeinl/licensing-restrictions/oracle-ai-database-free-ram-limitations.html) # Requirements ## System Requirements Installation requires root credentials. Oracle AI Database Free supports specified Oracle Linux and Red Hat Enterprise Linux distributions for x86-64, with IPC, UDP, TCP/IP, and TCP/IP with SSL networking; required firewall ports must be open. Minimum resources are 1 GB RAM, 2 GB recommended, and 10 GB disk space. Linux for Arm (aarch64) requires a Neoverse N1-capable processor, with Ampere Altra or Altra Max recommended. Swap space should be at least 2 GB or twice the RAM size, whichever is less. Read More: [System Requirements](https://docs.oracle.com/en/database/oracle/oracle-database/26/xeinl/requirements/system-requirements.html) ## Server Component Kernel Parameter Requirements The Oracle AI Database Preinstallation RPM checks and, when necessary, sets minimum kernel parameters for shared memory, semaphores, file handles, asynchronous I/O, network port ranges, panic handling, and socket buffers. These settings are persisted in `/etc/sysctl.d/97-oracle-database-sysctl.conf` across restarts. The listed values are minimums; production systems should tune them according to workload and operating-system guidance, and administrators can change them manually when required. Read More: [Server Component Kernel Parameter Requirements](https://docs.oracle.com/en/database/oracle/oracle-database/26/xeinl/requirements/server-component-kernel-parameter-requirements.html) ## Supported Oracle Linux 9 Distributions on Linux for Arm Oracle AI Database 26ai supports Linux for Arm (aarch64) on Oracle Linux 9.4 or later with Unbreakable Enterprise Kernel 7, beginning with Release Update 23.26.2; the minimum specified kernel is 5.15.0-307.178.5.el9uek.aarch64. Oracle recommends using the latest Oracle Linux 9 release. Required packages include development tools, system libraries, networking and X libraries, security utilities, storage and monitoring tools, and related dependencies, all of which can be installed automatically by the `oracle-ai-database-preinstall-26ai` package. Read More: [Supported Oracle Linux 9 Distributions on Linux for Arm](https://docs.oracle.com/en/database/oracle/oracle-database/26/xeinl/requirements/supported-oracle-linux-9-distributions-on-linux-for-arm.html) ## Supported Oracle Linux 8 Distributions on Linux For Arm Oracle AI Database 26ai supports Linux for Arm (aarch64) on Oracle Linux 8.6 or later with Unbreakable Enterprise Kernel 7, beginning with Release Update 23.5; the minimum specified kernel is 5.15.0-205.149.5.1.el8uek.aarch64. Oracle recommends updating to the latest Oracle Linux 8 release. Required compiler, library, networking, security, monitoring, and system packages can be installed automatically, along with dependencies and configuration, by the `oracle-ai-database-preinstall-26ai` package. Read More: [Supported Oracle Linux 8 Distributions on Linux For Arm](https://docs.oracle.com/en/database/oracle/oracle-database/26/xeinl/requirements/supported-oracle-linux-8-distributions-on-linux-for-arm.html) # Installing Oracle AI Database Free ## About Installing Oracle AI Database Free Oracle AI Database Free can be installed through RPM packages, which perform prerequisite checks, extract and assign ownership of the database software, maintain the Oracle inventory, and execute required root operations for single-instance database creation and configuration. If minimum installation requirements are not met, the RPM process identifies them and prompts for corrective action. Read More: [About Installing Oracle AI Database Free](https://docs.oracle.com/en/database/oracle/oracle-database/26/xeinl/installing-oracle-ai-database-free/about-installing-oracle-ai-database-free.html) ## Installing Oracle AI Database Free Using RPM Packages Install Oracle AI Database Free by first removing conflicting XE, Free, or `XE`/`FREE` SID databases, ensuring approximately 9 GB is available under `/opt` or mounting suitable storage at `/opt/oracle` without using symbolic links, and installing the platform-specific preinstallation and database RPMs as root. Supported targets include Oracle Linux and Red Hat Enterprise Linux 8, 9, and 10 on x86-64, and Oracle Linux 8 and 9 on aarch64. The configuration script creates the `FREE` container database, `FREEPDB1` pluggable database, and a listener on port 1521; settings are controlled through `/etc/sysconfig/oracle-free-26ai.conf`, while database files, diagnostics, creation logs, and service scripts reside under the documented Oracle directories. A valid host IP address may be required for network configuration. Read More: [Installing Oracle AI Database Free Using RPM Packages](https://docs.oracle.com/en/database/oracle/oracle-database/26/xeinl/installing-oracle-ai-database-free/installing-oracle-ai-database-free-using-rpm-packages.html) ## Performing A Silent Installation Silent installation supports unattended or embedded deployments by using a wrapper script that installs the appropriate RPM and runs the database configuration service, optionally supplying the administrative password noninteractively. The script must be executable and run as root, with output captured in a specified log file. Configuration defaults and options are controlled through `/etc/sysconfig/oracle-free-26ai.conf`, including listener port, character set, database file location, validation checks, TDE, and tablespace encryption. Password-containing files must be restricted to the Oracle installation owner with mode `600` and securely removed when no longer needed; database creation logs are stored under `/opt/oracle/cfgtoollogs/dbca/`. Read More: [Performing A Silent Installation](https://docs.oracle.com/en/database/oracle/oracle-database/26/xeinl/installing-oracle-ai-database-free/performing-a-silent-installation.html) ## Setting Oracle AI Database Free Environment Variables After configuration, set the Oracle environment by defining `ORACLE_SID=FREE`, `ORACLE_HOME=/opt/oracle/product/26ai/dbhomeFree`, and disabling prompts with `ORAENV_ASK=NO`, then sourcing the `oraenv` script for Bourne, Bash, or Korn shells. For C shell, define the corresponding variables and source `coraenv`; these scripts establish the Oracle base and related environment settings for database use. Read More: [Setting Oracle AI Database Free Environment Variables](https://docs.oracle.com/en/database/oracle/oracle-database/26/xeinl/installing-oracle-ai-database-free/setting-oracle-ai-database-free-environment-variables.html) # Configuring True Cache on Oracle AI Database Free ## Licensing for True Cache True Cache licensing for Oracle AI Database Free requires Oracle AI Database Free to be installed on both the primary database node and the True Cache node. Licensing is determined by the Oracle AI Database edition used for both systems; consult the Oracle AI Database Licensing Information User Manual for permitted features, options, and management packs. Read More: [Licensing for True Cache](https://docs.oracle.com/en/database/oracle/oracle-database/26/xeinl/configuring-true-cache-on-oracle-ai-database-free/licensing-for-true-cache.html) ## Set Up Oracle AI Database Free Primary Database Before configuring True Cache, install and configure the Oracle AI Database Free primary database on the primary node using the RPM installation procedure. Ensure the database runs in ARCHIVELOG mode so redo can be shipped to the True Cache node; if necessary, enable ARCHIVELOG while the database is mounted. Do not configure LOG\_ARCHIVE\_CONFIG or LOG\_ARCHIVE\_DEST\_n manually because True Cache configures these settings automatically. Read More: [Set Up Oracle AI Database Free Primary Database](https://docs.oracle.com/en/database/oracle/oracle-database/26/xeinl/configuring-true-cache-on-oracle-ai-database-free/set-up-oracle-ai-database-free-primary-database.html) ## Configuring Oracle AI Database Free True Cache On the True Cache node, install only the Oracle AI Database Free software and do not create a database. As the oracle user, copy the primary database password file to a temporary location on the True Cache node, then run DBCA with the createTrueCacheInstance option, providing the primary connection string, password file, database identifiers, memory settings, and remote SYS password. Complete the remaining configuration from the primary database by creating application services, then verify the True Cache configuration. Read More: [Configuring Oracle AI Database Free True Cache](https://docs.oracle.com/en/database/oracle/oracle-database/26/xeinl/configuring-true-cache-on-oracle-ai-database-free/configuring-oracle-ai-database-free-true-cache.html) # Connecting to Oracle AI Database Free ## Connecting Locally using OS Authentication Oracle AI Database Free grants the `oracle` operating-system user SYSDBA privileges, enabling local connections to the root container (`CDB$ROOT`) as `SYS` with `sqlplus / as sysdba`. This authentication method works without the Net Services listener running; after completing database administration, exit SQL\*Plus with `EXIT`. Read More: [Connecting Locally using OS Authentication](https://docs.oracle.com/en/database/oracle/oracle-database/26/xeinl/connecting-to-oracle-ai-database-free/connecting-locally-using-os-authentication.html) ## Net Services Listener and Default Services The Net Services listener enables TCP/IP connections from local or remote machines and can be inspected with `lsnrctl status`, which displays its port, registered services, configuration file, and log file. Connections require a service name: `FREE` connects to `CDB$ROOT`, while `FREEPDB1` connects to the default pluggable database; each newly created PDB receives a same-named default service. If the database instance is shut down, no connectable services appear in the listener status output. Read More: [Net Services Listener and Default Services](https://docs.oracle.com/en/database/oracle/oracle-database/26/xeinl/connecting-to-oracle-ai-database-free/net-services-listener-and-default-services.html) ## Connecting to Oracle AI Database Using Easy Connect Naming Method Easy Connect strings use `host[:port]` for the multitenant root container or `host[:port]/service_name` for a PDB, with port `1521` optional when using the default listener port. Remote clients must specify the database host rather than `localhost`, and the listener must be running on the selected port. SQL\*Plus examples connect to the root through `system@host:port` or to `FREEPDB1` through `system@host:port/FREEPDB1`; client-side `tnsnames.ora` aliases can simplify these connection strings. Read More: [Connecting to Oracle AI Database Using Easy Connect Naming Method](https://docs.oracle.com/en/database/oracle/oracle-database/26/xeinl/connecting-to-oracle-ai-database-free/connecting-to-oracle-ai-database-using-easy-connect-naming-method.html) # Starting and Stopping Oracle AI Database Free ## Shut Down and Start-Up Methods Oracle AI Database Free can be manually started or stopped with SQL\*Plus or configured for automatic startup and shutdown through system services. As the `oracle` user, connect with `sqlplus / as sysdba`, use `SHUTDOWN IMMEDIATE` to stop the database, and use `STARTUP` followed by `ALTER PLUGGABLE DATABASE ALL OPEN` to start it. For automation on Oracle Linux 8, 9, and 10, run `systemctl daemon-reload` and enable the `oracle-free-26ai` service as `root`. The configuration services script reports listener and database status, while `systemctl start`, `stop`, and `restart oracle-free-26ai` control both components. Read More: [Shut Down and Start-Up Methods](https://docs.oracle.com/en/database/oracle/oracle-database/26/xeinl/starting-and-stopping-oracle-ai-database-free/shut-down-and-start-up-methods.html) # Moving from Previous Versions of Oracle Database XE or Free to Oracle AI Database Free ## Guidelines for Exporting and Importing Data Oracle Database 21c XE cannot be upgraded using DBUA or migrated by plugging its PDBs into Oracle AI Database 26ai Free with DBCA. Oracle Database 18c XE users must first migrate to 21c XE, then use export and import to move data into 26ai Free. Read More: [Guidelines for Exporting and Importing Data](https://docs.oracle.com/en/database/oracle/oracle-database/26/xeinl/moving-from-previous-versions-of-oracle-database-xe-or-free-to-oracle-ai-database-free/guidelines-for-exporting-and-importing-data.html) ## Exporting and Importing Data Between Oracle Database 21c XE and Oracle AI Database 26ai Free This procedure uses Oracle Data Pump to migrate each PDB from Oracle Database 21c XE to Oracle AI Database 26ai Free. Create and permission a shared dump directory, export the source PDB with `expdp`, optionally deinstall 21c XE, install 26ai Free, recreate the directory object in the target PDB, and import the dump with `impdp`; the default PDB names are `xepdb1` and `freepdb1`. Several expected errors involving existing tablespaces, users, system grants, network ACLs, and dependent objects can be ignored. Read More: [Exporting and Importing Data Between Oracle Database 21c XE and Oracle AI Database 26ai Free](https://docs.oracle.com/en/database/oracle/oracle-database/26/xeinl/moving-from-previous-versions-of-oracle-database-xe-or-free-to-oracle-ai-database-free/exporting-and-importing-data-between-oracle-database-21c-xe-and-oracle-ai-database-26ai-free.html) ## Exporting and Importing Data Between Different Versions Of Oracle AI Database 26ai Free This procedure migrates data from Oracle Database 23.x Free to Oracle AI Database 26ai Free using Oracle Data Pump. Create and authorize a shared dump directory, export the source `freepdb1` PDB with `expdp`, optionally deinstall the older release, install 26ai Free, recreate the directory object in the target `freepdb1` PDB, and import the dump with `impdp`. Expected errors concerning network ACL dependencies, pre-existing tablespaces, the PDBADMIN user, and the existing `DUMP_DIR` directory may be ignored. Read More: [Exporting and Importing Data Between Different Versions Of Oracle AI Database 26ai Free](https://docs.oracle.com/en/database/oracle/oracle-database/26/xeinl/moving-from-previous-versions-of-oracle-database-xe-or-free-to-oracle-ai-database-free/exporting-and-importing-data-between-different-versions-of-oracle-ai-database-26ai-free.html) # Deinstalling Oracle AI Database Free ## Deinstall Procedure Deinstalling Oracle AI Database Free removes the database, data files, listener, configuration files, and software, so export or back up any required data and files beforehand. Perform the process as root or with root privileges: run `/etc/init.d/oracle-free-26ai delete` to remove database components, then `yum remove oracle-ai-database-free-26ai` to remove the software. Optionally remove `oracle-ai-database-preinstall-26ai` if no other Oracle software is installed, manually clean remaining content under `/opt/oracle`, and delete downloaded RPM files with the specified `rm` commands. Read More: [Deinstall Procedure](https://docs.oracle.com/en/database/oracle/oracle-database/26/xeinl/deinstalling-oracle-ai-database-free/deinstall-procedure.html) # Globalization Support for Oracle AI Database Free ## Globalization Support Oracle AI Database Free is configured to support multilingual character data by default, using the Unicode AL32UTF8 database character set, which can store mixed languages within a single value. The character set may be changed to another supported option in the configuration file before database configuration, although preferred character sets offer broader character coverage. The Free edition provides the same globalization capabilities as Oracle AI Database Enterprise Edition. Read More: [Globalization Support](https://docs.oracle.com/en/database/oracle/oracle-database/26/xeinl/globalization-support-for-oracle-ai-database-free/globalization-support.html) ## Reporting Security Vulnerabilities Security vulnerabilities in Oracle AI Database Free should be reported by email to Oracle Security Alert, including a complete issue description, the database version, the operating platform, and any useful scripts or examples that can assist investigation. Read More: [Reporting Security Vulnerabilities](https://docs.oracle.com/en/database/oracle/oracle-database/26/xeinl/globalization-support-for-oracle-ai-database-free/reporting-security-vulnerabilities.html) ## Setting Language and Locale Preferences for Client Connections Client applications must be configured for the user’s locale and I/O character encoding, using the approach appropriate to the connection API. OCI applications use NLS\_LANG and related NLS settings, with the character set matching the terminal or device encoding to ensure correct data conversion and prevent loss; settings may be supplied through environment variables or, on Windows, the Registry, with environment variables taking precedence. JDBC applications use the Java VM’s default locale for language and territory settings and always communicate with the database using Unicode. In three-tier deployments, application-server configuration may define these locale settings. Read More: [Setting Language and Locale Preferences for Client Connections](https://docs.oracle.com/en/database/oracle/oracle-database/26/xeinl/globalization-support-for-oracle-ai-database-free/setting-language-and-locale-preferences-for-client-connections.html)