Cartridge upgrade to 5.5 problem

User e4183f4538

12-05-2011 04:30:19

Hi!


After installing JChem 5.5, I went to upgrade Cartridge from 5.4.1 to 5.5 via the upgrade.sh script.


It progressed fine till it wanted the Oracle instance name:



====> Trying to start JChem Server...

INFO: Using classpath: /chemaxon/JChem/lib/jchem.jar

INFO: Server process start-ed.

INFO: Cache id set to clnp_JCC

INFO: Listening at 1099




Local TNS name of the Oracle instance. [clnp]: 




====> The TNS name clnp doesn't work with sqlplus. Please, specify another one.

However, clnp is correct (also tried CLNP). It's listed in my tnsnames.ora as the only instance, and the rest of Oracle works fine using this listener (after the fail, I restarted the old Cartrdige and could use IJC fine).


Any idea where to go from here?


Thanks very much!

ChemAxon aa7c50abf8

12-05-2011 07:31:18

Hi,


Instead of the TNSname, you can also try a different connect string format accepted by SQL*Plus. For example:


//oraclehost:oraclelistenerport/oracleinstancename.

User e4183f4538

16-05-2011 04:44:45

Hi!


When I try the //oraclehost:oraclelistenerport/oracleinstancename entry, the script then bombs out with a SQL error:




Local TNS name of the Oracle instance. [clnp]: //sk482bsrv11.mccf.umt.edu:1521/clnp

INFO: Using classpath: /chemaxon/JChem/lib/jchem.jar

INFO: Connecting to sk482bsrv11.mccf.umt.edu:1099

AdminImpl: shutdown called...

INFO: shutdown called

Exiting...

INFO: 

Shutting down...

INFO: Server process stop-ed.

SEVERE: error

java.lang.RuntimeException: java.lang.RuntimeException: /home/oracle/app/oracle/product/11.2.0/dbhome_1/bin/sqlplus -L SYSTEM@//sk482bsrv11.mccf.umt.edu:1521/clnp @check_tnsname.sql  failed with:

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

SQL*Plus: Release 11.2.0.1.0 Production on Sun May 15 22:13:58 2011

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

SQL*Plus: Release 11.2.0.1.0 Production

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

Use SQL*Plus to execute SQL, PL/SQL and SQL*Plus statements.

Usage 1: sqlplus -H | -V

    -H   Displays the SQL*Plus version and the usage help.

    -V   Displays the SQL*Plus version.

Usage 2: sqlplus [ [<option>] [{logon | /nolog}] [<start>] ]

  <option> is: [-C <version>] [-L] [-M "<options>"] [-R <level>] [-S]

    -C <version>   Sets the compatibility of affected commands to the version specified by <version>.  The version has the form "x.y[.z]". For example, -C 10.2.0

    -L   Attempts to log on just once, instead of reprompting on error.

    -M "<options>" Sets automatic HTML markup of output.  The options

  have the form:

  HTML [ON|OFF] [HEAD text] [BODY text] [TABLE text]

  [ENTMAP {ON|OFF}] [SPOOL {ON|OFF}] [PRE[FORMAT] {ON|OFF}]

    -R <level>   Sets restricted mode to disable SQL*Plus commands that interact with the file system. The level can be 1, 2 or 3.  The most restrictive is -R 3 which disables all user commands interacting with the file system.

    -S   Sets silent mode which suppresses the display of the SQL*Plus banner, prompts, and echoing of  commands.

  <logon> is: {<username>[/<password>][@<connect_identifier>] | / }

     [AS {SYSDBA | SYSOPER | SYSASM}] [EDITION=value]

