ioug_selectjournal_2014q1c

8
Page 16 1st Qtr 2014 Oracle starts with the same set of software packages and source code that Red Hat does. From a technical perspective, both Red Hat and Oracle start with the same base. All of the open source software is freely available on the Internet. In fact, Oracle and Red Hat collaborate on many of the same sets of source code alongside thousands of commercial and independent developers following GNU standards. From this base, Oracle and Red Hat then add their own trademark logos and adjust a few things concerning distribution such as Internet servers, directory paths, etc. They then add any commercial software to the distribution. The distribution is then tested, following the vendor’s internal standards. Oracle includes a litany of tests on the OS utilizing their enterprise database product, as well. Based on testing, patches are applied to resolve issues identified during testing. Some patches are already available from the Linux community, or the vendors author their own patches. These internally generated patches must also be submitted back to the public Linux source code repositories. Once final testing is successfully completed, the distribution is then released. In general, Oracle Linux and Red Hat Enterprise Linux release dates are very close to each other. Oracle Linux has an emphasis on patches for scale, performance and reliability as tested through nightly builds of their database product. This testing often leads to Oracle Linux having a few additional Linux patches. These Linux patches will eventually show up in all distributions, but Oracle chooses to test them and distribute them sooner based on criticality. All of this can be seen in the readme files for a given release. The RELEASE-NOTES file provides Oracle Linux 5 Release Notes https://oss.oracle.com/el5/docs/ Oracle Linux 6 Release Notes https://oss.oracle.com/el6/docs/ details of all the changes that are done for the distribution. For Oracle Linux 6 RELEASE-NOTES-GA-en file, you will see this verbiage: “The following packages are modified from the upstream release. All changes are Trademark and look/feel related unless otherwise noted below under the specific package.” Following this statement is a list of about 50 packages, two of which have the comment, “ocfs2-related fix,” and one that has the comment, “updated for ULN support.” There is also a list of packages that have been removed that contain Red Hat specific logos and release notes. Next is a short list of packages added including Oracle release notes and logos. That is the primary technical differences between Red Hat and Oracle Linux. Finally there is a section detailing the two kernel options available for Oracle Linux: the Red Hat compatible kernel and the Unbreakable Enterprise Kernel (UEK). The UEK has been available for only about two years, and is an added feature Oracle chooses to distribute. The Red Hat compatible kernel matches the patches and release process that Red Hat follows. Outside of Oracle possibly adding Linux patches to address data corruption or critical server crashing issues, this kernel will follow Red Hat’s lead for changes. The UEK, on the other hand, allows Oracle to take more control over what is added to the kernel. This includes changes for stability, performance and scaling (think large database platforms). Often the Linux patches to the kernel are already in newer versions of the kernel if you built your own from source code. Oracle chooses to make these features available in current pre-compiled releases such as Oracle Linux 5 as opposed to forcing upgrades to version 6 or, soon, 7. A good example is the ability to grow to extreme amounts of memory (TBs) and CPU (100s) on a single server when utilizing the UEK. Oracle will support both the Red Hat compatible kernel and the UEK, but recommends the UEK for enterprise workloads. ExecPC, telnet to the Earth server and then reach out to the Internet in text mode to maybe find something in a forum or gopher server that might help. Getting SLS running meant checking if you had copied all the files off the disks correctly, and put them in the right directories. Fighting to get X-Windows GUI to work meant verifying that fonts were all installed and coding complex configuration files from scratch. The complexity of setting up SLS was too difficult for the uninitiated, so a company called Red Hat started up (along with a number of others) to help make this process easier. Companies like Red Hat, along with lots of individual contributors, produced installation tools, administration tools, OS configuration tools and even printed manuals. Something like Red Hat Package Management (RPM) that we take for granted today was a huge improvement at the time. In the mid-1990s, this was all very open and especially very free. I used to purchase my Red Hat CDs at computer shows for between $5 and $15. This covered mainly the cost of printing the CDs, packaging and printing costs for a little booklet that may have been included. Support was limited, but the Internet was expanding, and this distribution thing was getting easier. I was still manually coding X11 configuration files, but at least I knew all of the required application files are there now. Obviously, the writing was on the wall. Red Hat, as well as other “distribution” companies needed to make money to continue their work, and eventually grow their company, but they mainly worked in free software. They could not charge for the programs; in fact, the license under which Linux and GNU utilities exist forbid it. The answer was support. Big enterprises that run big data centers like to call other big companies to get their problems solved. Heck, even small companies like to call other companies to get their problems solved. Thus, we enter the world of supported distributions. What does that mean? Back in my SLS days, I could change anything I wanted: hand code configuration files, replace source code and recompile the kernel. I could do whatever I wanted since I was the only contact for fixing it. As the saying goes, physician heal thyself. However, if you are a large enterprise running a multi-million dollar software product (like E-Business Suite), then you want reassurances that it will run well and stay running. When it breaks, you want to call someone and know it can be fixed. You want a complete OS that is tested with your application, and supported by the hardware and business application vendors you are using. Which brings us back to our question. Are Red Hat and Oracle Linux the same? The Differences When I call my business application vendor or my hardware vendor, can I tell them that I’m running Red Hat if I am in fact running Oracle Linux, or can I say I’m running Oracle Linux when I am in fact running Red Hat? Unfortunately, the answer is no. This is where the distributions are not the same. So what kinds of differences are there? We have established that a distribution is a collection of programs. In modern distributions, not all the programs are free. The distribution owner must decide what is included. The vendor cannot charge for the free software, but they can provide additional “commercial” software as a benefit of paying for their support. A good example of this kind of software would be the Red Hat Global File System (GFS). Also, most distributions will contain logos and graphics to help you identify their origin. These are often trademarked items that cannot be freely distributed. Note how the Fedora project (Red Hat’s free release) uses different logos than the main Red Hat Enterprise product. Are Oracle Linux and Red Hat Linux the Same? continued from page 15

Upload: arunjac

Post on 28-Dec-2015

17 views

Category:

Documents


1 download

DESCRIPTION

select

TRANSCRIPT

Page 16 ■ 1st Qtr 2014

Oracle starts with the same set of software packages and source code that Red Hat does. From a technical perspective, both Red Hat and Oracle start with the same base. All of the open source software is freely available on the Internet. In fact, Oracle and Red Hat collaborate on many of the same sets of source code alongside thousands of commercial and independent developers following GNU standards. From this base, Oracle and Red Hat then add their own trademark logos and adjust a few things concerning distribution such as Internet servers, directory paths, etc. They then add any commercial software to the distribution. The distribution is then tested, following the vendor’s internal standards. Oracle includes a litany of tests on the OS utilizing their enterprise database product, as well. Based on testing, patches are applied to resolve issues identified during testing. Some patches are already available from the Linux community, or the vendors author their own patches. These internally generated patches must also be submitted back to the public Linux source code repositories. Once final testing is successfully completed, the distribution is then released. In general, Oracle Linux and Red Hat Enterprise Linux release dates are very close to each other.

