Forum Stats

  • 3,826,865 Users
  • 2,260,714 Discussions
  • 7,897,108 Comments

Discussions

Mapviewer 11g Tile Prefetch Java Errors

400015
400015 Member Posts: 66
edited Sep 15, 2008 7:45AM in MapViewer
Forum:

Using 11g and the 11g MapViewer /Admin from Metalink to prefetch tiles.

The following errors is being generated in the oc4j command window - which of course is affecting the tile generation:

SEVERE: Exception fetching data for theme P_FABRIC.
Message:Exception while querying theme: P_FABRIC
Description: Nested exception is:
java.sql.SQLException: OALL8 is in an inconsistent state.
java.sql.SQLException: OALL8 is in an inconsistent state.
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:138)
at oracle.jdbc.driver.T4C8Oall.init(T4C8Oall.java:325)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:170)
at oracle.jdbc.driver.T4CPreparedStatement.execute_for_describe(T4CPreparedStatement.java:503)
at oracle.jdbc.driver.OracleStatement.execute_maybe_describe(OracleStatement.java:1029)
at oracle.jdbc.driver.T4CPreparedStatement.execute_maybe_describe(T4CPreparedStatement.java:535)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1126)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3001)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3043)
at oracle.sdovis.theme.PredGeomThemeProducer.loadFeaturesInWindow(PredGeomThemeProducer.java:688)
at oracle.sdovis.theme.PredGeomThemeProducer.prepareData(PredGeomThemeProducer.java:230)
at oracle.sdovis.Theme.prepareData(Theme.java:183)
at oracle.sdovis.LoadThemeData.run(LoadThemeData.java:74)

Also seeing the following:

SEVERE: *** Exception while querying theme: P_FABRIC
java.sql.SQLException: Protocol violation
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:138)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:175)
at oracle.jdbc.driver.DatabaseError.check_error(DatabaseError.java:898)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:656)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:185)
at oracle.jdbc.driver.T4CPreparedStatement.execute_for_describe(T4CPreparedStatement.java:503)
at oracle.jdbc.driver.OracleStatement.execute_maybe_describe(OracleStatement.java:1029)
at oracle.jdbc.driver.T4CPreparedStatement.execute_maybe_describe(T4CPreparedStatement.java:535)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1126)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3001)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3043)
at oracle.sdovis.theme.PredGeomThemeProducer.loadFeaturesInWindow(PredGeomThemeProducer.java:688)
at oracle.sdovis.theme.PredGeomThemeProducer.prepareData(PredGeomThemeProducer.java:230)
at oracle.sdovis.Theme.prepareData(Theme.java:183)
at oracle.sdovis.LoadThemeData.run(LoadThemeData.java:74)



SEVERE: Exception fetching data for theme FC_COUNT.
Message:Exception while querying theme: FC_COUNT
Description: Nested exception is:
java.sql.SQLException: No more data to read from socket
java.sql.SQLException: No more data to read from socket
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java
:138)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java
:175)
at oracle.jdbc.driver.DatabaseError.check_error(DatabaseError.java:898)
at oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:994)
at oracle.jdbc.driver.T4CMAREngine.unmarshalSB1(T4CMAREngine.java:951)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:448)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.
java:185)
at oracle.jdbc.driver.T4CPreparedStatement.execute_for_rows(T4CPreparedS
tatement.java:633)
at oracle.jdbc.driver.OracleStatement.execute_maybe_describe(OracleState
ment.java:1048)
at oracle.jdbc.driver.T4CPreparedStatement.execute_maybe_describe(T4CPre
paredStatement.java:535)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStateme
nt.java:1126)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePrep
aredStatement.java:3001)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePrepare
dStatement.java:3043)

Has anyone seen these before in the tile generation context ? And - are there solutions available to resolve this ?

Thank you in advance

JF

