Hey DBA, install/update APEX!

I recently got a question about APEX, which in itself is kind-of funny as it’s a case of the blind leading the blind, but as a result of that question it became apparent the poster was running a very old version of APEX. My first reaction was “Dude, you really need to upgrade!”. It was at that point I was hit with a line I’ve heard a lot over the years.

“Our DBA(s) won’t install/upgrade APEX!”

This gets on my nerves for a few reasons.

  • APEX is a free (no cost option?) tool. Why would you not take advantage of it if it fits your purpose?
  • Even if you don’t want to use APEX directly, it comes with some useful code. I use the APEX_JSON, APEX_WEB_SERVICE, APEX_DATA_PARSER, APEX_ZIP and APEX_MAIL packages all the time from PL/SQL. Why would you hinder your PL/SQL developers by not giving them access to useful stuff?
  • If you already have APEX installed, why would you possibly think it is good to run an old version? Like any other piece of software the upgrades include bug fixes, not just new functionality. Are you really happy about running with un-patched functionality?
  • Of course the newer versions have improved functionality, which is just nice to have. 🙂

I guess I can kind-of understand companies/people who don’t want to install an extra product into the database as it’s another thing to manage, but I really don’t understand people running old versions. I see nothing but disadvantages in that…

So back to the title of this post, “Hey DBA, install/upgrade APEX!”



Amazon Web Services (AWS) : That’s Customer Service!

If you were reading my Twitter stream about 11 days ago you will have seen me tweet the following message.

That feeling when your reserved instance ran out and you didn’t realise. 🙁

The story was I logged into AWS and noticed the reserved instance for my website had expired about a month and a half before. For those that don’t know, buying reserved instances reduces your compute costs because you are committing to some resource usage over an extended period of time. There are various combinations of time, up-front payment, instance type and region that save you different amounts of cash… Once I noticed it had expired I bought a new reserved instance and thought no more of it.

Fast forward to this weekend and I checked my “EC2 Reserved Instance Utilization Report”, to make sure my actual instance was using my reserved instance allocation and I was not getting overcharged. The default screen suggested that I wasn’t using my reserved instance, which left me kind-of vexed. I checked the settings and noticed the reserved instance had been bought at “Region” level, rather than for my “Availability Zone”, which is “EU (Ireland)”. I reset it to my availability zone and decided to investigate…

What I noticed was visiting the EC2 reports was flipping my region settings from “EU (Ireland)” to “Global”. When I next visited any EC2 screen my region was flipped from “Global” to “US East (N. Virginia)”.

I reported this to AWS and got a message back suggesting this was impossible. I recorded a video of it and sent that. I also reached out on Twitter and it seems I’m not the only person able to reproduce this bug. After several more interactions with support, it seemed this was the only “Global” service that was having this issue. When I switched to IAM or S3 and back to EC2 I remained in the proper region…

At this point I was feeling a little miffed that I had lost out on 9 days of reserved instance pricing, so I asked for the difference to be refunded. I accepted the 40+ days where I had no reserved instance were my fault… I also made some suggestions about reserved instance notifications and proper buy-the-same-again functionality, that would really help in this situation.

After a few minutes I got a little paranoid and though I ought to double-check that my reserved instance wasn’t being used, so I had a little play around with reporting and noticed the default report (a summary) was not showing it, but if I flipped to a report with finer granularity I could see the reserved instance was being used, which in itself seemed a little odd. I wrote back to support and asked them to ignore my request for the 9 day refund as the reserved instance was being used. As far as I was concerned, the situation was over now as I had not lost out on any money due to this interface bug.

A little while later I got a message from support confirming my reserved instance was indeed being used, so I had not lost out over those 9 days, but they also refunded the difference between the reserved instance pricing and the full price I paid for the month and a half where I had no reserved instance! Wow! I really didn’t expect that!

In financial terms, the refund is nothing to Amazon, or me for that matter, but that sort of gesture is fantastic from a customer service perspective. I instantly switched from being a little annoyed by the whole situation to wanting Amazon to marry my daughter (Heli). 🙂

Before last year’s Oracle OpenWorld I wrote a post called “Oracle : Tech Company or Service Company?“, where I discussed what I think Oracle need to do to compete with the other cloud providers. I can’t imagine Oracle resolving an incident like this so quickly, at the weekend, which resulted in giving me some money I probably didn’t deserve. I hope someone from Oracle reads this post and registers the fact this is what you are competing with!



Database Smart Flash Cache on which OS (OL5, OL6, OL7)?

I got a DM from someone a couple of days ago asking me to try the Database Smart Flash Cache (DSFC) feature on a few combinations of DB version and OS version.

You are probably thinking, why bother? Both Oracle 12.1 and Oracle 12.2 are supported on a variety of Oracle Linux versions, so it works on all of them right? Wrong…

  • Oracle 12.1 : DSFC works on OL5 and OL6, but it doesn’t work on OL7.
  • Oracle 12.2 : DSFC works on OL6 and OL7. I haven’t tried it on OL5. 🙂

So if you want to use this feature in Oracle 12.1 on OL7 you are out of luck. When you start the instance you will see this.