Oracle Linux has an emphasis on patches for scale, performance and reliability as tested through nightly builds of their database product. This testing often leads to Oracle Linux having a few additional Linux patches. These Linux patches will eventually show up in all distributions, but Oracle chooses to test them and distribute them sooner based on criticality. All of this can be seen in the readme files for a given release.

The RELEASE-NOTES file provides Oracle Linux 5 Release Noteshttps://oss.oracle.com/el5/docs/

Oracle Linux 6 Release Noteshttps://oss.oracle.com/el6/docs/

details of all the changes that are done for the distribution. For Oracle Linux 6 RELEASE-NOTES-GA-en file, you will see this verbiage:

“The following packages are modified from the upstream release. All changes are Trademark and look/feel related unless otherwise noted below under the specific package.”

Following this statement is a list of about 50 packages, two of which have the comment, “ocfs2-related fix,” and one that has the comment, “updated for ULN support.” There is also a list of packages that have been removed that contain Red Hat specific logos and release notes. Next is a short list of packages added including Oracle release notes and logos. That is the primary technical differences between Red Hat and Oracle Linux. Finally there is a section detailing the two kernel options available for Oracle Linux: the Red Hat compatible kernel and the Unbreakable Enterprise Kernel (UEK).

The UEK has been available for only about two years, and is an added feature Oracle chooses to distribute. The Red Hat compatible kernel matches the patches and release process that Red Hat follows. Outside of Oracle possibly adding Linux patches to address data corruption or critical server crashing issues, this kernel will follow Red Hat’s lead for changes. The UEK, on the other hand, allows Oracle to take more control over what is added to the kernel. This includes changes for stability, performance and scaling (think large database platforms). Often the Linux patches to the kernel are already in newer versions of the kernel if you built your own from source code. Oracle chooses to make these features available in current pre-compiled releases such as Oracle Linux 5 as opposed to forcing upgrades to version 6 or, soon, 7. A good example is the ability to grow to extreme amounts of memory (TBs) and CPU (100s) on a single server when utilizing the UEK. Oracle will support both the Red Hat compatible kernel and the UEK, but recommends the UEK for enterprise workloads.

ExecPC, telnet to the Earth server and then reach out to the Internet in text mode to maybe find something in a forum or gopher server that might help. Getting SLS running meant checking if you had copied all the files off the disks correctly, and put them in the right directories. Fighting to get X-Windows GUI to work meant verifying that fonts were all installed and coding complex configuration files from scratch.

The complexity of setting up SLS was too difficult for the uninitiated, so a company called Red Hat started up (along with a number of others) to help make this process easier. Companies like Red Hat, along with lots of individual contributors, produced installation tools, administration tools, OS configuration tools and even printed manuals. Something like Red Hat Package Management (RPM) that we take for granted today was a huge improvement at the time.

In the mid-1990s, this was all very open and especially very free. I used to purchase my Red Hat CDs at computer shows for between $5 and $15. This covered mainly the cost of printing the CDs, packaging and printing costs for a little booklet that may have been included. Support was limited, but the Internet was expanding, and this distribution thing was getting easier. I was still manually coding X11 configuration files, but at least I knew all of the required application files are there now. Obviously, the writing was on the wall. Red Hat, as well as other “distribution” companies needed to make money to continue their work, and eventually grow their company, but they mainly worked in free software. They could not charge for the programs; in fact, the license under which Linux and GNU utilities exist forbid it. The answer was support. Big enterprises that run big data centers like to call other big companies to get their problems solved. Heck, even small companies like to call other companies to get their problems solved.

Thus, we enter the world of supported distributions. What does that mean? Back in my SLS days, I could change anything I wanted: hand code configuration files, replace source code and recompile the kernel. I could do whatever I wanted since I was the only contact for fixing it. As the saying goes, physician heal thyself. However, if you are a large enterprise running a multi-million dollar software product (like E-Business Suite), then you want reassurances that it will run well and stay running. When it breaks, you want to call someone and know it can be fixed. You want a complete OS that is tested with your application, and supported by the hardware and business application vendors you are using. Which brings us back to our question. Are Red Hat and Oracle Linux the same?

The DifferencesWhen I call my business application vendor or my hardware vendor, can I tell them that I’m running Red Hat if I am in fact running Oracle Linux, or can I say I’m running Oracle Linux when I am in fact running Red Hat? Unfortunately, the answer is no. This is where the distributions are not the same.

So what kinds of differences are there? We have established that a distribution is a collection of programs. In modern distributions, not all the programs are free. The distribution owner must decide what is included. The vendor cannot charge for the free software, but they can provide additional “commercial” software as a benefit of paying for their support. A good example of this kind of software would be the Red Hat Global File System (GFS). Also, most distributions will contain logos and graphics to help you identify their origin. These are often trademarked items that cannot be freely distributed. Note how the Fedora project (Red Hat’s free release) uses different logos than the main Red Hat Enterprise product.

Are Oracle Linux and Red Hat Linux the Same? continued from page 15

1st Qtr 2014 ■ Page 17

■ ■ ■ About the AuthorGary Gordhamer is currently at GE Power & Water as a senior DBA, having worked with Oracle Database and related technology for the past 22 years. He is an active member of IOUG for the past seven years (an inactive member for about five previous to that). He is currently serving as a contributing editor for SELECT Journal and has been presenting at COLLABORATE for seven years, delivering more than 15 sessions. Gordhamer also presented at Oracle OpenWorld in 2012. He previously severed on the COLLABORATE Conference Committee for two years and published two articles in SELECT, including receiving the SELECT Journal Editor’s Award in 2010.

ConclusionWe have visited some of my personal history with Linux, discussed the background of a Linux distribution, and hopefully emphasized the open and shared nature of Linux. But have we answered the question, are Oracle and Red Hat the same? Linux applications based on public Linux and related software will run the same on either Red Hat or Oracle Linux. Applications that require proprietary, non-free components of a distribution will require a specific distribution. From a non-technical perspective, support organizations within application vendors will probably not consider the distributions to be the same. Certification on one platform will not be equal to another from a support standpoint. You may be able to ask your application vendor for an exception to allow support. But you should not assume that vendors would support both platforms equally without that information in writing.

When asked if Red Hat and Oracle Linux are the same, consider the source of the question, and what the information will be used for. Is this truly a technical question, will a given application run on Linux A and Linux B? Or is it more of a support question? Will vendor X support me the same if I run my application on Linux A as opposed to Linux B. The first question is almost always yes, the second question is much more difficult. As you ponder, I’m going to get a VM going and see if I can still boot my SLS disks, find out what wisdom Oracle Linux’s great, great grandparent can teach me.

