Setup udev rules with Red Hat 5/6 on VMware

To work on VMware Fusion, set the following on the .vmx file; without this entry, the scsi_id command does not return any values by default.
disk.EnableUUID = “TRUE” 
 
Retrieve and generate a unique SCSI identifier with the scsi_id command:

[root@rhel59dra ~]# /sbin/scsi_id -g -u -s /block/sdc

36000c29b80c12910ca4e6a95a1949d8b
[root@rhel59dra ~]# /sbin/scsi_id -g -u -s /block/sdd
36000c29344da4eab5b78409de3706424
[root@rhel59dra ~]# /sbin/scsi_id -g -u -s /block/sde
36000c291cd542d388fdee223fa90ca69
[root@rhel59dra ~]# /sbin/scsi_id -g -u -s /block/sdf
36000c296666187fd5223c0a34ca52f71
 
Add entries to a custom udev rules file
[root@rhel59dra ~]# cat /etc/udev/rules.d/99-oracle-asmdevices.rules
KERNEL==”sd?1″, BUS==”scsi”, PROGRAM==”/sbin/scsi_id -g -u -s /block/$parent”, RESULT==”36000c29b80c12910ca4e6a95a1949d8b”, NAME=”ASMOCR01″, OWNER=”oracle”, GROUP=”dba”, MODE=”0660″
KERNEL==”sd?1″, BUS==”scsi”, PROGRAM==”/sbin/scsi_id -g -u -s /block/$parent”, RESULT==”36000c29344da4eab5b78409de3706424″, NAME=”ASMOCR02″, OWNER=”oracle”, GROUP=”dba”, MODE=”0660″
KERNEL==”sd?1″, BUS==”scsi”, PROGRAM==”/sbin/scsi_id -g -u -s /block/$parent”, RESULT==”36000c291cd542d388fdee223fa90ca69″, NAME=”ASMOCR03″, OWNER=”oracle”, GROUP=”dba”, MODE=”0660″
KERNEL==”sdf[0-9]“, BUS==”scsi”, PROGRAM==”/usr/bin/udevinfo -q name -p %p”, RESULT==”%k”, PROGRAM==”scsi_id -g -u -d /dev/$parent”, RESULT==”36000c296666187fd5223c0a34ca52f71″, NAME=”ASMDATA0%n”, OWNER=”oracle”, GROUP=”dba”, MODE=”0660″
 

Note:
For disks with multiple partitions, the syntax in the udev rules are different.
KERNEL==”sd[c-z]1″, BUS==”scsi”, PROGRAM=”/sbin/scsi_id -g -u -s /block/%P”, RESULT==”3*”, NAME=”ASM%c”, OWNER=”oracle”, GROUP=”dba”, MODE=”0660″
 
 
To make sure that udev rules work:
[root@rhel59dra ~]# udevtest /block/sdc/sdc1
[root@rhel59dra ~]# udevtest /block/sdd/sdd1
[root@rhel59dra ~]# udevtest /block/sde/sde1
[root@rhel59dra ~]# udevtest /block/sdf/sdf1    
[root@rhel59dra ~]# udevtest /block/sdf/sdf2    
[root@rhel59dra ~]# udevtest /block/sdf/sdf3    
[root@rhel59dra ~]# udevtest /block/sdf/sdf4    
 
Restart udev rules:
RHEL 5: /sbin/udevcontrol reload_rules
RHEL 6: /sbin/udevadm control –reload-rules 
/sbin/start_udev  
 
Verify that proper devices are created

[root@rhel59dra ~]# ls -l /dev/ASM*

brw-rw—- 1 oracle dba 8, 81 May 15 23:45 /dev/ASMDATA01
brw-rw—- 1 oracle dba 8, 82 May 15 23:45 /dev/ASMDATA02
brw-rw—- 1 oracle dba 8, 83 May 15 23:45 /dev/ASMDATA03
brw-rw—- 1 oracle dba 8, 84 May 15 23:45 /dev/ASMDATA04
brw-rw—- 1 oracle dba 8, 33 May 15 23:45 /dev/ASMOCR01
brw-rw—- 1 oracle dba 8, 49 May 15 23:45 /dev/ASMOCR02
brw-rw—- 1 oracle dba 8, 65 May 15 23:45 /dev/ASMOCR03 

ZFS Storage Appliance with Exadata

Download the latest ZFS Storage Appliance with the Exadata

This presentation was delivered at Collaborate 2013 and Dallas Oracle User Group 2013 by Charles Kim, Oracle ACE Director

