Monday, October 12, 2009

WGET Syntax for downloading patches from Metalink

I am sure everyone knows this but just to emphasise the point (and ease the pain somewhat), Classic MetaLink Retires November 6, 2009.

Extract of the text of email from Oracle Support:

During the weekend of November 6 – 8, 2009, My Oracle Support, Oracle's next-generation customer support platform, will be upgraded and Classic MetaLink will be retired.

Moreover (and this is the most painful part especially for Apps DBAs), the ftp to the patch site will also retire on 06-Nov-2009. :(

Below is the extract of the message displayed on updates.oracle.com ftp site:

230-  This service will be retired on November 06, 2009 and "My  Oracle Support"
230- will be the only interface for downloading the patches and updates. To
230- search and download patches from "My Oracle Support" users are required
230- to login to https://metalink.oracle.com and then go to "Patches & Updates"
230- tab.

Though I do NOT like it, I suppose I have to force myself to use wget to download patches directly on to the server, instead of downloading them to my local machine and then transferring them to the server (a much more painful process).

So, as a heads up, I would like to share with you the syntax for using wget.

Note: The below syntax worked for Solaris 10 and might not work for other flavours of UNIX since the default installation directory may be different.




/usr/sfw/bin/wget --http-user=<Metalink Username> --http-passwd=<Metalink Password> --output-document=<Name of patch>
"<URL>"

1. Get the URL in the following way:

a. Login to metalink and query up the patch.
b. Right click on the download button and click on "Copy Shortcut" (IE).

2. The name of the patch would be a subset of the URL.


eg:

/usr/sfw/bin/wget --http-user=<Metalink Username> --http-passwd=<Metalink Password> --output-document=p8618053_11i_GENERIC.zip "http://updates.oracle.com/ARULink/Download/process_form/p8618053_11i_GENERIC.zip?file_id=27640717&aru=11477117&userid=ml-693674.993&email=praveen.krishnamurthy@qwest.com&patch_password=&patch_file=p8618053_11i_GENERIC.zip"


Hope this is helpful in the painful transition from the updates.oracle.com ftp site to the Flash Player based new and "improved" Metalink.

Friday, October 9, 2009

Find Request Set Name, Conc Manager given a request ID

Given a request id, how does one find out the program name and the manager running the request? Most of the Metalink notes and blogs provide the answer to this question but for one aspect. What is that? Read on to find out.

What the SQL queries available on the web and Metalink lack is that they provide the concurrent program name for a single request given the request id. What about for a request set? Do they provide the answer? No, they don't.


I have tried here to cover this aspect too. So, here goes.

Note: This query works for all request ids, not only for request ids for request sets.

select request_id,fcpv.CONCURRENT_PROGRAM_NAME "PROGRAM_NAME",
nvl (fcr.description,fcpv.user_concurrent_program_name) "USER_PROGRAM_NAME",
decode(fcpv.REQUEST_SET_FLAG,'N','SINGLE_REQUEST','Y','REQUEST_SET') "PROGRAM_TYPE",
fcqv.CONCURRENT_QUEUE_NAME, fcqv.USER_CONCURRENT_QUEUE_NAME
from
fnd_concurrent_requests fcr, fnd_concurrent_programs_vl fcpv, fnd_concurrent_processes fcp, fnd_concurrent_queues_vl fcqv
where
fcr.concurrent_program_id = fcpv.concurrent_program_id (+)
and fcr.controlling_manager = fcp.CONCURRENT_PROCESS_ID
and fcp.concurrent_queue_id = fcqv.concurrent_queue_id
and fcr.request_id = &request_id;