Submit an Article to IOUGSELECT Journal is IOUG’s Quarterly Publication

We are always looking for new authors and articles for 2014.

Interested in submitting an article? Visit www.ioug.org and click on

Publications > SELECT Journal for more information. Questions? Contact

SELECT Journal Managing Editor Alexa Schlosser at (312) 673-5791,

or email her at [email protected].

IOUG Is Looking for New Materials for

the 2014 Best Practices Booklet

Submissions should be 500-1,000 words long; due to space constraints,

we ask that your submission have a specific focus as opposed to any

overarching database principles. Tips can range from beginning- to

advanced-level skills and should include the actual code and queries

used (screenshots and other small graphics are also acceptable).

If you have any questions about this project, please contact our Best Practices

Booklet Managing Editor Alexa Schlosser, at (312) 673-5791, or email

her at [email protected] & Best

Booklet

IOUG

ilation of Technical Tips from

l Users Group

SSEW

In

P

S

us

If

u

sTips & BestIOUIOUGG

For the Complete Technology & Database Profess ional

E X PA N D Y O U R H O R I Z O N S

Vim and Regular

Expressions

Maintain &

Manage

Oracle Database

Appliance

Big Data

for Oracle

Technologists

2013 IOUG

Anniversary

Sponsors

Volume 20 | Number 3

Third Quarter 2013

www.ioug.org

33g

a new and improved

www.ioug.org

1st Qtr 2014 ■ Page 29

about their challenges as well as their success stories. You can even find people to form study groups for certification testing.

IOUG: Do you have any advice for IOUG members for their own careers? Bizzaro: Take advantage of every opportunity to learn new things. Never stop learning and asking questions. Challenge what people tell you, do the research and test things out for yourself. If you learn something that isn’t well documented or well known, write it up, blog it or present it at your local user group meeting. Don’t be afraid to put yourself out there and share your knowledge. Once you get over being nervous about presenting, it can be fun.

Having a line on your résumé that says you’ve presented a topic at a user group meeting or a conference has a huge impact. It lets prospective employers know that you are knowledgeable, confident, a leader and are willing to take risks.

IOUG: Are there any extra bits of knowledge you’d like to add?Bizzaro: Make sure you are getting your technology information from a reliable source, or verify the information from another source. There is a lot of information available to you on the Internet and not all of it is accurate, or the most current. Articles or blogs written by Oracle ACEs are good places to look for reliable information. The people in the program take pride in being recognized as experts and take great care to provide accurate information.

A lot of people are talking these days about women in technology. More specifically, they are talking about the disparity between the number of men and the number of women in IT engineering and leadership roles. I’m glad to see this conversation occurring. Even though progress has been made in the 20-plus years that I have been in IT, I believe we still have a long way to go. Raising awareness is the first step. Encouraging and teaching our young people that women can be just as good at tech as men is the next step. If you have an opportunity, mentor someone. There are many organizations to be found online that offer mentor opportunities around the United States, from the Girl Scouts of America to local Women in Technology groups.

Advertisers’ Index The Indepedent Oracle Users Group and SELECT Journal would like to thank the following members of the community for their support. For more information about their products and services, visit their websites. And be sure to let them know you saw them in SELECT Journal!

Advertiser . . . . . . . . . . . . . . .Web Address . . . . . . . . . . . . . . . . Page Number

Cisco. . . . . . . . . . . . . . . . . . . . . . . .www.cisco.com . . . . . . . . . . . . . . . . . . . .Inside Front Cover

Dell SharePlex . . . . . . . . . . . . . . . . .software.dell.com/shareplextoolset . . . . . . . . . . . . . . . . . 3

Dell Stat . . . . . . . . . . . . . . . . . . . . .quest.com/simplifywithstat . . . . . . . . . . . . . . . . . . . . . . . 6

EMC . . . . . . . . . . . . . . . . . . . . . . . .www.emc.com. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

Kaminario . . . . . . . . . . . . . . . . . . . .www.kaminario.com. . . . . . . . . . . . . . . . . . . . . . . . . . . 18

COLLABORATE 14 Mobile App is Available for DownloadSearch through

COLLABORATE 14

sessions and start building

your personal conference

agenda today!

The COLLABORATE 14 app allows you to: • View schedules and explore sessions.

• Create your own personal schedule and access

location and speaker information.

• Check in to sessions, meetings, keynotes and

exhibitor booths to locate peers and offer

comments and questions.

• View an entire feed of the event activity, including

attendee check-ins, photos and more.

• Expand your professional network through in-app

communication and scheduling.

• Share your conference activity with your social

networks, like Facebook and Twitter.

Getting Started 1. Click here to create an account online and click

on the blue “Sign Up” button located on the top

right of the screen. (You will need the email and

password you enter on this web page to access

the mobile app on your mobile device.)

2. Using your preferred mobile device, choose the

appropriate mobile app type.

3. Enter your login information on the mobile app.

4. Create a profile, view

the agenda, add

sessions of interest to

your agenda and more!

Need more help? Visit our

COLLABORATE 14 mobile

app information page.

g

sessions.

Page 28 ■ 1st Qtr 2014

Oracle ACE

Ask an Oracle ACEFeaturing Bonnie J. Bizzaro

The Oracle ACE program recognizes excellence in the Oracle technology and applications communities, and rewards individuals who generously share their technical knowledge and experiences. Learn more about the Oracle ACE Program.

IOUG: When did you become an Oracle ACE?Bizzaro: I was accepted into the Oracle ACE program in September 2013.

IOUG: Has your status as an Oracle ACE helped you in your career?Bizzaro: I only achieved ACE status a few months ago. Therefore, it has not directly affected my career at this point. Currently, I’m doing very advanced Oracle DBA work at my company, and I’m very happy with the technologic challenges I encounter. If I decide to make a change in future, I’m confident my ACE status will be very beneficial.

What helped my career tremendously are the things that I have done in the past that I believe qualified me for the ACE award. For example, being president of the Ohio Oracle Users group, and giving presentations at the IOUG COLLABORATE and Oracle OpenWorld conferences. That exposure has been wonderful. I’ve walked into job interviews and had people say that they had attended a session of mine.

This experience adds a lot of credibility to a résumé. Let’s face it; I don’t look like what people expect a technical person to look like. I’m a woman, and I’m blonde. Early in my career, it was difficult at times for people to take me seriously and to trust that I knew what I was doing. So, I put myself out there and it has made a huge difference.

IOUG: In your current role, what has been your biggest achievement? What has been your biggest regret?Bizzaro: I’ve been an Oracle DBA for a long time, so I really had to think about these questions for a while. I have to say that one of the things I’m most proud of is finding a way to restore a database from an RMAN backup without having a Recovery Catalog or a controlfile.

