ORA-29902: error in executing ODCIIndexStart() routine

User 1aff773a09

02-03-2015 08:11:23

Hi,


I've just created another cartridge user name DATAP which needs to read the compound table of user CHEM which is also a cartridge user. This following query execute fine with user them, but will cause this error when executed from user DATAP. "ORA-29902: error in executing ODCIIndexStart() routine


ORA-29540: class chemaxon/jchem/cartridge/JFunctions does not exist


ORA-06512: at "JCMV53.JCHEM_CORE_PKG", line 49


ORA-06512: at "JCMV53.JC_IDXTYPE_IM", line 357"


What am I missing here?


SELECT * 


FROM CHEM.COMPOUND


WHERE (jc_compare(CHEM.COMPOUND.cd_structure, '


 10 11  0  0  0  0            999 V2000


    0.4330    0.2500    0.0000 C   0  0  0  0  0  0


    1.2990   -0.2500    0.0000 C   0  0  0  0  0  0


    1.2990   -1.2500    0.0000 C   0  0  0  0  0  0


    0.4330   -1.7500    0.0000 C   0  0  0  0  0  0


   -0.4330   -1.2500    0.0000 C   0  0  0  0  0  0


   -0.4330   -0.2500    0.0000 C   0  0  0  0  0  0


   -1.2990    0.2500    0.0000 C   0  0  0  0  0  0


   -1.2990    1.2500    0.0000 C   0  0  0  0  0  0


   -0.4330    1.7500    0.0000 C   0  0  0  0  0  0


    0.4330    1.2500    0.0000 C   0  0  0  0  0  0


  1  21  0     0  0


  2  32  0     0  0


M  END', 't:f tautomerSearch:n') = 1);


 


Thanks.


Regards,
Samantha 

ChemAxon d4fff15f08

02-03-2015 08:56:59

Hi Samantha,


 


You are getting the error because DATAP user has no rights to cartridge functions that resides in the schema of your cartridge owner (while CHEM apparently has).


You may grant the appropriate privileges via the role given during Cartridge install.


Checking the roles granted to a user can be done by:


select * from USER_ROLE_PRIVS where USERNAME='SAMPLE';


 


Best regards,


Norbert

User 1aff773a09

02-03-2015 09:05:53

Hi,


The user DATAP has the same role privs as CHEM


SQL> select * from user_role_privs;


 


USERNAME       GRANTED_ROLE      ADM DEF OS_


------------------------------ ------------------------------ --- --- ---


DATAP       CONNECT      NO  YES NO


DATAP       JCC_BASIC_ROLE      NO  YES NO

ChemAxon d4fff15f08

02-03-2015 10:53:04

Hi,


 


Okey, then the next target is/are the synonyms.


You can grant them using the following script:


call <JCC_OWNER>PRIVMAN_PKG.SYNS_FOR_JCOBJS('<JCC_OWNER>','DATAP');


 


Regards,


Norbert

ChemAxon d4fff15f08

02-03-2015 11:06:26

uuups...


sorry there is a typo, here is the correct one:


call <JCC_OWNER>.PRIVMAN_PKG.SYNS_FOR_JCOBJS('<JCC_OWNER>','DATAP');

User 1aff773a09

03-03-2015 01:23:25

Hi,


I encounter error calling the package with the following error. I looked at the definition of the package, and try again with just the cartridge owner as the argument. Manage to execute it, but still I encounter the same error executing the statement using DATAP.


SQL> call PRIVMAN_PKG.SYNS_FOR_JCOBJS('JCMV53','DATAP');


call PRIVMAN_PKG.SYNS_FOR_JCOBJS('JCMV53','DATAP')


     *


ERROR at line 1:


ORA-06553: PLS-306: wrong number or types of arguments in call to


'SYNS_FOR_JCOBJS'


 


SQL> call PRIVMAN_PKG.SYNS_FOR_JCOBJS('JCMV53');


Call completed.


SQL> commit;


Commit complete.

ChemAxon d4fff15f08

03-03-2015 17:24:54

Hi,


 


This sounds interesting. What cartridge version are you using?


Solutions we see at this moment:


- running "call JCMV53.PRIVMAN_PKG.SYNS_FOR_JCOBJS('JCMV53','DATAP');" command as SYSTEM user


- running "call PRIVMAN_PKG.SYNS_FOR_JCOBJS('DATAP');" as JCMV53 user.



I hope one of them helps.


 


Norbert

User 1aff773a09

04-03-2015 01:30:46

Hi,


Alas, none of the above help. Running "call JCMV53.PRIVMAN_PKG.SYNS_FOR_JCOBJS('JCMV53','DATAP');" command as SYSTEM user failed with ERROR at line 1:


ORA-06553: PLS-306: wrong number or types of arguments in call to 'SYNS_FOR_JCOBJS'


 


Any other solution? I need to stress that DATAP is trying to select compound from another schema (CHEM), not itself.


Regards,
Samantha

ChemAxon d4fff15f08

04-03-2015 15:17:00

Hi,


 


Can you tell us what version of cartridge are you using?


 


What was the error message for this command:


- running "call PRIVMAN_PKG.SYNS_FOR_JCOBJS('DATAP');" as JCMV53 user.


 


maybe trying: call JCMV53.PRIVMAN_PKG.SYNS_FOR_JCOBJS('DATAP'); as JCMV53 user.


 


Best regards,


Norbert

User 1aff773a09

06-03-2015 06:50:23

Hi,


We are using Jchem cartridge version 5.2.6


Both command completed without error. But when I execute this statement as DATAP


SELECT * FROM CHEM.COMPOUND
WHERE (jc_compare(CHEM.COMPOUND.cd_structure, 'Molecule from ChemDoodle Web Components http://www.ichemlabs.com />10 11  0  0  0  0            999 V2000
0.4330    0.2500    0.0000 C   0  0  0  0  0  0
1.2990   -0.2500    0.0000 C   0  0  0  0  0  0
1.2990   -1.2500    0.0000 C   0  0  0  0  0  0
0.4330   -1.7500    0.0000 C   0  0  0  0  0  0
-0.4330   -1.2500    0.0000 C   0  0  0  0  0  0
-0.4330   -0.2500    0.0000 C   0  0  0  0  0  0
-1.2990    0.2500    0.0000 C   0  0  0  0  0  0
-1.2990    1.2500    0.0000 C   0  0  0  0  0  0
-0.4330    1.7500    0.0000 C   0  0  0  0  0  0
0.4330    1.2500    0.0000 C   0  0  0  0  0  0
1  21  0     0  0
2  32  0     0  0
3  41  0     0  0
4  52  0     0  0
5  61  0     0  0
6  12  0     0  0
6  71  0     0  0
7  82  0     0  0
8  91  0     0  0
9 102  0     0  0
10  11  0     0  0
M  END', 't:f tautomerSearch:n') = 1);


The following error will appear:


[Error] Execution (1: 1): ORA-29902: error in executing ODCIIndexStart() routine


ORA-29540: class chemaxon/jchem/cartridge/JFunctions does not exist


ORA-06512: at "JCMV53.JCHEM_CORE_PKG", line 49


ORA-06512: at "JCMV53.JC_IDXTYPE_IM", line 357

ChemAxon d4fff15f08

06-03-2015 09:40:19

Hi,


 


It still seems to be a Oracle Synonym problem.


 


Unfortunately we don't hold 5.2.6 environment any more among our tests; it takes us a while to install it, reproduce your problem, and give you ideas to workaround the issue. What Oracle version are you using?


 


The easiest workaround we see now is to install the latest version of Cartridge next to the existing one, and use it. This will come with a whale of new features and improvements implemented during the last 5-6 years. Installing and granting the roles is really easy in the new version, the only flaw you may pop into is that it support Oracle 11, 12 only.


What is your feeling about it? 


 


Regards,


Norbert

User 1aff773a09

09-03-2015 06:36:53

Hi,


We'd love to upgrade, but it'll take us a long time to do the upgrade and testing too. :(


Can you point me to the correct documentation guide for the upgrade? Is it going to be a 1 step upgrade? What is the latest stable version now? 


Thanks.


Regards,
Samantha 

ChemAxon d4fff15f08

09-03-2015 15:32:27

Hi Samantha,


 


There are basically 2 scenarios we can suggest for upgrades:


    1. Upgrading cartridge.


    2. Installing a new Cartridge - next to the already existing - and move to it.


 


Both versions are briefly discussed here: https://docs.chemaxon.com/display/jchemcartridge/JChem+Cartridge+FAQ#JChemCartridgeFAQ-jcart_upgrade_test


Full DB backup is highly recommended in both cases.   


 


1. Upgrading cartridge


Should be not a problem following the descriptions available here: https://docs.chemaxon.com/display/jchemcartridge/Installation+and+administration+of+JChem+Cartridge+for+Oracle#InstallationandadministrationofJChemCartridgeforOracle-upgrade


 


2. Installing a new Cartridge and move to it.


This would involve a simple install of the new cartridge followed by a manually triggered drop and create index procedure for all cartridge indices. This scenario also requires special attention on the ports set, the cacheID provided during install (they have to be different), oracle users, JChem owners and the related grants and roles.


 


If you feel you are lacking information to decide which way to go, we can have a TC on the topic.


 


Regards,


Norbert

User 1aff773a09

10-03-2015 07:43:40

Hi,


Thanks for the info. What is a TC?
By the way, we have valid license for ChemAxon product. How do I associate it with my account?


Thanks.


Regards,
Samantha 

ChemAxon d4fff15f08

10-03-2015 10:46:46

Hi,


I forgot to mention before, but please do not start the upgrade on your production system without having a proper backup! Trying out the upgrade on a test environment makes the whole procedure even more secure, please consider it.


Sorry for the slang... TC stands for teleconference (usually meaning discussion over skype, webex, gotomeeting, hangout, telephone, etc.).


Your licence is time limited, and not version limited, so you can use it with any version. What do you mean by associating it with your account?


 


Norbert

User 1aff773a09

11-03-2015 01:20:39

Hi,


From this site, https://www.chemaxon.com/download/ />I browse to My licenses, I can only see exprired evaluation licenses, when in fact, we have valid licenses.


 


And what is the latest stable version for the cartridge?

Do I have to upgrade the jchem computational server together with the cartridge?


Thanks.


Regards,
Samantha 

 

ChemAxon 9c0afc9aaf

12-03-2015 06:54:49

Dear Samantha,


You can only see the licenses which were registered with your ChemAxon user account, associated with your e-mail.


Yes, your institution has valid licenses, but registered by an other user(s).


Please contact the appropriate contact person(s) within your institution for the license.


The latest stable version is always the current, latest version.


Please read this on our new release policy:


https://www.chemaxon.com/blog/some-changes-in-the-way-we-are-releasing-our-software-faster-and-with-a-different-sequence-numbering/


Yes, the JChem Server is part of the cartridge installation, you have to upgrade them together according to the instructions in the documentation.


Best,


Szilard