Holiday Preparation

What do you do to prepare for the holidays? We’re starting to think about Black Friday for our retail clients in September or maybe even August. Each business has its Black Friday equivalent – the few days each year that account for 5%(or more) of your online revenue for the year – even if they aren’t anywhere near November. Here are some of the things I think about.

Database Maintenance

The question here is am I doing my job? I log in to every database server and make sure that all of my maintenance scripts are running as expected. Yes, they email me if they fail, and I also have a script that does nothing but check for silent failures of my other scripts. But I like to dig in and look in detail to ensure there’s not something I’m still managing to miss. I check to make sure emails are still working from the server, and dig into the output from my runstats and reorg scripts to see if there are tables that are failing for odd reasons. I also check things like archiving of the db2diagnostic log.

Database Pruning

This can cause critical problems in Commerce databases. I ensure that my planned pruning and dbclean strategies are working, especially for the most critical areas:

  1. Junk Orderitems (see DBCLEAN – Junk Orderitems)
  2. Abandoned shopping carts (see DBCLEAN – Stale Guest Orders, and also consider Stale Registered User Orders)
  3. Guest users (see DBCLEAN – Guest Users)
  4. Cache Invalidation
  5. Staglog (see DBCLEAN – Staglog)
  6. Session Activity
  7. Commerce Scheduler Jobs

Disaster Preparation

If you don’t have a script that gathers and emails basic configuration info, consider adding one or at least saving such information off somewhere other than the server. Helpful information includes all of the config files, a db2look, locations where you store backups (and/or a list history), and the locations of your tablespace containers. Having this information can help you make an outage shorter if it does occur – which you may not get much credit for, but is still a good thing.

I also check the status of HADR and TSA – though I do monitor these on an ongoing basis, it never hurts to check.

Disk Space

This is also something that I monitor on an ongoing basis, but I take a full look and figure out if I’m in a not-quite alarm state anywhere and start making plans now if I’m running low anywhere.

Performance Review

I also go through a full performance review – I take a look at key performance indicators over the last month, and look for any problem areas. If I see spikes, I investigate them and try to determine a cause – looking at my own scheduled jobs, and integrating with the dev team to talk about what’s going on. I pick an hour and analyze the SQL from that hour to see if there are any indexing opportunities or other things I need to address. I pick that hour as a time when I’m seeing locking issues or spikes in Key Performance Indicators that are not otherwise explained. I make sure that I do at least one SQL analysis like this.

Other Concerns

So it’s not the role of the dba, but I chat with the folks on the Commerce support and development teams, too. There’s a doc from Commerce on what they should be looking at:

There’s also usually a code/change freeze during critical periods like Black Friday, so I make sure that I’m aware of when that is and what kind of things it covers, and get in anything I need to do before it starts.

Ember Crooks
Ember Crooks

Ember is always curious and thrives on change. She has built internationally recognized expertise in IBM Db2, spent a year working with high-volume MySQL, and is now learning Snowflake. Ember shares both posts about her core skill sets and her journey learning Snowflake.

Ember lives in Denver and work from home

Articles: 554


Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.