Search

OakieTags

Who's online

There are currently 0 users and 38 guests online.

Recent comments

Affiliations

Oakies Blog Aggregator

Yosemite : It’s like OS X, but more boring to look at!

I went on my MacBook last night and saw I had updates available on the App Store. I figured this was one of those Twitter updates that seem to happen every time you blink. Much to my surprise it was a new version of OS X. You can tell how little of an Apple fanboy I am. I didn’t even know this was due, let alone here already. :)

I figured, what the heck and let it start. About 20 minutes later it was done and now I have Yosemite on my MacBook Pro (mid 2009). I wasn’t really timing, so that’s a guess.

First impressions.

  • It’s like OS X, but more boring to look at! Everything is flat and looks a little bland. I’m told this is the look and feel from the iPhone, but I don’t have one of those so I don’t know. I’m sure in a week I won’t remember the old look. The only reminder is the icons for all the non-Apple software I have installed, which still look like they are trying to fit in with the old look. :)
  • I asked one of my colleagues at work and he said it is meant to be faster. I don’t see that myself, but this is a 5 year old bit of kit.
  • Launchpad is straight out of GNOME3. I never use it anyway. Perhaps it always looked like this???
  • Mission Control and Dashboard are also things I never use, so I can’t tell if they have changed for the better or not. :)
  • The light colour background of the Application menu looks odd. Not bad, but different.

What’s broken? So far nothing. I can run VirtualBox, iTerm, Chrome and PowerPoint, so that is pretty much all I do with the laptop.

So in conclusion, Yosemite has completely changed my whole world and Apple are a bunch of geniuses right? Well, actually it’s a pretty mundane change as far as my usage is concerned. I’m sure it’s all terribly cloudy and someone will throw a “rewritten from the ground up” in there somewhere, kinda like Microsoft do when they release the same stuff year after year with a different skin…

By the way, it didn’t cost me anything to upgrade from pretty to bland!

Cheers

Tim…

 

 


Yosemite : It’s like OS X, but more boring to look at! was first posted on October 17, 2014 at 6:19 pm.
©2012 "The ORACLE-BASE Blog". Use of this feed is for personal non-commercial use only. If you are not reading this article in your feed reader, then the site is guilty of copyright infringement.

Friday Philosophy – Is Dave Working?

Is Dave across the desk from you working at the moment? Or is he goofing off? You can’t see his screen but I reckon you can make a fair stab at what he is up to, without recourse to any sort of IT monitoring systems at all. How?

How fast is Dave typing?

If Dave is typing fast, he is almost certainly not working. He’s goofing. There are very few things you can do when you work in IT where you type fast – and especially not type fast for more than a few seconds. If Dave is typing fast he is almost certainly emailing a mate or instant-messaging Sandra in the development team. If Dave is typing fast, pausing for a few seconds and then typing fast again, he is *certainly* conversing electronically with a friend. This will be 100% corroborated if he smiles, sniggers, smirks, laughs or just glances around furtively.

Longer periods of typing (say a minute or two) and then pausing for a similar time then Dave is probably working, say documenting something or writing a work-related email {or,perhaps a blog post – *cough*} . The clinchers here that indicate work is being done are (a) he will not be smiling or showing any signs of happiness and (b) there will be bursts of “tch-tch-tch-tch-tch-tch-tch” where the delete key is being pounded to remove an offending line or block of text. {People in IT always seem to delete text by repeatedly hitting the delete key. Higher forms of life, like secretarial staff, are more likely to select the text and hit the delete key once. Or, even, the first character of what they are going to type next. Why do those of us in IT just pound the delete key?!?}.

I hope the people around me have not noticed I am less miserable than usual, else they will know I have stopped documenting and I am now blogging…

Fast key tapping but in an oddly “monotone” way (the same key or keys over and over again) and a fixed stare and maybe the odd bit of bobbing the head or ducking – Dave is playing a game. Naughty Dave. Huge amounts of mouse woggling will also be evidence of game playing. That or doing graphical database design – but who does any design work these days….?

