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 "<pre>\n"
  • var_dump($res);
  • echo "</pre>\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.exec
  • cursor.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)
  •   }
     
  • }