That was several years ago after a vendor accidentally erased one entire SAN at a company where I was working. As I started working on restoring everything, I discovered that we had no backup of our RMAN catalog (that is another story for another day). Anyway, at this time in my career, I had almost no experience with RMAN or with our newest version (9i) of the database. What I did have were the log files from the backups and the database backups themselves on tape. A friend of mine brought over his copy of the “Oracle 9i RMAN Backup & Recovery” book from Oracle Press. The book contained a reference to the dbms_backup_restore package. It looked promising, so I found the sql script file that created the dbms_backup_restore package ($ORACLE_HOME/rdbms/admin/dbmsbkrs.sql) and read through it.

By trial and error, I found that if I had the backup piece handle (name) I could use the dbms_backup_restore package to recover the controlfiles and datafiles from the tape backup. Using this method, I was able to restore many 8i and 9i test and production databases that I thought were lost for good. It was a huge success.

Restoring files using dbms_backup_restore hadn’t been documented, so I took the initiative to write it up. I then had the honor of presenting it at COLLABORATE 2004 and OOW 2004. It has been extremely gratifying to have people come up to me and say that my documentation has “saved” them when they were in a similar situation.

Another project that I am quite proud of is one where I was the DBA on a team that moved two data centers with only 30 minutes of production downtime. The DR data center was moved across town, and the production data center was moved from one state to another. It was very rewarding to leverage so much of my knowledge, experience and training to make that happen. That was also one of the best teams of IT professionals that I ever had the pleasure to work with.

When it comes to my DBA career, I actually have very few regrets. I’ve never regretted taking on challenging projects or learning new things. If things didn’t work out, I learned from it and moved on. But, I can say that I regret staying in one particular job that was not a good fit for me. The DBA team was understaffed, I had no time for a personal life and I missed some important events in my daughter’s life. Looking back, I realize that I should have moved on sooner.

IOUG: What Oracle technology/application are you most looking forward to?Bizzaro: Like a lot of folks, I’m pretty excited about Oracle 12c. The multitenant architecture will be great for consolidating small databases. The new in-memory column-oriented data store should give us new opportunities for performance improvements, and that’s always fun. But, my favorite areas to focus on are Data Guard and RMAN.

Data Guard in Oracle 12c allows for resumable switchover operations. I can think of a few occasions where this feature would have been very beneficial, so I’m looking forward to checking it out. The new ability to update global temporary tables in Active Data Guard 12c will add some much needed flexibility when it comes to running reporting operations on a standby database.

In RMAN, I think the new table level recovery should, hopefully, eliminate the need for some nightly exports. That would save time and storage. I like how it is implemented where it restores the physical files and then deletes them after the table has been extracted. Another 12c RMAN feature I’m looking forward to using is the NOOPEN parameter for the RMAN duplicate command. I certainly could have used that last year.

IOUG: Do you have any advice for novices in this industry?Bizzaro: If you love what you do and are passionate about it, you will be successful. You will want to put in the time to read, to learn, and to play with the technology. Never stop challenging yourself, and don’t be afraid to fail. Trying and failing and trying again is how we learn and grow.

I highly recommend joining a local or regional user group. There, you can find mentors and build a network of contacts. You can talk to people to learn how they are implementing Oracle technology at their companies and hear

1st Qtr 2014 ■ Page 19

ODSM: Oracle Directory Services Manager for Names Resolution

By Ray SmithGary Gordhamer, Editor

 O racle Net database names resolution is a highly scalable, centralized alternative to tnsnames.ora files. Many companies have older versions, but

the installation of the current supported version, Oracle Directory Services Manager can be frustrating, daunting and almost impossible with the limited documentation available.

The Paradox of ChoicePlenty of Oracle documents describe how to install and configure ODSM, Identity Manager, SOA and SSO, but many of the documents cover such a broad range of options that it’s incredibly easy to get side-tracked or fooled.

Chapter 8 of Oracle® Fusion Middleware Installation Guide for Oracle Identity Management 11g Release 1 (11.1.1.7.0) document E12002-12 describes the installation and configuration process for each option. This article boils it down to what you need for this ODSM on a new server.

LicensingUnlike many of the other Oracle Identity Management (OIM) capabilities are separately licensed products. Oracle Directory Services is not separately licensed if you use it exclusively for names resolution. Check with your Oracle sales representative for confirmation.

SupportODSM is a supported product with Oracle. Take advantage of the Oracle product experts with your questions by utilizing the support communities hosted by Oracle: https://communities.oracle.com/portal/server.pt/community/identity_management/433.

Your company pays for the support communities as part of your support license — use it.

Component DownloadsThe complete installation of ODSM for Linux consists of only three downloads:

• Java Runtime Environment ( JRE) 1.6.0 or later

• WebLogic Server (WLS) 10.3.6

• Oracle Identity Manager (OIM) 11g Patch Set 6, Oracle part #V37386-04

This installation does not require the extra schemas built by Repository Creation Utility. An installer for the single schema we’ll need for names resolution is included in the OIM installer, so don’t bother with RCU.

Java InstallationAlthough the WLS server and database both contain their own complete installations of Java, you should still install a standalone Java copy for your ODSM server. JRE 1.6.0 is required to install the WLS server, so download and install Java from OTN prior to installing WebLogic.

Repository DatabaseEach ODSM installation requires a separate Oracle 11g database repository for the LDAP data. Build the database before you start the ODSM installation.

There are no extraordinary parameters required for the database, and the overhead can be quite small. As a result, this is one case where you should consider installing the database and ODSM application on the same host. In our environment, we stood up a cluster of ODSM servers on a handful of independent virtual machines. LDAP replication within the ODSM application server precludes the need for database backups, high availability and dedicated DR instances. This design is simple and robust.

Note: The ODSM installation connects to the repository database as the SYS user with SYSDBA role, so you must have a working password file (orapwd) for the repository database, even if the database and ODSM server are on the same machine.

WebLogic ServerAfter the repository database is ready, install WLS 10.3.6. WLS is possibly the simplest installation in the Oracle catalog, just call the installation jar file to start the installer. Like all the Oracle installer products, you’ll need a running X-server (such as cygwinX or Xming) on your Windows workstation.

• Move into the directory containing the WLS 10.3.6 jar file.

• Ensure that your standalone JRE installation is working.

• Create your Middleware home directory, typically located under $ORACLE_BASE\Middleware.

• Invoke the installer using the stand alone JRE: java -jar wls1036_generic.jar.

• Follow the prompts.

continued on page 20

Page 20 ■ 1st Qtr 2014

Installation Summary Example

Type: Install and Configure

