Tuesday, 10 November 2009

i hate vista so much it hurts (sometimes)

Generally if I’m using find, I hate it more…  I hate it like I want to punch it… 

But this has allowed my hate to recede (somewhat)

http://www.microsoft.com/windows/products/winfamily/desktopsearch/technicalresources/advquery.mspx

Actually wait, I still hate it.  The above is GREAT for finding files…  But cr@p for finding things in files…

I hate statements like “windows does it automatically” – my kingdom for grep!!!

http://support.microsoft.com/kb/932989

That lists about 1 million things that could be wrong.

That is it, I’ve had enough.  I’m going to use grep for win32.

Monday, 9 November 2009

View csv from wsj not working

Problem

In HTML client you launch WSJ (Work With Submitted Jobs), select your Enterprise/Batch Server, select your finished report  and click on View CSV. Nothing occurs.  On a FAT client, this works correctly.

Solution

To fix the issue, you will need to do the following:

  1. Add the following parameter in your JAS.INI
         [OWWEB]
    UBEContentDisposition=true

Using ServerManager, click on WEB Runtime configuration and Check 'UBEContentDisposition'

    2.  Add the following Windows Registry key to the machine your using to View CSV:
              [HKEY_CLASSES_ROOT\MIME\Database\Content Type\application/csv]
              extension=.csv
If issue persists, check your Internet Explorer settings:

  • Tools
  • Internet Options
  • On Security tab, click on Custom level, scroll to Downloads section and select: Automatic prompting for file download
  • Enable and apply
  • Close Internet Explorer and restart

You should now be able to open your CSV file.

This was copied from oracle support, ID 781462.1

Friday, 6 November 2009

tracing tricky connect issues in SQLServer 2008

 

SQL Server 2008 contains a new feature designed to help troubleshoot particularly tricky connectivity problems. This new feature, the Connectivity Ring Buffer, captures a record for each server-initiated connection closure, including each kill of a session or Login Failed event. To facilitate efficient troubleshooting, the ring buffer attempts to provide information to correlate between the client failure and the server’s closing action. Up to 1k records in the ring buffer are persisted for as long as the server is online, and after 1000 records, the buffer wraps around and begins replacing the oldest records. The Connectivity Ring Buffer’s records are exposed by a DMV which can be queried:

SELECT CAST(record AS XML) FROM sys.dm_os_ring_buffers
WHERE ring_buffer_type = 'RING_BUFFER_CONNECTIVITY'

from http://blogs.msdn.com/sql_protocols/archive/2008/05/20/connectivity-troubleshooting-in-sql-server-2008-with-the-connectivity-ring-buffer.aspx

But…  I’m on 2005 and am getting a lot of

“SQL Native Client TCP Provider An existing connection was forcibly closed by the remote host” in my APP server and BAT server jde logs.

I think that it might be network related, but I’ll keep you posted.

Right, so we’ve come a long way with this error.

It seems that this is related to either:

EnableTCPChimney = 0  Follow http://support.microsoft.com/kb/945977 to disable

Another registry change DisableTaskOffload=1  http://blogs.technet.com/brad_rutkowski/archive/2007/08/10/how-to-know-if-tcp-offload-is-working.aspx

There is a lot of documentation on some bad NICs http://support.microsoft.com/kb/942861

Typically, this problem occurs when the network adapter uses the Broadcom 5708 chipset. For example, the following network adapters use the Broadcom 5708 chipset:

  • Broadcom NetXtreme II
  • Hewlett-Packard NC373i Multifunction Gigabit Server Adapter

So, disable Chimney, disableTaskOffload, get the latest NIC drivers & bios

Thursday, 5 November 2009

Movember donations, bring it on!

Sponsor me for Movember, it’s for a good cause:

http://au.movember.com/mospace/316906

That is it!

JDESPECRESULT_DUPLICATEKEY is metadata kernel logs

We’ve been getting UBE’s failing randomly.

