Oracle Database XE Quick Start


If you are experienced at installing software then use the steps provided below.

For more information and full step-by-step instructions please review the installation guides for Linux or Windows.



Installing Oracle Database XE

Oracle Linux


Red Hat compatible Linux distribution 


  • Download oracle-database-xe-18c-1.0-1.x86_64.rpm
  • Run “curl -o oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/oracle-database-preinstall-18c-1.0-1.el7.x86_64.rpm”
  • Run “yum -y localinstall oracle-database-xe*”
  • Run “/etc/init.d/oracle-xe-18c configure”

Windows 


  • Log into Windows with a user that is a member of the Administrators group.
  • If the ORACLE_HOME environment variable has been set, then unset it.
  • Download OracleXE184_Win64.zip
  • Extract zip file to a local temporary directory and run setup.exe.
  • When prompted by the installer, provide the install location, the database password, and begin the installation.
  • When the installation is complete, note the provided connection strings on the final screen.

Note: When Windows is rebooted, the pluggable database (eg: XEPDB1) will not be open and available. For details on how to automatically open the pluggable database when Windows starts, see Chapter 7 of the Oracle Database XE Windows Installation Guide.

Docker

A Linux Docker image can be built using the Dockerfiles provided under https://github.com/oracle/docker-images

VirtualBox 


A Linux VirtualBox VM can be built using the Vagrant scripts provided under https://github.com/oracle/vagrant-boxes. You can also install into a Windows VirtualBox VM providing the version of Windows is supported. See the Oracle Database XE Windows Installation Guide.

Connecting to Oracle Database XE

SQL

-- Connect string format: [username]/[password]@//[hostname]:[port]/[DB service name] [AS SYSDBA]

-- To connect to the Container Database (CDB) use:sqlplus sys/GetStartedWithXE@//localhost:1521/XE as sysdba 

-- To connect to the first Pluggable Database (PDB) use:sqlplus sys/GetStartedWithXE@//localhost:1521/XEPDB1 as sysdba

Java

OracleDataSource ods = new OracleDataSource();ods.setURL("jdbc:oracle:thin:@//localhost:1521/XEPDB1"); // jdbc:oracle:thin@//[hostname]:[port]/[DB service name]ods.setUser("system"); // [username]ods.setPassword("GetStartedWithXE"); // [password]Connection conn = ods.getConnection();


PreparedStatement stmt = conn.prepareStatement("SELECT 'Hello World!' FROM dual");ResultSet rslt = stmt.executeQuery();while (rslt.next()) {
System.out.println(rslt.getString(1));
}

Python

import cx_Oracle


 # Connect string format: [username]/[password]@//[hostname]:[port]/[DB service name]
conn = cx_Oracle.connect("system/GetStartedWithXE@//localhost:1521/XEPDB1")
cur = conn.cursor()
cur.execute("SELECT 'Hello World!' FROM dual")
res = cur.fetchall()
print(res)

Node.js 


var oracledb = require('oracledb');

async function run() {      
    let connection = await oracledb.getConnection({        
    user : "system", // [username]      
    password : "GetStartedWithXE", // [password]      
    connectString : "localhost:1521/XEPDB1" // [hostname]:[port]/[DB service name]    
});    
    let result = await connection.execute( "SELECT 'Hello World!' FROM dual");    
    console.log(result.rows[0]);  
}

run();

C# / .NET 


// Connection string format: User Id=[username];Password=[password];Data
Source=[hostname]:[port]/[DB service name];
OracleConnection con = new OracleConnection("User
Id=system;
Password=GetStartedWithXE;Data
Source=localhost:1521/XEPDB1;");
con.Open();
OracleCommand cmd = con.CreateCommand();
cmd.CommandText = "SELECT \'Hello World!\' FROM dual";

OracleDataReader reader = cmd.ExecuteReader();reader.Read();Console.WriteLine(reader.GetString(0));


PHP 


// [username], [password], //[hostname]:[port]/[DB service name]
$c = oci_pconnect("system", "GetStartedWithXE", "//localhost:1521/XEPDB1");
$s = oci_parse($c, "SELECT 'Hello World!' FROM dual");
oci_execute($s);
oci_fetch_all($s, $res);
echo "\n"
var_dump($res);
echo "\n";

Ruby

require 'oci8'

// "[username]/[password]@//[hostname]:[port]/[DB service name]"
con = OCI8.new("system/GetStartedWithXE@//localhost:1521/XEPDB1")
statement = "SELECT 'Hello World!' FROM dual"
cursor = con.parse(statement)
cursor.exe
ccursor.fetch do |row|  
print row
end

Go

package main

import (
"database/sql"  
"fmt"  
"log"  
_ "gopkg.in/goracle.v2"
)

func main() {
// Connect string format: [username]/[password]@//[hostname]:[port]/[DB service name]
db, err := sql.Open("goracle", "system/GetStartedWithXE@//localhost:1521/XEPDB1")
if err != nil {
log.Fatal(err)
}
defer db.Close()

rows, err := db.Query("SELECT 'Hello World!' FROM dual")
if err != nil {    
log.Fatal(err)  
}  
defer rows.Close()

var strVal string
for rows.Next() {
err := rows.Scan(&strVal)
if err != nil {
log.Fatal(err)
}
fmt.Println(strVal)
}
err = rows.Err()  
if err != nil {    
log.Fatal(err)
}
}