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.
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.
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:
- Junk Orderitems (see DBCLEAN – Junk Orderitems)
- Abandoned shopping carts (see DBCLEAN – Stale Guest Orders, and also consider Stale Registered User Orders)
- Guest users (see DBCLEAN – Guest Users)
- Cache Invalidation
- Staglog (see DBCLEAN – Staglog)
- Session Activity
- Commerce Scheduler Jobs
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.
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.
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.
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.