$ sqlplus / as sysdba

SQL*Plus: Release Production on Fri Aug 11 22:43:32 2017

Copyright (c) 1982, 2014, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup
ORA-00439: feature not enabled: Server Flash Cache

If you check the alert log you will see this.

$ cat alert_cdb3.log
Fri Aug 11 22:43:37 2017
Starting ORACLE instance (normal) (OS id: 4842)
Fri Aug 11 22:43:37 2017
CLI notifier numLatches:3 maxDescs:519
Fri Aug 11 22:43:37 2017
Fri Aug 11 22:43:37 2017
Dump of system resources acquired for SHARED GLOBAL AREA (SGA) 

Fri Aug 11 22:43:37 2017
 Domain name: user.slice
Fri Aug 11 22:43:37 2017
 Per process system memlock (soft) limit = 128G
Fri Aug 11 22:43:37 2017
 Expected per process system memlock (soft) limit to lock
 SHARED GLOBAL AREA (SGA) into memory: 1536M
Fri Aug 11 22:43:37 2017
 Available system pagesizes:
  4K, 2048K 
Fri Aug 11 22:43:37 2017
 Supported system pagesize(s):
Fri Aug 11 22:43:37 2017
Fri Aug 11 22:43:37 2017
        4K       Configured          393219          393219        NONE
Fri Aug 11 22:43:37 2017
 Reason for not supporting certain system pagesizes: 
Fri Aug 11 22:43:37 2017
  2048K - Dynamic allocate and free memory regions
Fri Aug 11 22:43:37 2017
Initial number of CPU is 2
Number of processor cores in the system is 2
Number of processor sockets in the system is 1
Picked latch-free SCN scheme 3
db_flash_cache_file and db_flash_cache_size is not supported on this platform

This failure is consistent across multiple OL7 versions, including 7.4. It is also consistent across 12.1 versions, up to and including the July 2017 updates.

Well that’s annoying. 🙂



PS. I am aware there is a hack to make this work on other Oracle Linux versions, and even on other Linux distributions. My point is this shouldn’t be necessary if they just fixed the offending greps which are visible in the strace during startup. 🙂

Update: Kevin Closson wrote in the comments, “OEL7 support has been added after bug 19504946, which went into to but not the initial release nor PSU”.

What Employers Want : Stop Making the Same Mistakes

This isn’t so much what employers want, as some observations about mistakes I see people make all the time. Think of it as ways to avoid wasting time and making yourself look stupid!

  • Do your research. Know what you are applying for and who you are applying too.
  • Apply to a company in the appropriate way, typically described on their website. If you don’t use their preferred channels, you’ve probably wasted your time.
  • As an example of the previous point, many companies in the UK only employ via agencies, often having exclusive deals with those agencies. They will typically make this clear on their websites.
  • Tailor your resume and covering letter for each specific application, emphasising the relevant and de-emphasising the irrelevant for that role. One size fits all is not your best approach.
  • Your LinkedIn profile can be useful, but by it’s nature it is general. Don’t send a CV only to have it contradicted by what you say on LinkedIn.
  • Don’t bullshit! It’s so obvious.
  • Don’t send an email saying things like, “Got any jobs? Check out my LinkedIn profile!” You’ve just made a bad impression by clearly not doing your research, and probably deselected yourself!
  • Don’t contact people (like me) that clearly don’t employ people and ask for a job. Your lack of research makes you look stupid.
  • Companies will often Google you to find out more about you. If your social media is full of pictures and videos of you drunk and mooning at the camera, or you publish controversial material and opinions you are probably not going to get the job. Definitely don’t trash previous companies or colleagues. Clean up your public presence as best you can.

Check out the rest of this series here.



What Employers Want : Make Yourself Stand Out

If a job is worth applying for, lots of other people will be applying for it as well. What makes you stand out?

If you’ve taken on board some of the previous posts you already know about qualifications, enthusiasm, self-sufficiency, communication skills, confidence etc. If you’ve got those things down, you are on the right path, but what else can you do? Here are some of my opinions…

Blog : Over the course of your career you should keep writing about your subject. It will improve you as an individual and it’s public evidence that you take an interest in your subject. Over time it will improve your confidence when it comes to written work. If you do it for long enough you may even be able to build a profile for yourself, which may open doors for you. Just remember that not every company is populated by people who follow what’s happening in the community. There are no guarantees.

Present : Similar to blogging, this will improve you are a person and make you more confident in group situations, like job interviews and meetings. This could be something you do for colleagues as part of knowledge spreading, or you could venture out into the wider Oracle community, which can be helpful from a networking perspective.

User Groups and Local Meetups : Whether you are a student or already in work, try getting involved with a user group or local meetup in your area. You will learn a lot and you will meet people. Make the effort to interact. Especially at the local meetups, you will hear people speaking about their companies and vacancies etc. I’m not suggesting you turn up and ask for a job, but if you’ve built up a relationship with the people in your local meetup, you may find new opportunities. Networking is important!

Followers of the blog will know I’m rather biased where blogging and public speaking are concerned, but I can’t emphasise enough how this will change you as a person. Invest in yourself and the rest will fall into place!

