Well, there’s been a bit of a delay in with my planned testing of dbVisit Replicate and Oracle GoldenGate for zero-downtime upgrades. So, I’ll be (hopefully) getting back to that within a couple of weeks.
Meanwhile, I recently ran across a discussion on the Oracle OTN Community forums, asking about performance and hugepages configuration, here in the Oracle Database – General Questions Forum.
I think my answer bears repeating, so, here is a slightly modified version:
Just a quick note, to mention something that I just recently discovered. (Yes, this has been available since at least Oracle 10.1, but I wasn’t aware of it!)
When composing a JDBC thin client connect URL, we have been using something of the form:
This is fine, but if you have a mix of Oracle OCI clients and JDBC thin clients, and if the OCI clients are all configured to use an LDAP server for Net Service Name resolution, then, whenever you make any kind of reconfiguration, you need to update the LDAP server, and then still need to update the hardcoded connection information in the JDBC Thin URL.
Just a quick note/announcement, that we had our annual Michigan Oracle Users Summit yesterday at the VisTaTech Center on the campus of Schoolcraft College, in Livonia, MI. It was a good conference, and I think everyone who made it out, enjoyed their time there and saw some excellent presentations.
I did two presentations, Understanding and Interpreting Deadlocks and All About Indexes. The presentations will be available at the MOUS website, but I also wanted to make them available here. (See the links above.)
P.S. I finally, just today, got my storage for my GoldenGate test boxes, so, I’ll be proceeding with that testing soon. Stay tuned for my next blog post in that series, in a week or so.
So, now that I have completed my series on OpenLDAP for Oracle Net Service Name resolution, my next little adventure will be exploring the possibilities of zero downtime upgrades for Oracle 11gR2 and 12cR1. This is an area that I don’t have a lot of experience with, so, I’ll be pretty much starting at ground zero.
Oracle’s suggested solution is GoldenGate. (Oracle also has a near-zero downtime upgrade ability using Logical Standby, but, my understanding is that there are some datatype limitations with that solution.) So, my goal last month, in attending Oracle Openworld, was to learn about GoldenGate, and what it can do. However, I also learned about another product, by a company called dbvisit, that claims to offer the same functionality in replication and (near)zero downtime upgrade abilities.
This is the final part of a multi-part blog post on using OpenLDAP for Net Service Name Resolution. Part 1 can be found here.
Ok, now that you have installed and configured phpldapadmin, you’ll want to do some customization, that will facilitate using phpldapadmin specifically for maintaining Net Service Names. Remember, phpldapadmin is a generic tool, that can be used to manage any LDAP server, with virtually any type of content. At this point, you can use it to manage your LDAP server, but, I’ll provide you two new custom templates, for managing Net Service Names and Net Service Aliases.
This is part 5 of a multi-part blog post on using OpenLDAP for Net Service Name Resolution. Part 1 can be found here.
Day to Day Management
The tns2ldif program is great for converting a large number of Net Service Names into the LDIF format, for subsequent bulk loading into the LDAP server. But, for day to day operation, where you may want to add or delete individual Net Service Names or modify an existing Net Service Name, hand editing LDIF files is probably not an optimal solution. So, is there a GUI solution that may help with this type of day to day work? There are a few free LDAP GUIs available. The one I have chosen is phpldapadmin.
This is part 4 of a multi-part blog post on using OpenLDAP for Net Service Name Resolution. Part 1 can be found here.
You should now have a correctly installed and fully configured LDAP server, that’s up to the task of doing Net Service Name resolution. So, now you’ve come this far, you probably have a whole list of Net Service Names that you want to load into your LDAP server. We’ve reviewed the LDIF format for Net Service Names, but, unless you have a very small number of Net Service Names, converting them from tnsnames.ora format to LDIF format could prove to be a very tedious task, indeed. In my case, I had approximately 250 Net Service Names, that I needed to load. So, I wrote a small C program, that I called tns2ldif, for this task.
This is part 3 of a multi-part blog post on using OpenLDAP for Net Service Name Resolution. Part 1 can be found here.
Configuration for Net Service Name Resolution
Ok, now that you have an OpenLDAP server installed and configured (optionally with master/slave replication configured), it’s time to “teach” it how to handle Oracle Net Service Names. The first thing you’ll want to do is create a directory under /etc/openldap, thus:
This is part 2 of a multi-part blog post on using OpenLDAP for Net Service Name Resolution. Part 1 can be found here.
Installing and configuring OpenLDAP on Oracle Linux 6 is a fairly simple and straightforward process. (Note that I’m working with Oracle Linux 6.4, this process may differ on other Linux distributions and/or versions.)
OID is Oracle’s official solution
Several years ago, I was struggling with a solution to managing hundreds of net service names across several dozen database servers and many hundreds of Oracle client machines. At the time, Oracle had just discontinued ONAMES (which I never had an opportunity to use), and the “official” Oracle solution was the OIM/OID software suite. Well, after weeks of struggling with OID, I decided it was an unwieldy beast, and was just plain painful to set up. (I don’t think I ever did get it completely working.) Just as things were looking down, I spotted a bit of sunlight, through the fog.