Optimization advice requested - 10g Java / ncomp

Hi.
I am a Linux System Administrator who has been assigned the task of maximizing the performance of my company's Oracle datamining.
I have little experience in SQL, little experience in Java coding, and most of my Oracle experience is from 1998. But apparently I am the most qualified person in the company for this, so I'll give it my best shot.
Previously, the company had analysts running the datamining queries on their own desktops. This would effectively monopolize their PC's for several hours while the queries ran. The company now intends to have the analysts send 'analysis packages' to a batch server which would process the queries and pass the results back when each query is finished. Currently they have assigned a Windows XP PC with a q6600 CPU and 4GB of RAM as the batch server. Eventually they plan to buy a new server for this, which should run Redhat AS4 x86_64. I have also been asked to provide a hardware spec for this new server.
The size of the oradata directory is not large, only 7GB. The queries use a lot of embedded Java on tables with a million rows, and sometimes the Java will make it's own SQL queries. After a bit of web searching, I thought that NCOMP'ing all the JAVA would surely give a large performance boost. Oddly, the main Oracle developer in our company had never heard of NCOMP.
So I downloaded the companion CD, and I downloaded the Visual Studio 2008 Trial .iso, and I installed them on our 'batch server'
There was a glitch when I ran the NCOMP example/demo:
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
+ Ncomping ...
+ Running ...
OJVMJAVA
--type "help" at the command line for help message
$ #
# NCOMP TEST Sun Nov 23 03:20:08 GMT-05:00 2008
# class java.lang.Object...................ncomped
# class java.lang.String...............not ncomped
# class java.io.StringReader...............ncomped
# class java.util.LinkedList...............ncomped
# SYSTEM CLASSES STATUS.............PARTLY NCOMPED
# method ncomp.Test.factorial..........not ncomped
# method ncomp.Test.factorial_intp.....not ncomped
# 250000 times factorial(20): ..............328 MS
# 250000 times factorial_intp(20): .........344 MS
# USER NCOMP STATUS.......................DISABLED
Anyway I tried running ncomp on our main .jar , SMOracleFuncs.jar 200K(compressed), which has 50 classes in it.
It deployed a jar SMOracleFuncs_depl.jar which included:
oracle/aurora/deploy/orajox10_11dc86c0b10_XXXXX_com_YYYYY_oracle_util.dll(in = 41472) (out= 41472)(stored 0%)
oracle/aurora/deploy/orajox10_11dc86c0b10_XXXXX_com_YYYYY_oracle.dll(in = 3114496) (out= 3114496)(stored 0%)
However, when I run the benchmark query after the NCOMP, it appears to take about 40% longer to complete the query.
Much of the time during the 80 minute execution, the CPU utilization is only 25%. Since this is on a quad-core CPU, I thought perhaps it was running only in a single thread, but when I look at the taskmgr, I see all the cores getting used, but not well.
Why would this happen? What am I doing wrong?
Perhaps there are compilation options that I need to use to get full multithreaded support.
from the compile output:
package com.XXXXX.oracle
-- closing connection: null
-- closed connection: null
touch com_XXXXX_oracle.stp
-- got java.io.IOException: CreateProcess: touch com_XXXXX_oracle.stp error=2 when executing action: touch com_XXXXX_oracle.stp
c:/devstudio/vc/bin/cl com_XXXXX_oracle.c -FoC:\oracle\product\10.2.0\db_1\javavm\demo\examples\jsproc\basic\ncomp\oracle\aurora\deploy\opt\com_XXXXX_oracle.obj -I. -IC:\oracle\product\10.2.0\db_1\javavm\jahome -Ox -Oy- -c com_XXXXX_oracle.c
c:/devstudio/vc/bin/LINK /DLL /OUT:C:\oracle\product\10.2.0\db_1\javavm\demo\examples\jsproc\basic\ncomp\oracle\aurora\deploy\orajox10_11dc86c0b10_???_com_XXXXX_oracle.dll /LIBPATH:"c:/devstudio/vc/lib" /DEF:orajox10_11dc86c0b10_???_com_XXXXX_oracle.def C:\oracle\product\10.2.0\db_1\javavm\demo\examples\jsproc\basic\ncomp\oracle\aurora\deploy\opt\com_XXXXX_oracle.obj C:\oracle\product\10.2.0\db_1/lib/orajox10.lib /NODEFAULTLIB msvcrt.lib kernel32.lib
Microsoft (R) Incremental Linker Version 9.00.21022.08
Copyright (C) Microsoft Corporation. All rights reserved.
Creating library
Also, I'm trying to come up with a good hardware spec for the Linux 64bit batch server.
I'm thinking of a Core i7 965 CPU with 12GB of RAM. The database is small enough to run in a tempfs, for ramdisk speeds.
Frequent backups should be enough, because we don't require 24x7 uptime.
Does anyone know if 1600MHz DDR3 would be worthwhile instead of 1066Mhz ?
Any point in storing the Oracle application on a SSD?
Thanks in advance for any help.
--Charles                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

I see some strange results when I try to check if JAccellerator is installed correctly.
C:\>sqlplus system/XXXX as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Tue Dec 2 04:15:55 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> select dbms_java.full_ncomp_enabled from dual;
select dbms_java.full_ncomp_enabled from dual
ERROR at line 1:
ORA-29558: JAccelerator (NCOMP) not installed. Refer to Install Guide for
instructions.
ORA-06512: at "SYS.DBMS_JAVA", line 236
SQL> select NCOMP.STATUS from dual;
select NCOMP.STATUS from dual
ERROR at line 1:
ORA-00904: "NCOMP"."STATUS": invalid identifier
SQL> quit

Similar Messages

  • Oracle Application Server 10g Java Object Cache

    Hi,
    I am new to Java and looking for a java caching framework and just came across Oracle Application Server 10g Java Object Cache. I am unable to find 11g version of the same. Is it not supported any more?
    Can I use this with weblogic server? Please suggest if any other alternatives.
    Thanks,
    Manoj

    Bump.
    I definitely don't see the same file: C:\dev\jdevstudio10134\javacache\lib\cache.jar in the Oracle JDEV tree. Is there a suggested alternative?

  • Enterprise Manager 10g Java Console

    Hi ,
    I want to use EM 10g in order to set up the replication environment.
    In the Administration tab of the EM 10g there is a TIP at the bottom of the tab page ....
    TIP Use the Enterprise Manager 10g Java Console to manage Advanced Replication and Workspace.
    Which is the Enterprise Manager 10g Java Console and how can i call it.....??????
    NOTE: The database 10g v.2 is installed in Windows XP os.
    Thanks ,a lot
    Simon

    The EM 10g Java Console can be installed from the Oracle 10g Client CD and it is used the same way the 9i OEM. The difference is that EM 10g Java Console is only used in Stand-alone and does not include connection to a Management Server.
    It has limited functionality. There are a lot of features not available in it and is only available as a backup to some functionalities not yet in Grid Control and DB Control. (e.g, There is no Replication in 10.1 Grid Control, but it is in 10.1 Java Console). It will be phased out in future Releases (no idea which release yet).

  • Where to find Enterprise Manager 10g Java Console software on OTN?

    Hi All, Please let me know where to find Enterprise Manager 10g Java Console software on OTN? Appreciate your help!
    Thanks!

    "The Java Console program is on the Oracle 10G Client software CD. When you are prompted to choose the type of installation, select the Administrator option and the Java Console will be installed with the rest of the software. After the installation is complete, navigate to the Oracle home's bin directory where you installed the Oracle Client and type in:
    oemapp console
    "

  • JspServlet: unable to dispatch to requested page: java.io.FileNotFoundExcep

    Hi .,
    after successfully deploying the .ear file & registering the provider.........i am getting errors when i am trying to view my portlet in a page...
    i am following the below procedure to deploy...please let me know that am i going in a right way?
    Steps I am following:
    1.extracting template.ear file to my_ear directory
    2.extracting template.war to my_war directory
    3.in my_ear\htdocs\myjsp\my.jsp.....i am keeping my my.jsp file...
    4.web-inf\deployments.....i am keeping two property files i) _default.properties file and  ii)my.properties file...after modifing them
    5.in lib directory i am keeping two .jar files....pdkjava.jar and ptlshare.jar
    6.web-inf\providers\my\provider.xml..............after midifing the provider.xml
    so ....i am making my.war with all the above stuff including meta-inf directory....
    after that creating .ear file including .war file....after modifying application.xml
    till here i am getting successfull...
    and i can able to view my deployment through
    http://myserver.com:7778/my/providers.........where 'my' is my registration name.........
    this url i am using for registering the provider....
    after all this stuff i am getting below error after customizing the page...
    please give me solution.....
    Error I am getting
    6/2/03 2:23 AM PollAdmin: JspServlet: unable to dispatch to requested page: java.io.FileNotFoundException:
    /space/infra/ias_midtier/j2ee/OC4J_Portal/applications/PollAdmin/PollAdmin/htdocs/PollAdmin/PollAdmin.jsp (No such file or directory)
         at java.io.FileInputStream.open(Native Method)
         at java.io.FileInputStream.<init>(FileInputStream.java:64)
         at oracle.jsp.provider.JspFilesystemResource.fromStream(JspFilesystemResource.java:153)
         at oracle.jsp.provider.JspFilesystemResource.fromReader(JspFilesystemResource.java:169)
         at oracle.jsp.runtimev2.JspPageCompiler.fromReader(JspPageCompiler.java:345)
         at oracle.jsp.runtimev2.JspPageCompiler.attemptCompilePage(JspPageCompiler.java:250)
         at oracle.jsp.runtimev2.JspPageCompiler.compilePage(JspPageCompiler.java:171)
         at oracle.jsp.runtimev2.JspPageInfo.compileAndLoad(JspPageInfo.java:338)
         at oracle.jsp.runtimev2.JspPageTable.compileAndServe(JspPageTable.java:481)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:255)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:407)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:330)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:336)
         at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:59)
         at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:283)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:523)
         at com.evermind.server.http.ServletRequestDispatcher.include(ServletRequestDispatcher.java:108)
         at oracle.portal.provider.v2.render.http.ResourceRenderer.renderBody(Unknown Source)
         at oracle.portal.provider.v2.render.RenderManager.render(Unknown Source)
         at oracle.portal.provider.v2.DefaultPortletInstance.render(Unknown Source)
         at oracle.webdb.provider.v2.adapter.soapV1.ProviderAdapter.showPortlet(Unknown Source)
         at oracle.webdb.provider.v2.adapter.soapV1.ProviderAdapter.handleHttp(Unknown Source)
         at java.lang.reflect.Method.invoke(Native Method)
         at oracle.webdb.provider.v2.adapter.SOAPServlet.doHTTPCall(Unknown Source)
         at oracle.webdb.provider.v2.adapter.SOAPServlet.service(Unknown Source)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:336)
         at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:59)
         at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:283)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:523)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:269)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:735)
         at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:151)
         at com.evermind.util.ThreadPoolThread.run(ThreadPoolThread.java:64)
    PLease help me as soon as possible.........

    Hi Abhinav.,
    Actually as an example i mentioned "my" in previous posting...
    here is the provider.xml i am using...for "PollAdmin"
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <?providerDefinition version="3.1"?>
    <provider class="oracle.portal.provider.v2.DefaultProviderDefinition">
    <session>false</session>
    <useOldStyleHeaders>false</useOldStyleHeaders>
    <portlet class="oracle.portal.provider.v2.DefaultPortletDefinition">
    <id>3</id>
    <name>PollAdmin</name>
    <title>PollAdmin Portlet</title>
    <description>This portlet echos the poll information.</description>
    <timeout>40</timeout>
    <timeoutMessage>PollAdmin Portlet timed out</timeoutMessage>
    <showEdit>false</showEdit>
    <showEditDefault>false</showEditDefault>
    <showPreview>false</showPreview>
    <showDetails>false</showDetails>
    <hasHelp>false</hasHelp>
    <hasAbout>false</hasAbout>
    <acceptContentType>text/html</acceptContentType>
    <renderer class="oracle.portal.provider.v2.render.RenderManager">
    <contentType>text/html</contentType>
    <showPage>/htdocs/PollAdmin/PollAdmin.jsp</showPage>
    </renderer>
    </portlet>
    </provider>
    Thanks

  • Enterprise Manager 10g Java Console  for Windows

    Dear all,
    I have download Complete Files of Oracle10.1.0.2 for Microsoft Windows (32-bit). After installation, When I opened Web-based Oracle Enterprise Manager 10g; I see the following tip on the Administration page
    TIP Use the Enterprise Manager 10g Java Console to manage Streams, Advanced Replication, Advanced Queues, XML Database, Spatial and Workspace.
    But I am still looking from where it can be launched. Have any professional experienced the Enterprise Manager 10g Java Console on MS Windows platform?
    Regds,
    Faran

    It is not installed by default, you have to mark its
    checkbox explicitly. In the package selection tree, it is
    under Oracle Client 10.1.0.2.0.
    It's only a Beta! But it's much more stable and a little
    bit faster than 9iR2. They probably didn't check it for
    default installation as it's just a beta.
    There's one another interesting issue with Enterprise
    Managers (Java and web) in 10g: each of them recommends
    you in the welcome page to use the other one. What was
    first, the chicken, or the egg???
    M.

  • Need Powerbook G4 and Logic 7.1 Optimization advice

    Hello Logic/Mac Users,
    I need optimization advice for my portable logic setup.
    I've got a PB G4 with a gig of ram, a Firewire 410, and some soft synths.
    My goals are basically to come up with a few tracks of ideas, nothing too grand.
    I basically want to use one track for Ultrabeat,
    another two for a couple of soft synths like the G-Force stuff.
    and Finally to plug in some bass guitar stuff via a Bass Pod Xt into the firewire device.
    any tips on how to get the most out of this existing setup would be very appreciated.
    I'm reading the manuals and playing with the tutorial tunes but any tips to expedite would be cool also.
    Also any suggestions on how to max out performance on the powerbook would be great.
    Regards
    Adrian
    1.5 ghz, 1 gig ram Mac OS X (10.3.9)
    1.5 ghz, 1 gig ram Mac OS X (10.3.9)

    Hi Stereovibe,
    Your powerbook G4 could record some audio tracks but don't count on
    adding plug-ins and instruments on top. A G4 processor is simply too slow
    to process and run Logic Pro 8 smoothly. Don't put too much money upgrading since
    you will not see a major speed bump doing so. I would keep my money and put towards
    a Macbook Pro dual core, used or new.
    My 2 cents,
    Marc

  • Initiate request from java class

    Hello
    I got a peculiar question
    My web container contains the following
    a JSP page[b] page1.jsp
    second JSP page page2.jsp
    A servlet PushPage
    A java class ContactServlet
    What I want to achieve is when browser is displaying page1.jsp. The ContactSevlet.java class calls the servlet PushPage which redirects to page2.jsp
    I am able to successfully load the servlet from ContactServlet.java since I am able to print the response(the contents of page2.jsp) on to console.
    But the page2.jsp does not display on the browser, it still displays page1.jsp after servlet completes its function.
    Any idea how can I make the page2.jsp to display on the browser?
    In other words i should make the Servlet feel like the request has come from page1.jsp for page2.jsp.
    The code for servlet and java class are below
    package testpackage;
    import java.io.IOException;
    import java.io.PrintWriter;
    import javax.servlet.RequestDispatcher;
    import javax.servlet.ServletContext;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    * Servlet implementation class for Servlet: PushPage
    public class PushPage extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
         public PushPage() {
              super();
         protected void processAll(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
              response.sendRedirect("http://localhost/rimpush/page2.jsp");
         protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
               processAll( request,  response);
         protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
              processAll( request,  response);
    /*Java class*/
    package testpackage;
    import java.io.*;
    import java.net.*;
    import javax.servlet.http.HttpServletRequest;
    public class ContactServlet {
         public ContactServlet(){
         public static void main( String [] args ) {
              /*Call the servlet PushPage*/
              try {
                URL url = new URL("http://localhost/rimpush/PushPage");
                URLConnection conn = url.openConnection();
                conn.setDoOutput(true);
            catch ( MalformedURLException ex ) {
                // a real program would need to handle this exception
            catch ( IOException ex ) {
                // a real program would need to handle this exception
    }Any idea would be gracefully appreciated
    Thank you.

    Your ContactServlet program does makes a request to the "PushPage" servlet independant of the browser. In fact you may as well have just opened up a new browser window - it is the same effect.
    In most cases the only way you can put a new page in the browser is if the browser requests it. So if you want something to be loaded into the browser with page1.jsp displayed in it, then that browser needs to make a request to the server.
    The standard way of doing this is to either use a meta-refresh tag on the page, or a javascript window.setTimeout.
    If you want a "push" technology, you might take a look at [url http://www.pushlets.com] pushlets . I haven't actually used them, but they might be applicable in this case.
    Cheers,
    evnafets

  • ARP and RARP request in Java

    Hello,
    I'd like to send ARP and RARP request in Java, but I don't know how to.
    Thanks for help.

    Potentially you can find the RFCs for ARP and RARP and then code the functions at the socket level. To be a real pal, make the code into an open source library when you're done.

  • EM 10g : java.lang.Exception: Exception in sending Request :: null

    I have installed 2 db on 10.2.0.1.0. The first one is running fine and easily manageable via Enterprise Manager. When I open EM on the second db I receive "java.lang.Exception: Exception in sending Request :: null" with no further explanation. When I try startup/shutdown, I get "Couldnot contact the agent. Verify that the url for the agent is null". However the db service and the DB console are up and running. I can connect via SQL*plus to manage my DB.
    From a java application the connection fails with "java.sql.SQLException: Io exception: The Network Adapter could not establish the connection"
    listener.ora is as follow:
    SID_LIST_LISTENER =
    (SID_LIST =
    (SID_DESC =
    (SID_NAME = PLSExtProc)
    (ORACLE_HOME = D:\OraHome_1)
    (PROGRAM = extproc) ) )
    LISTENER =
    (DESCRIPTION_LIST =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC2))
    (ADDRESS = (PROTOCOL = TCP)(HOST = MyHost)(PORT = 1512) ) ) )
    TSANAMES is as follow:
    26ALER =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = MyHost)(PORT = 1512))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = 26aler) ) )
    LISTENER_26ALER =
    (ADDRESS = (PROTOCOL = TCP)(HOST = MyHost)(PORT = 1512))
    LISTENER_ORCL1020 =
    (ADDRESS = (PROTOCOL = TCP)(HOST = MyHost)(PORT = 1512))
    ORCL1020 =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = MyHost)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = orcl1020) ) )
    EXTPROC_CONNECTION_DATA =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC2))
    (CONNECT_DATA =
    (SID = PLSExtProc)
    (PRESENTATION = RO) ) )
    Any clue what could be wrong?
    The console servier is running as stated here:
    starting Oracle Enterprise Manager 10g Database Control ...The OracleDBConsole26
    aler service is starting................
    the OracleDBConsole26aler service was started successfully.
    Edited by: user730614 on Oct 27, 2008 8:27 PM

    I have same issue when i upgraded the database from 9i to 10g...some articales point that the issue is related to the timeZone settings..
    I hope some one here could explain what it is and how to solve it... thank you

  • Forms 10G - Java applet and Client Certificate

    Hello,
    I recently developed a servlet to read a client certificate on the application server.
    I set the apache server to request a client certificate on launching.
    Everything works fine.
    Now, my customer wants to stop the application when the client certificate is removed (The client certificate is stored on a USB key).
    After some tests, I realized that the client certificate is stored inside the java Apllet cache;
    In other words, the Certificate is removed from the browser store (as expected) but not from the Applet store.
    So my question is, Is it possible to configure Java applet not to keep certificate in cache ?
    Or is it a way to force Applet to synchronize with the certificate store of the browser ?
    thanks in advance for your help.

    Thank you very much for your link...i saw there that you had the same problem. My question now is if Frank ( i know him from the Forms Forum :)) did tell you about working with the embedded server starting it as an external OC4J instance.
    If he did please tell me also. i am interested in that because i havent heard of any patch on JDeveloper 10g on this matter.
    All the best

  • Advice Requested - High Availability WITHOUT Failover Clustering

    We're creating an entirely new Hyper-V virtualized environment on Server 2012 R2.  My question is:  Can we accomplish high availability WITHOUT using failover clustering?
    So, I don't really have anything AGAINST failover clustering, and we will happily use it if it's the right solution for us, but to be honest, we really don't want ANYTHING to happen automatically when it comes to failover.  Here's what I mean:
    In this new environment, we have architected 2 identical, very capable Hyper-V physical hosts, each of which will run several VMs comprising the equivalent of a scaled-back version of our entire environment.  In other words, there is at least a domain
    controller, multiple web servers, and a (mirrored/HA/AlwaysOn) SQL Server 2012 VM running on each host, along with a few other miscellaneous one-off worker-bee VMs doing things like system monitoring.  The SQL Server VM on each host has about 75% of the
    physical memory resources dedicated to it (for performance reasons).  We need pretty much the full horsepower of both machines up and going at all times under normal conditions.
    So now, to high availability.  The standard approach is to use failover clustering, but I am concerned that if these hosts are clustered, we'll have the equivalent of just 50% hardware capacity going at all times, with full failover in place of course
    (we are using an iSCSI SAN for storage).
    BUT, if these hosts are NOT clustered, and one of them is suddenly switched off, experiences some kind of catastrophic failure, or simply needs to be rebooted while applying WSUS patches, the SQL Server HA will fail over (so all databases will remain up
    and going on the surviving VM), and the environment would continue functioning at somewhat reduced capacity until the failed host is restarted.  With this approach, it seems to me that we would be running at 100% for the most part, and running at 50%
    or so only in the event of a major failure, rather than running at 50% ALL the time.
    Of course, in the event of a catastrophic failure, I'm also thinking that the one-off worker-bee VMs could be replicated to the alternate host so they could be started on the surviving host if needed during a long-term outage.
    So basically, I am very interested in the thoughts of others with experience regarding taking this approach to Hyper-V architecture, as it seems as if failover clustering is almost a given when it comes to best practices and high availability.  I guess
    I'm looking for validation on my thinking.
    So what do you think?  What am I missing or forgetting?  What will we LOSE if we go with a NON-clustered high-availability environment as I've described it?
    Thanks in advance for your thoughts!

    Udo -
    Yes your responses are very helpful.
    Can we use the built-in Server 2012 iSCSI Target Server role to convert the local RAID disks into an iSCSI LUN that the VMs could access?  Or can that not run on the same physical box as the Hyper-V host?  I guess if the physical box goes down
    the LUN would go down anyway, huh?  Or can I cluster that role (iSCSI target) as well?  If not, do you have any other specific product suggestions I can research, or do I just end up wasting this 12TB of local disk storage?
    - Morgan
    That's a bad idea. First of all Microsoft iSCSI target is slow (it's non-cached @ server side). So if you really decided to use dedicated hardware for storage (maybe you do have a reason I don't know...) and if you're fine with your storage being a single
    point of failure (OK, maybe your RTOs and RPOs are fair enough) then at least use SMB share. SMB at least does cache I/O on both client and server sides and also you can use Storage Spaces as a back end of it (non-clustered) so read "write back flash cache
    for cheap". See:
    What's new in iSCSI target with Windows Server 2012 R2
    http://technet.microsoft.com/en-us/library/dn305893.aspx
    Improved optimization to allow disk-level caching
    Updated
    iSCSI Target Server now sets the disk cache bypass flag on a hosting disk I/O, through Force Unit Access (FUA), only when the issuing initiator explicitly requests it. This change can potentially improve performance.
    Previously, iSCSI Target Server would always set the disk cache bypass flag on all I/O’s. System cache bypass functionality remains unchanged in iSCSI Target Server; for instance, the file system cache on the target server is always bypassed.
    Yes you can cluster iSCSI target from Microsoft but a) it would be SLOW as there would be only active-passive I/O model (no real use from MPIO between multiple hosts) and b) that would require a shared storage for Windows Cluster. What for? Scenario was
    usable with a) there was no virtual FC so guest VM cluster could not use FC LUs and b) there was no shared VHDX so SAS could not be used for guest VM cluster as well. Now both are present so scenario is useless: just export your existing shared storage without
    any Microsoft iSCSI target and you'll be happy. For references see:
    MSFT iSCSI Target in HA mode
    http://technet.microsoft.com/en-us/library/gg232621(v=ws.10).aspx
    Cluster MSFT iSCSI Target with SAS back end
    http://techontip.wordpress.com/2011/05/03/microsoft-iscsi-target-cluster-building-walkthrough/
    Guest
    VM Cluster Storage Options
    http://technet.microsoft.com/en-us/library/dn440540.aspx
    Storage options
    The following tables lists the storage types that you can use to provide shared storage for a guest cluster.
    Storage Type
    Description
    Shared virtual hard disk
    New in Windows Server 2012 R2, you can configure multiple virtual machines to connect to and use a single virtual hard disk (.vhdx) file. Each virtual machine can access the virtual hard disk just like servers
    would connect to the same LUN in a storage area network (SAN). For more information, see Deploy a Guest Cluster Using a Shared Virtual Hard Disk.
    Virtual Fibre Channel
    Introduced in Windows Server 2012, virtual Fibre Channel enables you to connect virtual machines to LUNs on a Fibre Channel SAN. For more information, see Hyper-V
    Virtual Fibre Channel Overview.
    iSCSI
    The iSCSI initiator inside a virtual machine enables you to connect over the network to an iSCSI target. For more information, see iSCSI
    Target Block Storage Overviewand the blog post Introduction of iSCSI Target in Windows
    Server 2012.
    Storage requirements depend on the clustered roles that run on the cluster. Most clustered roles use clustered storage, where the storage is available on any cluster node that runs a clustered
    role. Examples of clustered storage include Physical Disk resources and Cluster Shared Volumes (CSV). Some roles do not require storage that is managed by the cluster. For example, you can configure Microsoft SQL Server to use availability groups that replicate
    the data between nodes. Other clustered roles may use Server Message Block (SMB) shares or Network File System (NFS) shares as data stores that any cluster node can access.
    Sure you can use third-party software to replicate 12TB of your storage between just a pair of nodes to create a fully fault-tolerant cluster. See (there's also a free offering):
    StarWind VSAN [Virtual SAN] for Hyper-V
    http://www.starwindsoftware.com/native-san-for-hyper-v-free-edition
    Product is similar to what VMware had just released for ESXi except it's selling for ~2 years so is mature :)
    There are other guys doing this say DataCore (more playing for Windows-based FC) and SteelEye (more about geo-cluster & replication). But you may want to give them a try.
    Hope this helped a bit :) 
    StarWind VSAN [Virtual SAN] clusters Hyper-V without SAS, Fibre Channel, SMB 3.0 or iSCSI, uses Ethernet to mirror internally mounted SATA disks between hosts.

  • I was always instructed by Apple to install all updates.  I followed their advice and my Java disappeared and I can no longer play pogo scrabble.  pogo's "advice" to install Java is useless.  HELP PLEASE!

    I was always instructed by Apple to install all new updates offered.  When I installed the last one on my 10.5.7 macbook, my java disappeared.  Java's advice is useless.  I can no longer play pogo scrabble without java.  Please help.  Thank you very much.

    MadMAC0 posted at https://discussions.apple.com/message/20107182?ac_cid=tw123456#20107182 that:
    Apple has posted (10/22/12) the approved solution for restoring the Java 6 plug-in:
    Java for OS X 2012-006: How to re-enable the Apple-provided Java SE 6 applet plug-in and Web Start functionality.

  • Creating RFC request in java

    Hi.
    I have a small issue, creating a RFC call from java.
    To be specific, I'm updating a table in the backend, using an adapter module.
    When creating the request using DOM, I get this error:
    Exception:
    Exception: error while processing message to remote system:
    com.sap.aii.af.rfc.core.client.RfcClientException: could not get functionname from XML requst:
    com.sap.aii.af.rfc.RfcAdapterException: failed to read funtionname from XML document: missing namespace declaration(2).
    I've seen a few places in the forum, that there's a simular problem in UDF, where you have to create the request string in one line. Else you get the same error.
    The question is, what is the difference between these two functions, and why is the DOM function failing when the other one works?
    The request should look like this:
      <?xml version="1.0" encoding="UTF-8"?>
      <rfc:Z_MON_SURV_UPDATE xmlns:ns1="urn:sap-com:document:sap:rfc:functions">
          <ID>1</ID>
      </rfc:Z_MON_SURV_UPDATE>
    Function 1:
    private NodeList buildRequestXml(String id) {
    try {
         Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
         Node docRoot = doc.appendChild(doc.createElementNS("urn:sap-com:document:sap:rfc:functions","rfc:Z_MON_SURV_UPDATE"));
         Element ID = doc.createElement("ID");
         docRoot.appendChild(ID).appendChild(doc.createTextNode(id));
         return doc.getChildNodes();
    } catch (Exception e) {
         throw new RuntimeException("Error while building request XML", e);}
    Function 2:
    private NodeList buildRequestXml(String id) throws SAXException, IOException, ParserConfigurationException, FactoryConfigurationError {
         String res = "<rfc:Z_MON_SURV_UPDATE xmlns:rfc=\"urn:sap-com:document:sap:rfc:functions\"><ID>"id"</ID></rfc:Z_MON_SURV_UPDATE>";
         Document XMLDoc= DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new InputSource(new StringReader(res)));     
         return XMLDoc.getChildNodes();
    Regards...
    Peter

    Hi Aashish.
    Your right, thanks.
    Just tried the something like, what you suggest.
    In my case the result method looks like this:
    private NodeList buildRequestXml(String id) {
         try {
              Document doc =
                   DocumentBuilderFactory
                        .newInstance()
                        .newDocumentBuilder()
                        .newDocument();
              Node docRoot =     doc;
              Element Z_MON_SURV_UPDATE = doc.createElement("rfc:Z_MON_SURV_UPDATE");
              Z_MON_SURV_UPDATE.setAttribute("xmlns:ns1","urn:sap-com:document:sap:rfc:functions");
              docRoot = doc.appendChild(Z_MON_SURV_UPDATE);
              Element ID = doc.createElement("ID");
              docRoot.appendChild(ID).appendChild(doc.createTextNode(id));
              return doc.getChildNodes();
         } catch (Exception e) {
              throw new RuntimeException("Error while building request XML", e);
    Regards...
    Peter

  • How to retain socket connection for multiple requests in java 1.3

    Hi All,
    My problem is to retain client socket connection without opening and closing socket connection for every request.I want to open the socket connection once and send multiple requests one after the other based upon the response over the same socket.Finally I want to close the socket only after completing all my requests and receiving respective responses.I don't want to open and close the socket for each request and response.While at the same time I expect the socket to send each request only after receiving the response for the previous request.
    I am using java 1.3 and I am looking for the solution in same version.
    Please help me .
    Thanx in advance.

    Look at my response to "Telnet to Unix box from Java"
    http://forum.java.sun.com/thread.jsp?forum=31&thread=437231
    on "Java Programming" forum. It does exactly that to run the signon and a command. It would be easy to extend it to do multiple commands.

Maybe you are looking for

  • Two new iPod touches: one set up via wi-fi the other will only connect to iTunes on a computer to set up. Does the 2nd have the old iOS?

    Two touches for kids for Christmas. White one set up in about 5 minutes out of the box using our home wi-fi. Turned on the black one and it only shows an icon to connect it to the computer and iTunes to set it up. This is a problem since we don't hav

  • Cant get @font-face to work on my new web site

    Hi everyone, I Cant get @font-face to work on my new web site. I tryed it before on other web sites and it worked just fine. Here is the code i am using: CSS: @charset "utf-8"; @font-face { font-family:"Caviar Dreams",sans-serif !important; font-styl

  • How to recompile the objects in oracle apps

    i used adadmin and compiled the apps schema .. but still i am getting INVALID objects .. how to compile these objects ? Below is the output after running adadmin .. suggest select owner,object_type,status from dba_objects where status='INVALID' SQL>

  • Brush or Pattern?

    Hi Everyone, I am very new with Adobe Photoshp (CS3) and I need to draw many lines on a map using the Pencil tool, but they must have certain look. One of them is a line with some triangles at equal interval as shown in this hand drawn picture. Somet

  • Error inserting into database

    need help,am tryin to insert data into my database which contains date, names,phone,address and deposit and it's giving this error message: java.lang.ClassCastException:java.util.Date cannot be cast to java.sql.Date. somebody help me please.thanks in