Oracle DBA – A lifelong learning experience

Windows XP source code leak could lead to problems

Posted by John Hallas on September 29, 2020

The first line of the link below is a little dramatic “Source code for Windows XP and Windows Server 2003 has leaked publicly for the first time. The gate for cybercriminals is wide open”, however once again we, as IT Professionals, should ensure our environments are fully upgraded and patched.

No need to add more as the article is well-written


Windows XP Source Code Leak Could Lead to Disaster

Posted in security | Leave a Comment »

Response to Make database simpler

Posted by John Hallas on January 27, 2020

I read an interesting and thought provoking blog this morning Make Oracle database simple again 

Much of is is common sense and is really best practise – naming conventions, using scripts, standard setup etc.

However there were a few ideas I thought were worth commenting on

  • Avoid virtualization: without talking about the license, virtualization is for sure underlying complexity

The obvious reason to avoid virtualisation is to keep out of the nightmare of managing licenses in such an environment. However Jerome Dubar specifically states that is not the reason.  The problem is that he does not give a strong justification as to why not virtualise. If managed well it can be very cost effective.

  • Don’t use ASM: because ext4 is fine and SSDs now bring you maximum performance even on a classic filesystem. ASM will always be linked to Grid Infrastructure making dependencies between the DB Homes and that Grid stack, making patching much more complex

That is an interesting comment and I think that again it could be expanded. Certainly removing the Grid stack would remove complexity but I am not sure that SSD is appropriate for everyone or even removing SAN as mentioned earlier in the article.

  • Don’t use RAC

An absolute no-brainer. Enough said.


Overall it is a good article but I do think it is targeted at SME sites and not larger organisations.





Posted in Oracle | Leave a Comment »

Oracle executives being sued by the St Louis Fireman’s retirement fund

Posted by John Hallas on September 25, 2019

In May 2017 the St Louis Firemans pension fund started a case against Larry Ellison and other executives over the purchase of Netscape.

They allege that Oracle paid an over-inflated price for Netsuite and the point of contention is that Larry Ellison and trusted related to his family members were the majority shareholders in Netscape.

The House of Brick – which is a newsletter well worth subscribing to  – have documented the case in great detail and if interested this is the blog to read

It makes very interesting reading and I am following the case with interest


Posted in Oracle | 2 Comments »

A change of career after 29 years working with Oracle databases

Posted by John Hallas on July 1, 2019

I have worked with Oracle since the early 90’s. I did work on V6 but I do not remember that much about it. V7.3 was were I had a big learning curve. This book was the mainstay of my life at that time.

In recent years I have diversified into managing teams across a number of areas including SQLServer, Middleware (ODI, SOA, JMS, Weblogic), System Management and others. I have been quite involved in both Oracle and Microsoft licensing which leads me neatly onto my new role.

I have now moved to being the Software Asset Manager for my company and I am also taking the opportunity to move to a 3 day week. For someone who started work at 16 and has never had any time out to suddenly have 2 days a week free is quite momentous.

I am really enthused by the new opportunity and will definitely involve myself as deeply as possible in trying to understand the nuances of managing software across a large organisation.

One of the nicer aspects is that I will no longer be on-call or expected to be contactable in the event of production issues. I have probably been on call for at least 20 of the 29 years – possibly more

I have not updated this blog that much in the last 6 months or so and I think new posts will be infrequent going forward but I will still be working with the DBA team so if I hear of any interesting activities I will post them up.


Posted in Oracle, SAM | 4 Comments »

Oracle car parking

Posted by John Hallas on June 17, 2019

I have been involved over the years with both Microsoft SQL Server licensing and Oracle licensing management and the following image made me chuckle.

Produced by House of Brick who have a lot of interesting content about license management





Posted in Licensing, Oracle | Leave a Comment »

A setup to test backup and restore options

Posted by John Hallas on December 3, 2018

A couple of years my team put together some procedures and the underlying databases to allow testing of as many RMAN recovery options as we could think of. We had two databases which gave us a Dataguard capability and we secured both databases using Commvault backups so we always had a clean starting point. Each team member had a training objective to complete the course and we all thought it was an excellent refresher process.   As I recall Hamid Ansari did most of the work and I should mention him if I mention the output.


I noticed today that Francisco Munoz Alvarez has provided a script which does very much the same thing and I can only applaud the idea. I don’t think his script covers Dataguard but no doubt it could.  His web page Crash Simulator is where the script can be found. I will be looking at this myself in the next few days.

Posted in RMAN, scripts | Tagged: , , | Leave a Comment »

Modifying a datafile within Amazon AWS

Posted by John Hallas on October 5, 2018

Amazon restrict access to the SYS user within AWS instances for safety and security reasons  – the safety aspect being that users cannot be trusted to not cause self-harm!

Wishing to increase or add a datafile to a tablespace is not allowed directly and you have to use the API “rdsadmin.rdsadmin_util” to manage this and other functions.

