Search

Top 60 Oracle Blogs

Recent comments

September 2019

How to enlarge an #Exasol database by adding a node

Adding a cluster node will not only increase the available storage capacity but also the total compute power of your cluster. This scale-out is a quite common operation for Exasol customers to do.

My example shows how to change an existing 2+1 cluster into a 3+0 cluster. Before you can enlarge the database with an active node, this node has to be a reserve node first. See here how to add a reserve to a 2+0 cluster. Of course you can add another reserve node to change from 3+0 to 3+1 afterwards. See here if you wonder why you may want to have a reserve node at all.

Initial state – reserve node is present

I start with a 2+1 cluster – 2 active nodes and 1 reserve node:

ORA-01950 Error on a Sequence

UPDATE: I have updated information for this post and rather than make this one much longer i created a new post - please see ORA-01950 Error on a Sequence - Error on Primary Key Index Wow, its been a while....[Read More]

Posted by Pete On 30/09/19 At 01:42 PM

Negative Offload

At the Trivadis Performance Days 2019 I did a presentation on using execution plans to understand what a query was doing. One of the examples I showed was a plan from an Exadata system (using 11.2.0.4) that needed to go faster. The plan was from the SQL Monitor report and all I want to show you is one line that’s reporting a tablescan. To fit the screen comfortably I’ve removed a number of columns from the output.

The report had been generated while the statement was still running (hence the “->” at the left hand edge) and the query had scanned 166 segments (with no partition elimination) of a table with 4,500 data segments (450 range partitions and 10 hash sub-partitions – note the design error, by the way, hash partitioning in Oracle should always hash for a powert of 2).

So pgio Does Not Accurately Report Physical I/O In Test Results? Buffering Buffers, and Baffles.

A new user to pgio (The SLOB Method for PostgreSQL) reached out to me with the following comment:

 I’ve been testing with pgio but when I compare I/O monitored in iostat output it does not match the pgio output for physical reads. 

The user is correct–but that’s not the fault of pgio. Please allow me to explain.

Buffering Buffers, and Baffles

PostgreSQL does not open files with the O_DIRECT flag which means I/O performed by PostgreSQL is buffered I/O. The buffering uses physical memory in the Linux page cache.  For this reason, the pgio runit.sh script produces output that accounts for read IOPS (RIOPS) as opposed to RPIOPS (Read Physical IOPS). The following is an example of what the user reported and how to change the behavior.

How to install Oracle XE 18c in Oracle Cloud Free Tier

You probably heard by now about Oracle Cloud Free Tier
While it sounds good, the only databases that you can use are in fact autonomous databases (which are not interesting for a tech, geeky guy like me).

Of course, you have also "2 virtual machines with 1/8 OCPU and 1 GB memory each." I thought: that’s cool because I could install an Oracle XE 18c database in there and play a bit… But no. The machines will have actually 971MB of RAM which is to low for Oracle XE 18c and you will get an error while trying to install the RPM file.

"[SEVERE] Oracle Database 18c Express Edition requires a minimum of 1GB of physical
memory (RAM).  This system has 971 MB of RAM and does not meet minimum
requirements."

This is due to one piece of script in the RPM file:

Ansible tips’n’tricks: executing a loop conditionally

When writing playbooks, I occasionally add optional tasks. These tasks are only executed if a corresponding configuration variable is defined. I usually define configuration variables either in group_vars/* or alternatively in the role’s roleName/default/ directory.

The “when” keyword can be used to test for the presence of a variable and execute a task if the condition evaluates to “true”. However this isn’t always straight-forward to me, and recently I stumbled across some interesting behaviour that I found worth mentioning. I would like to point out that I’m merely an Ansible enthusiast, and by no means a pro. In case there is a better way to do this, please let me know and I’ll update the post :)

Before showing you my code, I’d like to add a little bit of detail here in case someone finds this post via a search engine:

#24HOP and PASS Summit 2019

You know how busy I am by the amount of time I DON’T blog and yes, it’s been over a month.  I think that’s the longest I haven’t blogged in YEARS.

24 HOP and Facebook Live

I just finished my 24HOP, (24 hrs of PASS) session back on September 9th, the PASS Facebook Live session this last Monday and I’m thrilled with these virtual events each year I get the chance to participate. If you’re not familiar with 24HOP, its a preview of some of the sessions at Summit, the annual tech conference from PASS.  Twenty four presenters are chosen to offer a preview on their talk.  As mine is on Linux Scripting, I decided to do a tips and tricks session that had three goals:

All the OpenWorld 2019 downloads!

Why dig around for hours in the catalog? Here are all of the downloads registered in the OpenWorld catalog!

You can pick and choose from the list below, or if you want a CURL script that will download the entire set, you can find that here. Enjoy!

BOF1167 Java on Azure BOF,Reza Rahman

BOF1321 Why You Should Be Coding with the NetBeans IDE,Mark Stephens

BOF1336 How to Improve the Quality of Your Application (I Wish I’d Known This Earlier!),Ioannis Kolaxis

Then OpenWorld mega-list

You’ve been to OpenWorld…

You’ve seen the great content…

Networked with the community…

But now you want to keep the ball rolling and catch up with the speakers on twitter.

So here is the mega-twitter list…all the speakers from OpenWorld and CodeOne that provided their twitter handles at registration. Enjoy!

Abhinav Shroff https://twitter.com/abhinavshroff
Ahmad Gohar https://twitter.com/ansgohar
aimee pi https://twitter.com/aimeepi
Akshaya Kapoor https://twitter.com/Akshaya_Kapoor
Alan Williams https://twitter.com/alandbsec
Alasdair Nottingham

Announcing pgio (The SLOB Method for PostgreSQL) Is Released Under Apache 2.0 and Available at GitHub

This is just a quick post to advise readers that I have released pgio (The SLOB Method for PostgreSQL) under Apache 2.0. The bits are available at the following link: https://github.com/therealkevinc/pgio/releases/tag/1.0. The README is quite informative.

My last testing before the release showed “out of the box” data loading into Amazon Aurora with PostgreSQL compatibility at a rate of 1.69 TB/h. I only modified the pgio.conf file to specify the connection string and to set scale to 128 GB per schema: