Skip to Main Content

DevOps, CI/CD and Automation

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

External links from OHJ

312292Aug 5 2002
I have created some links to external websites and also a mailto: link in my project but they do not work within Oracle Help for Java. I have verified the links using a web browser. Is it possible to use these kinds of links in OHJ or do they have to be modified in some way.

Thanks

Dave Odell

Comments

Sdhamoth-Oracle
Answer

OCIServerVersion() will help you to get the server version and banner.

Marked as Answer by user11763611 · Sep 27 2020
user11763611

Thanks for your quick answer!

I see there is also an OCIServerRelease() function...

Can someone explain what is done by these functions?

If internally OCI executes SQL to get the information, it will not help much.

Seb

Sdhamoth-Oracle

It won't execute that SQL.

user11763611

Understand: I am looking for the fastest solution to get the server version and session id...

If it takes a client-server round-trip it's a pity... we are already connected...

Linux strace shows some activity on the socket to the server so I suspect OCI asks the server:

write(2, ">> MARK-1\n", 10>> MARK-1

)             = 10

write(6, "\0\0\0<\6\0\0\0\0\0\21k\4\"\0\0\0\201\275\0\0\1\0\0\0\3;\5\376\377\377\377"..., 60) = 60

read(6, "\0\0\0\272\6\0\0\0\0\0\10\241\0\241Oracle Database 12"..., 8208) = 186

write(2, ">> MARK-2\n", 10>> MARK-2

:-(

Sdhamoth-Oracle

OCIServerRelease() may not make a server round trip. Please try that.

user11763611

I have already checked: The trace output I provided was produced from OCIServerRelease(), which makes a server round trip.

It is still an option for us, if it takes less time than a SELECT to execute.

Seb

user11763611

After some testing (executing 100 processes in sequence, using client/server config over TCP):

1) Regular OCIStmtPrepare + OCIStmtExecute + OCIDefineByPos +  OCIStmtFetch of SELECT to get Oracle version: 3.7 secs

2) Using OCIServerRelease(): 3.3 secs.

A little better but if all information would be available on client side after connection that would certainly be faster.

Using OCIServerRelease() simplifies the code, thought.

Seb

Sdhamoth-Oracle

Have you tried fetching the details about database using OCIDescribeAny() with type OCI_PTYPE_DATABASE?

DB Version will can be read using OCIAttrGet() API from attribute OCI_ATTR_VERSION.

user11763611

Nope, will try OCIDescribeAny(), thanks for the tip!

Seb

1 - 9
Locked Post
New comments cannot be posted to this locked post.

Post Details

Locked on Sep 26 2002
Added on Aug 5 2002
2 comments
769 views