Any periods of fast typing for more than seven seconds are a sure indicator that no coding is being done. The seven second ceiling is a scientific fact, derived from 25 years of coding and goofing off :-). I have only ever known one person who can write code fast without pauses and he was a very odd chap indeed. A very, very good programmer though.

So, if Dave is staring fixedly at the screen, typing for a few seconds (probably slowly), pausing for a minute and frowning/muttering/swearing, he’s coding. Probably. He could be Googling for a new blue-ray play or something – googling for stuff you want to buy and coding seem to have the same sort of typing pattern and even the same air of general annoyance and confusion, with the very occasional “whoop” of success.

I think you can make a pretty accurate guess about whether someone is working or goofing, and even what type of working or goofing they are doing, purely from the sound of the keys and the facial expression.

I love the “techie” bits in films where the designated nerd sits down at the keyboard and goes “tap-tap-tap-tap-tap-tap-tap-tap-tap-tap-tap-tap-tap-tap-tap-tap-tap-tap-tap” at high speed and windows of data pop up and scroll up the screen at 30 lines a second or images flash by quicker than you can follow. They never delete anything they type, no typoes occur, they never have to check the correct flag or format for a command. And they never. Ever. Ever. Use the space key.Those thumbs never clatter the big bar, the fingers just bounce up and down on the main keys as though they were playing a rather odd piano.

You check next time the techie nerd bit on a film comes up. (S)he will not use the space key at all. Even if spaces appear on the text on the screen :-)

So, any fast typing and any sign of happiness and Dave is probably goofing. Both together and he certainly is. And if you never hear the space bar rattle, Dave is in a film.

sreadtim

Here’s a question that appeared in my email a few days ago:

 

Based on the formula: “sreadtim = ioseektim + db_block_size/iotrfrspeed” sreadtim should always bigger than ioseektim.

But I just did a query on my system, find it otherwise, get confused,

SQL> SELECT * FROM SYS.AUX_STATS$;<

SNAME                          PNAME                               PVAL1 PVAL2
------------------------------ ------------------------------ ---------- --------------------
SYSSTATS_INFO                  STATUS                                    COMPLETED
SYSSTATS_INFO                  DSTART                                    10-08-2014 10:45
SYSSTATS_INFO                  DSTOP                                     10-10-2014 10:42
SYSSTATS_INFO                  FLAGS                                   1
SYSSTATS_MAIN                  CPUSPEEDNW                     680.062427
SYSSTATS_MAIN                  IOSEEKTIM                              10
SYSSTATS_MAIN                  IOTFRSPEED                           4096
SYSSTATS_MAIN                  SREADTIM                            4.716
SYSSTATS_MAIN                  MREADTIM                            2.055
SYSSTATS_MAIN                  CPUSPEED                             1077
SYSSTATS_MAIN                  MBRC                                    4
SYSSTATS_MAIN                  MAXTHR                          956634112
SYSSTATS_MAIN                  SLAVETHR                           252928

How do we explain this ?

 

This question highlights two points – one important, the other only slightly less so.

The really important point is one of interpretation.  Broadly speaking we could reasonably say that the (typical) time required to perform a single block read is made up of the (typical) seek time plus the transfer time which, using the names of the statistics above, would indeed give us the relationship: sreadtim = ioseektim + db_block_size/iotfrspeed; but we have to remember that we are thinking of a simplified model of the world. The values that we capture for sreadtim include the time it takes for a request to get from Oracle to the O/S, through the various network software and hardware layers and back again, the formula ignores those components completely and, moreover, doesn’t allow for the fact that some “reads” could actually come from one of several caches without any physical disc access taking place; similarly we should be aware that the time for an actual I/O seek would vary dramatically with the current position  of the read head, the radial position of the target block, the speed and current direction of movement of the read head, and the rotational distance to the target block. The formula is not attempting to express a physical law, it is simply expressing an approximation that we might use in a first line estimate of performance.

