Please join me in welcoming the Exadata product documentation to the internet. It’s been a long time coming, but glad it’s finally made an appearance!
I think 2 years is long enough to wait between posts!
Today I delivered a session about Oracle Exadata Database Machine Best Practices and promised to post the slides for it (though no one asked about them :). I’ve also posted them to the Tech14 agenda as well.
Direct download: UKOUG Tech14 Exadata Security slides
In 2011, I joined many others in the Movember event for the first time. This is a fund-raising effort where participants grow a mustache for the month of November and collect donations to support men’s health, specifically prostate and testicular cancers. Individuals can participate on their own or as a team, but no matter what you donate, it all goes to the same place. In my first year, I managed to collect $754 from 15 donors! Hopefully, I’ll exceed my previous year’s fundraising this year…just not sure what mustache style will bring in the most money yet?!
To see photo updates of how my ‘stache is coming along and to make donations, go to my page on Movember. Thanks for any donation you can make!
I have plenty of things that are keeping me busy for OOW 2010 and you’ll all get to see the results at the event (if you’re there), but I only have one traditional technical session where I’ll be on stage. I’m presenting the following session jointly with an Oracle Database Machine customer:
Session ID: S316824
Title: Top 10 Lessons Learned in Deploying the Oracle Exadata
Tuesday, September 21, 12:30PM
Location: Moscone South, Rm 307
Check the OOW 2010 content catalog for updated room assignments and times.
Even better than a technical session is the interview and Q&A session I’m doing on Oracle Technology Network Live which is 30 minutes of pure technical talk about Exadata. The session is properly titled “Exadata for Geeks” and I’ll be joining Justin Kestelyn, editor of Oracle Technology Network at the OTN Lounge which is located in the Mason Street tent this year (*not* the previous location in Moscone West).
Significantly, this year I elected not to organize what would have been the 3rd annual pre-OOW scuba dive in Monterey Bay. Time and my work requirements are the primary reasons for this, but it also is a result of the fact that not a single person asked me about it, so apparently it was just for me after all :). Instead, I’m hoping that I might get to visit Alcatraz this year. I’ve been to SF so very many times in the past 12 years, but have yet to take that tour, so I think it’s time (I’ve heard it is a really interesting tour).
See you in SF!
I’ve been quiet for a long time now, but this entry hopefully will shake the cobwebs off and get me back into the habit.
I recently had a need to “unplumb” (from Solaris fame) or make interfaces on Linux “disappear” from the ifconfig list. It could be that I don’t know how to completely deconfigure an interface, but I didn’t find any methods to unassign an IP address from a Linux Ethernet interface after it was assigned. You can take interfaces down (ifconfig eth3 down) and reconfigure them to assign different addresses, but not remove the address completely.
After many searches and finding nothing that matched my need, I turned to my fellow Oakies (thanks, Mark!) who turned up this post from 2 years ago that hinted at a solution. It is driver-specific which is not ideal, but that makes sense given what I’m trying to do.
Here’s the generic version of the solution:
echo "<interface_name>" > /sys/bus/pci/drivers/<driver_name>/unbind
Determining the driver_name is pretty simple: check the /etc/modprobe.conf file (on OEL/RHEL 5.x). In that file, you’ll find things like this:
... alias eth0 igb alias eth1 igb alias eth2 igb alias eth3 igb ...
These lines indicate that the Ethernet driver used on this system by eth[0-3] is the igb driver. Now that you know the driver name, the tricky part is figuring out what the driver wants you to use as the interface name. I’ll give a few examples (and I haven’t figured out the scientific way to determine what the driver expects short of reading source code).
For the bnx2 driver, you can use the relatively simple ethernet interface name, like this:
echo "eth2" > /sys/bus/pci/drivers/bnx2/unbind
For my test system, the igb driver doesn’t use the “simple” Ethernet interface name like the bnx2 driver does. Instead, when trying that, it gives an error that the interface doesn’t exist. Time to dig in a little deeper.
On this system, the igb directory looks like this:
# ls -l /sys/bus/pci/drivers/igb/total 0 lrwxrwxrwx 1 root root 0 Jul 16 13:12 0000:01:00.0 -> ../../../../devices/pci0000:00/0000:00:01.0/0000:01:00.0 lrwxrwxrwx 1 root root 0 Jul 16 13:12 0000:01:00.1 -> ../../../../devices/pci0000:00/0000:00:01.0/0000:01:00.1 lrwxrwxrwx 1 root root 0 Jul 16 13:12 0000:07:00.0 -> ../../../../devices/pci0000:00/0000:00:02.0/0000:07:00.0 lrwxrwxrwx 1 root root 0 Jul 16 13:12 0000:07:00.1 -> ../../../../devices/pci0000:00/0000:00:02.0/0000:07:00.1 --w------- 1 root root 4096 Jul 16 13:12 bind lrwxrwxrwx 1 root root 0 Jul 16 13:12 module -> ../../../../module/igb --w------- 1 root root 4096 Jul 16 13:12 new_id --w------- 1 root root 4096 Jul 16 13:12 remove_id --w------- 1 root root 4096 Jul 16 13:12 unbind #
So, knowing that I have 4 interfaces on the system, I made the correlation to the 4 addresses that appear as symlinks in the driver’s directory and expect that they indicate the interface name. Checking a couple of those (each symlink references a directory), I see this:# ls -Ll /sys/bus/pci/drivers/igb/0000:01:00.0total 0 -rw-r--r-- 1 root root 4096 Jul 16 13:15 broken_parity_status drwxr-xr-x 5 root root 0 Jul 16 13:12 bus -r--r--r-- 1 root root 4096 Jul 16 12:57 class -rw-r--r-- 1 root root 4096 Jul 16 12:57 config -r--r--r-- 1 root root 4096 Jul 16 12:57 device drwxr-xr-x 2 root root 0 Jul 16 13:12 driver -rw------- 1 root root 4096 Jul 16 13:15 enable -r--r--r-- 1 root root 4096 Jul 16 12:57 irq -r--r--r-- 1 root root 4096 Jul 16 13:00 local_cpus -r--r--r-- 1 root root 4096 Jul 16 13:15 modalias drwxr-xr-x 3 root root 0 Jul 16 12:57 net:eth0 drwxr-xr-x 2 root root 0 Jul 16 12:55 power -r--r--r-- 1 root root 4096 Jul 16 12:57 resource -rw------- 1 root root 131072 Jul 16 13:15 resource0 -rw------- 1 root root 131072 Jul 16 13:15 resource1 -rw------- 1 root root 32 Jul 16 13:15 resource2 -rw------- 1 root root 16384 Jul 16 13:15 resource3 -r-------- 1 root root 131072 Jul 16 13:15 rom drwxr-xr-x 5 root root 0 Jul 16 13:12 subsystem -r--r--r-- 1 root root 4096 Jul 16 13:15 subsystem_device -r--r--r-- 1 root root 4096 Jul 16 13:15 subsystem_vendor --w------- 1 root root 4096 Jul 16 13:15 uevent -r--r--r-- 1 root root 4096 Jul 16 12:57 vendor # ls -Ll /sys/bus/pci/drivers/igb/0000:07:00.0 total 0 -rw-r--r-- 1 root root 4096 Jul 16 13:13 broken_parity_status drwxr-xr-x 5 root root 0 Jul 16 13:12 bus -r--r--r-- 1 root root 4096 Jul 16 12:57 class -rw-r--r-- 1 root root 4096 Jul 16 12:57 config -r--r--r-- 1 root root 4096 Jul 16 12:57 device drwxr-xr-x 2 root root 0 Jul 16 13:12 driver -rw------- 1 root root 4096 Jul 16 13:13 enable -r--r--r-- 1 root root 4096 Jul 16 12:57 irq -r--r--r-- 1 root root 4096 Jul 16 13:00 local_cpus -r--r--r-- 1 root root 4096 Jul 16 13:13 modalias drwxr-xr-x 3 root root 0 Jul 16 12:57 net:eth2 drwxr-xr-x 2 root root 0 Jul 16 13:13 power -r--r--r-- 1 root root 4096 Jul 16 12:57 resource -rw------- 1 root root 131072 Jul 16 13:13 resource0 -rw------- 1 root root 131072 Jul 16 13:13 resource1 -rw------- 1 root root 32 Jul 16 13:13 resource2 -rw------- 1 root root 16384 Jul 16 13:13 resource3 -r-------- 1 root root 131072 Jul 16 13:13 rom drwxr-xr-x 5 root root 0 Jul 16 13:12 subsystem -r--r--r-- 1 root root 4096 Jul 16 13:13 subsystem_device -r--r--r-- 1 root root 4096 Jul 16 13:13 subsystem_vendor --w------- 1 root root 4096 Jul 16 13:15 uevent -r--r--r-- 1 root root 4096 Jul 16 12:57 vendor
You can see the directory with name “net:<interface_name>” as a subdirectory in each listing above. This tells us which interface from /sys/bus/pci/drivers/igb/0000* corresponds with which of the Linux Ethernet interface names. From this, we can see that eth2 is really 0000:07:00.0. So, in order to unbind this interface such that it no longer appears in the “ifconfig -a” output, we run this command:echo "0000:07:00.0" > /sys/bus/pci/drivers/igb/unbind
and then it no longer appears in the “ifconfig -a” output. If you wanted to make this permanent, you should comment out the corresponding line from /etc/modprobe.conf so that it won’t be configured at boot time. Using the echo command above takes effect immediately, but won’t persist through a reboot (after reboot, the interface will return) unless the /etc/modprobe.conf changes are made.
Now, hopefully the next blog post after this one won’t require 14 more months of preparation!
It’s been a week since I started my new job at Oracle Corporation. I’m a remote worker which means that the first day of work wasn’t the usual event since I just went to my home office and got on a concall with my new manager. After getting connectivity and accounts set up properly, I was able to pretty quickly work through the new hire checklist of forms and mandatory training.
My new Oracle-provided laptop arrived around mid-week and I realized that, at least for now, I’ll have to revert back to using the Windows-based laptop and (hopefully temporarily) put my MacBook Pro on the shelf. Actually, my wife is very excited since she’ll get the MBP to use now and we’ll do the usual “trickle down” to the kids so that the oldest computer in the “fleet” will get ditched. Continue reading ‘New job, lots of exciting stuff’
I’m very pleased to report that I will be able to meet up with ODTUG Kaleidoscope attendees at both the ODTUG Community Service Day (2nd Annual!) and my own scuba dive outing as well. If you can, I’d love for you to attend both events. If you’re not a certified scuba diver, then you can at least participate in the Community Service Day festivities and help out the local area while enjoying some California weather too!
For those certified scuba divers that will (or can) be in the Monterey Bay area on 21-June, I invite you to come diving with me. I’ve arranged some reserved spots on the Beachhopper II dive charter that I’ve dove with before. Brian and Mary Jo (the captain, crew, and bottle washers) are top notch and we had a great time last fall at the first annual pre-OpenWorld scuba event (look for more details on the 2nd annual event later this summer). The boat isn’t huge, but 10 divers is enough for a lot of fun.
The pre-Kaleidoscope dive day is Sunday, 21-June (Father’s Day). The boat will depart the K dock at Monterey Bay harbor at 8am, so load-up is 7:30am. We’ll have a nice morning, drain 2 tanks at some of the best sites you’ll see in northern California (specific sites will be determined that morning by the captain and diver requests), and then motor back to the harbor probably shortly after noon or 1pm. Mary Jo said that she’d also entertain the option of an afternoon 2-tank trip as well, if there is interest (I know I’m interested). Oh, I almost forgot to mention that snacks are provided and they are amazing–made by Mary Jo herself!
The boat costs break down like this:
- $70 for the boat trip (weights are not included)
- plus $20 for two tanks of air ($90 total)
- or $30 for 2 tanks of Nitrox ($100 total)
The charter doesn’t offer gear rental, so we’ll have to pick that up separately. I previously rented from Glenn’s Aquarius 2 which is located pretty close to the harbor and opens at 7am for morning pickup. Their pricing for rental are:
- Weights only: $8
- Wetsuit, hood, gloves: $21
- Full gear (BCD, reg, exposure suit, etc.): $65
We’re less than 1 month away (I just found out I was going to be able to attend last week), so let me know ASAP if you’re interested in diving with us. Once you contact me, I’ll send you the signup instructions. I’m releasing the remaining open seats on 29-May, but there may still be open spots after that, so contact me (comment below, or email) if you’re interested.
As a special treat, Stanley will be joining us for his first scuba dive as well!
I’m definitely the type of person that gets excited by new opportunities and always loves a new challenge. Without challenge, I get bored quickly and boredom makes me a little crazy.
So, this new opportunity came along a little while ago and I thought it sounded just perfect for me. Many of you that know me will recall that I’ve had trouble finding the right company that fits with all aspects of my personality, goals, and philosophy which has led me to “try” a few of them in the past several years. I don’t regret the choices I’ve made and I’ve learned an awful lot from each of my employers. Most importantly, I’ve created new relationships at each of my past companies that I still maintain today.
In looking at all the past experiences, I’ve concluded that I am ready for a change in direction. Things I enjoy:
People (customers and Oracle employees) that work with Oracle software
Large, complex environments
Servers, OS, and storage infrastructures
Working with lots of new people, especially creating, managing, and growing new relationships
Presenting my knowledge to others, both one-on-one and to groups (and conference events that surround such gatherings)
A little bit of travel (which helps support my love of…)
So, when an opportunity came along to get paid to do something that combines almost all of the things I enjoy (except scuba), I couldn’t pass it up. Starting on May 18, 2009, I will be the newest member of the new group at Oracle that’s known as the “X-Team”. This team is responsible for working with customers and prospective customers of the Oracle Exadata and HP Oracle Database Machine products to help them adopt these new technologies. The group is a part of the Maximum Availability Architecture group at Oracle that authors many of the best practices whitepapers and presentations you have likely seen online. For those at Oracle that know what this means, the group is a part of the Server Technology development organization under Juan Loaiza.
For those of you that have been my past consulting customers, first of all, Thank You. I’m no longer consulting and while I won’t be able to provide an “Oracle-sanctioned” recommendation to other consultants that may be able to help, I do have a large network of friends and one of them can likely help you. Please never hesitate to keep in touch!
On a logistical note, I’m not moving and will hopefully continue to be involved with local events in Chicagoland. However, I will be traveling part of the time to visit customers and other Oracle facilities, so keep an eye on my twitter feed, Britekite location, and Tripit plans and let me know if there’s a chance to have a meeting IRL.
Finally, this decision to join Oracle means that I’ll be sacrificing several things. First and probably most near and dear to me is the RAC SIG. In September 2008, I took over as the RAC SIG President. The RAC SIG is as strong as ever and there are a good group of volunteers involved in leading the group as it continues to grow and evolve. I’ll always be a member of the RAC SIG and will continue to watch it closely and volunteer when and where I can. The RAC SIG is associated with the IOUG, the Independent Oracle User Group, and Oracle employees shouldn’t be too involved in “independent” groups. So, this year, the RAC SIG will once again elect a new president. I will remain president until Oracle Open World in October 2009 in order to provide continuity to the group’s leadership and ensure a smooth transition. You can nominate yourself for a RAC SIG office soon via our website nomination form (nominations will be open soon and stay open until July 31, 2009).
I’m also going to relinquish my appointment as an Oracle ACE Director. While I think I’ll still be considered an Oracle Employee ACE, I’ll remember fondly the fame that Oracle Technology Network affords the Oracle ACE program and the individuals that are given the honor. Thanks to Justin, Vikki, Lillian, Todd, and the others at Oracle for allowing me to be a part of that program. I’ll certainly miss the perks!
That’s about it for now, I’m off to the new job and will once again begin learning. Luckily, I’m apparently the only person named Dan Norris at Oracle (last someone checked for me), so you can contact me at firstname.lastname@example.org in a couple weeks.
Collaborate 09 starts on Sunday, May 3 (a few days from now!) in Orlando. I’ve been offline for several weeks (more on that later), but will be returning to the world of computers and technology in full force in Orlando. I’ve had a few inquiries about whether or not I’ll be at Collaborate, so I thought I’d resurrect my blog with a post about where I’ll be and some of the highlights I see at Collaborate 09.
First, where I’ll be presenting:
- Monday, 10:45-11:45am, #301, “Avoiding Common RAC Problems”
- Tuesday, 9:45am-12pm, #332, “Installing RAC From The Ground Up”
- Wednesday, 9:45-10:45am, #121, “Troubleshooting Oracle Clusterware”
I’m also currently the President of the Oracle RAC Special Interest Group (RAC SIG). The RAC SIG is hosting several great sessions (I’m moderating a couple of these panels) at Collaborate 09 as well:
- Sunday, 6-7:30pm, IOUG/SIG Welcome Reception (each SIG will have representatives there–this is open to all IOUG attendees)
- Monday, 8-9am, RAC SIG Orientation
- Tuesday, 12:15-1:15pm, RAC SIG Birds of a Feather
- Tuesday, 4:30-5:30pm, RAC SIG Expert Panel
- Wednesday, 4:30-5:30pm, RAC SIG Customer Panel (not in online scheduler at the moment, check again later)
- Thursday, 8:30am-12pm, RAC Attack (University Session – Additional fee required)
The RAC SIG has also assembled this list of RAC-related sessions at Collaborate 09 to help you plan your conference agenda.
Be sure to set up your personal agenda using the agenda builder and add these sessions to your agenda. I think that if you have these in your agenda and details (like date or room assignments) change, you’ll be notified via email (not sure, but I think that’s how it works).
Also, you can follow @IOUG on Twitter (follow me too if you’d like) and that will help you find where the action is during the event next week. It’s going to be a great event and I look forward to seeing you there!
The RAC SIG, Oracle and IOUG are thrilled to present the hands-on event dubbed “RAC Attack!” at Collaborate09 in Orlando, FL. It is a half-day University Session in the IOUG Forum scheduled for the morning of Thursday, May 7th.
Each participant will have their own private RAC cluster to use. You’ll be able to install a new cluster, test session failover, perform backup and recovery and just about anything else you’d like to try (time permitting). The session will have lab outlines with very specific instructions that cater to beginners. Advanced users are welcome to test anything they like. If you try something that doesn’t work, we have mechanisms in place to help “reset” your cluster in 15 minutes and let you continue working and testing.
Here’s the official conference abstract for the session:
“Whether you’re new to or familiar with Real Application Clusters (RAC), you do not want to miss the IOUG RAC Attack! hands-on lab. The hands-on lab will cover: cluster installation prerequisites on Linux, installing Oracle clusterware, installing Oracle RDBMS, creating RAC database, failure testing and backup/recovery testing.
Also, you’ll have a chance to interact with some RAC experts from IOUG, Oracle and the RAC SIG, as they’ll be available to help you as you navigate the hands-on exercises. These volunteers are sharing their knowledge to help you be successful with your learning experience. This opportunity doesn’t come along often, so don’t miss a chance to pick the brains of our experts!”
There are still seats available for this event, but there is a limit, so don’t delay. It is an additional cost above the Collaborate09 conference registration, but I think you’ll find it to be packed with knowledge and experts to help you get the hands-on experience you need to grow and succeed with Oracle RAC. The session will be staffed with Oracle, IOUG and RAC SIG experts ready to help you and answer questions about RAC and clustering. Don’t miss out!