Reduce Transportable Tablespace Downtime using Cross Platform Incremental Backups

Reduce Transportable Tablespace Downtime using Cross Platform Incremental Backups [ID 1389592.1]

What does this mean?  It means we can perform migrations from AIX/Solaris/HP-UX to Linux with significantly reduced downtime.  I can perform incremental backups across endianness.

This was originally tested for the Exadata and now it is available for everyone.


Posted by Charles Kim, Oracle ACE Director

Viscosity Has 10 presentations at IOUG Collaborate 2013

We will post the 10th session shortly …

Session #

Title

Room Assignment and Time

604

Rolling your own Database Operations Center (DOC) using Oracle Technology you already own

Mile High Ballroom 2A => Mon, Apr 08, 2013 (09:45 AM – 10:45 AM)

344

Performance Tuning your DB Cloud in OEM 12c Cloud Control – 360 Degrees

Mile High Ballroom 4A  => Mon, Apr 08, 2013 (09:45 AM – 10:45 AM)

614

Automate Data Guard Best Practices

Mile High Ballroom 2B => Mon, Apr 08, 2013 (05:00 PM – 06:00 PM)

 

 

 

477

Why Every Database Needs to be Virtualized

Mile High Ballroom 4A => Tue, Apr 09, 2013 (12:00 PM – 12:30 PM)

343

Oracle VM, OEM 12c and Cloud Computing:  Panel of Experts

C#13 vSIG Meeting => Tue, Apr 09, 2013 (4:15 PM – 5:15 PM)

 

 

 

441

ASM New Features – The New ASM Frontier

Mile High Ballroom 2C => Wed, Apr 10, 2013 (08:15 AM – 09:15 AM)

414

Engineered Systems Curriculum: The Perfect Marriage: ZFS Storage Appliance with Exadata

Mile High Ballroom 1C => Wed, Apr 10, 2013 (11:00 AM – 12:00 PM)

783

Virtualized Oracle Stretched RAC Cluster using VMware vSphere and EMC VPLEX

Mile High Ballroom 2A => Wed, Apr 10, 2013 (04:15 PM – 05:15 PM)

 

 

 

757

From Big Data to Exadata: The Best of Both Worlds for Business Analytics

Mile High Ballroom 1B => Thu, Apr 11, 2013 (09:45 AM – 10:45 AM)

 

 

 

Viscosity North America

VNA Core Competencies

Viscosity’s Core Competency centers arounds Oracle Real Application Clusters (RAC).   Because we are the top Oracle RAC Experts, we intimately know storage architecture, network infrastructure, operating systems, and most importantly, Oracle RAC database interactions within the ecosystem.  

Viscosity was formed by former Oracle Employees each of which worked in various capacities within Oracle Corporation. These capacities include Oracle Database, RAC Development, Oracle Consulting and Oracle Technical Architects, Design and Performance Tuning experts.

I am a co-founder and President of Viscosity North America, an Oracle ACE Director, an Oracle Certified DBA, Certified RAC Expert and a VMware Certified Professional. I specialize in Exadata, RAC, and Virtualization (VMware and Oracle VM) and authored three books: Oracle Database 11g New Features for DBA and Developers, Linux Recipes for Oracle DBAs and Oracle Data Guard 11g Handbook. I hold certifications in Oracle, VMware, Red Hat Linux, and Microsoft and has over 20 years of Oracle experience. I’ve sat on the panel of experts at VM World and Oracle OpenWorld for virtualization and Linux. I was one of the founding members of the IOUG virtualization SIG that launched in 2011 at Oracle OpenWorld.

If you look at the core of our competencies, we focus on what we are best at …  RAC.  RAC experts are expected to have in-depth knowledge in networks, clustering, storage, and operating systems.  Several of the managing directors have served as system administrators in past lives and hold specialized certifications in flavors of Unix.  

Because we know RAC, we know infrastructure.  Because we know infrastructure, we’ve adjusted our focus to the world of Database Cloud.  Not only do we adopt Oracle’s consolidation theme with Oracle RAC, we are heavily invested in VMware and Oracle VM.  Several of the managing directors at Viscosity hold certifications on VMware.  

Another area of mastery that we have taken is in the world of Exadata and Oracle engineered systems.  Not only are we the experts in Exadata implementation and performance tuning, we are also experts inother engineered systems such as the ZFS Storage Appliance and Oracle Database Appliance.

