Kevin Kempf's Blog

July 15, 2013

Before flashback DB was cool

Filed under: 11g, Oracle, RMAN — kkempf @ 3:50 pm

There was RMAN to flash your database back in time:

run
{
set until time “to_date(’07/04/13 04:00:00′,’mm/dd/yy hh24:mi:ss’)”;
allocate auxiliary channel d1 type disk;
allocate auxiliary channel d2 type disk;
restore database;
recover database;
alter database open resetlogs;
}

Advertisements

July 9, 2013

Oracle Mobile Supply Chain Applications (MSCA) : One month after go-live

Filed under: 11i — kkempf @ 10:25 am

brokenc

MSCA vs. Highjump

We replaced a rather over-customized and pretty unstable 3rd party software called (formerly 3M) Highjump with Oracle’s own Mobile supply chain.  In the end, I think the only gain was that now we’re not running the implementation of mobile on a Windows server.  MSCA sits on the 11i application server, and runs* there.  Out of the box, MSCA is rather useless, most transactions require so much irrelevant or derivable (is that a word?) input that by the time you get through the mobile form you feel like you ran a half-marathon.  That said, it does work, it’s faster and more native than a 3rd party bolt-on, and we can lean on Oracle support when we have problems.

* depending upon your definition of run

Failures in Unexpected Places (aka AUTHENTICATION FAILURE)

So I went out to Wikipedia, to confirm that telnet is (slightly) older than I am.  What amazes me is that for a protocol that old, Oracle has managed to completely botch implantation, and yet still charge us for the pleasure of having to deal with it.  Here’s where MSCA is really frustrating.  They can’t keep 3 telnet threads and a round-robin dispatcher (or listener) running right.  Yes, we’re on 11i and thus we’re behind, but it runs off of Java 6 and as I mentioned telnet has been around awhile.  I opened an SR with Oracle on this issue.  The analyst confirmed I was on the latest version of code, then proceeded to tell me most customers bounce the MWA dispatcher and the telnet threads every shift.  Really?  That’s the support answer?  The tech even agreed that it was a bad answer, but the best they could do:

Hi Kevin

I agree with your comment about 198543.1 . When I saw this first time I had same impression but over the years now I have seen almost every customer do start once a day so it is not strange 
any more for me . Base on information you gave you already restarting which is good only other suggestion is increase ports (MWA servers ) if you look at 567214.1 suggestion would be 4 servers 
for 60 users

Add this to the flakiness of the Java MSCA GUI client, and you have a product that’s well implemented and cemented into Oracle behind the scenes, but is an unmitigated disaster to the users.

For whatever reason, every X hours, one of the telnet ports decides to stop working.  When you happen to get that port via round robin (or go to it directly) you get AUTHENTICATION FAILURE messages on the client.  When they get a hold of me to fix it, I first try to issue a graceful stop of the port via $MWA_TOP/bin/mwactl.sh -login apps/password -stop PORT#.  This always returns AUTHENTICATION FAILURE.  So graceful just went out the window.  Now I have to ps -ef |grep PORT# to find the PID on the command line and kill it, then use $MWA_TOP/bin/mwactl.sh start PORT# to restart it.  Really, really lame.

This has happened often enough that I’m going to have to script around it in a rather elaborate and spectacular fashion.  It’s better to script by day, than answer the phone at night, I always say.   In essence, the script will have to do the following on some regular basis:

  • try to stop each port gracefully and see if it returns AUTHENTICATION FAILED
  • if it does get AUTHENTICATION FAILED, grep out the PID for that particular telnet server and kill -9 it
  • restart that telnet server I just killed via MWACTL.sh

The Dispatcher

The one thing this doesn’t do is account for the dispatcher.  When that goes South, it’s game over.  Basically you can find the dispatcher PID by ps -ef|grep’ing for MWADIS.  I have, however, had cases where the MWADIS process is not running but when I use MWACTL.sh to start the dispatcher (only) it tells me it’s already running.  netstat -anp doesn’t see it listening on the assigned port.  It’s really a mess I hope doesn’t pop up in production.

Impressions

While I’m aware that 11i is showing its age, Oracle has still failed to provide a functional incentive for my organization to migrate to R12.  There’s financial reasons (“We’re gonna charge you more!”) there’s techstack reasons (I’d really like to be running on a web server released in the past decade, and I’d like to be running the front end on 64-bit linux) but functionally, we’re not getting anything.  After implementing MSCA, and the 6-months of headache preceding it, I’m in NO hurry to get on the R12 bandwagon.  Why do I mention this?  Because, of course, the answer to my complaints about the stability of the telnet server will be “get on the latest release”.  In my opinion, Oracle has had 40 years to figure out how to make telnet stable, and you’re trying to tell me they just go it in R12?

 

Create a free website or blog at WordPress.com.