Sticky, gluey, GUIs
I am a command line person. Anyone who has talked with me in a professional capacity for 20 minutes or more probably knows this.
The number one reason is probably that I”m a control freak. I want to know exactly what is being done on my behalf, and the GUIs don’t make that clear. In one previous version of the Control Center, you could get the database into a restore pending state by accidentally issuing a redirected restore command when you just thought you were clicking around the restore screen and hadn’t issued anything yet. And what the heck is it really doing behind the “Activity Monitor”? Is it doing event monitors, querying snapshot data, what? I’d rather do it at the command line. There was a time when I was intimidated by reading text Explains, and resorted to visual Explains, but even that I’ve gotten over and much prefer the text kind now. Even for installs – I just despise setting up xWindows. I think the majority of DB2 DBAs who work on Linux/UNIX systems for more than a couple of years end up going for the command line. That doesn’t keep me from having to support developers and clients when they’re trying to set up Control Center or DB Visualizer or whatever.
Most of the clients I’ve had the pleasure of training lately have come from an SQL server background, so always look at me like I’m a two-headed monster for not liking the GUIs. I frequently end up going in and showing them at least some parts of the Control Center. I also find that having port 523 open is a requirement that is poorly documented for the Control Center to be fully featured.
The other thing that gets me about GUIs is how ridiculously easy it is for users to accidentally lock up tables, and leave the connection open. I actually wrote the bulk of this post last night, and when I started work this morning, had an issue in my inbox where developers were trying to delete some data from one of our QA environments, and getting lock timeouts. Sure enough, when I looked, it appeared that someone had connected in using a gui, and brought up all or part of the table about to be deleted (maybe even done a few trial deletions) and therefore locked themselves out when they went to actually do the delete. Auto-commit at the command line is your friend. And clients wonder why I try to restrict even read access on production.
Even if presented with DB2 on Windows, I promptly open up a command window (my favorite of the available command-line options), and forget the Control Center exists. I do hear Control Center is being deprecated, and will have to actually give Data Studio the good old college try. I have a presentation on it that a friend handed me that I plan to read during my flight to Cleveland on Monday.
Anyhow, if you’re a newbie, one of my recommendations is that you learn things at the command line. You can always figure out the GUIs if you know what goes on behind them, and if you know the command line, the GUIs seem so simple to work through – you can always switch later.