Viscosity’s Oracle Center of Expertise has developed best practices and tight partner relationships to implement world-class solutions. Our vast experience and intellectual property give customers insight into what is driving IT complexity. We can deliver a set of practical executable plans for simplifying IT infrastructure, helping reduce operating costs while freeing up resources for new business initiatives.

 

Tuning RMAN with Buffer Memory Parameters

For RMAN Backups to disk (D2D) with ZFS Storage Appliance, you need to review MOS Note:  1072545.1: RMAN Performance Tuning Using Buffer Memory Parameters.  
 
You can effectively optimize high-bandwidth low latency backups and restores using Oracle RMAN and the Sun ZFS Storage Appliance by adjusting the init.ora parameters that control I/O buffering.

For Oracle Exadata, you can tune the following four parameters:
• _backup_disk_bufcnt – Number of buffers used to process backup sets
• _backup_disk_bufsz – Size of the buffers used to process backup sets
• _backup_file_bufcnt – Number of buffers used to process image copies 
• _backup_file_bufsz – Size of the buffers used to process image copies

For backup operations, set the buffer size to 1 MB for backup sets and 4 MB for image copies.  Form RMAN image copies, use the following settings: 
 SQL> alter system set "_backup_disk_bufsz"=4194304; 
 SQL> alter system set "_backup_file_bufsz"=4194304; 

For database restores, the buffer size should be set to 128 kB as shown below:

 SQL> alter system set "_backup_disk_bufsz"=131072; 
 SQL> alter system set "_backup_file_bufsz"=131072; 
For RMAN database backup sets and image copies, set the number of buffers for backup sets and image copies to 64:
 SQL> alter system set "_backup_disk_bufcnt"=64; 
 SQL> alter system set "_backup_file_bufcnt"=64; 

Charles Kim’s Upcoming Presentations at OOW 2012

If you are going to be at Oracle OpenWorld this year, please stop by and say Hi ..

Here’s all the sessions that I will be a presenter or a panelist at:

UGF4410
The Perfect Marriage: Oracle Exadata with Sun ZFS Storage Appliance
Session ID: UGF4410
Sunday 30-SEP-2012 9:00AM
Moscone West – 2018

UGF7700
Session Title: Oracle on Oracle VM: Expert Panel
Venue / Room: Moscone West – 2012
Date and Time: Sunday – 9/30/12, 12:30 – 14:00

UGF6511
Database Performance Tuning: Get the Best out of Oracle Enterprise Manager 12c Cloud Control
Sunday, Sep 30, 2:15 PM – 3:15 PM
Moscone West – 2011

CON8435
Expert Customer Panel:
Exadata Data Protection Best Practices
Session ID: CON8435
10/1/12 (Monday) 12:15 PM
Moscone South – 252

 

Charles Kim Presentation at OOW 2012

 

Private Database Cloud Planning and Best Practices Presenation

Presented By Nitin Vengurlekar and Charles Kim

Viscosity North America, Inc. for the Oracle Dallas Technology Day Engineered Systems

 

Posted By Charles Kim, Oracle ACE DIrector

Script to re-create the ASM disk group on Exadata

Often, the Exadata arrives at the customer site with High redundancy disk groups when the customer wants to exploit as much of the disk space available on the Normal redundancy.   Here’s a simple script to convert the high redundancy disk group to a normal redundancy disk group:
 
cat gen_dg.sql
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

Exadata single command to get all the hostnames and IP addresses of all the compute nodes

From the home directory where the dbs_group file resides:

 

dcli -g dbs_group -l oracle ‘grep -i `hostname` /etc/hosts’


On the half Rack Exadata, here’s  the output that you would expect:


viscdb01: 10.0.0.70 viscdb01.visctech.com viscdb01

viscdb02: 10.0.0.71 viscdb02.visctech.com viscdb02

viscdb03: 10.0.0.72 viscdb03.visctech.com viscdb03

viscdb04: 10.0.0.73 viscdb04.visctech.com viscdb04


You can run a similar command to list all the cell nodes.  You must do this part as root:


 

# /usr/local/bin/dcli -g cell_group -l root ‘grep -i `hostname` /etc/hosts’

visccel01: 10.0.10.174 visccel01.visctech.com visccel01

visccel02: 10.0.10.175 visccel02.visctech.com visccel02

visccel03: 10.0.10.176 visccel03.visctech.com visccel03

visccel04: 10.0.10.177 visccel04.visctech.com visccel04

visccel05: 10.0.10.178 visccel05.visctech.com visccel05

visccel06: 10.0.10.179 visccel06.visctech.com visccel06

visccel07: 10.0.10.180 visccel07.visctech.com visccel07