In fact we can see in the figures above that multi-block reads (typically of 4 blocks)  were faster than single block reads on this hardware for the duration of the sampling period – and that clearly doesn’t fit with the simple view embedded in our formula of how disc drives work.  (It’s a fairly typical effect of SANs, of course, that large read requests make the SAN software start doing predictive read-ahead, so that the next read request from Oracle may find that the SAN has already loaded the required data into its cache.)

There is, however, the second point that these figures highlight – but you have to be in the know to spot the detail: whatever the complexities introduced by SAN caching, we’re notlooking at the right figures. The ioseektim and iotfrspeed shown here are the default values used by Oracle. It looks as if the user has called dbms_stats.gather_system_stats() with a 48 hour workload (8th Oct to 10th Oct), but hasn’t yet executed the procedure using the ‘noworkload’ option. Perhaps the ioseektim and iotfrspeed figures from a noworkload call would look a little more reasonable when compared with the 4.716 milliseconds of the workload single block read. There may still be a large gap between the model and the reality, but until the two sets of figures we’re using come from the same place we shouldn’t even think about comparing them.

Setting Up Chargeback in EM 12.1.0.4

Some time back, I posted a blog entry about Metering and Chargeback in Enterprise Manager, where I covered the basic capabilities of the Chargeback Application. It’s taken me some time to get back to the promised followup blog post on setting up Chargeback, what with Oracle Open World getting in the way of things, but that’s what I’m finally doing now.

Chargeback can be setup in EM12c by any user with the EM_CBA_ADMIN role, or of course as SYSMAN. Once you are logged in as a user with the relevant privileges, follow the path “Enterprise → Chargeback”:

Image00001

The default currency symbol displayed in the Chargeback application is the dollar sign ($). Note this is just a symbol and does not have any impact on chargeback calculations, but you can change it if you want by clicking on the “Settings” tab:

Image00002

You can enter a new currency symbol here, but for this environment we will leave it at the default and click “Change Plans”:

Image00003

The first thing we want to do is set rates for the universal change plan. This covers the CPU Usage, Memory Allocation and Storage Allocation metrics. Click “Set Rates”:

Image00004

Set the rates appropriately and click “Save”:

Image00005

While the universal charge plan is useful, there are situations where you want to apply charges on other entities. That’s where an extended charge plan can be used. To create an extended charge plan, click “Create” then “Plan”:

Image00006

Provide a meaningful name for the charge plan, then click “Add” to select an entity type for which you can set rates:

Image00007

You can add multiple entity types to the charge plan at once, so choose “Host” and “Oracle Pluggable Database” then click “OK”:

Image00008

You can now setup specific configurations for each entity type, by selecting the entity then clicking “Setup Configurations …”:

Image00009

Click the “Add” button:

Image00010

In this example, we want to charge different rates for different machine architectures. This is the sort of thing you would do if you wanted to charge more for maintaining machines that are either outdated or where you have less skills and may need to bring in consultants. To do this, you can set the “Condition Item” to “Machine Architecture”, then click the “Search” button to search for different values you can choose:

Image00011

In this scenario, we want to set up three different configurations:
• Intel x86_64 as our default
• Intel i686 as more expensive because it’s outdated
• PA-RISC 64-bit as more expensive since we have less skills in that area.
You can select each in turn from the list and click “OK”, like this:

Image00012

Click “OK”:

Image00013

On the “Setup Configurations” pop-up, click “OK” again:

Image00014

You can now specify multipliers for each architecture. In this example, we’re leaving our preferred architecture (Intel x86-64) at 1, setting Intel i686 to 2x, PA-RISC 64 bit to 1.5x and other architectures to 3x. Next we can click “Oracle Pluggable Database” to setup configurations for that:

Image00015

Click “Setup Configurations”:

Image00017

Click “Add…”:

Image00018

On the “Add Configuration” pop-up, select “Version” for the “Condition Item”:

Image00019

In this scenario, we want to charge more for clients that have not switched to the latest version of the database as a way of encouraging migration so we set the “Condition Operator” and “Condition Value” to validate that. We could also have chosen to charge more when using paid options like Partitioning and so on. Click “OK”:

Image00020

On the “Setup Configurations” pop-up, click “OK”:

Image00021

Back on the “Create Plan: HR Chargeback Plan” page, we can increase the multiplier for configurations that aren’t on the latest version and click “Save”:

Image00022

Now we have the charge plans configured the way we want, we can also define cost centers that the charges will be assigned to. Cost centers are normally configured in a business hierarchy, so let’s walk through the process of building that. We start by clicking the “Cost Centers” tab:

Image00023

Cost centers can either be imported from an existing LDAP configuration (done via the “Action” menu) or defined in the Chargeback application itself. In this example, we’ll walk through adding them to the Chargeback application. To do this, click “Add”:

Image00024

On the “New Cost Center” pop-up, enter a cost center name and display name, then click “OK”:

Image00025

You can do this as many times as you like. To add a cost center in a business hierarchy, first create a cost center at the top level (as shown above) then create a cost center using the “Member of” radio button and select the relevant top level cost center, as shown here:

Image00026

Once you have defined all the cost centers you need, the next step is to add the relevant entities. An entity is either a target in Enterprise Manager, or a custom resource that has been added to Enterprise Manager. Custom resources can include target types for which there is no current out-of-the-box Chargeback support (covered in more detail in the documentation). To add entities, click the “Entities” tab:

Image00027

Click “Add Entities”:

Image00028

This will start the “Add Entities” wizard. Click “Add” to select targets for chargeback:

Image00029

Firstly, we want to add hosts. To search for hosts to add, deselect “All” and select “Host” from the “Target Type” dropdown:

Image00030

From the list of hosts, select one or more hosts to add as an entity and click “Select”:

Image00031

On the Make Assignments wizard step, select the entity name and click “Assign Plan”:

Image00032

Select “HR Chargeback Plan” and click “OK” to add the chargeback plan to this host:

Image00033

To add a cost center to this host, click “Assign Cost Center”:

Image00034

Select the relevant cost center and click “OK”:

Image00035

Back on the “Make Assignments” step, click “Next”:

Image00036

Review the settings and if they are correct, click “Submit”:

Image00037

You can walk through the same process to add one of the container databases and a PaaS zone as well.

NOTE: If you add a PaaS zone, everything inside the zone automatically gets added, so you don’t need to add items individually as I’ve shown here. If you’re not adding a PaaS zone, then you still need to add items individually.

Once that has been done, you can schedule an on-demand data collection to start seeing the information for these entities in the Chargeback application. To do that, select “On-demand data collection” from the “Action” dropdown menu:

Image00038

Click “Yes” on the “Confirmation” pop-up:

Image00039

In the “Information” message, click “here” to view the job status:

Image00040

Once the job status changes to “1 Succeeded”, click on “Enterprise” then “Chargeback”:

Image00041

You should see information being collected both in the “Summary” and “Usage Trends” regions:

Image00042

It might seem like a very long-winded setup, but in reality Chargeback only takes you a short time to configure. Of course, once it’s configured you then have all the joys of getting money out of the end clients for their resource usage – good luck with that one, I can’t help you there! :)

Roll up! Roll up! Nothing new to see here! (Database Web Services)

Over the years I’ve written loads of stuff about consuming and publishing web services directly from the database. I’ve been doing quite a bit of this at work recently and I realised how difficult it is to find all the pieces, since they are spread across multiple articles, spanning multiple database versions. In an attempt to give a single point of entry I’ve written this very brief article.

It’s really more of a links page. :)

If you are new to the idea of using the database for web services, it might come as a surprise what you can do without having to turn to the dark side (middleware). :)

Cheers

Tim…

Update: This is new on my website though. :)


Roll up! Roll up! Nothing new to see here! (Database Web Services) was first posted on October 16, 2014 at 9:22 pm.
©2012 "The ORACLE-BASE Blog". Use of this feed is for personal non-commercial use only. If you are not reading this article in your feed reader, then the site is guilty of copyright infringement.

DevOps and Databases?

I’m super looking forward to next weeks DevOps Enterprise Summit in San Francisco. You might ask “Why?!” since I’m a database guy and not a DevOps guy.  I can understand that reaction.

