Try Oracle 12c VM with Delphix download

March 25th, 2015

 photo by Jose Maria Cuellar (CC 2.0)

Thanks to Leighton Nelson who pointed out  that :

Oracle has a pre-installed Linux VM with 12c

Delphix as well has a pre-installed   trial version 

Download both of these and start them up in Virtualbox and you can start virtualizing your PDBs.
The Oracle pre-installed VM has a few eccentricities that have to be addressed before using it. There is no IP address and there is no history of the install and it’s missing a glibc library. After we address these in the instructions below you can link to the PDB and then provision that PDB back as a virtual PDB (vPDB) or provision that PDB to another 12c instance on another machine as a vPDB.

Here is a video of linking a PDB to Delphix and provisioning  a vPDB

before doing the above with the Oracle pre-installed VM, follow these steps:

After importing and starting, change network to “Bridge Adaptor” and restarted services
get the ip address with “ifconfig -a” and vi  /etc/hosts to add hostname “oraclevm” with the  ip address. Also increase /dev/shm or otherwise will get “MEMORY_TARGET not supported on this system”
su –
service network restart
# note the IP of the machine
ifconfig -a

# add hostname “oraclevm” and current IP to hosts
vi /etc/hosts
hostname oraclevm
echo oraclevm  >  /proc/sys/kernel/hostname

#umount tmpfs might give errors, but seems to do the trick anway
umount tmpfs
mount -t tmpfs shmfs -o size=1500m /dev/shm

mkdir /mnt/provision
chmod 755 /mnt
chmod 755 /mnt/provision

yum install glibc.i686

yum might get error

Existing lock /var/run/ another copy is running as PID ….

Waited a few minutes and was able to run. Oracle VM must run some yum stuff just after starting up. After one try, the running yum process never seemed to exit, so rebooted VM and upon reboot was able to run yum



Back as Oracle unset TWO_TASK as it blocks “/ as sysdba” connections and get rid of the .bash output as it messes up scp and Delphix trying to put the toolkit onto the box

unset TWO_TASK
cp .bashrc .bashrc.orig
cat .bashrc.orig | grep -v cat > .bashrc

Set up  Delphix c##delphix container user and delphix PDB user

sqlplus / as sysdba << EOF
create user c##delphix identified by delphix;
grant create session to c##delphix;
alter user c##delphix set container_data=all container=current;
grant select any dictionary to c##delphix;
create or replace view v_x\$kccfe as select * from x\$kccfe;
grant select on v_x\$kccfe to c##delphix;
create synonym c##delphix.x\$kccfe for v_x\$kccfe;
alter session set container=orcl;
create user delphix identified by delphix;
grant create session to delphix;
grant select any dictionary to delphix;
create or replace view v_x\$kccfe as select * from x\$kccfe;
grant select on v_x\$kccfe to delphix;
create synonym delphix.x\$kccfe for v_x\$kccfe;

make a toolkit directory

mkdir ~/toolkit

Add the inventory directory and the inventory file with version info that Delphix uses

mkdir $ORACLE_HOME/inventory
mkdir $ORACLE_HOME/inventory/ContentsXML
cat << EOF >  $ORACLE_HOME/inventory/ContentsXML/comps.xml
<?xml version=”1.0″ standalone=”yes” ?>
<COMP NAME=”oracle.server” VER=”″ BUILD_NUMBER=”0″ REP_VER=”″ RELEASE=”Production”INV_LOC=”Components/oracle.server/” LANGS=”en” XML_INV_LOC=”Components21/oracle.server/”ACT_INST_VER=”″ DEINST_VER=”″ INSTALL_TIME=”2014.
Sep.19 15:31:29 EDT” INST_LOC=”/home/oracle/base/oracle12102/oracle.server”>

Put database in archive log mode

sqlplus / as sysdba << EOF
shutdown immediate;
startup mount;
alter database archivelog;
alter database open;
alter system switch logfile;
alter system switch logfile;

Use the machine name in listener.ora and tnsnames.ora instead of IP from
(ADDRESS = (PROTOCOL = TCP)(HOST = oraclevm )(PORT = 1521))

vi $ORACLE_HOME/network/admin/listener.ora
lsnrctl stop
lsnrctl start
sqlplus / as sysdba << EOF
alter system register;

Then in Delphix UI, go to

Manage -> Environments
click “+” sign
add host
after host is added click on the database tab  (far right disk icon)
on database tab for environment, click on “discover”
for login/password give  c##delphix / delphix  (the CDB login we created)
this will discover the PDBs
now click on Delphix or Manage-> Databases -> My databases
click “+” sign
select the orcl PDB on cdb1
for login/password give delphix / delphix (the PDB login we created)


After creating the  vPDB it shows up for the listener

lsnrct stat

Service “vorc_fd7” has 1 instance(s).
Instance “cdb1″, status READY, has 1 handler(s) for this service…

I add an entry to $ORACLE_HOME/network/admin/tnsnames.ora

(ADDRESS = (PROTOCOL = TCP)(HOST = oraclevm)(PORT = 1521))
(SERVICE_NAME = vorc_fd7)

and then connect with SQL*Plus

sqlplus delphix/delphix@DELPHIX



photo by Yannis (CC 2.0)


  1. Trackbacks

  2. No trackbacks yet.

  2. khailey
    | #1

    PS after reading Uwe Hesse blog post on upgrading PDBs,, I see there is another Oracle 12c VM available at

eight × = 56