Location: /obase/Middleware/Oracle_IDM1Disk SpaceRequired: 2200 MBAvailable: 90024 MBFree After Install: 87764 MBApplications Selected For InstallOracle Internet DirectoryOracle Directory Integration PlatformOracle Virtual DirectoryOracle Identity FederationOracle HTTP ServerOracle Directory Service ManagerEnterprise ManagerApplications Selected For ConfigurationOracle Internet DirectoryEnterprise ManagerOracle Directory Service ManagerMiddleware Home Location : /obase/MiddlewareOracle Instance Location : /obase/Middleware/asinst_1Oracle Instance : asinst_1Domain Option : Create DomainDomain Name : IDMDomainDomain Home : /obase/Middleware/user_projects/domains/IDMDomainDomain Host Name : <yours>Domain Port : 7001Weblogic Console : http://<yourhostname>:7001/consoleWeblogic User Name : weblogicAutomatic Port Detection : trueEnterprise Manager :http://<yourhostname>:7001/emEnterprise Manager Agenthttp://<yourhostname>:5162/emd/mainOracle Internet DirectorySSL Port : 3131Non SSL Port : 3060Database : <Your connect string>Oracle Directory Services Manager :http://<yourhostname>:7005/odsm/faces/odsm.jspx

Finally, test all of the URLs on the summary and then do some backups.

ODSM BackupsAny WLS installation consists of large number of cascading subdirectories where configuration files are stored. I rely on file system backups and server redundancy to prevent disaster. We have four production LDAP servers at two data centers, so it is unlikely that we would see an issue across all of them. Beyond that, I created a script that does nightly backups of every configuration file I could find under my WLS home. After running some find commands

Install and Configure ODSMODSM server installation and configuration both run as a single OUI event. Instantiate OUI from Disk 1 of the installation media with a simple runInstaller. JRE paths and 64-bit flags are not required for the Linux installation.

Screen Field Action

Welcome Next button Click-through

Install Software Updates Radio button Select Skip Software Updates

Select Installation Type Radio button Select Install and Configure

Prerequisite Checks No issues should be reported

Select Domain Radio button Select Create New Domain

Username & password Weblogic username and password

Domain Name IDMDomain (default)

Specify Installation Location Accept all defaults

Oracle Home Directory Accept default Oracle_IDM1

Weblogic Server WLS in wlserver_10.3

Instance location asinst_1

Security Update Your MOS credentials

Configure Components This is the most important step of all:• Un-check everything except

Oracle Inventory Directory• Management Components

are required

Configure Ports Auto Port Configuration

Specify Schema Database Create SchemaConnect string = hostname:port:SIDLogin as sys; installer adds sysdba internally

Enter OID Passwords Password used by OID super-user account cn=orcladmin

LDAP configuration Accept default settings for LDAP settings

Installation Summary Radio button Review and then press Finish

Manual tasks during installation

Another terminal Partway through installation you are required to execute a root script. Open a second terminal to watch the configuration log. The GUI doesn’t provide much feedback during configuration but a lot happens

Save the installation summary file

Table 1

ODSM: Oracle Directory Services Manager for Names Resolution continued from page 19

1st Qtr 2014 ■ Page 27

TroubleshootingThere is minimal documentation available on trace and troubleshooting options or on examining data captured in the repository, but it is a good start.

A useful command if you are having any issues, or even simply to check your setup, is

GDSCTL>validate catalog -gsm <gsmname>

You can increase the trace level on the GSM listener, and in test environments I would recommend leaving it at 16 (SUPPORT).

GDSCTL> set trace level –gsm <gsmname> USER|ADMIN|SUPPORT|OFF

Trace dumps to

<oracle_base>/diag/gsm/<host>/<gsmname>/trace/

There is also an alert_gsm.log in the same location.

ConclusionOracle 12c Global Data Services is a major evolution in Oracle’s service management strategy. It delivers true enterprise-wide management of services and allows DBAs to manage services in the cloud by abstracting database connection strings. The creation of region-aware services supports the growing need for management of services across databases that may be physically widely separated, and smart integration with the Data Guard broker simplifies leveraging Active Data Guard configurations. In addition, the connection and runtime load balancing offer new choices in smoothing quality of service. Although global services require a 12c database, the Global Data Services can also support pre-12c local services and client connections, letting it integrate smoothly into a mixed-version environment. Overall, it is a product worth serious consideration for implementation in almost any enterprise.

References1. Oracle® Global Data Services Concepts and Administration Guide 12c Release 1

(12.1) E22100-07 (12.1.0.1): June 20132. Oracle Open World, October 2012: CON8397 - Integrate Your Globally Distributed

Databases for Key Cloud Computing Benefits (Battula, Pedregal-Martin, Brydon)

s

■ ■ ■ About the AuthorSarah Brydon is an accomplished technologist with more than two decades of experience with Oracle and UNIX-based applications. An Oracle DBA since 1996, Brydon has worked with all versions of Oracle from 7.1 and is an Oracle Certified Master. She has extensive experience in system design and support for 24/7 environments, in Oracle RAC deployments and in security and audit considerations for Oracle databases. Previously, Brydon was a senior Oracle specialist for Blackrock, the largest global financial services company with $3 trillion in assets under management. She is currently a database engineer for PayPal.

will spread client connections across all databases where the requested service is available.

It is critical to understand that all client requests go first to a GSM to be directed to a database. The client has to have all the local region GSM endpoints in its tnsnames.ora entry.

Each GSM has an Oracle notification service running alongside it, providing FAN events and workload information to clients.

Special note: for pre-12c clients, the ONS nodes need to be specified in the connection string:

nodes=host1:port1,host2:port2,…

Runtime Load BalancingGlobal Data Services supports balancing of work requests at runtime to a global service. Client requests are spread across connections to instances in multiple databases.

Conditions that may impact runtime load balancing recommendations include:

• An increase or decrease in network latency. The GSMs in each region regularly exchange messages to measure inter-region latency.

• Load being placed on a specific database or database host. The GSM is capable of detecting performance impacts caused by loads external to Oracle.

• Variable host capacity; in a configuration with asymmetrical database hosts, GSM will direct traffic so as to even out service quality.

• The goal defined for the service (SERVICE_TIME or THROUGHPUT).

The service goal settings affect what GSM considers in routing the client. Service_time tries to minimize response time, and considers latency as well as instance performance; throughput considers instance performance data only.

Figure 2: Standalone Identical Database Servers – Simple External LoadFigure created by Srinagesh Battula for OOW 2012. Reprinted with permission.

Notice in this figure how, as load was applied to “CPUd” (top graph – time period 0:15 to 0:31), the runtime advisor reduced traffic to that node (middle graph) and the elapsed time for the service remained consistent on all three hosts (bottom graph).

Page 26 ■ 1st Qtr 2014

Local affinity always directs a client to the local region and will not cross regions — ever. If the global service has failed on all local region databases, the connection request fails.