Remember, if it is a good job you will be in competition with a lot of people for it. What makes you stand out from the crowd? If the answer is nothing, then you have some work to do before you will be able to get a job like that!

Check out the rest of this series here.



What Employers Want : Confidence

Confidence is an attractive quality. When you get as far as the interview stage, the way you present yourself will have a big influence on how you are perceived.

Outwardly, confidence is all about body language. You don’t have to be a confident person to act like you are confident. Confidence can be practiced/faked. Amy Cuddy does a great TED talk about this called “Your body language may shape who you are“. The idea being “fake it until you make it”, or better still, “fake it until you become it”. Take 20 minutes out of your day and watch this video. You will not regret it!

Questions have been raised over the science behind these claims, but I am a firm believer in this. I’m not naturally a confident person. I wasn’t born able to stand in front of hundreds of people and present. It is a skill I’ve worked on, and still do. Over time you adapt and it gets easier. Remember, “fake it until you become it”. 🙂

I have another series devoted to public speaking tips where I discuss this. Unless you’ve practiced speaking in public, how do you hope to present yourself properly in an important interview? If you’ve presented to a few hundred people, sitting in an interview panel will be simple.

Work on your verbal and written skills so you can present yourself in a confident manner, even if you are internally bricking it. 🙂

Check out the rest of this series here.



What Employers Want : Communication Skills

It’s important you can present yourself in a confident and professional manner when it comes to interviews, but this also carries over into a work environment.

Once you get a job you need to be able to communicate effectively with your colleagues and with your customers/users. I know you think your silent genius act makes you look special, but it doesn’t. The initial interaction between humans involves building rapport. It’s kind-of difficult to build rapport with someone who refuses to talk to you and can’t look you in the eye. You need to get your communication skills sorted before you try to enter the job market.

If you are working in IT your written skills will be really important. You will need to communicate with colleagues and customers/users in a concise, but accurate way. People won’t read waffle (TL;DR), but they will demand enough detail to make sense of what you are saying. A quick read through your typical IT forum will make you realise that most people have terrible written skills and are incapable of stringing together a logical argument. You don’t have to be a prize winning novelist, but you need to be able to make yourself understood.

Remember in a previous post I wrote about enthusiasm. It doesn’t matter how enthusiastic you are if you can’t express it!

I’ve written some post on writing tips and public speaking tips. I think this is important for you as someone who is trying to enter the job market, or someone who is trying to move up the ladder. Don’t lose out on an opportunity because you’ve neglected your soft skills!

Check out the rest of this series here.



What Employers Want : Self-Sufficiency

Of the people and companies I spoke to, self-sufficiency was a common thread. They were looking for traits like the following in prospective employees.

  • The ability to learn for themselves. Of course companies will be looking to train you, but they don’t want a wet lettuce that sits waiting for the next handout of knowledge. You have to take some personal responsibility.
  • Willing to make decisions. There are a lot of people who refuse to step up to the plate when someone has got to make decisions. Typically those people will be the first to start moaning when things don’t go as planned. When push comes to shove you have to be willing to get in there and make a decision.
  • Willing to take responsibility for their actions. Sometimes you will make the wrong decision, or make a mistake. It’s important you can recognise your mistake, admit it and move on. Some people will spend incredible amounts of energy trying to hide their mistakes, or prove they were somehow correct. If they just owned up and moved on things would be better for everyone.
  • Willing to ask for help when it is appropriate. As much as you need to be self-sufficient, you need to know when it is right to ask for help. Nobody likes to work with a leach that never takes responsibility for things, but by the same token you don’t want someone to spend weeks figuring out something you could have pointed out to them in a couple of minutes. Finding that balance is important.
  • Never bullshit! I can’t stress enough how important this point is. Saying I don’t know is a perfectly valid response. People can smell bullshit a mile off and it’s going to make you look stupid. Be honest and you won’t have a problem. It takes a surprising amount of confidence to say I don’t know. People will respect you for it! In an interview you can always redirect the question like, “I don’t know, but it sounds similar to X, which I have done…”, so the “I don’t know” becomes an opening into you speaking about something you are good at…

Check out the rest of this series here.



What Employers Want : Enthusiasm

When I looked through the feedback I received from a variety of people and companies I kept seeing the same words and phrases. I think when you read them you will understand why.

  • Enthusiasm
  • Passion
  • Energy
  • Intelligence
  • Fresh thinking
  • Diversity of talent/interest

Companies are not necessarily looking for the finished article. They are looking for people who can adapt, grow and bring something to the company. This is especially true of graduate employees. It’s going to be difficult for you to reach your potential unless you can tick some of these boxes.

When you are applying for a job you have to ask yourself what your application says about you in relation to these points. If your application doesn’t display these traits you’ve failed. If you are not able to display these traits in an interview you’ve failed. We’ll talk about how to show these traits in other posts in the series.

Ultimately, if you are not enthusiastic and passionate about what you do you are going to struggle, but if you are enthusiastic, don’t hide it!

Check out the rest of this series here.