Skip to Main Content

Data Science & Machine Learning

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!

Oracle Data Mining and Oracle Text licensing.

rtiranSep 26 2017 — edited Sep 27 2017

Hi all,

is anybody aware of a change in licensing regarding text clustering with CTX_CLS?

It relies on ODM under the cover but it used to not require ODM licensing.

It was clearly mentioned on documentation up to version 11.2 - see paragraph "Oracle Data Mining and Oracle Text" at https://docs.oracle.com/cd/E11882_01/datamine.112/e16808/text.htm#DMCON418

"Oracle Text is a technology included in the base functionality offered by Oracle Database. Oracle Text uses internal components of Oracle Data Mining to provide some data mining capabilities.

Oracle Data Mining is an option of the Enterprise Edition of Oracle Database. To use Oracle Data Mining, you must have a license for the Data Mining option. To use Oracle Text and its data mining capabilities, you do not need to license the Data Mining option."

Unfortunately, that sentence disappeared from 12c documentation and I find the new formulation completely unclear.

Has somebody already discussed that point with a sales representative or LMS?

Let me know.

Thanks!

Raphaël

This post has been answered by Mark Kelly-Oracle on Sep 26 2017
Jump to Answer

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 Oct 25 2017
Added on Sep 26 2017
4 comments
4,766 views