Local affinity with inter-region failover will send the client to the other region only when the request cannot be met in the local region (i.e., if the service is not started locally, it will cross regions, but it won’t cross merely for poor performance). This is probably a good choice for many production environments.

Using Global Data Services in Your EnterpriseReader FarmsAn obvious use case for Global Data Services is any enterprise running a reader farm. It is increasingly common for businesses to divide their application flows into read versus read-write streams. If you have invested the effort to split the application, it becomes very easy to leverage Active Data Guard copies to take all the read traffic while directing writes to the primary.

In the reader farm scenario, Global Data Services lets you define the entire pool of read-only databases as a single virtual “read” server. You can define a SRV_READ as preferred_all on any standby and set an acceptable lag tolerance. GDS will automatically open up the service on all standby databases, and close it on any that exceed the defined lag tolerance.

Since any enterprise big enough to be running a reader farm is probably also spread across multiple data centers, it also makes sense to think carefully about region affinity. If you are confident your clients will always be better served out of the local region, use local affinity; add interregion failover if you want to allow for a total disaster taking down all databases in the region.

GDSCTL> add service –LOCALITY LOCAL_ONLY –region_failover

Data Guard ConfigurationsIt is already possible to define role-based services: setting services to start only when the database is primary for instance. If you have Active Data Guard copies — even if you don’t have enough to call it a reader farm — there are still advantages to Global Data Services’ ability to define and manage the services centrally and to define lag tolerance.

If, however, you are not using Active Data Guard and your standby databases are closed to traffic, the use case for Global Data Services is less obvious. In this scenario, without Active Data Guard, the biggest benefit may be the simplified client configuration: You can define the service name, and the GSM location, and never have to update the client configuration files, even in the event of a switchover or host replacement.

Generally, you can set client navigation either by listing all possible hosts/clusters a service may be on, or by setting a DNS alias and repointing it as part of the switchover. One requires you to update client files as you replace hardware (scan names reduce, but don’t eliminate this); the other makes client switchover dependent on DNS changes. Global Data Services puts navigation entirely in the hands of the DBA team, and makes your (many) databases appear as one. This is the greatest advantage of this new feature.

Smoothing Quality of ServiceConnection Load BalancingClients connecting to RAC databases can take advantage of the load-balancing features in the listener configuration to be directed to the most appropriate instance. Global Data Services does the same thing but at the database level. It

Client Configuration Here is an example of a minimal client configuration:

(DESCRIPTION= (ADDRESS_LIST=(LOAD_BALANCE=ON)(FAILOVER=ON) (ADDRESS=(GSM_protocol_address_information)) (ADDRESS=(GSM_protocol_address_information))) (CONNECT_DATA=(SERVICE_NAME=global_service_name) (REGION=region_name)))

The Global Service Managers in this example belong to the same region where the client is running (the local region). To provide high availability in case all the global service managers in the local region are unavailable, you can specify global service managers in another region in a second list. For example:

(DESCRIPTION= (ADDRESS_LIST=(LOAD_BALANCE=ON)(FAILOVER=ON) (ADDRESS=(GSM_protocol_address_information)) (ADDRESS=(GSM_protocol_address_information))) (ADDRESS_LIST=(LOAD_BALANCE=ON)(FAILOVER=ON) (ADDRESS=(GSM_second region_address_information)) (ADDRESS=(GSM_second region_address_information))) (CONNECT_DATA=(SERVICE_NAME=global_service_name) (REGION=region_name)))

Note that all knowledge of the specific databases, hosts, etc., in the GDS pool has been removed from the tnsnames.ora. For any given service, the client only needs to know the service name and the location of a Global Service Manager endpoint that will provide navigation information.

Defining Global ServicesGlobal services are defined with three new attributes:

• Preferred or available databases

• Replication lag tolerance

• Region affinity

All the other standard service attributes still apply.

Preferred or Available DatabasesThis is straightforward. You can list preferred databases, or set preferred_all, in which case any database in the pool can run the service.

Replication Lag ToleranceThis feature is interesting because it provides a way to guarantee service level agreements for data lag are met. Oracle will shut the service down on a particular database when the lag exceeds the defined tolerance. So if, for instance, your batch service can tolerate up to eight hours lag, that service might run on any database in the pool. If you set tolerance to zero, the service will either run only on the primary or on replicas in real time apply with zero lag.

Region Affinity (any-region, local, local with failover)The default behavior (any-region) routes a client to the best performing database in the cloud, regardless of region. In practice, the calculation is done on performance plus network latency, so generally the local region is preferred, but it will cross regions if performance of the local replica is worse than the effect of the network latency,

Optimize Availability and Performance with Oracle 12c Global Data Services continued from page 25

1st Qtr 2014 ■ Page 21

Starting the ODSM ProcessesIn order to use all the features of ODSM, including replication through WLS, all the processes need to be started, most of them as a nohup (session-less) process.

WebLogic username and password have to be stored in configuration files deep within the WLS home to enable automatic startup. WLS will build encrypted boot.properties files for you as you run each start-up command listed below prior to invoking WLS or the managed server as services.

cd $DOMAIN_HOME/bin

startWebLogic.sh

startManagedWebLogic.sh wls_ods1 t3://${HOSTNAME}:7001/

stopManagedWebLogic.sh wls_ods1 t3://${HOSTNAME}:7001/

stopWeblogic.sh

Start the ServicesAfter the boot.properties files are created and secured, start each of these services in the order shown below. Notice the nohup and subshell calls. Substitute your host name for ${HOSTNAME} when starting the managed server.

nohup $DOMAIN_HOME/bin/startWebLogic.sh &

nohup $DOMAIN_HOME/bin/startManagedWebLogic.sh wls_ods1 t3://${HOSTNAME}:7001/ &

${ORACLE_INSTANCE}/bin/opmnctl startall

${ORACLE_INSTANCE}/bin/opmnctl status

Directory Services Manager SiteAfter you’ve built the site, you can begin exploring and configuring it in your browser.

Figure 1

Click the “Connect to a directory” icon near the top right-hand corner of the screen to configure a new connection or to connect to a saved connection LDAP directory.

from the WLS and ODSN homes, I assembled a list of directories and files to backup. The following code snippets include three functions. All three functions should run against each directory for the files you discover.

continued on page 22

Page 22 ■ 1st Qtr 2014

The server and port combination in this configuration form the connection string for your ldap.ora file:

DEFAULT_ADMIN_CONTEXT = “dc=oracle,dc=com”

DIRECTORY_SERVERS= (selectodsm.sample.com : 3060)

DIRECTORY_SERVER_TYPE = OID

Then tell Oracle database clients to use LDAP for name resolution by placing LDAP in the names.directory_path inside your sqlnet.ora file:

NAMES.DIRECTORY_PATH= (LDAP, TNSNAMES, EZCONNECT)