I don’t know about you, but when I hear the term DevOps I have to roll my eyes and think “oh, the latest greatest tech industry buzzword.” So why would I as a DBA care about DevOps? With DevOps, as with most tech industry buzzwords, there is actually a worthy idea at the kernel. The kernel of DevOps has two parts.

  1. communication
  2. automation

The first part is changing company culture seeking to improve communication, understanding, empathy and create bridges between teams in different silos in development and operations to improve efficiencies. The second part of DevOps is using the best methods and tools to enable automation. With better communication between groups including fast feedback loops to track the impact of changes quickly and automated tools to rollout changes quickly DevOps can profoundly improve the efficiency of companies.

How can a DBA help bring DevOps culture to a company 

It’s true though, that the best tools will have no effect if there is not a culture in place that can adopt the new tools. On the other hand the best culture can only go so far with out the best tools. Introducing tools and methods is often the best way to facilitate making changes in culture. What is the best tool that a DBA can bring to his organization that facilitates not only automation but to improve communication and culture. That tool is data virtualization.

Why is data virtualization key to DevOps and databases?

First what is the goal of DevOps? It’s to improve efficiencies by bringing development closer to operations, i.e. IT. Bringing Dev and Ops closer together means better communication, better understanding and more efficient interactions. What kind of interactions do Dev and Ops have? Well developers are creating new applications and features that have to be deployed into production. In order to create and deploy applications, developers require copies of the production environment. The hardest part of creating a copy of the production environment is creating a copy of the production database. The database is the largest amount of data in the environments and also the most complicated part to copy as it requires special tools and procedures to copy. The copies often require masking which leads to more complexity. All of this means that making copies of databases becomes the bottleneck in development and production deployment. To deploy applications into production requires thorough QA testing of code and not only testing of code but testing of the actual rollout process. All of this QA and testing requires more environments and again.

As Gene Kim author on The Phoenix Project said, the number one bottleneck in application development is supplying development and QA environments.

What if with one simple stroke one could provide all the environments they wanted at the push of a button for almost no storage and the interface was so simple with secure logons that developers and QA could provision, rollback, refresh, bookmark, rewind full environments themselves. Thats what Delphix does. Simply bringing in Delphix makes a paradigm shift easy. Yes, Dev and Ops still have to work together to adopt the processes that Delphix provides but when the processes are so powerful and  so easy then shifting company culture becomes possible. Shifting Dev and Ops to DevOps even becomes possible in the largest of enterprise companies which are the most daunting cultures to bring into the DevOps movement.

After bring in Delphix to a 100 of the Fortune 500 we’ve seen case after case of application development teams doubling output, reducing bugs and creating higher quality code.

If you are at DevOps Enterprise Summit next week come visit the Delphix booth and stop by and say “hi” and find out how Delphix can eliminate the biggest constraints in application development and put a jet pack on your projects.

Kicking off the summit will be Gene Kim (IT Revolution) + Steve Brodie (Electric Cloud)!

 

 

Screen-Shot-2014-10-16-at-6.40.23-AM

Patching Time

Just a quick note to point out that the October PSU was just released. The database has a few more vulnerabilities than usual (31), but they are mostly related to Java and the high CVSS score of 9 only applies to people running Oracle on windows. (On other operating systems, the highest score is 6.5.)

I did happen to glance at the announcement on the security blog, and I thought this short blurb was worth repeating:

In today’s Critical Patch Update Advisory, you will see a stronger than previously-used statement about the importance of applying security patches. Even though Oracle has consistently tried to encourage customers to apply Critical Patch Updates on a timely basis and recommended customers remain on actively-supported versions, Oracle continues to receive credible reports of attempts to exploit vulnerabilities for which fixes have been already published by Oracle. In many instances, these fixes were published by Oracle years ago, but their non-application by customers, particularly against Internet-facing systems, results in dangerous exposure for these customers. Keeping up with security releases is a good security practice and good IT governance.