Specifies the database account username, password and connect identifier for the database connection.  Without a connect identifier, SQL*Plus connects to the default database.

 The AS SYSDBA, AS SYSOPER and AS SYSASM  options are database administration privileges.

 <connect_identifier> can be in the form of Net Service Name or Easy Connect.

      @[<net_service_name> | [//]Host[:Port]/<service_name>] <net_service_name> is a simple name for a service that resolves to a connect descriptor.

Example: Connect to database using Net Service Name and the database net service name is ORCL.

  sqlplus myusername/mypassword@ORCL

Host specifies the host name or IP address of the database server computer.

Port specifies the listening port on the database server.

<service_name> specifies the service name of the database you want to access.

Example: Connect to database using Easy Connect and the Service name is ORCL.

  sqlplus myusername/mypassword@Host/ORCL

The /NOLOG option starts SQL*Plus without connecting to a database.

The EDITION specifies the value for Session Edition.

  <start> is: @<URL>|<filename>[.<ext>] [<parameter> ...]

Runs the specified SQL*Plus script from a web server (URL) or the  local file system (filename.ext) with specified parameters that  will be assigned to substitution variables in the script.




When SQL*Plus starts, and after CONNECT commands, the site profile (e.g. $ORACLE_HOME/sqlplus/admin/glogin.sql) and the user profile (e.g. login.sql in the working directory) are run.  The files may contain SQL*Plus commands. Refer to the SQL*Plus User's Guide and Reference for more information.

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

at chemaxon.jchem.cartridge.install.params.InstallParameters.checkTnsName(InstallParameters.java:354)

at chemaxon.jchem.cartridge.install.InstallCmdLine.checkTnsNameInteractively(InstallCmdLine.java:351)

at chemaxon.jchem.cartridge.install.UpgradeCmdLine.getParamsInteractively(UpgradeCmdLine.java:358)

at chemaxon.jchem.cartridge.install.UpgradeCmdLine.interactiveUpgrade(UpgradeCmdLine.java:94)

at chemaxon.jchem.cartridge.install.UpgradeCmdLine.upgrade(UpgradeCmdLine.java:52)

at chemaxon.jchem.cartridge.install.UpgradeCmdLine.main(UpgradeCmdLine.java:689)

Caused by: java.lang.RuntimeException: /home/oracle/app/oracle/product/11.2.0/dbhome_1/bin/sqlplus -L SYSTEM@//sk482bsrv11.mccf.umt.edu:1521/clnp @check_tnsname.sql  failed with:

 


I can call SQLPLUS when I use the call:


 


$ORACLE_HOME/bin/sqlplus -L SYSTEM/[password]@//sk482bsrv11:1521/clnp.sk482bsrv11.mccf.umt.edu


Is the upgrade script not calling for the SYSTEM password? Or is there something goofy with my setup that may be causing this problem?


Thanks!

 


 

ChemAxon aa7c50abf8

17-05-2011 09:06:28

Hi,


When I try the //oraclehost:oraclelistenerport/oracleinstancename entry, the script then bombs out with a SQL error:

Indeed, after some research and testing I've found that SQL*Plus coming with 11g requires a slightly different syntax for the Easy Connection Identifier than what works with 10g: with 11g the easy connect id must be enclosed in double-quotes like this:


====> The TNS name masdd doesn't work with sqlplus. Please, specify another one.

Local TNS name of the Oracle instance. [masdd]: "//localhost:1521/mydb11r2"

Do you want to use a role for basic JChem Cartridge user privileges? (This role will be granted to pkovacs_trunk WITH ADMIN OPTION. See http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/statements_9013.htm#sthref8967) (y,n) [n]:

Let me know if this doesn't help.

User e4183f4538

17-05-2011 15:13:50

Hi!


I tried a few variations, and even reloaded the TNS listener right before running the upgrade script. Still no luck.


Where should I go from here?


 


Thanks!!


Local TNS name of the Oracle instance. ["//sk482bsrv11.mccf.umt.edu:1521/clnp"]: clnp

====> The TNS name clnp doesn't work with sqlplus. Please, specify another one.

Local TNS name of the Oracle instance. [clnp]: "//sk482bsrv11:1521/clnp"

====> The TNS name "//sk482bsrv11:1521/clnp" doesn't work with sqlplus. Please, specify another one.

Local TNS name of the Oracle instance. ["//sk482bsrv11:1521/clnp"]: "//sk482bsrv11.mccf.umt.edu:1521/clnp"

====> The TNS name "//sk482bsrv11.mccf.umt.edu:1521/clnp" doesn't work with sqlplus. Please, specify another one.

Local TNS name of the Oracle instance. ["//sk482bsrv11.mccf.umt.edu:1521/clnp"]: clnp

====> The TNS name clnp doesn't work with sqlplus. Please, specify another one.

ChemAxon aa7c50abf8

17-05-2011 15:53:07

Did you try the instance name which you said worked in your example above:


$ORACLE_HOME/bin/sqlplus -L SYSTEM/[password]@//sk482bsrv11:1521/clnp.sk482bsrv11.mccf.umt.edu

using clnp.sk482bsrv11.mccf.umt.edu instead of just clnp ? For example:




"//sk482bsrv11:1521/clnp.sk482bsrv11.mccf.umt.edu"

 

User e4183f4538

17-05-2011 16:17:19

BOOYAH!


That was it - Thanks very much for your help!