Answers

  • Lqian-Oracle
    Lqian-Oracle Member Posts: 485 Employee
    This points to some issue in the JDBC driver layer, and possible causes are:
    1. database experiencing problems and you may want to check if it's throwing any errors in its log/audit file.
    2. mismtach between the version of JDBC driver MapViewer is using and the version of your database; try use the JDBC driver (ojdbc*.jar file) from database and see if that fixes the issue.
    3. database connection in MapViewer became stale (could happen if database was recently restarted for instance) or out of sync; try restart MapViewer.

    another thing worth trying is if you are currently using OCI mode when defining MapViewer data source, see if switching to the (recommended) "THIN" mode makes the error go away.
    Lqian-Oracle
  • 400015
    400015 Member Posts: 66
    Thank you ... will try these suggestions.

    To make sure I understand your comment of the odbc*.jar file - I have the following question:

    To use the database version of the odbc*.jar - should I copy it from the database to the mapviewer directory ?

    Thanks
  • Lqian-Oracle
    Lqian-Oracle Member Posts: 485 Employee
    yes, find and copy ojdbc14*.jar from db install and copy it to your mapviewer install (either drop it inside mapviewer's WEB-INF/lib directory, or replace the one in oc4j/jdbc/lib/ directory).
  • 400015
    400015 Member Posts: 66
    Another question:

    Which of the folllowing ojdbc files in 11g should we try using in mapviewer ?

    ojdbc5.jar from C:\app\P1\product\11.1.0\db_1\jdbc\lib
    ojdbc5_g.jar from C:\app\P1\product\11.1.0\db_1\jdbc\lib
    ojdbc6.jar from C:\app\P1\product\11.1.0\db_1\jdbc\lib
    ojdbc6_g.jar from C:\app\P1\product\11.1.0\db_1\jdbc\lib
    ojdbc14.jar C:\app\Pi1\product\11.1.0\db_1\owb\wf\lib
    ojdbc14dms.jar C:\app\P1\product\11.1.0\db_1\oc4j\jdbc\lib


    In mapviewer We currently have

    ojdbc14dms.jar in F:\oramapviewerdl\oc4j\jdbc\lib


    Thanks in advance

    JF
  • Lqian-Oracle
    Lqian-Oracle Member Posts: 485 Employee
    I would start with odjbc14dms.jar by replacing the one in oc4j/jdbc/lib direcotry.
  • 400015
    400015 Member Posts: 66
    Thanks - will do.

    JF
  • 400015
    400015 Member Posts: 66
    We have copied the new ojdbc14dms.jar to the mapviewer oc4j/jdbc/lib directory.

    Seems like we are no longer seeing the inconsistent state errors.

    What we are running into now is the 'OUT OF MEMORY WHILE PROCESSING MAP REQUEST' messages. This happens after the prefetch process have been running for about three hours ....over this time we do not see a significant increase in the amount of RAM used by system - its stays at around 2.16 - 2.20 GB on a 4 GB RAM Windows XP Machine.

    Does any one have any suggestions as to how to work around this issue ?

    Are there tried and tested rules for sizing and configuring the hardware for Map Viewer ?

    We are having a really difficult time getting prefetching tiles to actually complete the prefetch of all tiles in the jurisdictions where we are working to promote completely Oracle based solutions. Without prefetching indications are that system performance will not be acceptable.

    We validated the data with the Oracle Spatial Validation utilities and also with Geomedia & other GIS Tools to make sure that this is not a data issue.

    If any one would like to see the map viewer log files we can make those available.

    Any advice will be greatly appreciated ...

    JF
  • d_wilhelm
    d_wilhelm Member Posts: 405
    Hello,

    we ran into the same problem when we tried to prefetch our data. Prefetching small scales was no problem, but big scales produced out of memomry errors and broken tiles.

    We noticed that setting max_connections to a fixed value in the mapviewer configuration file in the map_data_source part helped a lot.

    Now mapviewer doesn't open an unlimited number of connections to the database and that reduced the memory usage.

    Hope this help,
    Dirk
    d_wilhelm
  • 400015
    400015 Member Posts: 66
    edited Sep 15, 2008 7:45AM
    Thank you Disk ... We'll go try this.

    To the rest of the forum: Copying that database's version of ojdbc14dms.jar to mapviewer seems to have helped a lot -
    ee also started oc4j with 512 Mb of Allocated memory . No longer seeing that OUT OF MEMORY error.

    We still have to run prefetch on the orginal cached maps in which we saw the errors that lead to the start of this thread on the forum - but all infidications so far is that the prefetching is chugging along.

    Just wish we had multiple parrallel processing going so as to speed up the process :-)

    Regards

    JF

    Edited by: gemsbok on Sep 15, 2008 4:43 AM
This discussion has been closed.