The Oracle Database was first released in a different age than we live in today. Ordering physical parts involved navigating paper catalogs and faxing order sheets to the supplier. Physical inventory management relied heavily on notebooks and clipboards. Mainframes were processing data but manufacturing and supply chain had not yet been revolutionized by technology. Likewise, software base installs and upgrades were shipped on CDs through the mail and installed via physical consoles. The feedback cycle incorporating customer requests into software features took years.

Today, manufacturing is lean and the supply chain is digitized. Inventory is managed with the help of scanners and real-time analytics. Customer communication is more streamlined than ever before and developers respond quickly to the market. Bugs are exploited maliciously as soon as they’re discovered and the software development and delivery process has been optimized for fast response and rapid digital delivery of fixes.

Here’s the puzzle: Cell phones, web browsers and laptop operating systems all get security updates installed frequently. Even the linux OS running on your servers is easy to update with security patches. Oracle is no exception – they have streamlined delivery of database patches through the quarterly PSU program. Why do so many people simply ignore the whole area of Oracle database patches? Are we stuck in the old age of infrequent patching activity even though Oracle themselves have moved on?

Repetition

For many, it just seems overwhelming to think about patching. And honestly – it is. At first. The key is actually a little counter-intuitive: it’s painful, so you should in fact do it a lot! Believe it or not, it will actually become very easy once you get over the initial hump.

In my experience working at one small org (two dba’s), the key is doing it regularly. Lots of practice. You keep decent notes and setup scripts/tools where it makes sense and then you start to get a lot faster after several times around. By the way, my thinking has been influenced quite a bit here by the devops movement (like Jez Humble’s ’12 berlin talk and John Allspaw’s ’09 velocity talk). I think they have a nice articulation of this basic repetition principle. And it is very relevant to people who have Oracle databases.

So with all that said, happy patching! I know that I’ll be working with these PSUs over the next week or two. I hope that you’ll be working with them too!

Patching Time

Just a quick note to point out that the October PSU was just released. The database has a few more vulnerabilities than usual (31), but they are mostly related to Java and the high CVSS score of 9 only applies to people running Oracle on windows. (On other operating systems, the highest score is 6.5.)

I did happen to glance at the announcement on the security blog, and I thought this short blurb was worth repeating:

In today’s Critical Patch Update Advisory, you will see a stronger than previously-used statement about the importance of applying security patches. Even though Oracle has consistently tried to encourage customers to apply Critical Patch Updates on a timely basis and recommended customers remain on actively-supported versions, Oracle continues to receive credible reports of attempts to exploit vulnerabilities for which fixes have been already published by Oracle. In many instances, these fixes were published by Oracle years ago, but their non-application by customers, particularly against Internet-facing systems, results in dangerous exposure for these customers. Keeping up with security releases is a good security practice and good IT governance.

The Oracle Database was first released in a different age than we live in today. Ordering physical parts involved navigating paper catalogs and faxing order sheets to the supplier. Physical inventory management relied heavily on notebooks and clipboards. Mainframes were processing data but manufacturing and supply chain had not yet been revolutionized by technology. Likewise, software base installs and upgrades were shipped on CDs through the mail and installed via physical consoles. The feedback cycle incorporating customer requests into software features took years.

Today, manufacturing is lean and the supply chain is digitized. Inventory is managed with the help of scanners and real-time analytics. Customer communication is more streamlined than ever before and developers respond quickly to the market. Bugs are exploited maliciously as soon as they’re discovered and the software development and delivery process has been optimized for fast response and rapid digital delivery of fixes.

Here’s the puzzle: Cell phones, web browsers and laptop operating systems all get security updates installed frequently. Even the linux OS running on your servers is easy to update with security patches. Oracle is no exception – they have streamlined delivery of database patches through the quarterly PSU program. Why do so many people simply ignore the whole area of Oracle database patches? Are we stuck in the old age of infrequent patching activity even though Oracle themselves have moved on?

Repetition

For many, it just seems overwhelming to think about patching. And honestly – it is. At first. The key is actually a little counter-intuitive: it’s painful, so you should in fact do it a lot! Believe it or not, it will actually become very easy once you get over the initial hump.

