Back in 1993, I discovered that I could get paid money for doing fun stuff with computers.
Over the years, I've specialised in Oracle Databses as a developer, a DBA and sometimes, an architect.
It's my evil alter-ego - The Antikyte - who writes a blog about my various technical adventures.
He reckons it's something to do until we finally get introduced into the Marvel Comic Universe.
I currently live in the South-West of England with Deb, my long-suffering wife.
There’s a bug in DBMS_RANDOM.VALUE. It consistently fails to return the correct set of lotter numbers.
On the plus side, it is surprisingly useful when you find yourself in a situation which is all too common for a Data Warehouse developer.
There’s a requirement for a new feed into your Warehouse from another system. You’ve managed to agree the file specification – what data will be included in the file, datatypes etc, but the developers working on the upstream system won’t be able to start providing test files for loading for weeks yet. Meanwhile, you need to start writing your code to ingest the feed.
Fortunately, you have all the tools available to :
Generate lots of rows of test data
Generate random values for strings, numbers and dates
Use a set of pre-defined values randomly in your data generation
The ongoing Ashes series appears to have become all about comebacks.
First of all we had Steve Smith, in his first test since the end of his Sandpaper-gate ban essaying one of the great feats of sporting redemption.
Then we had Ben Stokes dragging England to a preposterous victory target of 359 having been skittled for 67 in their first innings.
Making a rather more modest comeback in this post is an old EE Bright Box 1 router, which has been gathering dust since I got a replacement a couple of years ago.
What follows is one way to adapt this old piece of kit to extend the WiFi range on a current home network.
I want to do this by creating an additional Wireless Access Point positioned away from the main router.
Re-configure the Database Listener to work with the new server details
Re-configuring ORDS and generating new SSL certificates
The approach I’ve taken is to execute each step on the command line without the need for any interactive input. Therefore, it’s possible to take the steps described here as building blocks for a bash script (or scripts) to accomplish these tasks.
The exception is where I edit the contents of files. If you wanted to automate this, you can use something like…
sed -i s/192.168.56.220/192.168.56.225/g file_to_edit
…for the IP address and…
sed -i s/frea./rincewind./g file_to_edit
…for the hostname where file_to_edit is the file you want to change.
If you’ve found your way here in search of simply changing the hostname and/or the IP address on a CentOS7 server, then you can just skip all the database related stuff and start right here.
By the way, I’ve decided upon a new naming convention for my servers which makes use of Discworld characters. There may be the odd reference to this in what follows…
It should have been quite a relaxing Cricket World Cup final. After all, it was England v New Zealand. I was guaranteed to be on the winning side.
After several hours of nerve-shredding tension had failed to separate the teams England were awarded the trophy on the basis of dumb luck hitting more boundaries. The result was born with stoicism by the Black Caps, whose philosophy would, in other countries, be known as “Elite Niceness”. By a cruel twist of fate, Ben Stokes – England’s star all-rounder and Man of the Match – was actually born in Christchurch.
Oracle APEX has it’s own star all-rounder in the shape of the Editable Interactive Grid ( see what I did there ?)
As well as presenting information in the same way as an Interactive Report, it allows users to perform DML operations on the records it displays – provided it’s based on a single table.
What we’re going to look at here is how to base an Interactive Grid (IG) on a Query rather than a table whilst retaining the ability to perform DML operations on the displayed records. To achieve this, we’ll be customizing the PL/SQL that is executed when a DML operation is invoked in the IG. Continue reading →
I learned a number of things watching the recently concluded Women’s Soccer World Cup.
it is possible for a human body to be fouled in the penalty area without then falling over as if it has just been shot (see Lisa-Marie Utland for Norway against England for proof)
England have developed a happy knack of reaching the Semi-Final of every tournament they enter
Alex Morgan is a tea-drinker
There were some complaints that Morgan’s celebration of her goal against England were disrespectful. Personally, I though it was rather witty. Let’s face it, if she’d really want to stir up some controversy, she’d have mimed putting the milk in first.
That said, she is going to face a challenge at the Olympics next year were she may herself up against a united Great Britain team.
If you’re not up on your sporting geopolitics, Great Britain (for now at least) comprises four nations – England, Wales, Northern Ireland and Scotland.
Should Morgan need to celebrate in a similar vein, the tea will be just the start. She’ll then need to neck a pint of Brains SA (known as “Skull Attack” in Cardiff) followed by a Guinness ( there is no border in Ireland when it comes to the Black Stuff) before moving on to a Scotch single-malt chaser.
Anyone looking for an object lesson in how to up their game could do far worse than have a look at how Oracle Express Edition has evolved from 11g to 18c…
“Hey Megan, how much extra stuff did Oracle squeeze into 18c Express Edition ?”
Using the License documentation for 18c XE and that of 11g XE, I’ve compiled a list of features which are now included in Express Edition but were not in 11gXE.
This is mainly for my own benefit as I keep being surprised when I find another – previously Enterprise Edition only – feature in Express Edition.
I’ve also listed the new stuff that wasn’t previously available in any edition of Oracle 11g.
I want to find out which file is going to hold any trace information generated by my database session. Unfortunately, I keep forgetting the query that I need to run to find out.
Fortunately I’m using SQLcl, which includes the ALIAS command.
What follows is a quick run-through of this command including :
listing the aliases that are already set up in SQLcl
displaying the code that an alias will execute
creating your own alias interactively
deleting an alias
using files to manage custom aliases
Whilst I’m at it, I’ll create the alias for the code to find that pesky trace file too. Continue reading →