In December 2015 Oracle Corp. has made available the new HOL virtual machine (VM) announced on OTN Upgrade blog.
You can download it from here.
In this blog post I only want to show how you can install it using VirtualBox command line on Windows 8.1 and what exactly you can find in this VM.
I have first downloaded all zip files (about 15 GB): this has taken about 3 hours using my personal Internet connexion.
I have also upgraded VirtualBox from 5.0.4 to 5.0.14 and added 7-zip PATH in a Windows command line window:
PATH=c:\Program Files\7-zip\;%PATH%
I have extracted the .ova with:
> 7z e Upgrade_HOL.7z.001 7-Zip [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18 Processing archive: Upgrade_HOL.7z.001 Extracting Upgrade_HOL.ova Everything is Ok Size: 16880560128 Compressed: 2147483648
To restore the full VM I have run following command (I have added line breaks for clarity - original command is a single command line):
> vboxmanage import Upgrade_HOL.ova
--vsys 0 --eula accept
--vsys 0 --unit 15 --disk "m:\VirtualBox VMs\disk1.vmdk"
--vsys 0 --unit 16 --disk "m:\VirtualBox VMs\disk2.vmdk"
--vsys 0 --unit 17 --disk "m:\VirtualBox VMs\disk3.vmdk"
--vsys 0 --unit 18 --disk "m:\VirtualBox VMs\disk4.vmdk"
--vsys 0 --unit 19 --disk "m:\VirtualBox VMs\disk5.vmdk"
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Interpreting M:\VirtualBox VMs\Upgrade_HOL.ova...
OK.
Disks:
vmdisk1 26214400000 -1 http://www.vmware.com/interfaces/specifications/vmdk.html#streamOptimized Upgrade_HOL-disk1.vmdk -1 -1
vmdisk2 4294967296 -1 http://www.vmware.com/interfaces/specifications/vmdk.html#streamOptimized Upgrade_HOL-disk2.vmdk -1 -1
vmdisk3 5368709120 -1 http://www.vmware.com/interfaces/specifications/vmdk.html#streamOptimized Upgrade_HOL-disk3.vmdk -1 -1
vmdisk4 2147483648 -1 http://www.vmware.com/interfaces/specifications/vmdk.html#streamOptimized Upgrade_HOL-disk4.vmdk -1 -1
vmdisk5 42949672960 -1 http://www.vmware.com/interfaces/specifications/vmdk.html#streamOptimized Upgrade_HOL-disk5.vmdk -1 -1
Virtual system 0:
0: Suggested OS type: "Oracle_64"
(change with "--vsys 0 --ostype "; use "list ostypes" to list all possible values)
1: Suggested VM name "Upgrade_HOL"
(change with "--vsys 0 --vmname ")
2: Product (ignored): Oracle Database 12c
3: Vendor (ignored): Oracle America Inc.
4: Version (ignored): 12.1.0.2
5: ProductUrl (ignored): www.oracle.com/database/
6: VendorUrl (ignored): www.oracle.com
7: Description "Hands-on lab for upgrade, migration, and consolidation with Oracle database 12.1.0.2"
(change with "--vsys 0 --description ")
8: End-user license agreement (accepted)
9: Number of CPUs: 4
(change with "--vsys 0 --cpus ")
10: Guest memory: 8192 MB
(change with "--vsys 0 --memory ")
11: Network adapter: orig NAT, config 3, extra slot=0;type=NAT
12: IDE controller, type PIIX4
(disable with "--vsys 0 --unit 12 --ignore")
13: IDE controller, type PIIX4
(disable with "--vsys 0 --unit 13 --ignore")
14: SATA controller, type AHCI
(disable with "--vsys 0 --unit 14 --ignore")
15: Hard disk image: source image=Upgrade_HOL-disk1.vmdk, target path=m:\VirtualBox VMs\disk1.vmdk, controller=14;channel=0
16: Hard disk image: source image=Upgrade_HOL-disk2.vmdk, target path=m:\VirtualBox VMs\disk2.vmdk, controller=14;channel=1
17: Hard disk image: source image=Upgrade_HOL-disk3.vmdk, target path=m:\VirtualBox VMs\disk3.vmdk, controller=14;channel=2
18: Hard disk image: source image=Upgrade_HOL-disk4.vmdk, target path=m:\VirtualBox VMs\disk4.vmdk, controller=14;channel=3
19: Hard disk image: source image=Upgrade_HOL-disk5.vmdk, target path=m:\VirtualBox VMs\disk5.vmdk, controller=14;channel=4
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Successfully imported the appliance.
Note that the --eula switch allows to accept the end user licensing agreement and that I have used --disk option to store VM disks in a specific directory different from the default VirtualBow directory.
This command duration is about 2 hours for my desktop machine.
As expected VirtualBox has created 5 virtual disks for a total size of 43 GB (note I have some GNU utilities for Windows on my machine):
> ls -rtl disk* -rw-rw-rw- 1 pierre 0 25396314112 2016-03-01 18:53 disk1.vmdk -rw-rw-rw- 1 pierre 0 466419712 2016-03-01 18:53 disk2.vmdk -rw-rw-rw- 1 pierre 0 758972416 2016-03-01 18:53 disk3.vmdk -rw-rw-rw- 1 pierre 0 437256192 2016-03-01 18:53 disk4.vmdk -rw-rw-rw- 1 pierre 0 19175243776 2016-03-01 18:57 disk5.vmdk > du -sh disk* 24G disk1.vmdk 445M disk2.vmdk 724M disk3.vmdk 417M disk4.vmdk 18G disk5.vmdk
The full VM configuration is:
> vboxmanage showvminfo Upgrade_HOL Name: Upgrade_HOL Groups: / Guest OS: Oracle (64-bit) UUID: 14a10d72-9b34-4516-b986-857444ab61bd Config file: C:\Users\pierre\VirtualBox VMs\Upgrade_HOL\Upgrade_HOL.vbox Snapshot folder: C:\Users\pierre\VirtualBox VMs\Upgrade_HOL\Snapshots Log folder: C:\Users\pierre\VirtualBox VMs\Upgrade_HOL\Logs Hardware UUID: 14a10d72-9b34-4516-b986-857444ab61bd Memory size: 8192MB Page Fusion: off VRAM size: 32MB CPU exec cap: 100% HPET: off Chipset: piix3 Firmware: BIOS Number of CPUs: 4 PAE: on Long Mode: on CPUID Portability Level: 0 CPUID overrides: None Boot menu mode: message and menu Boot Device (1): Floppy Boot Device (2): DVD Boot Device (3): HardDisk Boot Device (4): Not Assigned ACPI: on IOAPIC: on Time offset: 0ms RTC: UTC Hardw. virt.ext: on Nested Paging: on Large Pages: on VT-x VPID: on VT-x unr. exec.: on Paravirt. Provider: Legacy State: powered off (since 2015-12-03T15:30:54.000000000) Monitor count: 1 3D Acceleration: off 2D Video Acceleration: off Teleporter Enabled: off Teleporter Port: 0 Teleporter Address: Teleporter Password: Tracing Enabled: off Allow Tracing to Access VM: off Tracing Configuration: Autostart Enabled: off Autostart Delay: 0 Default Frontend: Storage Controller Name (0): IDE Controller Storage Controller Type (0): PIIX4 Storage Controller Instance Number (0): 0 Storage Controller Max Port Count (0): 2 Storage Controller Port Count (0): 2 Storage Controller Bootable (0): on Storage Controller Name (1): SATA Controller Storage Controller Type (1): IntelAhci Storage Controller Instance Number (1): 0 Storage Controller Max Port Count (1): 30 Storage Controller Port Count (1): 8 Storage Controller Bootable (1): on SATA Controller (0, 0): m:\VirtualBox VMs\disk1.vmdk (UUID: e66ade4c-0157-4c23-bad2-2764a1a81f9b) SATA Controller (1, 0): m:\VirtualBox VMs\disk2.vmdk (UUID: 13561656-ccd4-42c5-9fbe-0664ae1e7c35) SATA Controller (2, 0): m:\VirtualBox VMs\disk3.vmdk (UUID: eb096f56-cba1-4104-a87f-48ac3716f519) SATA Controller (3, 0): m:\VirtualBox VMs\disk4.vmdk (UUID: b436e3be-5944-4c66-b7b3-7850f933855c) SATA Controller (4, 0): m:\VirtualBox VMs\disk5.vmdk (UUID: d8c7fc9b-239f-4708-a6e7-a8461343df7c) NIC 1: MAC: 080027EC5A66, Attachment: NAT, Cable connected: on, Trace: off (file: none), Type: 82540EM, Reported speed: 0 Mbps, Boot priority: 0, Promisc Policy: deny, Bandwidth group: none NIC 1 Settings: MTU: 0, Socket (send: 64, receive: 64), TCP Window (send:64, receive: 64) NIC 2: disabled NIC 3: disabled NIC 4: disabled NIC 5: disabled NIC 6: disabled NIC 7: disabled NIC 8: disabled Pointing Device: PS/2 Mouse Keyboard Device: PS/2 Keyboard UART 1: disabled UART 2: disabled LPT 1: disabled LPT 2: disabled Audio: disabled Clipboard Mode: Bidirectional Drag and drop Mode: disabled VRDE: disabled USB: disabled EHCI: disabled XHCI: disabled USB Device Filters: Bandwidth groups: Shared folders: Video capturing: not active Capture screens: 0 Capture file: C:\Users\pierre\VirtualBox VMs\Upgrade_HOL\Upgrade_HOL.webm Capture dimensions: 1024x768 Capture rate: 512 kbps Capture FPS: 25 Description: Hands-on lab for upgrade, migration, and consolidation with Oracle database 12.1.0.2 Guest: Configured memory balloon size: 0 MB
I have started VM with:
> vboxmanage startvm Upgrade_HOL Waiting for VM "Upgrade_HOL" to power on... VM "Upgrade_HOL" has been successfully started.
VM starts with X Window enabled and to login was difficult because VM default keyboard layout is English and on host system I have a French keyboard (all passwords are set to 'oracle').
I am a little bit surprised that this VM is still running Oracle Linux 5 instead of Oracle Linux 6 (or 7) but Oracle Database 11.2 and Oracle 12.1 are supported on Oracle Linux 5:
oracle@localhost:~$ cat /etc/oracle-release Oracle Linux Server release 5.11
On this VM following Oracle Database versions are installed:
oracle@localhost:~$ tail -n 4 /etc/oratab FTEX:/u01/app/oracle/product/11.2.0:N CDB2:/u01/app/oracle/product/12.1.0.2:N CDB1:/u01/app/oracle/product/12.1.0.1:N UPGR:/u01/app/oracle/product/11.2.0:N oracle@localhost:~$ . oraenv ORACLE_SID = [oracle] ? UPGR The Oracle base remains unchanged with value /u01/app/oracle oracle@localhost:~$ $ORACLE_HOME/OPatch/opatch lspatches 21352635;Database Patch Set Update : 11.2.0.4.8 (21352635) OPatch succeeded. oracle@localhost:~$ . oraenv ORACLE_SID = [CDB2] ? CDB1 The Oracle base remains unchanged with value /u01/app/oracle oracle@localhost:~$ $ORACLE_HOME/OPatch/opatch lspatches There are no Interim patches installed in this Oracle Home "/u01/app/oracle/product/12.1.0.1". oracle@localhost:~$ . oraenv ORACLE_SID = [CDB1] ? CDB2 The Oracle base remains unchanged with value /u01/app/oracle oracle@localhost:~$ $ORACLE_HOME/OPatch/opatch lspatches 21539301; 21359755;Database Patch Set Update : 12.1.0.2.5 (21359755) OPatch succeeded. oracle@localhost:~$
I have double-checked this with the right database view listing patch set updates (PSU).
In UPGR:
SYS@UPGR>set linesize 120 SYS@UPGR>column action_time format a15 SYS@UPGR>column action format a10 SYS@UPGR>column namespace format a10 SYS@UPGR>column version format a10 SYS@UPGR>column comments format a20 SYS@UPGR>select to_char(action_time,'DD-MON-YYYY') as action_time_2, action, namespace, version, comments 2 from dba_registry_history 3 order by action_time; ACTION_TIME ACTION NAMESPACE VERSION COMMENTS ----------- ---------- ---------- ---------- -------------------- 14-NOV-2014 APPLY SERVER 11.2.0.4 Patchset 11.2.0.2.0 04-NOV-2015 APPLY SERVER 11.2.0.4 PSU 11.2.0.4.8 SYS@UPGR>
In CDB1:
SYS@CDB1>set linesize 120 SYS@CDB1>column action_time format a15 SYS@CDB1>column action format a10 SYS@CDB1>column namespace format a10 SYS@CDB1>column version format a10 SYS@CDB1>column comments format a20 SYS@CDB1>select to_char(action_time,'DD-MON-YYYY') as action_time_2, action, namespace, version, comments 2 from dba_registry_history 3 order by action_time; ACTION_TIME ACTION NAMESPACE VERSION COMMENTS ----------- ---------- ---------- ---------- -------------------- 24-JUL-2014 APPLY SERVER 12.1.0.1 Patchset 12.1.0.0.0 SYS@CDB1>
In CDB2 (note that as of 12.1.0.2 DBA_REGISTRY_SQLPATCH must be used instead of DBA_REGISTRY_HISTORY):
SYS@CDB2>set linesize 120 SYS@CDB2>column action_time format a15 SYS@CDB2>column action format a10 SYS@CDB2>column version format a10 SYS@CDB2>column description format a50 SYS@CDB2>select to_char(action_time,'DD-MON-YYYY') as action_time_2, patch_id, patch_uid, action, version, description 2 from dba_registry_sqlpatch 3 order by action_time; ACTION_TIME PATCH_ID PATCH_UID ACTION VERSION DESCRIPTION ----------- ---------- ---------- ---------- ---------- -------------------------------------------------- 04-NOV-2015 21359755 19194568 APPLY 12.1.0.2 Database Patch Set Update : 12.1.0.2.5 (21359755) 09-NOV-2015 21539301 19298399 APPLY 12.1.0.2 SYS@CDB2>
To summarize what we have :
| Oracle Database Home | patch set | PSU | interim patch |
/u01/app/oracle/product/11.2.0 |
11.2.0.4 | 11.2.0.4.8 (21352635) | none |
/u01/app/oracle/product/12.1.0.1 |
12.1.0.1 | none | none |
/u01/app/oracle/product/12.1.0.2 |
12.1.0.2 | 12.1.0.2.5 (21359755) | 21539301 |
We have Oracle 11.2.0.4 PSU 8 and Oracle 12.1.0.2 PSU 5: that is really interesting because you cannot download Oracle Database 11.2.0.4 for Linux from OTN and if you can download Oracle Database 12.1.0.2 from OTN you cannot download 12.1.0.2 PSU 5 (as far as I know you cannot download any PSU from OTN). We also have patch 21539301 for 12.1.0.2 to fix a bug in parallel index creation with Data Pump
On Linux I prefer to work with SSH using command line mode instead of a graphical desktop.
I have stopped VM and add added network interface:
> vboxmanage modifyvm Upgrade_HOL --nic2 hostonly --nictype2 82540EM --hostonlyadapter2 "VirtualBox Host-Only Ethernet Adapter"
After VM reboot, I have chosen 192.168.56.20 static IP address for this VM and created /etc/sysconfig/network-scripts/ifcfg-eth1:
# Intel Corporation 82540EM Gigabit Ethernet Controller DEVICE=eth1 BOOTPROTO=static ONBOOT=yes HWADDR=08:00:27:55:b5:ba IPADDR=192.168.56.20
I have run as root:
# ifup eth1
Now I have been able to connect to this VM with Putty from Windows.
I have also disabled X Window with following comment in /etc/inittab:
#x:5:respawn:/etc/X11/prefdm -nodaemon
I have also noticed that the default YUM update daemon can slow down the whole VM thanks to iotop:
Total DISK READ: 0.00 B/s | Total DISK WRITE: 7.91 M/s
TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND
4098 be/7 root 0.00 B/s 0.00 B/s 0.00 % 99.99 % python -tt /~apply --dbus
192 be/4 root 0.00 B/s 0.00 B/s 0.00 % 99.99 % [kjournald]
3650 be/4 oracle 0.00 B/s 30.87 K/s 0.00 % 0.10 % ora_ckpt_UPGR
1 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % init [5]
2 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kthreadd]
3 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ksoftirqd/0]
4 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kworker/0:0]
6 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/0]
7 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [watchdog/0]
8 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/1]
9 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kworker/1:0]
10 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ksoftirqd/1]
11 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kworker/0:1]
12 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [watchdog/1]
13 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/2]
14 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kworker/2:0]
15 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ksoftirqd/2]
16 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [watchdog/2]
17 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/3]
18 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kworker/3:0]
19 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ksoftirqd/3]
20 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [watchdog/3]
21 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [cpuset]
22 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [khelper]
23 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [netns]
24 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [sync_supers]
25 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [bdi-default]
26 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kintegrityd]
27 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kblockd]
28 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ata_sff]
29 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [khubd]
30 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [md]
31 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [khungtaskd]
32 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kswapd0]
33 be/5 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ksmd]
34 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [fsnotify_mark]
35 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [crypto]
So I have disabled the YUM update daemon with:
[root@localhost ~]# service yum-updatesd stop Stopping yum-updatesd: [FAILED] [root@locahost ~]# chkconfig --levels 2345 yum-updatesd off [root@localhost ~]# service yum-updatesd status yum-updatesd is stopped [root@localhost ~]#
I have also renamed Linux host to "hol" with modification of /etc/hosts and /etc/sysconfig/network followed by reboot:
[root@localhost ~]# cat /etc/hosts # Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 hol.localdomain hol ::1 localhost6.localdomain6 localhost6 [root@localhost ~]# cat /etc/sysconfig/network NETWORKING=yes NETWORKING_IPV6=no HOSTNAME=hol.localdomain [root@localhost ~]#
UPDATED 17-MAR-2016: fixed YUM update daemon disabling and host renaming.