Posts Categorized: Technical Blog
Recently, one of our customers had a problem with one of their replication slaves where a sql statement gave an error while executing on the slave which was executed successfully on the Master server. The slave stopped with the error. We found the main difference in MySQL configuration between Master and Slave was the amount of memory allocated to innodb_buffer_pool_size because Slave was running several MySQL instances that were used for backup purposes. We need to increase the memory of innodb_buffer_pool_size variable where the locks table can fit in the configuration file and restart the database. This should fix the problem.
The best way to get a feel for a module is to work with it, I decided to try my hand at a small, unassuming maze game. For the maze creation itself, I used Games::Maze, and with that out of the way, the resulting program turned out to be quite simple, have a look.
A customer contacted us regarding a problem with one of their replication servers. We found they had deleted some binary logs from the master and relay logs from the slave to release space. It is not a good idea to delete logs that aren’t cached by the slave, in case they are needed. At least keep relay logs in slave to keep the replication working.
Since writing a blog entry sorely to talk about a software release bearing my name would be slightly… ah… self-serving (and we couldn’t have that in a blog, now, could we?), I thought to expand a little bit on the topic and discuss why I am contributing to other peoples’ modules, and how I usually go about it.
When I begin to work with a module, most of the time what I do is to look at its pod, and copy the code in the synopsis that I’ll use as a a baseline. I’m pretty sure there’s already a better tool to do it somewhere in CPAN, here’s my little podsyn script that does all the hard work for me.
Pythian is pleased to announce the new Flash Cache Query Tool for Oracle Exadata, developed by our Senior Consultant, and Oracle ACE, Christo Kutrovsky. This tool will be most valuable for Exadata DBAs and Exadata Architects that are trying to understand if the Oracle Exadata Flash Cache is used as envisioned.
Unfortunately, there is no easy way to monitor what’s in the Smart Flash Cache. Oracle only provided a “list flashcachecontent” command in the cellcli tool, it has no summarization options, and only displays object numbers. So I wrote this handy tool which lets you query the cell flash content on all cells, similarly, you can query the buffer cache (db_cache) contents in v$bh.
My presentation was on an Oracle Exadata implementation that we carried out and that I support on an ongoing basis. The presentation went well and everyone seemed to enjoy it, there were plenty of questions afterwards. We even managed to start a room discussion on columnar compression. The last presentation of the day was from Stewart Bryson on Agile DW with Exadata and OBIEE. All in all, an excellent day which was well run by UKOUG.
I saw an Interesting question on preventing human error posted on the DBA Managers Forum discussions today. I typed my thoughts and as I was finishing, I thought that it makes sense to post it on the blog too, so here we go…
In this blog post, I will cover 3 basic types of MySQL backups for stand-alone database systems. I will not be covering fancy GUI applications, or really complicated processes – just the basic concepts – which is what I think System Administrators (ie – non DBA’s) need to know to have a good/valid backup.