Configuring WCS V7 FEP4 toolkit and Oracle 11g Release 2

Posted by Unknown on

What an experience it has been to configure and run my toolkit with a local Oracle installation, I decided to document some of the errors I encountered, hopefully this will help others.

My software stack

WCS V7 toolkit with feature pack 4, fix pack 5
Windows 7 OS (64 bit)
Oracle 11g, Release 2 (installed the "desktop class"  version, this is supposed to be lite version of server edition)

All of the software stack is installed on a single host machine.

Step 1.a
I started with installation of a 64 bit version of Oracle server/client on my laptop, this was probably the first biggest mistake, and here is some explanation and possible workaround.
"WCS developer still makes use of a 32 bit JVM and hence would require a 32 bit Oracle driver"

c:\IBM\WCDE_ENT70\bin>setdbtype.bat oracle "C:\app\~\product\11.2.0\dbhome_2" wcs sys Oracle123 wcs7dev wcs7dev createdb

Error 1

"\Common was unexpected at this time"

to resolve this issue I had to edit c:\IBM\WCDE_ENT70\bin\setenv.bat
and replace following line 
set PATH=%JAVA_HOME%\bin;%PATH%
with following entry
set PATH=%JAVA_HOME%\bin;c:\app\~\product\11.2.0\dbhome_2\bin;C:\Windows\system32;C:\Windows

I believe the issue here is the default script appends rest of system path setting and it had few lengthy URL with spaces etc.. so I decided to include only the path entries required for setdbtype script.

again... I'm not very sure of the root cause, but this hack worked fine for me.

Error 2
All of the tables were created successfully, buy It fails during massload with following error.

"WCS massload utility makes use of OCI driver and expects a 32 bit version of the driver"

Exception in thread "main" java.lang.UnsatisfiedLinkError: ocijdbc11 (.\ocijdbc11.dll is not a valid Win32 application. )
at java.lang.ClassLoader.loadLibraryWithPath(ClassLoader.java:1011)
at java.lang.ClassLoader.loadLibraryWithClassLoader(ClassLoader.java:975)
at java.lang.System.loadLibrary(System.java:469)
at oracle.jdbc.driver.T2CConnection$1.run(T2CConnection.java:3506)
at java.security.AccessController.doPrivileged(AccessController.java:202)
at oracle.jdbc.driver.T2CConnection.loadNativeLibrary(T2CConnection.java:3502)
at oracle.jdbc.driver.T2CConnection.logon(T2CConnection.java:252)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:531)
at oracle.jdbc.driver.T2CConnection.<init>(T2CConnection.java:148)
at oracle.jdbc.driver.T2CDriverExtension.getConnection(T2CDriverExtension.java:53)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:503)
at java.sql.DriverManager.getConnection(DriverManager.java:322)
at java.sql.DriverManager.getConnection(DriverManager.java:358)
at com.ibm.wca.dbconnect.DbConnectionImpl.connect(DbConnectionImpl.java:243)
at com.ibm.wca.MassLoader.MassLoad.loadDbConnection(MassLoad.java:1176)
at com.ibm.wca.MassLoader.MassLoad.execute(MassLoad.java:181)
at com.ibm.wca.MassLoader.MassLoad.<init>(MassLoad.java:114)
at com.ibm.wca.MassLoader.MassLoad.main(MassLoad.java:101)
Infocenter does provide some options to change it to a thin driver, but then I hit one error after another, and finally decided to give up and go with 32 bit version of Oracle software.
you could also try and download a 32 bit version of Oracle client /driver, but I was not so confident of this approach as it could impact the base Oracle installation.

I abandoned this step and moved to Step 1.b

Step 1.b

I downloaded the 32 bit version of Oracle software, this time around problem started with installation of database.
I got following error from Oracle installer and found a possible explanation from this thread.
as suggested in this thread I safely ignored the errors from installer and completed the database installation.
Error: File not found orandce11.dll.dbl

https://forums.oracle.com/forums/thread.jspa?threadID=1059983&start=15&tstart=0

Once the DB installation was completed I moved on to setdbtype command and this time everything ran properly including massload.

c:\IBM\WCDE_ENT70\bin>setdbtype.bat oracle "C:\app\~\product\11.2.0\dbhome_2" wcs sys Oracle123 wcs7dev wcs7dev createdb
Make sure you review WCDE_ENT70\logs\createdb.oracle.log file to ensure there were no errors.

Step 2

After running the setdbtype command, and before publishing any stores in the new database, you need to run the resetstores command to clean the store database, this will reset the stores project to bootstrap.

Any features enabled prior to running the setdbtype command must be re-enabled, I preferred to enable following features.

enableFeature.bat -DfeatureName=foundation

enableFeature.bat -DfeatureName=management-center

enableFeature.bat -DfeatureName=store-enhancements


Prepare Oracle for WCS toolkit configuration:
Few utility SQL's which came in handy during the installation / configuration, there other ways to do this, but these scripts just worked fine for me.

CREATE USER "WCS7DEV" PROFILE "DEFAULT" IDENTIFIED BY "wcs7dev" DEFAULT TABLESPACE "USERS" TEMPORARY TABLESPACE "TEMP" ACCOUNT UNLOCK;
GRANT "CONNECT" TO "WCS7DEV";
GRANT create procedure to "WCS7DEV";
GRANT create sequence to "WCS7DEV";
GRANT create session to "WCS7DEV";
GRANT create synonym to "WCS7DEV";
GRANT create table to "WCS7DEV";
GRANT create trigger to "WCS7DEV";
GRANT create view to "WCS7DEV";
GRANT unlimited tablespace to "WCS7DEV";

Reference Links

Changing development database
http://publib.boulder.ibm.com/infocenter/wchelp/v7r0m0/topic/com.ibm.commerce.install.doc/tasks/tmgdevchgdb.htm

WebSphere commerce feature pack
http://publib.boulder.ibm.com/infocenter/wchelp/v7r0m0/topic/com.ibm.commerce.install.doc/concepts/cigfeaturepack.htm




6 comments:

  1. This comment has been removed by the author.

    ReplyDelete
  2. Pre step to setdbtype failed - Oracle DB Migration from v6 to v7
    Hi,

    I have installed WCD on Windows machine. Installed details are given below.

    Commerce V 7.0.0.7 with FEP6 installed
    WAS V 7.0.0.29
    RAD 8.0.4.2_ iFix1
    Oracle 11g R2


    I tried to run setdbtype command as given in below URL as pre step before start migrating Oracle database from WCS 6 to 7.

    But getting below given error in command prompt. When I verified setdbtype.log file under WCD installed workspace directory (WCDE_ENT70\logs) found error "The system cannot find the path specified."

    Command prompt error: Error executing setdbtype. See E:\ibm\WCDE_E~1\logs\setdbtype.log for details.



    Commad I ran (given actual DB credentials in this below command):

    E:\ibm\WCDE_ENT70\bin>setdbtype oracle D:\oracle11g_base\product\11.2.0\dbhome_1 dbName dbAdminID dbAdminPassword dbUserID dbUserPassword



    Pre Migration steps URL:
    http://pic.dhe.ibm.com/infocenter/wchelp/v7r0m0/topic/com.ibm.commerce.install.doc/tasks/tmgdevpremigscpt.htm



    ======= setdbtype entire log========

    1 file(s) copied.
    1 file(s) copied.
    1 file(s) copied.
    The system cannot find the path specified.
    1 file(s) copied.
    1 file(s) copied.
    ====================================


    Could you please advice where I'm doing wrong here ?

    In the same WCD installed Windows machine Oracle 11g database also created and loaded WC6 database working schema in to this database.


    Thanks in advance.

    Regards,
    Venkat.

    ReplyDelete
  3. Hello Hari ,
    while installing the preview instance am getting the MassLoader exception as :> 2015-01-08 13:53:44.206, , com.ibm.wca.MassLoader.MassLoad::main, S1
    Exception Message: java.sql.SQLException: :

    Please suggest to me how to proceed further .!

    Thanks
    Jagadish

    ReplyDelete
  4. THANKS FOR SHARING SUCH A AMAZING WORK
    GREAT PIECE OF WORK!!!
    access point supplier in dubai

    ReplyDelete
  5. Thanks, this is generally helpful.
    Still, I followed step-by-step your method in this core java online course
    Java online course

    ReplyDelete
  6. Well articulated summary. While reasonable people can disagree on some specifics, highlighting this topic was an important public discussion. tarpaulin

    ReplyDelete