Database Free Installation Guide Linux
Database Free Installation Guide Linux
Installation Guide
F77392-11
Contributors: Santanu Datta, Malai Stalin, Gordon Larimer, Sudeepthi Siddavatam, Ranjit Noronha, Mark Doran, Linto
John, Gerald Venzl, Christopher Jones, Vasundhara Venkatasubramanian, Alex Keh, Subrahmanyam Kodavaluru
This software and related documentation are provided under a license agreement containing restrictions on use and
disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or
allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit,
perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation
of this software, unless required by law for interoperability, is prohibited.
The information contained herein is subject to change without notice and is not warranted to be error-free. If you find
any errors, please report them to us in writing.
If this is software, software documentation, data (as defined in the Federal Acquisition Regulation), or related
documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, then
the following notice is applicable:
U.S. GOVERNMENT END USERS: Oracle programs (including any operating system, integrated software, any
programs embedded, installed, or activated on delivered hardware, and modifications of such programs) and Oracle
computer documentation or other Oracle data delivered to or accessed by U.S. Government end users are "commercial
computer software," "commercial computer software documentation," or "limited rights data" pursuant to the applicable
Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, reproduction,
duplication, release, display, disclosure, modification, preparation of derivative works, and/or adaptation of i) Oracle
programs (including any operating system, integrated software, any programs embedded, installed, or activated on
delivered hardware, and modifications of such programs), ii) Oracle computer documentation and/or iii) other Oracle
data, is subject to the rights and limitations specified in the license contained in the applicable contract. The terms
governing the U.S. Government's use of Oracle cloud services are defined by the applicable contract for such services.
No other rights are granted to the U.S. Government.
This software or hardware is developed for general use in a variety of information management applications. It is not
developed or intended for use in any inherently dangerous applications, including applications that may create a risk of
personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all
appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its
affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.
Oracle®, Java, MySQL, and NetSuite are registered trademarks of Oracle and/or its affiliates. Other names may be
trademarks of their respective owners.
Intel and Intel Inside are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used
under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Epyc, and the AMD logo
are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open
Group.
This software or hardware and documentation may provide access to or information about content, products, and
services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all
warranties of any kind with respect to third-party content, products, and services unless otherwise set forth in an
applicable agreement between you and Oracle. Oracle Corporation and its affiliates will not be responsible for any loss,
costs, or damages incurred due to your access to or use of third-party content, products, or services, except as set forth
in an applicable agreement between you and Oracle.
Contents
Preface
Audience v
Documentation Accessibility v
Command Syntax v
Related Documents vi
Conventions vii
1 Introduction
2 Requirements
System Requirements 2-1
Swap Space Requirements 2-1
Server Component Kernel Parameter Requirements 2-1
Supported Oracle Linux 8 Distributions on Linux for ARM (aarch64) 2-2
3 Licensing Restrictions
Oracle Database Free CPU Limitations 3-1
Oracle Database Free Installation and Runtime Restrictions 3-1
Oracle Database Free User Data Limitations 3-1
Oracle Database Free RAM Limitation 3-1
iii
Configuring Oracle Database Free True Cache 5-2
11 Globalization Support
Setting Language and Locale Preferences for Client Connections 11-1
iv
Preface
This guide explains how to install and configure Oracle Database Free on Linux x86–64 and
Linux for ARM(aarch64).
This guide also provides information about resources available to develop applications and
how to remove the database software.
• Audience
• Documentation Accessibility
• Command Syntax
• Related Documents
• Conventions
Audience
This guide is intended primarily for application developers who are either developing
applications or converting applications to run in the Oracle Database environment.
Oracle Database Free is a free version of the world's most advanced database. Oracle
Database Free is easy to install, easy to manage, and easy to develop with. With Oracle
Database Free, you use an intuitive, browser-based interface to administer the database,
create tables, views, and other database objects, import, export, and view table data, run
queries and SQL scripts, and generate reports.
Documentation Accessibility
For information about Oracle's commitment to accessibility, visit the Oracle Accessibility
Program website at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.
Command Syntax
Refer to these command syntax conventions to understand command examples in this guide.
Convention Description
$ Bourne or BASH shell prompt in a command example. Do not enter the prompt as
part of the command.
% C Shell prompt in a command example. Do not enter the prompt as part of the
command.
v
Preface
Convention Description
# Superuser (root) prompt in a command example. Do not enter the prompt as part
of the command.
monospace UNIX command syntax
backslash \ A backslash is the UNIX and Linux command continuation character. It is used in
command examples that are too long to fit on a single line. Enter the command as
displayed (with a backslash) or enter it on a single line without a backslash:
.DEFINE {macro1}
italic Italic type indicates a variable. Substitute a value for the variable:
library_name
Related Documents
To help you with your development efforts, consult the books in the development category of
the Oracle Database documentation set.
For more information, see these documents in the Oracle Database documentation set:
• Oracle Database SQL Language Reference
• Oracle Database PL/SQL Language Reference
• Oracle Database PL/SQL Packages and Types Reference
• Oracle Database JSON Developer’s Guide
• Oracle Database Development Guide
• Oracle Database Administrator's Guide
• Oracle Database SecureFiles and Large Objects Developer's Guide
• Oracle Database Object-Relational Developer's Guide
vi
Preface
Conventions
The following text conventions are used in this document:
Convention Meaning
boldface Boldface type indicates graphical user interface elements associated with an
action, or terms defined in text or the glossary.
italic Italic type indicates book titles, emphasis, or placeholder variables for which
you supply particular values.
monospace Monospace type indicates commands within a paragraph, URLs, code in
examples, text that appears on the screen, or text that you enter.
vii
1
Introduction
Oracle Database Free is a fully free edition of the Oracle Database.
Development Environments
Oracle Database Free supports the following development environments:
• Java: Develop and deploy modern database-bound Java Web applications (Servlets),
modules (Microservices) or standalone Java frameworks using the Oracle JDBC Driver,
the Universal Connection Pool (UCP), and the Database-embedded JVM (for in-place,
server-side processing).
Visit https://www.oracle.com/database/technologies/appdev/jdbc.html for more information.
• C and C++ : Developers can use Oracle Call Interface (OCI) and Oracle C++ Call Interface
(OCCI) to create high performance programs accessing Oracle Database Free. ODBC and
the ODPI-C wrapper over OCI are also usable.
Visit https://www.oracle.com/database/technologies/appdev/oci.html for more information.
• .NET, Visual Studio, and Visual Studio Code:: Developers can use Oracle Data Provider
for .NET (ODP.NET) for C# and VB.NET data access to any Oracle Database. At design-
time, they can use Oracle Developer Tools for Visual Studio or Oracle Developer Tools for
VS Code for full development life cycle support.
Visit https://www.oracle.com/database/technologies/appdev/dotnet.html for more
information
For walk-throughs on creating a .NET application with Oracle Database Free:
Visit https://www.oracle.com/tools/technologies/quickstart-dotnet-for-oracle-database.html
The walk-throughs cover several development scenarios, including with VS Code, Visual
Studio, and command line.
• Oracle SQL Developer: Oracle SQL Developer is a graphical version of SQL*Plus that
gives database developers a convenient way to perform basic tasks. You can connect to
any target Oracle Database Free schema using standard Oracle database authentication.
Once connected, you can perform operations on objects in the database.
Download and install Oracle SQL Developer from:
https://www.oracle.com/database/sqldeveloper/
• Oracle SQL Developer Web: Included with Oracle REST Data Services, Oracle SQL
Developer Web is the web-based version of Oracle SQL Developer that enables you to run
queries and scripts, create database objects, build data models, and monitor database
activity.
• Oracle Developer Tools for VS Code: This free Visual Studio Code extension enables
you to edit and run SQL and PL/SQL for Oracle Database and Oracle Autonomous
Database.
Download and install Oracle Developer Tools for VS Code from the Visual Studio Code
Marketplace:
https://marketplace.visualstudio.com/items?itemName=Oracle.oracledevtools
1-1
Chapter 1
Scripting Languages
You can use scripting languages such as:
• Python
The python-oracledb driver is a Python programming language extension module
allowing Python programs to connect to Oracle Database.
Visit https://oracle.github.io/python-oracledb/ for more information.
• Node.js
The node-oracledb driver allows Node.js applications to access Oracle Database.
Visit https://oracle.github.io/node-oracledb/ for more information.
• PHP
Access Oracle Database with the PHP OCI8 extension or the PDO_OCI Driver. PHP OCI8
and PDO_OCI are part of the PHP open source project.
Visit https://www.php.net/oci8 for more information on PHP OCI8 and https://www.php.net/
pdo_oci for more information on PDO_OCI.
• Go
Access Oracle Database using the open source godror driver.
Visit https://pkg.go.dev/github.com/godror/godror for more information.
• ROracle
ROracle is an open source R package supporting a DBI-compliant Oracle driver based on
the high performance OCI library.
Visit https://www.oracle.com/database/technologies/roracle-downloads.html for more
information about ROracle.
• Ruby
Build Ruby and Ruby on Rails applications using the ruby-oci8 driver or JRuby with the
Oracle Enhanced Adapter for ActiveRecord.
Visit:
– https://www.rubydoc.info/gems/ruby-oci8/ for information about ruby-oci8.
1-2
Chapter 1
• Rust
The open source rust-oracle driver lets Rust programs access Oracle Database.
Visit https://crates.io/crates/oracle for more information.
• Others
Accessing Oracle Database Free from other languages is possible using community
drivers.
You can run these OCI demonstration programs to familiarize yourself with the steps involved
in developing OCI applications. Oracle Database Free does not support generating the client
shared library. The build option in demo_rdbms.mk is not valid for Oracle Database Free. You
can compile and link application and demo programs with the provided header files. Because
the object (.o's) and archive (.a's) libraries are not available in the installed location, you
cannot use genclntsh and genclntst.
Examples
You can download and install Oracle Database Examples in an existing Oracle home to view
the product demonstrations.
See Examples Installation Guide for more information about products available on the Oracle
Database Examples
Examples are also available from https://github.com/oracle/oracle-db-examples
1-3
2
Requirements
You must have root user credentials to install Oracle Database Free.
System Requirements
This table lists the system requirements for Oracle Database Free.
Requirement Value
Operating system See Oracle Database Installation Guide for Linux for the list of supported
Linux distributions and the minimum operating system requirements for each
x86-64 Linux platform.
Network protocol The following protocols are supported:
• IPC
• UDP
• TCP/IP
• TCP/IP with SSL
RAM 1 GB RAM minimum. 2 GB RAM recommended.
Disk space 10 GB minimum.
Linux for ARM (aarch64) Oracle Database 23ai Linux for ARM (aarch64) requires a CPU capable of
processor Neoverse N1. Oracle recommends using a server with a minimum of Ampere
Altra or Ampere Altra Max CPU.
2-1
Chapter 2
Supported Oracle Linux 8 Distributions on Linux for ARM (aarch64)
Table 2-2 Kernel Parameter Settings Required for Oracle Database Free
Related Topics
• Changing Kernel Parameter Values Manually
Table 2-3 Linux for ARM (aarch64) Oracle Linux 8 Minimum Operating System
Requirements
Item Requirements
Oracle Linux 8 Starting with Oracle Database 23ai Release 23.5, the Linux for ARM
(aarch64) operating system is supported with the following minimum
supported version:
Oracle Linux 8.6 with Unbreakable Enterprise Kernel 7:
5.15.0-205.149.5.1.el8uek.aarch64
Note: Oracle recommends that you update Oracle Linux 8 to the latest
available release level.
2-2
Chapter 2
Supported Oracle Linux 8 Distributions on Linux for ARM (aarch64)
Table 2-3 (Cont.) Linux for ARM (aarch64) Oracle Linux 8 Minimum Operating System
Requirements
Item Requirements
Packages for Oracle Install the latest released versions of the following packages:
Linux 8 Subscribe to the Oracle Linux 8 channel on the Unbreakable Linux Network,
or configure a yum repository from the Oracle Linux yum server website, and
then install the Oracle Database Preinstallation RPM, oracle-
database-preinstall-23ai. The Oracle Database Preinstallation
RPM, oracle-database-preinstall-23ai, automatically installs all
required packages listed in the table below, their dependencies for Oracle
Grid Infrastructure and Oracle Database installations, and also performs other
system configuration. If you install the Oracle Database Preinstallation RPM,
oracle-database-preinstall-23ai, then you do not have to install
these packages, as the Oracle Database Preinstallation RPM automatically
installs them.
bc
binutils
elfutils-libelf
gcc
gcc-c++
glibc
glibc-devel
ksh
libaio
libaio-devel
libgcc
libgfortran
libibverbs
libnsl
libnsl2
libstdc++
libstdc++-devel
libxcb
libX11
libXau
libXi
libXrender
libXtst
make
policycoreutils
policycoreutils-python-utils
smartmontools
sysstat
2-3
3
Licensing Restrictions
For more information on licensing details, see Oracle Database Database Licensing
Information User Manual
This section covers the following topics:
• Oracle Database Free CPU Limitations
• Oracle Database Free Installation and Runtime Restrictions
• Oracle Database Free User Data Limitations
• Oracle Database Free RAM Limitation
This does not affect any existing installation or new installations of Oracle Database Standard
Edition 2 or Oracle Database Enterprise Edition.
3-1
4
Installing Oracle Database Free
Learn how to install Oracle Database Free using RPM packages.
An RPM-based installation performs preinstallation checks, extracts the database software,
reassigns ownership of the extracted software to the preconfigured user and groups, maintains
the Oracle inventory, and runs all root operations required to configure the Oracle Database
software for a single-instance Oracle Database creation and configuration.
The RPM–based installation process detects when the minimum requirements for an
installation are not met and prompts you to finish these minimum preinstallation requirements.
This section covers the following topics:
• Installing Oracle Database Free Using RPM Packages
• Performing a Silent Installation
• Setting Oracle Database Free Environment Variables
Note:
The Oracle Database Free installation does not support symbolic links (symlinks)
for /opt/oracle.
4-1
Chapter 4
Installing Oracle Database Free Using RPM Packages
Note:
4-2
Chapter 4
Installing Oracle Database Free Using RPM Packages
Note:
The parameters set in this file are explained in detail in the silent mode installation procedure:
Performing a Silent Installation.
To create the database with the default settings:
4-3
Chapter 4
Installing Oracle Database Free Using RPM Packages
At the command prompt, specify a password for the SYS, SYSTEM, and PDBADMIN
administrative user accounts. Oracle recommends that your password should be at least 8
characters in length, contain at least 1 upper case character, 1 lower case character, and 1
digit [0-9].
See Also:
The same password will be used for these accounts. The password should
conform to the Oracle recommended standards. See Oracle Database Security
Guide for more information about guidelines for securing passwords
After the configuration completes, the database and listener are started.
Note:
If a host does not have any IP address other than loop back address assigned
(typically in a docker or in an another container environment), Oracle Net
Configuration Assistant (Oracle NETCA) may fail during the installation with the error
No valid IP Address returned for the host hostname in netca trace log.
Please assign an IP address and retry the configuration.
4-4
Chapter 4
Performing a Silent Installation
Note:
The database is configured with the default settings. It is not necessary to modify
these parameters unless you have specific requirements. Make a copy of the
configuration file /etc/sysconfig/oracle-free-23ai.conf before modifying it. Make
your modifications after the RPM install and before configuring the database.
1. Create a wrapper shell script to perform the silent installation. The script should contain
commands similar to the following:
For Oracle Linux 8
#!/bin/bash
#!/bin/bash
#!/bin/bash
4-5
Chapter 4
Performing a Silent Installation
Alternatively, you can enter the password in the script, such as:
Replace password with a password that is secure. The password entered should be at
least 8 characters in length, contain at least 1 uppercase character, 1 lower case character,
and 1 digit [0-9].
2. Make the wrapper script executable.
chmod +x myscript.sh
sudo ./myscript.sh
• LISTENER_PORT: A valid listener numeric port value for the database listener. Do not specify
any value for automatic port assignment.
• CHARSET: Character set of the database. This is set to AL32UTF8.
• DBFILE_DEST Database file directory. By default, the database files are stored in the Oracle
base /opt/oracle/oradata subdirectory. You can also create your own database file
directory. However, the permissions for this file path should be owned by the oracle user.
• SKIP_VALIDATIONS: Skip validation for memory and disk space. Default is false.
• CONFIGURE_TDE: Set CONFIGURE_TDE=true to configure Transparent Data Encryption (TDE).
The default value is false.
• ENCRYPT_TABLESPACES: Leave this value empty for user tablespaces. Set this value to ALL
for encrypting all the tablespaces. For specific tablespaces, use
SYSTEM:true,SYSAUX:false. Default value is empty.
Caution:
When you modify and save a file containing the plain text password, provide the
ownership of the file only to the Oracle software installation owner (oracle) user.
Change the permissions on the file to 600. Oracle recommends that database
administrators or other administrators delete or secure such files containing plain text
passwords when they are not in use.
Note:
The password should conform to the Oracle recommended standards. See Oracle
Database Security Guide for more information about guidelines for securing
passwords
4-6
Chapter 4
Setting Oracle Database Free Environment Variables
The database creation logs are located under Oracle base in the /opt/oracle/cfgtoollogs/
dbca/ subdirectory.
For example, to set your environment variables in Bourne, Bash, or Korn shell without being
prompted by the script, log in as the Oracle user and run the following commands:
export ORACLE_SID=FREE
export ORAENV_ASK=NO
. /opt/oracle/product/23ai/dbhomeFree/bin/oraenv
ORACLE_HOME = [] ? /opt/oracle/product/23ai/dbhomeFree
The Oracle base has been set to /opt/oracle
For C shell:
setenv ORACLE_SID FREE
setenv ORACLEENV_ASK NO
source /opt/oracle/product/23ai/dbhomeFree/bin/coraenv
4-7
5
Configuring True Cache on Oracle Database
Free
To configure True Cache on Oracle Database Free, set up Oracle Database Free on the
primary node and then configure True Cache in another True Cache node.
• Licensing for True Cache
• Set Up Oracle Database Free Primary Database
• Configuring Oracle Database Free True Cache
Note:
Don't set LOG_ARCHIVE_CONFIG and LOG_ARCHIVE_DEST_n on the primary
database. True Cache automatically configures these for the primary database.
5-1
Chapter 5
Configuring Oracle Database Free True Cache
Note:
Do not create and configure the database on the True Cache node.
Enter the password for the Oracle Database Free primary database.
5. To configure database application services for True Cache, see Create Database
Application Services on the Primary Database
6. To verify the True Cache configuration, see Verifying the True Cache Configuration
Related Topics
• Using Oracle True Cache in Your Applications
5-2
6
Connecting to Oracle Database Free
Connecting Locally using OS Authentication
When you install Oracle Database Free, the oracle user is granted SYSDBA privileges. You
can use the following commands to connect to the database.
$ cd $ORACLE_HOME/bin
$ ./sqlplus / as sysdba
These commands connect you to the root container CDB$ROOT of the multitenant database
(CDB) as database user SYS. This method of connecting to the database works even if the Net
Services listener is not running.
An output similar to the following confirms that you are now connected to the database.
Connected to:
Oracle Database 23ai Free Release 23.0.0.0.0 - Develop, Learn, and Run for
Free
Version 23.4.0.24.05
SQL>EXIT
$ cd $ORACLE_HOME/bin
$ lsnrctl status
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dbhost.example.com)
(PORT=1521)))
STATUS of the LISTENER
------------------------
6-1
Chapter 6
Alias LISTENER
Version TNSLSNR for Linux: Version 23.0.0.0.0 - Production
Start Date 26-MAR-2024 08:35:46
Uptime 0 days 0 hr. 5 min. 7 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Default Service FREE
Listener Parameter File /opt/oracle/product/23ai/dbhomeFree/network/admin/
listener.ora
Listener Log File /opt/oracle/diag/tnslsnr/dbhost/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=dbhost.example.com)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Services Summary...
Service "FREE.dbhost.example.com" has 1 instance(s).
Instance "FREE", status READY, has 1 handler(s) for this service...
Service "FREEXDB.dbhost.example.com" has 1 instance(s).
Instance "FREE", status READY, has 1 handler(s) for this service...
Service "dbhost.example.com" has 1 instance(s).
Instance "FREE", status READY, has 1 handler(s) for this service...
Service "freepdb1.dbhost.example.com" has 1 instance(s).
Instance "FREE", status READY, has 1 handler(s) for this service...
The command completed successfully
The output from the lsnrctl command shows values of a number of important parameters:
• the port the listener listens on
• the list of services registered with the listener
• the name of the configuration file used by the listener
• the name of the log file
You must specify a service when connecting to the database through the listener. The default
services created by Oracle Database Free are FREE and FREEPDB1. The Oracle Database Free
service connects you to the root container of the database (CDB$ROOT) and the FREEPDB1
service connects you to the default pluggable database FREEPDB1, created during installation.
For each new pluggable database (PDB), there is a new default service created with the same
name as the PDB.
Note:
If you shut down the Oracle Database Free instance, then the lsnrctl status
command does not show any services that you can connect to.
FREEPDB1 is the service name defined for the first PDB created by default. You can replace
FREEPDB1 with the name of another PDB you want to connect to.
6-2
Chapter 6
Specifying the port is optional when the listener is setup with the default port 1521. You must
specify the port number if you use another port.
Connection strings for local connections were provided on the final screen of the install. If you
are connecting from a remote computer, you must enter the hostname (where Oracle Database
Free is installed) instead of localhost.
The Net Services database listener must be running on the database host of the specified port
for the connections to succeed.
For example, you can connect to the root container of the database from a client computer
with SQL*Plus using the following commands:
$ cd $ORACLE_HOME/bin
$ ./sqlplus system@dbhost.example.com:1521
You can connect to the default PDB FREEPDB1 using the following commands:
$ cd $ORACLE_HOME/bin
$ ./sqlplus system@dbhost.example.com:1521/FREEPDB1
Replace dbhost.example.com with your database host name. If required, replace 1521 with the
port number the listener listens on. You can replace FREEPDB1 with the name of another PDB
that you want to connect to.
To shorten connect strings or to avoid hard coding of the host name and the port in the
application code and DBA scripts, you can define an alias for the connect string in the
configuration file ORACLE_HOME/network/admin/tnsnames.ora on the database clients.
See Configuring the Local Naming Method for more details.
Related Topics
• Connection Strategies for Database Applications
• Understanding Oracle Net Services
• Multitenant Architecture
6-3
7
Starting and Stopping Oracle Database Free
You can start and stop the database manually or set it to automatically start when the system
shuts down or starts.
$ sqlplus / as sysdba
SQL> SHUTDOWN IMMEDIATE
SQL> STARTUP
SQL> ALTER PLUGGABLE DATABASE ALL OPEN;
$ sudo -s
# systemctl daemon-reload
# systemctl enable oracle-free-23ai
$ sudo -s
# /etc/init.d/oracle-free-23ai status
7-1
Chapter 7
$ sudo -s
Related Topics
• Altering the Open Mode of a PDB Using STARTUP and SHUTDOWN
7-2
8
Moving from Previous Versions of Oracle
Database XE to Oracle Database Free
This topic explains how to export and import data between Oracle Database 21c Express
Edition (XE) and Oracle Database 23ai Free.
• Exporting and Importing Data between Oracle Database 21c XE and Oracle Database 23ai
Free
• Exporting and Importing Data between Oracle Database 23.x Free and Oracle Database
23ai Free
Note these points before you start the export and import process:
• You cannot use Oracle Database Upgrade Assistant (Oracle DBUA) to perform an
upgrade.
• You cannot use Oracle Database Configuration Assistant (Oracle DBCA) to plug PDBs of
previous versions to Oracle Database Free.
• Oracle Database 18c XE users must first move to 21c XE (See, Moving from Previous
Versions of Oracle Database XE to XE 21c), and then export data from 21c XE to import
them into Oracle Database 23ai Free.
Exporting Data
To export data from your 21c XE database:
1. As the root user, create a /opt/dump directory on the local file system for the DUMP_DIR
directory object.
mkdir /opt/dump
chown -R oracle:oinstall /opt/dump
chmod -R 760 /opt/dump
2. Perform the following steps for each pluggable database (PDB). The steps in this section
are for the PDB xepdb1.
a. Set the ORACLE_HOME and ORACLE_SID environment variables.
export ORACLE_SID=XE
export ORACLE_HOME=/opt/oracle/product/21c/dbhomeXE
b. Connect to the 21c XE database as user SYS using the SYSDBA privilege as the oracle
user, and switch the container to xepdb1.
8-1
Chapter 8
Exporting and Importing Data between Oracle Database 21c XE and Oracle Database 23ai Free
c. Create the directory object DUMP_DIR and grant READ and WRITE privileges on the
DUMP_DIR directory to the SYSTEM user.
/opt/oracle/product/21c/dbhomeXE/bin/sqlplus / AS SYSDBA
SQL> ALTER SESSION SET CONTAINER=xepdb1;
SQL> CREATE DIRECTORY DUMP_DIR AS '/opt/dump';
SQL> GRANT READ, WRITE ON DIRECTORY DUMP_DIR TO SYSTEM;
d. Export data from your 21c XE PDB xepdb1 to the dump folder.
/opt/oracle/product/21c/dbhomeXE/bin/expdp system/
system_password@dbhost.example.com:1521/xepdb1 full=Y
directory=DUMP_DIR dumpfile=expdb21c_xepdb1.dmp
logfile=expdb21c_xepdb1.log
Note:
3. Deinstall Oracle Database 21c XE if you plan to install 23ai Free on the same system. See
Deinstalling Oracle Database XE for more information
4. Install Oracle Database 23ai Free.
Importing Data
To import data to your Oracle Database 23ai Free, perform the following steps for each PDB.
The steps in this section are for importing data from PDB xepdb1 to freepdb1.
export ORACLE_SID=FREE
export ORACLE_HOME=/opt/oracle/product/23ai/dbhomeFree
2. Connect to the 23ai Free database as user SYS using the SYSDBA privilege as the oracle
user and switch the container to freepdb1.
3. Create the directory object DUMP_DIR and grant READ and WRITE privileges on the DUMP_DIR
directory to the SYSTEM user.
/opt/oracle/product/23ai/dbhomeFree/bin/sqlplus / AS SYSDBA
SQL> ALTER SESSION SET CONTAINER=freepdb1;
SQL> CREATE DIRECTORY DUMP_DIR AS '/opt/dump';
SQL> GRANT READ, WRITE ON DIRECTORY DUMP_DIR TO SYSTEM;
8-2
Chapter 8
Exporting and Importing Data between Oracle Database 23.x Free and Oracle Database 23ai Free
4. Import data to the 23ai Free PDB freepdb1 from the dump folder created during the export
operation.
/opt/oracle/product/23ai/dbhomeFree/bin/impdp system/
system_password@dbhost.example.com:1521/freepdb1 full=Y directory=DUMP_DIR
dumpfile=expdb21c_xepdb1.dmp logfile=impdb23ai_freepdb1.log
Note:
Note:
Oracle Database 23.x Free can refer to releases 23.2 or 23.3.
Exporting Data
To export data from Oracle Database 23.x Free:
8-3
Chapter 8
Exporting and Importing Data between Oracle Database 23.x Free and Oracle Database 23ai Free
1. As the root user, create a /opt/dump directory on the local file system for the DUMP_DIR
directory object.
mkdir /opt/dump
chown -R oracle:oinstall /opt/dump
chmod -R 760 /opt/dump
2. Perform the following steps for each pluggable database (PDB). The steps in this section
are for the PDB freepdb1.
a. Set the ORACLE_HOME and ORACLE_SID environment variables.
export ORACLE_SID=FREE
export ORACLE_HOME=/opt/oracle/product/23c/dbhomeFree
b. Connect to the 23.x Free database as user SYS using the SYSDBA privilege as the
oracle user, and switch the container to freepdb1.
c. Create the directory object DUMP_DIR and grant READ and WRITE privileges on the
DUMP_DIR directory to the SYSTEM user.
/opt/oracle/product/23c/dbhomeFree/bin/sqlplus / AS SYSDBA
SQL> ALTER SESSION SET CONTAINER=freepdb1;
SQL> CREATE DIRECTORY DUMP_DIR AS '/opt/dump';
SQL> GRANT READ, WRITE ON DIRECTORY DUMP_DIR TO SYSTEM;
d. Export data from your 23.x Free PDB freepdb1 to the dump folder.
/opt/oracle/product/23c/dbhomeFree/bin/expdp system/
system_password@dbhost.example.com:1521/freepdb1 full=Y
directory=DUMP_DIR dumpfile=expdb23c_freepdb1.dmp
logfile=expdb23c_freepdb1.log
Note:
3. Deinstall Oracle Database 23.x Free if you plan to install 23ai Free on the same system.
See Deinstalling Oracle Database Free for more information
4. Install Oracle Database 23ai Free.
Importing Data
To import data to your Oracle Database 23ai Free, perform the following steps for each PDB.
The steps in this section are for importing data from 23.x Free PDB freepdb1 and overwriting
to the same PDB freepdb1 in 23ai Free.
8-4
Chapter 8
Exporting and Importing Data between Oracle Database 23.x Free and Oracle Database 23ai Free
export ORACLE_SID=FREE
export ORACLE_HOME=/opt/oracle/product/23ai/dbhomeFree
2. Connect to the 23ai Free database as user SYS using the SYSDBA privilege as the oracle
user and switch the container to freepdb1.
3. Create the directory object DUMP_DIR and grant READ and WRITE privileges on the DUMP_DIR
directory to the SYSTEM user.
/opt/oracle/product/23ai/dbhomeFree/bin/sqlplus / AS SYSDBA
SQL> ALTER SESSION SET CONTAINER=freepdb1;
SQL> CREATE DIRECTORY DUMP_DIR AS '/opt/dump';
SQL> GRANT READ, WRITE ON DIRECTORY DUMP_DIR TO SYSTEM;
4. Import data to the 23ai Free PDB freepdb1 from the dump folder created during the export
operation.
/opt/oracle/product/23ai/dbhomeFree/bin/impdp system/
system_password@dbhost.example.com:1521/freepdb1 full=Y directory=DUMP_DIR
dumpfile=expdb23c_freepdb1.dmp logfile=impdb23ai_freepdb1.log
Note:
8-5
9
Deinstalling Oracle Database Free
When you deinstall Oracle Database Free, all components, including data files, the database,
and the software, are removed.
If you want to save your data files but remove the Oracle Database Free software and
database, then first export the data before you deinstall.
Because the deinstallation process removes all files from the directory in which Oracle
Database Free is installed, back up any files from the directory (if needed) before you deinstall.
The database will no longer be operational after deinstallation.
Run the procedure in this topic as root or with root privileges.
sudo -s
• This command removes the software. After this operation, some content under Oracle
base /opt/oracle will remain and you can manually delete it.
yum remove oracle-database-free-23ai
• (Optional) If you only installed Oracle Database Free on the system and have no further
Oracle Database software installed, you can also remove the Oracle Database
Preinstallation RPM:
rm oracle-database-preinstall-23ai*
rm oracle-database-free-23ai*
9-1
10
Reporting Security Vulnerabilities
If you find any security vulnerabilities with Oracle Database Free, then email a description of
the issue to Oracle at secalert_us@oracle.com.
Include the following information in your email:
• A complete description of the problem.
• The version of Oracle Database Free you are using.
• The platform on which you are running Oracle Database Free.
• Any scripts or examples that may be helpful in tracking down the security problem.
10-1
11
Globalization Support
Oracle Database Free is configured by default to process character data in all supported
languages simultaneously:
• The database is created with the Unicode AL32UTF8 character set. AL32UTF8 is the
recommended database character set suitable for storing data in practically any language.
Multiple languages can be mixed even in a single character value. While not a
recommended option, you can modify the CHARSET parameter in the /etc/sysconfig/
oracle-free-23ai.conf configuration file to any other supported database character set
before running /etc/init.d/oracle-free-23ai configure .
Supported database character sets are listed in tables A-4 and A-6 in Appendix A of the
Oracle Database Globalization Support Guide . Character sets from Table A-4 are
preferred over character sets from Table A-6 because they contain more comprehensive
character repertoires.
• Oracle Database Free supports the same globalization features that Oracle Database
Enterprise Edition (EE) provides.
11-1
Chapter 11
Setting Language and Locale Preferences for Client Connections
dialog box labels. The installer does not set NLS_LANG on Linux and other UNIX system-
based operating systems.
Caution:
Failure to set the client character set correctly can cause data loss.
Java applications that connect to Oracle Databases by using Oracle JDBC do not use
NLS_LANG. Instead, Oracle JDBC maps the default locale of the Java VM in which the
application runs to the Oracle Database language and territory settings. Oracle JDBC then
configures the connected database session using these settings. Because Java works
internally in Unicode, the client character set is always set to Unicode. Unless an application
explicitly changes it, the default locale of the Java VM is set based on the locale of the user
operating system on which the Java VM runs. Check your Java VM documentation for
information about configuring the Java VM default locale.
Note:
In 3-tier architecture deployments, application servers that are database clients can
have settings in their configuration files that specify the NLS_LANG value or the Java
VM locale. Check the documentation accompanying these servers.
See Also:
Oracle Database Globalization Support Guide for more information about configuring
user locale preferences
11-2