In the UBE Log we have:

Failed to load job spec cache for job 103247 report R09801_ZJDE0002. Cannot load specs for UBE. Please remove the cache directories for this report under the /PD812/spec/runtimeCache directory and rerun the report. If errors persist, check the metadata kernel logs for more information (object could be missing from package, failed to access package database, etc.)

Hmm, not really that helpful.  But the metadata kernel logs are much better:

79420/6683 WRK:Metadata job 804 Thu Nov 5 00:17:40.634859 ServerDispatch.cpp1419
MD_INFO: Previous UBE Job Failed (R03B551_SMNG051S_103114, Pathcode= isTemplate=<1>)
479420/515 WRK:Metadata job 791 Thu Nov 5 00:17:45.898359 specmisc.c2448
CreateJobCache() - Failed to find version record for R03B551_+ in RDASpec source repository for job 0.
479420/515 WRK:Metadata job 791 Thu Nov 5 00:17:45.899167 ServerDispatch.cpp728
Job Cache Template creation for report_version = R03B551_NNWN050S Failed, job = 103118
479420/6426 WRK:Metadata job 803 Thu Nov 5 00:17:50.790448 specmisc.c3386
copySpecs() - jdeSpecInsert() failed with error code, JDESPECRESULT_DUPLICATEKEY. Record was selected from another repository using the k
ey, R03B551.+.

So, we see the duplicate key problem.  The duplicate is converting F98761 to TAM in the runtimeCache dir. 

I had a sniff around with TAM Browse, thinking that there might be a corruption in the base object, but nothing much could be found.  It all looked good.  There were all of the correct constraints on the tables too, so no duplicates could have hit the database..

Then oracle support came up with the goods.

You CANNOT run the same REPORT|VERSION combo at the same time!!!!  WTF?  what happened to concurrent applications, concurrent UBEs?  Their magical solution is to ensure that jobs are not run at the same time (for the first time) HUH????  This is madness. So you deploy a full package, take JDE down…  Wait 10 mins…  Scheduler is ready to fire off a bunch of jobs… There might be some waiting jobs already…  They all want to run at the same time down multi-threaded queues and corrupt each other.  so the jobs you run more often are more prone to the corruption!  nice work!

SAR is 8933751

NEWS FLASH

It gets worse.  You cannot run parallel reports until a runtimeCache has been established for the report.  So just say you want to launch 4 versions of a report at the same time from the scheduler (after a full package deploy), you cannot.  They will fight each other to write the runtimeCache specs for the base report /PD812/spec/runtimeCache/R0010P/rdaspec.ddb etc and will write corrupt specs or fail or both! 

Remember that a full package deploy will / should delete all runtimeCache specs.

So all UBEs need to be single threaded until at least one has been run before.  Nice business rules!

Thursday, 22 October 2009

JDE julian date to date in Excel

=DATE(IF(0+(LEFT(A1,2))<30,2000,1900)+MID(A1,3,1),1,RIGHT(A1,3))

whack 109023 into A1 and watch that bad boy go!

21CFR11 and v$session

Okay, so I guess this is probably another big lesson in “reading the documentation” – it bores me even typing that line!

We’ve got a problem enabling 21CRF11 in prod, it seems that it’s permissions to v$session for the data owner – which is the guy that runs the trigger.  So proddta user needs permissions to V$SESSION.  Cannot find much doco anywhere on this, but hey – this is what we needed last time.  Note that the JDE user also needs CREATE PROCEDURE and CREATE ANY TRIGGER.  Good article on how to grant access to v$session http://oraclespin.wordpress.com/2008/12/18/how-to-grant-access-to-vsession-to-other-users/

I’m pretty sure that this is going to sort things out, but because I don’t have SYS permissions, I cannot do this grant, even as JDEDBA.

One of the final triggers has the following errors:

ORA-00942 table or view does not exist line 15, same again for 31.

Of course these line numbers don’t mean anything either…