Database Free Installation Guide Linux
Database Free Installation Guide Linux
Installation Guide
F77392-09
Contributors: Santanu Datta, Malai Stalin, Gordon Larimer, Sudeepthi Siddavatam, 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
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.
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.
v
Preface
Convention Description
% C Shell prompt in a command example. Do not enter the prompt as part of the
command.
# 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
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:
1-1
Chapter 1
https://marketplace.visualstudio.com/items?itemName=Oracle.oracledevtools
• Oracle Application Express: Oracle Application Express (APEX) is a rapid web
application development tool for the Oracle database.
Download and install Application Express from:
https://www.oracle.com/database/technologies/appdev/rest.html
• Oracle REST Data Services (ORDS): ORDS makes it easy to develop modern
REST interfaces for relational data in the Oracle Database and the Oracle
Database JSON Document Store.
Download and install ORDS from:
https://www.oracle.com/database/technologies/appdev/rest.html
• SODA (Simple Oracle Document Access) APIs that let you develop NoSQL-style
applications against collections of JSON documents. Native language SODA
drivers are available for common languages.
Visit https://docs.oracle.com/en/database/oracle/simple-oracle-document-access/
for more information.
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.
1-2
Chapter 1
Visit:
– https://www.rubydoc.info/gems/ruby-oci8/ for information about ruby-oci8.
– https://www.jruby.org/ for information about JRuby.
– https://github.com/rsim/oracle-enhanced for information about Oracle Enhanced
Adapter.
• 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
examples media
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.
2-1
Chapter 2
Server Component Kernel Parameter Requirements
Table 2-2 Kernel Parameter Settings Required for Oracle Database Free
Related Topics
• Changing Kernel Parameter Values Manually
2-2
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
You can 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 that disk.
sudo -s
4-1
Chapter 4
Installing Oracle Database Free Using RPM Packages
Note:
4-2
Chapter 4
Installing Oracle Database Free Using RPM Packages
Note:
Review the RPM log files to determine the system configuration changes. For
example, review /var/log/oracle-database-preinstall-23ai/results/
orakernel.log.
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:
1. Log in as root using sudo.
sudo -s
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.
4-3
Chapter 4
Performing a Silent Installation
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
installation.
#!/bin/bash
4-4
Chapter 4
Performing a Silent Installation
#!/bin/bash
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 TDE. The default value is false.
• ENCRYPT_TABLESPACES: Leave this value empty for user tablespace alone. Set this value
to ALL for encrypting all the tablespaces. For specific tablespaces use
SYSTEM:true,SYSAUX:false.s
4-5
Chapter 4
Setting Oracle Database Free Environment Variables
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
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-6
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 Restrictions for True Cache
• Set Up Oracle Database Free Primary Database
• Configuring Oracle Database Free True Cache
5-1
Chapter 5
Configuring Oracle Database Free True Cache
The primary database must be in ARCHIVELOG mode to ship redo log files to the
True Cache node.Oracle DBCA verifies that the primary database is in ARCHIVELOG
mode.
If the primary database is not in ARCHIVELOG mode, restart it in mount mode, run
the ALTER DATABASE ARCHIVELOG command, and open the primary database
again.
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.
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
$ cd $ORACLE_HOME/bin
$ lsnrctl status
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dbhost.example.com)
(PORT=1521)))
STATUS of the LISTENER
------------------------
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
6-1
Chapter 6
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.
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
# /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
8-1
Chapter 8
Exporting and Importing Data between Oracle Database 21c XE and Oracle Database 23ai Free
b. Connect to the 21c XE database as user SYS using the SYSDBA privilege as the
oracle user, and switch the container to xepdb1.
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 23.4 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
Oracle Universal Installer sets a default value for the NLS_LANG setting in Registry
when it creates a new Oracle home on Microsoft Windows. The NLS_LANG value is
based on the language of the Windows user interface, which is the language of
Windows menu items and 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