Operating System - OpenVMS
1753883 Members
7424 Online
108809 Solutions
New Discussion юеВ

Re: Oracle ora12535,ora12162 when running detach process

 
SOLVED
Go to solution
berlioz
Regular Advisor

Oracle ora12535,ora12162 when running detach process

Hallo all OpenVMS/Oracle User,


On openVMS 7.3-2 server I have a small application, which is running correctly, when I start it interactiv.

When I start it as a detach process like
run detach_test /process_name=detach /error=detach.err /output=detach.out

then I get the error :

On a oracle 8.1.7 server : ora-12565 (even if CONNECT_TIMEOUT is 0 in listener.ora)

On a oracle 9.2 server : ora-12162

I've startet the application in the same process-enviroment.

Who can help me ?

thanks in advance for all
Philippe berlioz
philippe.berlioz@free.fr
8 REPLIES 8
Jan van den Ende
Honored Contributor

Re: Oracle ora12535,ora12162 when running detach process

Berlioz,


run detach_test /process_name=detach /error=detach.err /output=detach.out


There is nowhere that detach.err and detach.out are to be written to.
Specify a directory location where to put them.
Make sure that location is specified using only logical names that are accessible to the detached process.
eg: DEFI/SYS/EXEC ORA_TRACE_DIR :[],
and then RUN /OUT=ORA_TRACE_DIR:DETACH.OUT ( & .err also).

Why is this?

If you specify a file using only Filename & Extension (as you did),
then the full file spec is build by parsing it with your default string. But the detached process never executed a SET DEFAULT , so that string is empty. So a valid file-spec can not be parsed, so your RUN command generates an error, and exits.

Maybe you can check this with ACCOUNT /user=
Success.


Jan
Don't rust yours pelled jacker to fine doll missed aches.
Antoniov.
Honored Contributor

Re: Oracle ora12535,ora12162 when running detach process

Hi Philippe,
I'm limitated to help you because I don't know Oracle applications.
I guess your command is:
$ RUN DETACH_TEST/DETA/ERR ....
Above command execute another process within same standard input (if you have not specificated /INPUT qualifier); output and error device become the log file.
May be your Oracle application need write output directly to output device (as some system programs) and they go into error.
In Oracle forum ther is a problem like yours http://www.google.it/search?hl=it&ie=ISO-8859-1&q=oracle+error+12162&meta=

However I guess some logical name is not the same.

Antonio Vigliotti

Antonio Maria Vigliotti
Bojan Nemec
Honored Contributor

Re: Oracle ora12535,ora12162 when running detach process

Philippe,

With
run detach_test /process_name=detach /error=detach.err /output=detach.out

you create a subprocess not a detached process. To get a detached process you must add the /detached or /uic qualifier.

I think that a process or subprocess created with run command doesnt have DCL! With no DCL you have no symbols. Also logical names are not defined or copied from yours process.

If the logical name pointing to the tnsnames.ora, oracle_sid etc... are defined in yours process table, the subprocess or detached process have no that logical names.

So I sugest you that if you want a subprocess try with SPAWN command.
If you want a detached process write a command procedure (detach.com) which defines the Oracle environment (@orauser or whatsever) and runs the program. Then you can create a detached process with a command like this:

run sys$system:loginout.exe /input=detach.com /process_name=detach /error=detach.err /output=detach.out

Maybe the most simple is to use a batch queue.

Bojan
John Gillings
Honored Contributor
Solution

Re: Oracle ora12535,ora12162 when running detach process

philippe,

DETACHED processes are a VERY different process-environment from your interactive session.

Your RUN/DETACH command has no quotas specified, therefore you will have values from the PQL_D* SYSGEN parameters. I'd be surprised if these were adequate for running Oracle. You will probably need to add a complete list of quotas.

You also need to worry about the execution environment - does the process need logical names defined? Does it need a DCL CLI underneath it?

Chances are the simplest way to create a detached process would be

RUN/DETACHED/AUTHORIZE SYS$SYSTEM:LOGINOUT/INPUT=DETACH_TEST.COM

LOGINOUT makes it a DCL process and AUTHORIZE says to get quotas from your UAF entry.
A crucible of informative mistakes
Hein van den Heuvel
Honored Contributor

Re: Oracle ora12535,ora12162 when running detach process

'detached' processes are over-rated and mis-understood as per other replies.

Just submit it as a batch job and be happy.

If need be, stick it in a dedicated queue with unlimited processes allowed.

KISS!

Hein.
Daniel Fernandez Illan
Trusted Contributor

Re: Oracle ora12535,ora12162 when running detach process

Hi berlioz

In order to execute the command correctly you need to load logical names and symbols associated to Oracle application.

A solution can be to execute it like as:

RUN/DETACH SYS$SYSTEM:LOGINOUT/INPUT=DETACH_TEST.COM/err=detach.err /output=detach.out

I'am using this format to execute detached process in a similar environment as you.

Best Regards.
berlioz
Regular Advisor

Re: Oracle ora12535,ora12162 when running detach process

Sorry, sorry, sorry...

don't look at /error and /output... my syntax is bad... i know

my problem seems to by an environnement problem...

/AUTHORIZE option solve the question

Thanks for all
Philippe
Peter Johannessen_1
New Member

Re: Oracle ora12535,ora12162 when running detach process

On our system (Oracle 9.2.0.4.0) Oracle's errorfile has this description for error 12162 - hope it will be a help :

12162, 00000, "TNS:service name is incorrectly specified"
// *Cause: The connect descriptor corresponding to the service name in
// TNSNAMES.ORA is incorrectly specified.
// *Action: Make sure there are no syntax errors in the connect descriptor.
// Particularly look for unmatched parentheses or stray characters.
// Any error in a TNSNAMES.ORA file makes it unusable. See Chapter 4
// in the SQL*Net V2 Administrator's Guide.
/