Chapter 34 of Oracle document Oracle® Fusion Middleware Administrator’s Guide for Oracle Internet Directory 11g Release 1 (11.1.1) Part Number E10029-06 describes LDAP realms and the Oracle Context you’ll encounter.

Directory MaintenanceThere is not currently a convenient way to manage the LDAP entries directly through the OEM 12c console. (Target type Oracle Internet Directory contains typical OEM target screens.) Several third-party tools are available for managing LDAP entries within the Oracle context domain.

Next StepsConfiguration beyond this point depends on your situation and local requirements. Configuration, replication and deployment information is available in Oracle Document E10029-04 Oracle Fusion Middleware Administrator Guide for Oracle Internet Directory.

s

■ ■ ■ About the AuthorRay Smith is actively engaged as a volunteer for IOUG. He has spoken at COLLABORATE, Oracle OpenWorld and several regional user group conferences. He currently works as a senior DBA/Oracle technologist for Portland General Electric in Portland, Ore. Ray is an Oracle ACE and the executive editor for SELECT Journal.

Figure 2

Figure 3

Field Example Suggestion

Directory type OID Names resolution: Leave it set to OID

Name OID_SELECT_Site Give this connection a unique name for your own use on this site

Server selectodsm.sample.com Host name as it appears in the URL

Port 3060 Name server port; default port 3060 is

shown in the configuration example earlier in this article

SSL Enabled Blank Based on your preference; default SSL port number is 3131

User Name cn=orcladmin Oracle Internet Directory superuser

Password Super_53cret Superuser password given for OID Passwords during configuration

Table 2

Oracle clients will then need to be configured to look into LDAP for names resolution. This is done by configuring the client through the ldap.ora and sqlnet.ora files in the TNS_ADMIN directory under the database client install, such as:

$ORACLE_HOME/network/config

ODSM: Oracle Directory Services Manager for Names Resolution continued from page 21

1st Qtr 2014 ■ Page 25

• You can load databases and watch as clients are redirected to a less-loaded databases offering the same service.

Here’s a sample Java connection string; note how it specifies the client region, allowing GSM to prefer services in the local region for requests from that client:

jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(LOAD_BALANCE=ON)(FAILOVER=ON)(ADDRESS=(PROTOCOL=TCP)(Host=labgsm.scflab.paypal.com)(PORT=1571)))(CONNECT_DATA=(SERVICE_NAME=srv_labrolong.lab.oradbcloud)(REGION=scfb)))

As you start and stop global services from GDSCTL, you can see them come and go in the database with

SQL> select name, global from v$active_services;

Production Best Practices for Deploying a GDS FrameworkThe key thing to understand about the Global Data Services framework is that every client connection receives its navigation information from the regional Global Service Manager. Therefore, it is critical that the client be able to reach at least one GSM. For those of you who may have worked with Oracle Names in the past, it’s a roughly similar concept as having to be able to reach the Names server.

Oracle requires a minimum of one GSM per region and recommends three for maximum robustness. In addition, it is possible to send clients preferentially to GSMs in their own region, but list GSMs in other regions as fallback targets — and directly to local listeners if all GSMs in all regions are unresponsive, although that reintroduces the specific host information that GSM abstracts away.

In addition, it is important to protect the GDS catalog with at least one Data Guard copy. Although GSMs will continue if the catalog goes down, and you can still stop, start and relocate existing global services, you cannot edit your global configuration without a catalog and, at least in the beta release, there is no easy way to dump the global configuration in a way that can be reloaded easily.

Figure 1: A Highly Available GDS Deployment. Copyright Oracle Corporation. Reproduced with permission.

Registered instances: lab%9Database: “lablnxc” Registered: Y State: Ok ONS: N. Role: PH_STNDBY Instances: 1 Region: scfc Registered instances: lab%17

Add services. GDSCTL>add service -service srv_labrw -gdspool lab -preferred lablnxa -available lablnxb,lablnxc -loadbalance LONG -role PRIMARYGDSCTL>start service -service srv_labrw -gdspool lab GDSCTL>add service -service srv_labro -gdspool lab -preferred lablnxb,lablnxc -available lablnxa -loadbalance LONG -role PHYSICAL_STANDBYGDSCTL>start service -service srv_labro -gdspool lab add service -service srv_lablag15 -gdspool lab -preferred lablnxb,lablnxc -available lablnxa -role PHYSICAL_STANDBY -lag 15 -loadbalance LONG add service -service srv_roregion -gdspool lab -preferred lablnxb,lablnxc -available lablnxa -role PHYSICAL_STANDBY -loadbalance LONG -locality LOCAL_ONLY -region_failover

Review configuration.At this point you can see the entire configuration with the “config” command.

GDSCTL>configRegions------------------------Name Buddy ---- ----- regionora scfb scfc GSMs------------------------gsmlab1 GDS pools------------------------dbpoolora lab Databases------------------------lablnxb lablnxc lablnxa Services------------------------srv_lablag15 srv_labro srv_labrw srv_roregion … Global properties------------------------Name: oradbcloudMaster GSM: gsmlab1

At this point, you can start the services and then test how GDS will redeploy them as you impact the databases.

• Switchover relocates role based services.

• srv_lablag15 relocates if the standby it is on lags by more than 15 seconds.

continued on page 26

Page 24 ■ 1st Qtr 2014

SQL> create user mygdsadmin identified by mygdsadmin default tablespace gds_data;SQL> alter user gsmcatuser default tablespace gds_data;SQL> alter user gsmuser default tablespace gds_data;SQL> alter user mygdsadmin quota unlimited on gds_data;SQL> alter user gsmcatuser quota unlimited on gds_data;SQL> alter user gsmuser quota unlimited on gds_data;SQL> grant connect, GSMADMIN_ROLE,GSM_POOLADMIN_ROLE,GSMUSER_ROLE to MYGDSADMIN;

Create the GDS catalog. -- catalog database is GDSCATGDSCTL>create catalog -database scfb01lab09:1521:GDSCAT -user mygdsadmin/mygdsadminCatalog is created

Register and start the GSM. GDSCTL>add gsm -gsm gsmlab1 -listener 1571 -catalog scfb01lab09:1521:GDSCAT -trace_level 16“gsmcatuser” password:Create credential oracle.security.client.connect_string1GSM successfully addedGDSCTL>start gsm -gsm gsmlab1GSM is started successfully

Define regions and a pool. GDSCTL>add region -region scfbGDSCTL>add region -region scfcGDSCTL>add gdspool -gdspool lab

Add a dataguard broker configuration.It is simplest to define a broker configuration, then add all the databases as once via the configuration. You also need to use a broker configuration if you want to be able to take advantage of role based services.

