I had the pleasure of being involved in couple of Exadata implementations where Oracle delivered the wrong ASM redundancy type to a customer. The customer expected single mirroring (normal redundancy) and lot more TBs of useable storage than what was delivered. I have a general rule; if you have to do it more than once, you better script it and automate it. Check out the script the I used to migrate an Exadata customer from high redundancy to normal redundancy.

define DG='&1'
set pages 0
set lines 200 trims on feed off  echo off echo off ver off
spool cr_&DG..sql
prompt CREATE DISKGROUP &DG NORMAL REDUNDANCY

set serveroutput on size unlimited

declare
v_failgroup v$asm_disk.failgroup%TYPE;

cursor c1 is
select chr(39)||path||chr(39) path, name
from v$asm_disk
where group_number = (select group_number from v$asm_diskgroup
                      where name=upper('&DG'))
and failgroup=v_failgroup
order by path;

cursor c2 is
select distinct failgroup 
from v$asm_disk
order by failgroup;

cursor c3 is
select allocation_unit_size, compatibility, database_compatibility
from v$asm_diskgroup;
r3 c3%ROWTYPE;

begin
for r2 in c2 loop
v_failgroup := r2.failgroup;
dbms_output.put_line('FAILGROUP '||r2.failgroup||' DISK');

for r1 in c1 loop
if c1%rowcount = 1 then
   dbms_output.put_line(r1.path);
else
   dbms_output.put_line(','||r1.path);
end if;

end loop;

end loop;

open c3; fetch c3 into r3;
dbms_output.put_line('ATTRIBUTE');
dbms_output.put_line(chr(39)||'compatible.asm'||chr(39)||'='||chr(39)||r3.compatibility||chr(39)||',');
dbms_output.put_line(chr(39)||'compatible.rdbms'||chr(39)||'='||chr(39)||r3.database_compatibility||chr(39)||',');
dbms_output.put_line(chr(39)||'au_size'||chr(39)||'='||chr(39)||r3.allocation_unit_size||chr(39)||',');
dbms_output.put_line(chr(39)||'cell.smart_scan_capable'||chr(39)||'='||chr(39)||'TRUE'||chr(39)||';');
close c3;

end;
/
spool off

Here’s a sample of the generated script for the DATA disk group.

CREATE DISKGROUP DATA_EXAD NORMAL REDUNDANCY  
FAILGROUP EXADCEL01 DISK 
'o/10.0.0.3/DATA_EXAD_CD_00_exadcel01',
'o/10.0.0.3/DATA_EXAD_CD_01_exadcel01',
'o/10.0.0.3/DATA_EXAD_CD_02_exadcel01',
'o/10.0.0.3/DATA_EXAD_CD_03_exadcel01',
'o/10.0.0.3/DATA_EXAD_CD_04_exadcel01',
'o/10.0.0.3/DATA_EXAD_CD_05_exadcel01',
'o/10.0.0.3/DATA_EXAD_CD_06_exadcel01',
'o/10.0.0.3/DATA_EXAD_CD_07_exadcel01',
'o/10.0.0.3/DATA_EXAD_CD_08_exadcel01',
'o/10.0.0.3/DATA_EXAD_CD_09_exadcel01',
'o/10.0.0.3/DATA_EXAD_CD_10_exadcel01',
'o/10.0.0.3/DATA_EXAD_CD_11_exadcel01'
FAILGROUP EXADCEL02 DISK 
'o/10.0.0.4/DATA_EXAD_CD_00_exadcel02',
'o/10.0.0.4/DATA_EXAD_CD_01_exadcel02',
'o/10.0.0.4/DATA_EXAD_CD_02_exadcel02',
'o/10.0.0.4/DATA_EXAD_CD_03_exadcel02',
'o/10.0.0.4/DATA_EXAD_CD_04_exadcel02',
'o/10.0.0.4/DATA_EXAD_CD_05_exadcel02',
'o/10.0.0.4/DATA_EXAD_CD_06_exadcel02',
'o/10.0.0.4/DATA_EXAD_CD_07_exadcel02',
'o/10.0.0.4/DATA_EXAD_CD_08_exadcel02',
'o/10.0.0.4/DATA_EXAD_CD_09_exadcel02',
'o/10.0.0.4/DATA_EXAD_CD_10_exadcel02',
'o/10.0.0.4/DATA_EXAD_CD_11_exadcel02'
FAILGROUP EXADCEL03 DISK 
'o/10.0.0.5/DATA_EXAD_CD_00_exadcel03',
'o/10.0.0.5/DATA_EXAD_CD_01_exadcel03',
'o/10.0.0.5/DATA_EXAD_CD_02_exadcel03',
'o/10.0.0.5/DATA_EXAD_CD_03_exadcel03',
'o/10.0.0.5/DATA_EXAD_CD_04_exadcel03',
'o/10.0.0.5/DATA_EXAD_CD_05_exadcel03',
'o/10.0.0.5/DATA_EXAD_CD_06_exadcel03',
'o/10.0.0.5/DATA_EXAD_CD_07_exadcel03',
'o/10.0.0.5/DATA_EXAD_CD_08_exadcel03',
'o/10.0.0.5/DATA_EXAD_CD_09_exadcel03',
'o/10.0.0.5/DATA_EXAD_CD_10_exadcel03',
'o/10.0.0.5/DATA_EXAD_CD_11_exadcel03' 
ATTRIBUTE 
  'compatible.asm'='11.2.0.4',
  'compatible.rdbms'='11.2.0.4',
  'au_size'='4M',
  'cell.smart_scan_capable'='TRUE';



“Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications. Consisting of Docker Engine, a portable, lightweight runtime and packaging tool, and Docker Hub, a cloud service for sharing applications and automating workflows, Docker enables apps to be quickly assembled from components and eliminates the friction between development, QA, and production environments. As a result, IT can ship faster and run the same app, unchanged, on laptops, data center VMs, and any cloud.” For additional information about Docker, please visit the Docker website.

Oracle has made it clear that the support for Docker in Oracle Linux 6 and 7 is limited at this time. Please refer to the Doc ID – 1921163.1: Limited Support for Docker Running on Oracle Linux Announced: Docker in Addons Channel Now

  • Oracle support is limited to the version of Docker built by and downloaded from Oracle. Support is not provided for the upstream binary packages downloaded from the upstream Docker site.
  • Oracle support for Docker is limited to customers with either Basic or Premier Oracle Linux Support Subscriptions.
  • Oracle only provides Docker server binary packages for Oracle Linux 6 and Oracle Linux 7 (x86_64).
  • Oracle support is limited to severity 2 service requests and lower. Severity 1 service requests will not be accepted for Docker.
  • Support is limited to assistance with the initial installation of Docker and subsequent configuration of Docker to enable downloading, creation and running of Dockerized applications.
  • Use of the btrfs storage engine is only supported on the Unbreakable Enterprise Kernel Release 3 on both Oracle Linux 6 and Oracle Linux 7.
  • Oracle Linux support does not include support for any Oracle or 3rd-party applications running within a Docker container on Oracle Linux.
  • Oracle will periodically release updates from the upstream project in the addons channel. Interim patching and bug fixing will not be available.

This blog article focuses on configuring VirtualBox to create a new VM for Oracle Linux 7 and installing Oracle Linux 7 from the ISO image as a guest operating system. The Oracle Linux 7 ISO image can be downloaded from edelivery.oracle.com – Oracle Software Delivery Cloud. You must have a valid Oracle Account (free) to download the Linux ISO.

Look in the near future for a VMware Fusion and RedHat 7 version of this post. For some reason when this post went out, the latest version of VMware Fusion did not recognize the virtual disk or the network interface assigned to the VM with RedHat 7 (Oracle Linux 7 worked fine). Stay tuned as that problem will probably be resolved soon.

As far as this blog post is concerned, the follow-up for this post will be on setting up docker for Oracle Linux 6 and Oracle Linux 7.

Configuring VirtualBox


To create a VM, click on the New button on the top left corner and provide a descriptive name for the VM, location of the VM and select the type of OS. The name that is specified will be used to identify the VM configuration:

2014 09 01 01 51 04

On a side note, here’s the list of flavors of Linux supported by VirtualBox. We will choose Oracle (64Bit) for this VM.
2014 09 01 10 31 57

Once the required information is provided, click on the Continue button

2014 09 01 01 51 18

Next configure the amount of memory allocated for this VM. We will allocate 4GB for this VM and click on the Continue button.

2014 09 01 01 51 35
We can modify the virtual disk in another screen later in the configuration process. Take the default and click on the Continue button go to the “Hard drive file type” screen.

2014 09 01 01 51 50
Unless you are planning for this virtual disk to be compatible with VMware or other virtualization technology, select the VDI (VirtualBox disk format) and click on the Continue button.

2014 09 01 01 52 01
Leave the Dynamically allocated option to choose a thinly provisioned virtual disk. If you want better performance for RAC ASM disks, you can choose the option for Fixed size. For the Fixed size disk, VirtualBox will pre-allocate all the space up front. Click on the Continue button to proceed with the configuration.

2014 09 01 01 52 14
For this installation, we will allocate 64GB for the root and /u01 file systems. You may opt to create multiple virtual disks, one for the root file system and another one for the /u01 file system. Click on Create. If you chose earlier for Fixed size, when you click on the Create button, you will be waiting here for a while.

2014 09 01 01 52 27
Once the VDI disk is created with the specified size (thin for dynamically allocated or thick for fixed size provisioned), you will be re-directed back to the main screen.

2014 09 01 01 53 38
Now, let’s configure our VM, in particular, the CD/DVD Drive. Click on the Settings button on the top left corner next to the New button.

2014 09 01 01 53 53
Click on the Storage button on the top (in the middle). On the left side of the screen, choose the IDE controller and Click on the Empty CD icon. Then on the right of the screen, click on the CD image icon for the CD/DVD drive and click on the “Choose a virtual CD/DVD disk file …”. Find your ISO image for Oracle Linux 7 from the file previewer and select the ISO. From the Storage screen, click on the OK button to go back to the main Oracle VM VirtualBox Manager screen.

