|
|
|
thoroughly punished by some technology Thursday, July 17 2025
setting: rural Hurley Township, Ulster County, New York
Today in the brick & mortar workplace, I was thoroughly punished by some technology I was trying to work with. I've mentioned in the past how brutal and unfriendly Oracle technology is, and today I was provided yet another data point (or, more accurately, a cluster of data points) confirming this. What I wanted to achieve today was to backup a database on a development server and then restore the backup to a copy of the Oracle environment (the free developer version called XE) on my recently-wiped work-issued laptop. I'd never actually hosted a database locally on this machine before, so this was a first for me. I've done this sort of work with other database systems (particularly Microsoft SQL Server and MySQL) numerous times, and it's an easy operation that might take awhile as a large database is either backed up or restored, but the amount of work required is not more than twenty minutes. And it's an easy series of steps even for those unfamiliar with the technology. With Oracle though, things are completely different.
After getting Remote Desktop access to the development server, I was eventually able to do some sort of backup, though I was impeded along the way by some issue with the way quotes needed to be escaped, compounded by the foolish decision of our in-house developers to include hash tags in a password (which, it turns out, need to be specially escaped either for Oracle or for the Windows command line). So constructing the command to dump the database was difficult. To save myself grief, I was using ChatGPT of course, and it eventually gave up on putting the entire command in one line and decided to hive off some of it into a text file. (This sort of complexity is, I should add, completely absent from the backup procedure for any other database system.) At that point I was flummoxed by the cryptic error messages coming from Oracle as it failed to find the text file into which I'd hived off some of those command line parameters. It was serious mystery: why couldn't Oracle see the file. But then I happened to do a dir or ls from the command line and see that a file that should've been dump.par was actually dump.par.txt. Some idiot had left "hide extensions of known file types," the most infuriating and dangerous default in all of Windows, on on the server! Dealing with that one issue cost me one or two hours. But my ordeal was far from over.
The real struggle came when I attempted to restore the .dmp file to my laptop. Again I had to deal with weird escape issues when trying to compose a command to be issued from cmd or Powershell (and the specifics of how things needed to be composed and escaped are, of course, different between those two). Oracle also has this janky system where you have to tell store paths to directories in special system tables for it to know where to look for .dmp and .log files. But then it can happen that, for whatever reason, it won't have permissions to access those directories. ChatGPT did what it could to come up with ways to give those directories permissions, but I was hamstrung in part by the fact that I don't really have full control of my work-issued laptop. After I'd been plugging away at that unsuccesfully for some hours, I asked ChatGPT if there was some other completely different approach we could use. So it suggested I install the GUI tool from Oracle called SQL Developer. After going through all the trouble of installing it, it turned out that SQL Developer cannot actually do GUI-facilitated restores to an XE (that is, a free-for-developers version) of the Oracle environment. So I had to go back to being tortured trying to assemble command line incantations, all of which continued to fail due to permissions issues.
The problem with ChatGPT, and this has happened to me many times at this point, is that it is easy to get stuck in loops when asking it to solve complicated problems. I realized today that it has no facility for thinking outside the box or taking a completely new perspective. Yet, since it can seem so authoritative and confident as it provides its advice, it is easy to just do what it says even as it keeps failing and cycling around to failed suggestions it has already given. It's up to me as a human to force ChatGPT to try something radically new. Having it suggest a GUI was one case of that, failed though that was. Another, the one that ultimately ended my eight-hour ordeal, was the idea of simply telling Oracle to pull .dmp and write .log files from directories deep within its own sprawling tree of files, ones that it inherently has permission to access.
At the end of the workday, I returned home thinking Gretchen and I would immediately be driving to the cabin, since the plan was for us to leave tonight and for me to work remotely from the cabin tomorrow. But I'd forgotten that Gretchen loves pilates and wanted to leave for the cabin after going to that. This wasn't clear until after I'd already packed up the car and cracked myself open a hard cider (I'd thought it was a porter). I ended up taking a nap for part of the time Gretchen was away.
When Gretchen returned from pilates, we immediately headed north for the cabin, taking the Thruway route through Albany so we could stop at the Honest Weight Food Co-op on the way. There, we bought a lot of prepared food, so our small shopping cart worth of stuff came to nearly $200.
On the drive from Albany, we listened to an amazing podcast by Ezra Klein about why it is that Donald Trump is having such a hard time wriggling out from the Jeffrey Epstein scandal.
For linking purposes this article's URL is: http://asecular.com/blog.php?250717 feedback previous | next |