DGMGRL> show configurationConfiguration - lablnxdr Protection Mode: MaxPerformance Databases: lablnxa - Primary database lablnxb - Physical standby database lablnxc - Physical standby databaseFast-Start Failover: DISABLEDConfiguration Status:SUCCESS

Now add the databases to GDS by referencing the broker configuration. We are placing all of them into the ‘lab’ pool that we just defined:

GDSCTL>add brokerconfig -gdspool lab -region scfb -connect scfb01lab10:1521:LABLNXA “gsmuser” password:DB Unique Name: lablnxa GDSCTL>modify database -database lablnxb -region scfb -gdspool labGDSCTL>modify database -database lablnxc -region scfc -gdspool lab GDSCTL>databasesDatabase: “lablnxa” Registered: N State: Ok ONS: N. Role: PRIMARY Instances: 0 Region: scfbDatabase: “lablnxb” Registered: Y State: Ok ONS: N. Role: PH_STNDBY Instances: 1 Region: scfb

GDS CatalogStores all metadata, enables centralized global monitoring and management. The Global Service Managers will continue running and supporting traffic even if the catalog goes down, but certain administrative functions become unavailable. The catalog database must be based on Oracle Database 12c.

GDSCTLCommand-line interface to administer GDS.

Note that the installation of global services requires an Oracle 12c database. While Global Data Services can also support pre-12c local services and client connections, you will not be able to create a global service (defined below) in pre-12c databases. This backward compatibility, however, lets GDS integrate smoothly into a mixed-version environment. You can start with GDS managing all services both local and global, and as your Oracle Database 12c footprint grows, you can migrate more and more services into the new GDS cloud and fully leverage these features to provide a truly global data service that understands locality, service management and workload balancing across the whole GDS based database infrastructure.

Configuring a Simple Global Data Services Test ScenarioAt this point, having introduced Global Data Services features and having provided some configuration terms, it’s probably useful to take a look at some basic syntax and a high-level look at the steps to setting up GDS. This should give some context to the recommendations and usage examples described later. This test sets up a single GSM, adds a simple three-database configuration (one primary and two physical standbys) and configures a single pool spread across two regions.

Steps for a Basic GDS InstallationDetails are available in the manuals noted in the references, and a high-level flow described below:

1. Install Global Services Manager into a dedicated Oracle home. Each GSM needs its own home, even if they are on the same host. Do not try and start the GSM yet.

2. Unlock users required for GDS in the database that will hold the catalog and assign a tablespace.

3. Create the GDS catalog. This must be in an Oracle Database 12c database that uses a spfile.

4. Register the GSM into the catalog and start the GSM.

5. Connect to the catalog and define regions and a pool.

6. Add databases (or a dataguard broker configuration).

7. Add services.

8. Review configuration.

Install Global Services Manager.File gsm_12_1.zip contains the usual runinstaller.sh. It installs into a home with the default name gsm_1.

Unlock GSM users, assign passwords and tablespace quotas. SQL> alter user gsmuser account unlock;SQL> alter user gsmuser identified by gsmuser;SQL> alter user gsmcatuser account unlock;SQL> alter user gsmcatuser identified by gsmcatuser;SQL> create tablespace GDS_DATA datafile size 500M;

Optimize Availability and Performance with Oracle 12c Global Data Services continued from page 23

1st Qtr 2014 ■ Page 23

Optimize Availability and Performance with Oracle 12c Global Data Services

By Sarah BrydonJohn Kanagaraj, Editor

 H ow many databases do you and your team manage? How many of them are standbys or replicas of some sort? Where are those databases located, and where are

your customer connections coming from? How do you make sure that every application connection is served by the “right” database — and by right, I mean not just the database with the correct data, but the database that has the correct data and also the best performance possible for that client?

Introduction to Oracle 12c Global Data ServicesManaging databases across an enterprise is a lot more complicated than it used to be. Years ago, you could fairly reliably assume that the bulk of your traffic would go to one, singular primary database. The advent of technologies such as Oracle Active Data Guard and Oracle GoldenGate changed all that by providing a robust solution for enterprise disaster recovery and replication needs — and also an opportunity to leverage all those replica databases to accept application traffic.

Distributing workload over multiple databases can bring data closer to clients, improve performance and scalability, and help you get more value out of IT assets. However, when applications are spread across multiple databases and potentially also across data centers, it can be challenging to efficiently use all of your databases in a way that provides the best performance and availability.

Overview of Product FeaturesOracle 12c Global Data Services (GDS) is a new product building on the tried-and-true listener and workload management features to support service failover and load balancing across replicated databases for local or global deployments.

Basically, before Global Data Services, you could define a service only at the database level. On a RAC database, you could specify which instances a service could run on (or all of them). If a service was offered by multiple databases,

you had to define the service on each database and develop a method to spread traffic across all possible choices; for instance, by setting multiple hosts in the client tnsnames entry.

Now, with Global Data Services, you are literally defining the service just once, at a global (enterprise) level. You can set which databases it runs on — one, or more than one — and preferences about where it fails to if that database goes down. Not only that, GDS is tracking workload and automatically directing traffic to the database with the best performance for that service. It’s a new approach that groups your collections of primary and replicated databases into one private database cloud offering multiple global services and abstracting all navigation information away from the client tnsnames entry.

Before we proceed, let’s define some terms used in the Global Data Services framework. This will help us understand this new feature better.

GDS CloudAll the databases integrated by the Global Data Services framework into a private database cloud that offers one or more global services.

GDS PoolA set of databases within a GDS cloud that provides a unique set of global services (e.g., HR, sales). A database can be in only one pool. Most commonly, a pool consists of a primary and all its Active Data Guard standbys and/or other related replica databases.

GDS Region A group of databases and clients that are in close network proximity to one another. Databases in one pool are often spread across regions; for instance, your primary database and one replica in east, and two physical standbys in west, reflecting the locations of your data centers. GDS is region-aware and can direct clients preferentially to databases in their local region.

Global Service Database service provided by multiple databases synchronized with replicated data (e.g., in your sales pool, all databases might offer the ORDER_LOOKUP service). A global service can be offered by only one pool; internally, the fully qualified name is service.pool.cloud. Note that a global service can be defined either at the CDB or the pluggable database level in Oracle Database 12c.

Global Singleton ServiceService restricted to run on only one database of a pool at a time. This is useful if, for some reason, an application (or part of it) cannot support spreading traffic across the pool. If you simply want to direct all write traffic to the primary, it’s usually more appropriate to use a role-based service for that.

Local ServiceThe pre-12c style service defined at the database level. GDS can support both global and local services for databases.

Global Service Manager (GSM)Provides main GDS functionality: service management and load balancing

• There is a GSM listener listening for all incoming database connections

• At least one GSM per region or multiple GSMs for high availability

• All databases/services register to all GSM listeners

• An Oracle notification server runs with each GSM providing FAN events and workload information to clients

continued on page 24