Installing Oracle Linux 7


From the Oralce VM VirtualBox Manager screen, select your VM that you just created and click on the green Start icon on the top of the screen.
2014 09 01 01 54 51
Hit the arrow key up once and choose the option to Install Oracle Linux 7 and hit the Enter key

2014 09 01 01 55 29
Keep the default English language for United States and click on Continue

2014 09 01 01 56 01
As you can see, the installation process looks significantly different from Oracle Linux 6. Click on the INSTALLATION DESTINATION button.

2014 09 01 12 23 03
Select the “I will configure partitioning.” radio button and click on the Done button on the top left hand corner.

2014 09 01 12 23 54
In the MANUAL PARTITIONING screen, click on the “Click here to create them automatically” URL.

2014 09 01 12 19 22
In our example, we will remove the /home file system and just let the root file system house all the file systems, /home and /u01. To remove the /home file system, click on the /home file system and click on the – sign on the bottom corner of the screen.

CAVEAT: You do NOT want to do this outside your lab. Even in your DEV or non-PROD environment, you will want to carve out a separate file system for the /home file system. You ALWAYS want to carve out a separate /u01 file system for all your Oracle binaries. Click on the Done button on the top left corner.

* Notice that the default file system is XFS (not EXT4 in Oracle or RedHat Linux 6)

2014 09 01 02 07 41
You will be presented with a warning screen just to confirm and Accept the Changes that we made to remove the /home file system. Click on the Accept Changes button.

2014 09 01 02 08 02
You will be routed back to the main Installation Summary screen. By default, the minimal installation option is the installation method of choice for Oracle and Red Hat Linux. If you want a GUI installation, you will want to select the SOFTWARE SELECTION button and choose the KDE desktop. For security purposes, we only recommend the minimal installation option.

To configure the network and hostname, you should click on the NETWORK & HOSTNAME button. The first thing that you need to do is the specify a new Hostname on the bottom left corner.

2014 09 01 12 30 16
Turn on the Network interface by sliding the switch to the on position.

In our case, we will want to assign a static IP address and DNS Servers. Click on the Configure button on the bottom right corner.

2014 09 01 12 32 54
Add all the specifics for your IP address, gateway, subnet and DNS servers. Click on the Save button to save the network settings. You will be re-directed to the NETWORK & HOSTNAME screen. Click on the Done button to go back to the INSTALLATION SUMMARY screen.

Optionally, you may want to choose to install a GUI desktop. This is never recommended for a production environment. For ease of maintenance, you can click on the SOFTWARE SELECTION button and choose to install a “Server with GUI” option and choose the KDE desktop. Click on the Done button after you select all the options that you want installed.

2014 09 01 12 41 08
Once all the configuration is complete, you can click on the Begin Installation button.

2014 09 01 02 08 47
As the installation is progressing, you will see 2 red warnings indicating that the root password is not set and no users are created. At a minimum, click on the Root Password icon to supply a password for the root account to administer the system. Provide the secure password and click on the Done button on the top left corner.

Note: If the root password is insecure, you will be prompted to click on the Done button again to proceed with the insecure password.

2014 09 01 02 10 59

From the Configuration screen, click on the Reboot button.

2014 09 01 02 11 35
Once the VM reboots, you will be directed to the login prompt. Since we did a bare minimal installation, we will not enter into a GUI mode.

2014 09 01 02 11 59

Once we login, we can check /etc/oracle-release file and confirm that we are running an Oracle Linux Server 7 distribution of Linux.

Chose KDE GUI DESKTOP


If you chose the GUI Desktop option earlier, when the system reboots, you will be directed to perform the initial setup.

2014 09 01 13 12 22
Click on the LICENSE INFORMATION icon

2014 09 01 13 12 38
Click on the checkbox to accept the license agreement and click on the Done button on the top left corner. You will be re-directed to the INITIAL SETUP screen. Click on the FINISH CONFIGURATION button to proceed.

2014 09 01 13 17 11
For a production environment, you will always want to enable KDUMP for system crash debugging. Click on the Forward button on the bottom right to continue.

2014 09 01 13 18 51
You can configure your system for software updates by providing credentials to Oracle’s Unbreakable Linux Network. We do not want to setup our system for software updates at this time. Click on the Forward button on the bottom right to continue.

2014 09 01 13 20 55
Click on the button “No thanks, I’ll connect later.”

2014 09 01 13 21 54
Click on the Forward button again

2014 09 01 13 23 03
Select English (United States) and Click on Next

2014 09 01 13 23 58
Click on English (US) and Click on Next

2014 09 01 13 25 25
You will need to create a local account and click on Next

2014 09 01 13 26 50
Choose your location from the big list of cities and click on Next

2014 09 01 13 27 35
For Oracle installations, we do not care for online accounts. You can skip this step and click on the Next button to proceed.

2014 09 01 13 33 40
Click on the “Start using Oracle Linux Server” button and enjoy the GUI desktop.

Posted by Charles Kim, Oracle ACE Director