These functions are listed in here  and a further page provides some good examples

One little workaround which I found useful and have used in the past on ‘on-premise’ databases is to use the ‘alter tablespace TS1 resize 50G;’ format which is quite useful if it is a bigfile tablespace and therefore only has one datafile. In that way you do not have to specify a file name or use the ‘ALTER DATAFILE’ format which is restricted by AWS.


Posted in AWS | Leave a Comment »

Oracle Cloud Total Cost of ownership Calculator – rather confusing

Posted by John Hallas on August 1, 2018

I was interested enough to try out the Oracle  TCO calculator that I was sent an email about. I can honestly say it has rather confused me in what it is comparing and how the results are calculated.

I will share a few screen shots and I will take you through my thoughts

I put a dummy company name in and my country – bizarrely it does not auto select the currency.

I then hit enter and waited and waited as I had to with every screenshot I show. I must admit that  trying this a few times performance was sometimes acceptable but when it was slow it was very slow. I then get the fantastic news that moving to the Cloud could save me £403K over 3 years. I had my credit card out and was ready to sign-up.

The basics of my comparison were shown assuming that I had was using 12Tb of storage and 24 cores. I then looked at the detailed savings

Firstly we have gone from using 12Tb storage to only 4Tb, although interestingly the 4Tb in the Cloud costs not far short of the on-premise 12Tb. We have also reduced from 24 cores to only 8 cores. Perhaps Oracle could just come on-site and sprinkle the magic dust that shrinks data and reduces processing requirements and we wouldn’t need to move to the Cloud.

Each of the lines on the diagram can be viewed in more detail and adjustments made. The network component shows that there is zero cost for running in the Cloud but I assume that data will have to be loaded into the database via some form of network load.

Overall as a calculator it is well laid out but I found the like for like comparisons to be rather not like for like.


The link for anyone to try it is


Posted in Oracle | Leave a Comment »

12C Grid – GENO process causes high CPU usage

Posted by John Hallas on July 11, 2018

This is an interesting bug which has affected a number of our databases  – perhaps because we are not patched to the latest levels in every case.
The MoS note is this one – Patch 20373598: GEN0 TIMEOUT ACTION ALWAYS TRY TO INITIALIZE OCR CONTENT    p20373598_121022_Linux-x86-64
fixed in Bug 22291127 (Apr 2016) Database Patch Set Update (DB PSU)
Here is view of top showing how a server looks when it is affected, and a list of servers running 12c grid home below the Apr 2016 PSU patch level.
If the server has loads of cores assigned the overall effect will be small as seen here, CPU shows as 2.8% used
Tasks: 618 total,   3 running, 614 sleeping,   0 stopped,   1 zombie
Cpu(s):  2.8%us,  0.2%sy,  0.0%ni, 96.8%id,  0.2%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  198475784k total, 80283568k used, 118192216k free,  4491100k buffers
Swap: 41680876k total,        0k used, 41680876k free, 56391976k cached

44361 oracle    20   0 4225m 2.8g  18m R 99.6  1.5 753924:28 asm_gen0_+ASM
24347 root      20   0  448m 5536 1348 S  4.9  0.0   7480:21 /usr/sbin/collectd -C /etc/collectd.conf -f
68317 oracle    20   0 50.3g 182m 166m S  3.3  0.1   3052:05 ora_pr00_OEMPRD2A
66023 oracle    -2   0 50.3g  19m  17m S  2.3  0.0   1113:44 ora_vktm_OEMPRD2A
34357 oracle    -2   0 1405m  17m  15m S  2.0  0.0  17424:26 asm_vktm_+ASM
67399 oracle    20   0 50.4g  99m  38m S  2.0  0.1   1885:56 oracleOEMPRD2A (LOCAL=NO)

This SQL is a useful way to identify which servers require patching assuming you are using OEM

host_name not in (
select host_name 
where patch_id in ('22291127','20373598'))
and home_location like '%12%grid'
and description like '%Database Patch Set Update%'
order by 1,4

Posted in Oracle | Tagged: , | Leave a Comment »

Creating a database link using a tnsnames entry

Posted by John Hallas on December 29, 2017

I have had this in my draft posts for a couple of weeks and I refrained from publishing because it was too simple.

However the main purpose of this post is to help others save time by providing useful information. The secondary purpose of to remind myself how I overcame whatever problem is being covered.

A user did not have permissions to edit the tnsnames.ora file on a server so I created the database link for him to use the connect description, thereby circumventing the need for an update to the tnsnames.ora file.

I prefer database links to be named to show the database they connect to, however in this case they wanted a standard name which is used in code and can be used across all the environments.

 create database link ebsdev connect to remote_username  identified by password using
(ADDRESS = (PROTOCOL = TCP)(HOST = servername)(PORT = 1531))
select ‘x’ from dual@ebsdev;

Posted in Oracle | Leave a Comment »