April 2015

Hey dude, where’s my memory? part 2

In my previous article I started exploring the memory usage of a process on a recent linux kernel (2.6.39-400.243.1 (UEK2)), recent means “recent for the Enterprise Linux distributions” in this context, linux kernel developers would point out that the kernel itself is at version 3.19 (“stable version” at the time of writing of this blogpost).

Tuning Database XQuery Statements (1)

I had a question of a colleague to have a look at a statement that…

ORA-31145 – “Duplicate listener, %s, found in resource configuration”

Today I had an error on my test environment which surprised me…initially… While I was…

The Rise and Fall of the NoSQL Empire (2007–2013)

The NoSQL camp put performance, scalability, and reliability front and center but lost the opportunity to take the relational model to the next level because—just like the relational camp—it mistakenly believed that normalization dictates physical storage choices, that non-relational APIs are forbidden by the relational model, and that “relational” is synonymous with ACID (Atomicity, Consistency, Isolation, and Durability). The NoSQL camp created a number of innovations: functional segmentation, sharding, replication, eventual consistency, and schemaless design. Since these innovations are compatible with the relational model, they will eventually be absorbed by mainstream database management systems.(read more)

Jay Whaaaat?<br#x3E;The Magic of jQuery in Squarespace

jQuery is a powerful JavaScript framework by which to examine a page's HTML
and add new content or change the page's structure. Use it with site
generators such as Squarespace to make design...



Read the full post at www.gennick.com/database.

Jay Whaaaat?<br#x3E;The Magic of jQuery in Squarespace

jQuery is a framework allowing you to write easy snippets of JavaScript to change a website's content and structure. It's especially helpful with Squarespace because of its expressive power enabling you to change the underlying CSS and HTML that Squarespace generates on your behalf, that is otherwise untouchable without taking your entire site into Developer Mode. 

Not In CTAS

Everyone gets caught out some of the time with NOT IN.

NOT IN is not the opposite of IN.

This came up in a (fairly typical) question on OTN recently where someone had the task of “deleting 6M rows from a table of 18M”. A common, and perfectly reasonable, suggestion for dealing with a delete on this scale is to consider creating a replacement table holding the data you do want rather than deleting the data you don’t want.  In this case, however, the query for deleting the data looked like this:


DELETE FROM EI.CASESTATUS
     WHERE CASEID NOT IN (SELECT CASEID FROM DO.STG_CASEHEADER);

The suggested code for creating the kept data was this:

(OT) an idea for Easter (and well…every day)

I don’t travel as frequently as some people do, but with OpenWorld and various Oracle conferences each year, I definitely see my fair share of the inside of a plane and a hotel room.  To pass the time on flights, I try to read, but when you’re reading on a work-based trip, it’s a case of reading a page or two here and there, rather than a true extended session of relaxed reading.

The net result ?  I generally buy what I call "airport crap" when it comes to books.  That is, cheap, easy to read, crime thrillers that are totally formulaic in nature.  Its pretty simple:

Hey dude, where’s my memory?

This blogpost is about finding the actual amount of memory a process is taking. In order to do so, this post dives into the memory mechanisms of Linux. The examples in this article are taken from an Oracle Linux version 6.6 server, with kernel 2.6.39-400.243.1 (UEK2). This is written with the Oracle database processes in mind, but actually uses examples of a processes running ‘cat’, which means the contents of this post are absolutely not limited to Oracle database processes.

Let’s start off with a simple example. Let’s look at our own memory map. In order to do so, I use the ‘cat’ executable and the ‘maps’ entry in the proc pseudo-filesystem. This is how that is done, including the result:

Edition based redefinition – an apology

In April 2008 (wow, does time fly!) I used the following picture in my "11g features for Developers" presentation at the Australian Oracle User Group conference.

image

I think the picture is from the movie "Indiana Jones and the Last Crusade"… where they sought the Holy Grail.