In my experience working at one small org (two dba’s), the key is doing it regularly. Lots of practice. You keep decent notes and setup scripts/tools where it makes sense and then you start to get a lot faster after several times around. By the way, my thinking has been influenced quite a bit here by the devops movement (like Jez Humble’s ’12 berlin talk and John Allspaw’s ’09 velocity talk). I think they have a nice articulation of this basic repetition principle. And it is very relevant to people who have Oracle databases.

So with all that said, happy patching! I know that I’ll be working with these PSUs over the next week or two. I hope that you’ll be working with them too!

Patching Time

Just a quick note to point out that the October PSU was just released. The database has a few more vulnerabilities than usual (31), but they are mostly related to Java and the high CVSS score of 9 only applies to people running Oracle on windows. (On other operating systems, the highest score is 6.5.)

I did happen to glance at the announcement on the security blog, and I thought this short blurb was worth repeating:

In today’s Critical Patch Update Advisory, you will see a stronger than previously-used statement about the importance of applying security patches. Even though Oracle has consistently tried to encourage customers to apply Critical Patch Updates on a timely basis and recommended customers remain on actively-supported versions, Oracle continues to receive credible reports of attempts to exploit vulnerabilities for which fixes have been already published by Oracle. In many instances, these fixes were published by Oracle years ago, but their non-application by customers, particularly against Internet-facing systems, results in dangerous exposure for these customers. Keeping up with security releases is a good security practice and good IT governance.

The Oracle Database was first released in a different age than we live in today. Ordering physical parts involved navigating paper catalogs and faxing order sheets to the supplier. Physical inventory management relied heavily on notebooks and clipboards. Mainframes were processing data but manufacturing and supply chain had not yet been revolutionized by technology. Likewise, software base installs and upgrades were shipped on CDs through the mail and installed via physical consoles. The feedback cycle incorporating customer requests into software features took years.

Today, manufacturing is lean and the supply chain is digitized. Inventory is managed with the help of scanners and real-time analytics. Customer communication is more streamlined than ever before and developers respond quickly to the market. Bugs are exploited maliciously as soon as they’re discovered and the software development and delivery process has been optimized for fast response and rapid digital delivery of fixes.

Here’s the puzzle: Cell phones, web browsers and laptop operating systems all get security updates installed frequently. Even the linux OS running on your servers is easy to update with security patches. Oracle is no exception – they have streamlined delivery of database patches through the quarterly PSU program. Why do so many people simply ignore the whole area of Oracle database patches? Are we stuck in the old age of infrequent patching activity even though Oracle themselves have moved on?

Repetition

For many, it just seems overwhelming to think about patching. And honestly – it is. At first. The key is actually a little counter-intuitive: it’s painful, so you should in fact do it a lot! Believe it or not, it will actually become very easy once you get over the initial hump.

In my experience working at one small org (two dba’s), the key is doing it regularly. Lots of practice. You keep decent notes and setup scripts/tools where it makes sense and then you start to get a lot faster after several times around. By the way, my thinking has been influenced quite a bit here by the devops movement (like Jez Humble’s ’12 berlin talk and John Allspaw’s ’09 velocity talk). I think they have a nice articulation of this basic repetition principle. And it is very relevant to people who have Oracle databases.

So with all that said, happy patching! I know that I’ll be working with these PSUs over the next week or two. I hope that you’ll be working with them too!

Oracle fanboy and blind to the truth?

I had a little exchange with someone on Twitter last night, which was initiated by him complaining about the cost of Oracle and predicting their demise. Once that was over I spent a little time thinking about my “fanboy status”.

If you know anything about me, you will know I’m an Oracle fanboy. I’ve spent nearly 20 years doing this stuff and the last 14+ years writing about it on the internet. If I wasn’t into it, it would be a pretty sorry state of affairs. So does that mean I’m totally blinded like all those Apple fanboys and fangirls? No. I just don’t choose to dwell on a lot of the negative and instead focus on the positive, like the cool bits of tech. The common topics I hear are:

  • Oracle costs too much : I could bleat on about the cost of Oracle and what features are missing from specific editions, but quite frankly that is boring. Unless you’ve been under a rock for the last 35+ years you should know the score. If it’s got the name Oracle associated with it, it’s probably going to be really expensive. That’s why people’s jaws drop when they find out Oracle Linux is free. They are just not used to hearing the words Oracle and free in the same sentence. If you want free or cheap, you can find it. What people often don’t consider is total cost of ownership. Nothing is ever free. The money just gets directed in different ways.
  • The cheap/free RDBMS products will kill Oracle : This talk has been going on since I started working with Oracle 20 years ago. It used to worry me. It doesn’t any more. So far it hasn’t materialized. Sure, different products have eaten into the market share somewhat and I’m sure that will continue to happen, but having a headstart over the competition can sometimes be a significant advantage. I work with other RDBMS products as well and it is sometimes infuriating how much is missing. I’m not talking about those headline Oracle features that 3 people in the world use. I’m talking about really simple stuff that is missing that makes being a DBA a total pain in the ass. Typically, these gaps have to be filled in by separate products or tools, which just complicates your environment.
  • It’s just a bit bucket : If your company is just using the database as a bit bucket and you do all the “cool” stuff in the middle tier, then Oracle databases are probably not the way to go for you. Your intellectual and financial focus will be on the middle tier. Good luck!
  • But company X use product Y, not Oracle : I’m so bored of this type of argument. Facebook use MySQL and PHP. Yes, but they wrote their own source code transformer (HipHop) to turn PHP into C++ and they use so much stuff in front of MySQL (like Memcached) that they could probably do what they do on top of flat files. Companies talk about their cool stuff and what makes them different. They are not so quick to talk about what is sitting behind the ERP that is running their business…
  • NoSQL/Hadoop/Document Stores will kill RDBMS : Have you ever had a real job in industry? Have you ever done anything other than try to write a twitter rip-off in Ruby for your school project? Do you know how long it took COBOL to die? (it still isn’t dead by the way). There is a massive investment in the I.T. industry around relational databases. I’m not saying they are the perfect solution, but they aren’t going anywhere in the near future. Good luck running your ERP on any of these non-RDBMS data stores! What has changed is that people now realise RDBMS is not the right solution for every type of data store. Using the right product for the right job is a good thing. There are still plenty of jobs where an RDBMS is the right tool.
  • The cloud will kill Oracle : The cloud could prove to be the biggest spanner in the works for many IT companies. If we start using cloud-based services for everything in the Software as a Service (SaaS) model, who cares what technology sits behind it? Provided our applications work and they meet our SLAs, who cares how many bodies are running around like headless chickens in the background to keep the thing running? For Platform as a Service (PaaS) and Infrastructure as a Service (IaaS), I don’t think cloud makes so much of a difference. In these cases, you are still picking the type of database or the type of OS you need. They are not hidden from you like in the SaaS model. I guess the impact of cloud will depend on your definition of cloud and route the market eventually takes. What people also seem to forget is the big winners in the cloud game will be the big companies. When the world is only using SaaS, you are going to have to work for Amazon, Oracle, Microsoft etc. if you want to be a techie. The ultimate goal of cloud is consolidation and centralisation, so you will have to work for one of these big players if you want to be anything other than a user. I find it interesting that people are betting on the cloud as a way of punishing the big companies, when actually it is likely to help them and put us folks out of business…

The post has got a bit long an tedious, so I’m going to sign off now.

In conclusion, yes I’m a fanboy, but I’m not oblivious to what’s going on outside Oracle. I like playing with the tech and I try to look on the positive side where my job-related technology is concerned. If I focussed on the negative I would have to assume that Oracle is doomed and we will all die of Ebola by the end of the week…

Cheers

Tim…

 


Oracle fanboy and blind to the truth? was first posted on October 15, 2014 at 9:46 am.
©2012 "The ORACLE-BASE Blog". Use of this feed is for personal non-commercial use only. If you are not reading this article in your feed reader, then the site is guilty of copyright infringement.