Oracle8i CORBA

Hi, all.
I have oracle8i for solaris.
I have tried the CORBA example "employee" which is provided in
"Oracle8i Enterprise JavaBeans and CORBA Developer's Guide
Release 8.1.5"
But while I tried to use "loadjava" to load "myJar.jar",
loadjava -oracleresolver -resolve -user scott/tiger myJar.jar
there are errors reported as following:
"Error while creating class employee/EmployeeHelper
ORA-29509: incorrectly formed Java binary class definition
Error while creating class employee/SQLErrorHelper
ORA-29509: incorrectly formed Java binary class definition
Error while creating class employee/EmployeeInfoHolder
ORA-29509: incorrectly formed Java binary class definition
Error while creating class employee/SQLError
ORA-29509: incorrectly formed Java binary class definition
Can anyone tell me the reason and how to solve this problem?
thanks
null

There are several examples in the " Oracle8i Enterprise JavaBeans and CORBA Developer's Guide". You can access this documentation online here on OTN at the following URL:
http://otn.oracle.com/doc/oracle8i_816/java.816/a81356/toc.htm
Hope this helps,
Rob
null

Similar Messages

  • Accessing Oracle8i CORBA from C++ client

    Did anybody successfully wrote C++ CORBA client that uses Oracle8i CORBA object? If so, some examples would be greatly appreciated.
    According to documentation it is possible to access Oracle8i CORBA object from any CORBA client including C++, but it doesn't say how. Even "pure corba" java example that you can find on Oracle8i CD uses some proprietary "aurora" classes.
    Please help.
    Anatoliy Chikhalenko
    [email protected]

    Thank u for taking care of me
    But the hint given by u is not apt to my query.
    If any new suggestion pls send again

  • Help!! - Unable to use the Application Module Deployed as Corba Object in Oracle 8i

    I have been able to successfully deploy an Application Module in Oracle 8i but i am un able to get a reference to the Application Module from the database the code used by me is -
    package client;
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import java.util.Hashtable;
    import oracle.jbo.*;
    import org.omg.CORBA.*;
    public class Corba8IClient{
    Hashtable env = new Hashtable();
    ApplicationModule appMod = null;
    String theAMDefName = "test/jd/freshJBO.FreshJBOModule";
    public Corba8IClient() {
    System.out.println("Started...");
    // Load the Application Module
    try{
    // Component deployed to Oracle8i CORBA Server.
    // Set up the 8i environment
    System.out.println("Setting up initial Context...");
    env.put(Context.INITIAL_CONTEXT_FACTORY, JboContext.JBO_CONTEXT_FACTORY);
    env.put(JboContext.DEPLOY_PLATFORM, JboContext.PLATFORM_ORACLE8I);
    env.put(Context.SECURITY_PRINCIPAL, "jd");
    env.put(Context.SECURITY_CREDENTIALS, "jd");
    env.put(JboContext.HOST_NAME, "Dev51");
    env.put(JboContext.CONNECTION_PORT, "2481");
    env.put(JboContext.ORACLE_SID, "ORA8I");
    // env.put(JboContext.APPLICATION_PATH, "test/jd/");
    System.out.println("Getting initial Context.");
    Context ic = new InitialContext(env);
    System.out.println("Doing Lookup...");
    ApplicationModuleHome home = (ApplicationModuleHome)ic.lookup(theAMDefName);
    System.out.println("Calling create...");
    // home
    System.out.println("Home Class Name : "+home.getClass().getName());
    oracle.jbo.client.remote.corba.aurora.AuroraApplicationModuleHome am = (oracle.jbo.client.remote.corba.aurora.AuroraApplicationModuleHome)home;
    System.out.println("DefName "+am.getDefName());
    appMod = home.create();
    System.out.println("Setting up connetion from AppMod to database...");
    appMod.getTransaction().connect("jdbc:oracle:thin:jd/jd@dev51:1521:ORA8I");
    }catch(Exception e) {
    e.printStackTrace();
    System.out.println("AppMod full Name "+ appMod.getFullName());
    public ApplicationModule getAppMod(){
    return appMod;
    public static void main(String args[]){
    Corba8IClient c8c = new Corba8IClient();
    after running the output is -
    Started...
    Setting up initial Context...
    Getting initial Context.
    Doing Lookup...
    Diagnostics: Silencing all diagnostic output (use -Djbo.debugoutput=console to see it)
    Calling create...
    Home Class Name : oracle.jbo.client.remote.corba.aurora.AuroraApplicationModuleHome
    DefName null
    oracle.jbo.ApplicationModuleCreateException: JBO-25222: Unable to create application module.
    at oracle.jbo.client.remote.corba.CORBAApplicationModuleHomeImpl.create(CORBAApplicationModuleHomeImpl.java:63)
    at client.Corba8IClient.<init>(Corba8IClient.java:39)
    at client.Corba8IClient.main(Corba8IClient.java:53)
    java.lang.NullPointerException
    at client.Corba8IClient.<init>(Corba8IClient.java:45)
    at client.Corba8IClient.main(Corba8IClient.java:53)
    Corba Object is deployed as -
    ObjectName = /test/jd/freshJBOModule
    Server Class = freshJBO.server.o8.FreshJBOModuleServerO8
    Helper Class = oracle.jbo.common.remote.corba.RemoteApplicationModuleHomeHelper
    The Application Module conatians an entity object and a view object for Dept Table in schema jd(Username -jd, Password -jd).

    Moneesh,
    I believe there is a problem with the way you set the variable theAMDefName. It should be:
    String theAMDefName = freshJBO.FreshJBOModule";
    Then you need to reinstate the line you commented out, to set the application path (but remove the trailing / from the path, as shown):
    env.put(JboContext.APPLICATION_PATH, "test/jd");
    If that doesn't work, and for future reference, I suggest testing your deployed application module from the Business Component Browser (aka the tester) before trying your hand-coded client. Start the tester, select Oracle8i as the middle tier server type, make sure the other information in the connect window is correct, then click Connect.
    Good luck
    Blaise

  • Add Jserver option

    Hi
    I'am working remote on a AIX 5.2 thru Putty with a Oracle 8.1.7.
    My problem is that I'am going to add Jsever to the db, but i can't start dbassist thru Putty, so is there any way I can do this without using dbassist?
    /Mikkel

    PURPOSE: ========= To assist with the manual installation of the Java Virtual Machine (JVM) into an 8.1.7 version database. Prior to the installation of the JVM, the "readme.txt" found in the ORACLE_HOME/javavm directory should be reviewed so that a broad understanding of the task can be understood. Multiple scripts will need to be run to enable full JVM functionality. All JVM related scripts must be run under the SYS AS SYSDBA account. This bulletin will provide the following pieces of information: SECTION A) The suggested resource settings needed for a successful JVM installation. SECTION B) The name and location of the scripts needed for a full JVM installaton where "full" is defined as all java-related functionality within the rdbms. A brief summary of the functionality added by each script will also be given in this section. SECTION C) Basic checks (queries) to be used to verify a successful JVM installation. SECTION D) Suggested reading material in order to gather a better understanding of the functionality that each script provides. NOTE: If the database was upgraded from an earlier version of 8i AND possessed the JVM from that previous 8i release, please see the 8.1.7 Migration manual in the official Oracle documentation for the steps needed to upgrade the JVM. SECTION A) RESOURCES: ======================== Rollback segment space- ---------------------- Allocate at least 100MB worth of rollback segment space for the JVM install, this is in addition to the rollback segment space allocated for any other activity on the database. System tablespace- ----------------- Combined, all of the scripts will consume approximately 130MB of free space in the system tablespace. The objects introduced by the initjvm.sql script will consume approximately 90MB of the system tablespace by itself. Shared_pool_size- ---------------- At least 50MB of free shared_pool space is needed. That is a minimum for the JVM installation. Java_pool_size- -------------- 30MB should be adequate for the installation. The pool sizes can be monitored by querying V$SGASTAT. Eg: SQL> select * from v$sgastat where name = 'free memory'; Please refer to Note:204935.1 for a script that will automatically check the system requirements of your database and inform you if it does not meet them. SECTION B) NAME, LOCATION, AND BRIEF DESCRIPTION OF THE JVM SCRIPTS: ======================================================================= ***INITJVM.SQL*** To execute- SQL>set echo on SQL>spool jvminst.log SQL>@?/javavm/install/initjvm.sql SQL>spool off Summary of the added functionality: ----------------------------------- The initjvm.sql script loads the initial set of Java classes necessary to support Java, it initializes the tables for supporting Java and for the CORBA namespace, and it publishes top-level entry points through call-specifications. The support Java classes include the following: The standard Java runtime Bytecode verifier and optimizer Java and SQLJ compilers JDBC runtime CORBA ORB and EJB runtime Some additional support classes, such as DBMS_JAVA, which are described in "Package DBMS_JAVA" The initjvm.sql script also performs the following actions: 1.Loads the classes to the SYS schema. 2.Creates public synonyms for the loaded classes to be accessible to all users. 3.Alters some of these classes to run with definer's rights to support CORBA callouts. 4.Defines database start up and shut down triggers. Additional sources of information: ---------------------------------- Oracle8i Java Developer's Guide The file, $ORACLE_HOME/javavm/readme.txt NOTE: If the initjvm.sql script fails to successfully complete for any reason, the JVM removal script (rmjvm.sql, found in the same location as the initjvm.sql script) MUST be run prior to another attempt at JVM installation. Additionally, after the JVM removal script has been successfully executed, the instance must be bounced prior to the next attempt to install the JVM via the initjvm.sql script. In short, there is no "moving forward" with a failed JVM installation, the only option is to remove and reinstall the JVM. Lack of resources (memory and space) are the most common culprits for a failed JVM installation so ensuring that there are no deficiencies in this regard will greatly improve the success rate of the installation. See "SECTION C" below for the sql statements used to check for installation success. ***INITXML.SQL*** To execute- SQL>set echo on SQL>spool initxml.log SQL>@?/oracore/admin/initxml.sql SQL>spool off Summary of added functionality: ------------------------------- This script loads xml components into the JServer. The XML Parser for PL/SQL makes developing XML applications with Oracle8i a simplified and standardized process. With the PL/SQL interface, Oracle shops familiar with PL/SQL can extend existing applications to take advantage of XML as needed. The XML Parser for PL/SQL supports the W3C XML 1.0 specification. Additional sources of information: ---------------------------------- Note:103872.1 XML Parser for Java Version 2 - Frequently Asked Questions Oracle8i Application Developer's Guide - XML ***CATXSU.SQL*** To execute- SQL>set echo on SQL>spool catxsu.log SQL>@?/rdbms/admin/catxsu.sql SQL>spool off Summary of added functionality: ------------------------------- This script loads the XMLSQL Utility (XSU) into the database. The utility serves to transform "relational" data to XML for purposes of communication. The XML-SQL Utility (XSU) provides a simple way of achieving data transformation, by mapping, canonically, any SQL query result to XML and vice versa. Additional sources of information: ---------------------------------- Note:120841.1 XML SQL Utility Oracle8i Application Developer's Guide - XML ***INIT_JIS.SQL*** To execute- SQL>set echo on SQL>spool init_jis.log SQL>@?/javavm/install/init_jis.sql SQL>spool off Summary of added functionality: ------------------------------- This is the script to install the Oracle Servlet Engine (OSE). The Oracle Servlet Engine works as a specialized Web server, designed as a scalable servlet server inside the Oracle8i database. The servlet classes are loaded into Oracle8i with a loadjava command and published in a namespace inside the database. A servlet runner handles HTTP requests, instantiates published servlets in sessions, and invokes servlet methods. Additional sources of information: ---------------------------------- Oracle8i Oracle Servlet Engine User's Guide Note:133391.1 Configuring Oracle Servlet Engine (OSE) for HTTP access to Oracle 8i Note:139639.1 HOW to Run Servlet in oracle servlet engine (OSE) through MOD_OSE ***JISJA.SQL*** To execute- SQL>set echo on SQL>spool jisja.log SQL>@?/javavm/install/jisja.sql SQL>spool off Summary of added functionality: ------------------------------- This script will turn on the JAccelerator (ncomp) for JIS. Adding this functionality will increase performance. JServer Accelerator, implemented within the ncomp tool, natively compiles all classes within the specified JAR, ZIP, or list of classes. JServer Accelerator natively compiles these classes and places them into shared libraries according to their package. Additional sources of information: ---------------------------------- Oracle8i Java Tools Reference Note:134985.1 JServer Accelerator and the NCOMP Utility. ***JISAEPHC.SQL*** To execute- SQL>set echo on SQL>spool jisaephc.log SQL>@?/javavm/install/jisaephc.sql SQL>spool off Summary of added functionality: ------------------------------- Adds the set of default end points to the server with hardcoded values for the admin service (after the OSE install). This script is for an installation default purpose only. It is advised that security conscious installations change these endpoint values with 'rmendpoint' and 'addendpoint' from the session shell. For an example, see section 3 of [NOTE:133391.1]. ***INITPLGS.SQL*** To execute- SQL>set echo on SQL>spool initplgs.log SQL>@?/rdbms/admin/initplgs.sql SQL>spool off Summary of added functionality: ------------------------------- This script loads the PLSQL Gateway Servlet jar files into the database. This allows for the running of PL/SQL stored procedures as servlets, (known as the embedded PL/SQL gateway). PL/SQL procedures can then run over the Web without any code changes or loading/publishing steps for each procedure. Additional sources of information: ---------------------------------- Oracle8i Oracle Servlet Engine User's Guide Note:132127.1 JAVA: How to Configure PL/SQL Servlets for Stateful Connections ***INITJSP.SQL*** To execute- SQL>set echo on SQL>spool initjsp.log SQL>@?/jsp/install/initjsp.sql SQL>spool off Summary of added functionality: ------------------------------- This script installs the ORACLE Java Server Pages (JSP) Functionality. Excerpt taken from the Oracle JavaServer Pages Developer's Guide and Reference... JavaServer Pages(TM) is a technology specified by Sun Microsystems as a convenient way of generating dynamic content in pages that are output by a Web application (an application running on a Web server). This technology, which is closely coupled with Java servlet technology, allows you to include Java code snippets and calls to external Java components within the HTML code (or other markup code, such as XML) of your Web pages. JavaServer Pages (JSP) technology works nicely as a front-end for business logic and dynamic functionality in JavaBeans and Enterprise JavaBeans (EJBs). JSP code is distinct from other Web scripting code, such as JavaScript, in a Web page. Anything that you can include in a normal HTML page can be included in a JSP page as well. In a typical scenario for a database application, a JSP page will call a component such as a JavaBean or Enterprise JavaBean, and the bean will directly or indirectly access the database, generally through JDBC or perhaps SQLJ. A JSP page is translated into a Java servlet before being executed (typically on demand, but sometimes in advance), and it processes HTTP requests and generates responses similarly to any other servlet. JSP technology offers a more convenient way to code the servlet. Furthermore, JSP pages are fully interoperable with servlets--JSP pages can include output from a servlet or forward to a servlet, and servlets can include output from a JSP page or forward to a JSP page. Additional sources of information: ---------------------------------- Oracle Java Server Pages Developer's Guide and Reference Note:121766.1 Oracle 8.1.7 (Release 3) New features Summary ***JSPJA.SQL*** To execute- SQL>spool jspja.log SQL>@?/jsp/install/jspja.sql SQL>spool off Summary of added functionality: ------------------------------- This script loads the JAccelerator classes for the JSP functionality. Jaccelerator allows for native compilaton of java code. Additional sources of information: ---------------------------------- Oracle8i Java Tools Reference Release 3 ***INITPLSJ.SQL*** To execute- SQL>spool initplsj.log SQL>@?/rdbms/admin/initplsj.sql SQL>spool off Summary of added functionality: ------------------------------- Initializes the Java library needed by PL/SQL Additional sources of information: ---------------------------------- Oracle8i Java Stored Procedures Developer's Guide Oracle8i Java Developer's Guide ***INITJMS.SQL*** To execute- SQL>spool initjms.log SQL>@?/rdbms/admin/initjms.sql SQL>spool off Summary of added functionality: ------------------------------- This script is used to load AQ/JMS jar files into the database. Oracle Java Messaging Service (JMS): Oracle Java Messaging Service provides a Java API for Oracle8i Advanced Queuing based on the JMS standard. Oracle JMS supports the standard JMS interfaces and has extensions to support the AQ administrative operations and other AQ features that are not a part of the standard. Additional sources of information: ---------------------------------- Oracle8i Application Developer's Guide - Advanced Queuing Release 2 (8.1.6) Oracle8i Supplied Java Packages Reference Release 3 (8.1.7) Note:112928.1 An overview of JMS in 8.1.6 ***INITREPAPI.SQL*** To execute- SQL>spool initrepapi.log SQL>@?/rdbms/admin/initrepapi.sql SQL>spool off Summary of added functionality: ------------------------------- This script loads RepAPI server classes and publishes the 'repapi' objects. $ORACLE_HOME/rdbms/jlib/repapi_s.jar is loaded to the database. Loading this file is required for Java RepAPI Server side functionality. The RServer.class and its helper class are published in /etc namespace. RepAPI is a runtime library that enables clients to replicate data with Oracle servers. Additional sources of information: ---------------------------------- Oracle8i Replication Release 2 (8.1.6) ***INITSOXX.SQL*** To execute- SQL>spool initsoxx.log SQL>@?/rdbms/admin/initsoxx.sql SQL>spool off Summary of added functionality: ------------------------------- This script loads objects, extensibility and xml related java classes into the database. Additional sources of information: ---------------------------------- Oracle8i Application Developer's Guide-XML Oracle 8i Data Cartridge Developer's Guide Release 2 (8.1.6) ***JISAEP.SQL*** To execute- The following is an example. SQL>spool jisaep.log SQL>@?/javavm/install/jisaep admin 8080 9090 SQL>spool off Summary of added functionality: ------------------------------- This script configures the OSE default admin Web Service. Uses the shell to add the two default endpoints for the predefined services. It requires two or three arguments: 1) Name of the service 2) Plain TCP port number to use 3) SSL port number to use Additional sources of information: ---------------------------------- Oracle8i Migration Release 3 (8.1.7) Oracle8i Oracle Servlet Engine User's Guide Release 3 (8.1.7) SECTION C) POST-INSTALLATION CHECKS / CONFIRMATION OF SUCCESSFUL EXECUTION(S): ================================================================================ On a freshly created database (or a database having just catalog.sql and catproc.sql run upon it) there should be no "java objects" within the database. The "java objects" being identified by a query of DBA_OBJECTS where OBJECT_TYPE like 'JAVA%'. The java-related scripts mentioned within this bulletin will install both java objects and generic database objects such as indexes, functions, and views etc. The most critical script of the list in "SECTION B" is the initjvm.sql script. After an execution of that script a count of the java related objects should be performed. NOTE: The numbers of objects given in the samples below is approximate, and may not exactly match your results. Use the numbers for APPROXIMATION ONLY, and remember that having zero invalid JAVA objects is the other important test. The intent is to show that the running of all jvm-related scripts will yield significantly more java objects than running initjvm.sql by itself. The KEY is to ensure that no java objects are invalid after the installation.      select count(*) from DBA_OBJECTS where OBJECT_TYPE like 'JAVA%';      This should return a count of 6785.      None of them should be invalid....      select count(*) from DBA_OBJECTS where OBJECT_TYPE like 'JAVA%' and STATUS = 'INVALID'; If the count is smaller than the one mentioned in the first query OR if there are invalids returned from the second query, it would be worthwhile to investigate any errors in the spooled log and/or the alert log before proceeding with the rest of the JVM installation. An itemized breakdown of the objects added by each script will now be provided. A count from DBA_OBJECTS where OBJECT_TYPE like 'JAVA%' will be given after the execution of the initjvm.sql script, and again, after the execution of the final script. INITJVM.SQL CREATES: -------------------- 3 functions 4 indexes 6438 java classes 290 java data 57 java resources 6 packages 1 sequence 6443 synonyms 8 tables 2 triggers 3 views SQL> select count(*), object_type from dba_objects where object_type like 'JAVA%' group by object_type; 6438 JAVA CLASS 290 JAVA DATA 57 JAVA RESOURCE ------------------- 6785 INITXML.SQL CREATES: -------------------- 2 indexes 272 classes 31 java resources 1 lob 19 packages 272 synonyms 2 tables     CATXSU.SQL CREATES: ------------------- 29 classes 30 java resources 3 packages 3 synonyms INIT_JIS.SQL CREATES: --------------------- 12 indexes 2384 classes 10 java resources 1 lob 13 packages 5 sequences 2400 synonyms 17 tables 1 trigger 1 view JISJA.SQL CREATES: ------------------ 154 classes 8 java sources 1 procedure 3 tables JISAEPHC.SQL CREATES: --------------------- No new objects...... INITPLGS.SQL CREATES: --------------------- 1 class 1 synonym INITJSP.SQL CREATES: -------------------- 275 classes 2 java resources 275 synonyms JSPJA.SQL CREATES: ------------------ 20 classes INITPLSJ.SQL CREATES: --------------------- 2 classes INITJMS.SQL CREATES: -------------------- 159 classes 159 synonyms INITREPAPI.SQL CREATES: ----------------------- 71 classes 71 synonyms INITSOXX.SQL CREATES: --------------------- 37 classes 37 synonyms JISAEP.SQL CREATES: ------------------- No new objects..... TOTALS AFTER THE EXECUTION OF ALL SCRIPTS: ------------------------------------------ SQL>select count(*) from dba_objects where object_type like 'JAVA%' and owner = 'SYS'; COUNT(*) ---------- 10270 SQL>select count(*) from dba_objects where object_type like 'JAVA%' and status = 'INVALID' and owner = 'SYS'; COUNT(*) ---------- 0 SECTION D) SOURCES OF JVM-RELATED DOCUMENTATION: ==================================================== Separate hardcopy and on-line documentation are provided for the major Java-related components of this release. The online documentation for the later version of 8i and the current version of 9i have been greatly enhanced. There now exists a search utility available on http://technet.oracle.com. The search tool allows for keyword searches within the span of the official Oracle documentation for 8.1.7 and 9i. Additionally, this is the same search utility found on http://tahiti.oracle.com/pls/tahiti/tahiti.homepage - Oracle8i Java Developer's Guide - Oracle8i Java Tools Reference - Oracle Java Server Pages Developer's Guide and Reference - Oracle8i Enterprise JavaBean Developer's Guide and Reference - Oracle8i CORBA Developer's Guide and Reference - Oracle8i Oracle Servlet Engine User's Guide - Oracle8i JDBC Developer's Guide and Reference - Oracle8i SQLJ Developer's Guide and Reference - Oracle8i JPublisher User's Guide - Oracle8i Java Stored Procedures Developer's Guide - Oracle8i Application Developer's Guide-XML - Oracle8i Application Developer's Guide - Advanced Queuing - Oracle8i Supplied Java Packages Reference Release 3 (8.1.7) Other References [NOTE:175472.1]How to Cleanup the JVM in 8.1.7
    Joel P�rez

  • Less than 8000 objects in my obj$?

    After running the 'initjvm.sql' from SQL*PLUS Sheet, I run the following command
    SELECT count(*) FROM obj$ WHERE type#=29 AND owner#=0;
    it returns only 6439.
    On many posts here I saw that the number should be greater than 8000. What can be wrong?
    Kevin
    null

    what does your inti.ora look like ??
    i'm set up as follows for a minimum workload configuration -- it might be overkill but i don't get the "corba" errors and missing java classes:
    shared_pool_size = 100000000
    large_pool_size = 6144000
    java_pool_size = 75000000
    compatible = 8.1.0
    mts_dispatchers = "(PROTOCOL=TCP)(PRE=oracle.aurora.server.SGiopServer)"
    mts_dispatchers = "(protocol=TCP)"
    Every timne i've seen this issue it was resolved with properly configured rdbms as described below :
    Check this link --->
    http://otn.oracle.com/docs/products/oracle8i/doc_library/817_doc/java.817/a83728/05confi1.htm#1003283
    Look for Requirements
    Initializing a Java-enabled database requires a SHARED_POOL_SIZE of 50 MB, a JAVA_POOL_SIZE of about 20 MB, an additional 30 MB of system tablespace, and enough rollback segments.
    If the script fails for some reason, such as a lack of resources, you can adjust resources as necessary and re-execute initjvm.sql.
    Refer to "Java Memory Usage" and the /javavm/README.txt file for the most up-to-date information on database initialization file configuration parameters and requirements.
    In addition, there are specific requirements for enabling EJB and CORBA communications. The initial settings that the Oracle8i JServer installations furnish should be sufficient to get you started. Consult the specifics of the documentation in the Oracle8i Enterprise JavaBeans Developer's Guide and Reference, the Oracle8i CORBA Developer's Guide and Reference, and the Net8 Administrator's Guide for more details.
    if you are still having problems, then log a tar with your customer support center's rdbms team using your CSI.
    null

  • How to call Corba services in Oracle8i

    With Oracle8i, we can implement Corba services within Oracle database. Client can call such service by
    establishing a session with Oracle server. Now we have Corba services running on Unix (outside oracle
    database). We want to use Java stored procedure to call such services within Oracle database. Can we
    do it? How do we do it?
    Thanks
    Lane

    Refer to the Server docs in particular the "EJB and CORBA Developers Guide". There are also a good number of samples that will be under the:
    /oracle_home/javavm/demo/examples/corba
    direcory.

  • JDK1.2 client to EJB in Oracle8.1.6

    I had my EJB client (JDK1.1.8) with my EJBs (in Oracle8.1.5) all worked before.
    After I deployed the same EJBs (with SQLJs) into Oracle8.1.6, my EJB client (JDK1.2.2)
    was able to connect and using the EJB sevices.
    However, I got some strange behavior which never occurd with JDK1.1.8 and Oracle8.1.5.
    I will sometimes get exception for calling the remote method as,
    Exception in thread "main" org.omg.CORBA.COMM_FAILURE:
    java.net.SocketException:Connection shoutdown:
    JVM_recv in socket input stream read minor code: 0 completed: No
    at com.visigenic.vbroker.orb.TcpConnection.read(TcpConnection.java, Compiled Code)
    at com.visigenic.vbroker.orb.GiopConnectionImpl.receive_message(GiopConnectionImpl.java:436)
    This normally occured after several calls. But it does not always happen.
    Any suggestions?
    --Yitao
    null

    Sorry, the problem still exists. If I repeated calling all the methods
    in my EJB from the EJB client, I will eventually get the
    "Peer disconnected socket" error.
    Please let me know what could be the reason.
    Thanks for any help.
    --Yitao                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • Remote Inatall Oracle8i in RedHat7.0

    Hello,
    I would like to install a Oracle8i in a remote RedHat 7.0 server. The locale of the remote server is en_US and the workstation is en_US.iso885915. I set the DISPLAY veriable, xhost + in my workstation and the LANG env verable to en_US. When I run runInstaller, it failed. I have the following error message:
    [oracle@ensim Disk1]$ ./runInstaller
    [oracle@ensim Disk1]$ Initializing Java Virtual Machine from /tmp/OraInstall2002-09-16_03-53-22AM/jre/bin/java. Please wait...
    current locale is not supported in X11, locale is set to CX locale modifiers are not supported, using defaultWarning: Cannot convert string "<Key>Escape,_Key_Cancel" to type VirtualBinding
    Warning: Cannot convert string "<Key>Home,_Key_Begin" to type VirtualBinding
    Warning: Cannot convert string "<Key>F1,_Key_Help" to type VirtualBinding
    Warning: Cannot convert string "Shift<Key>F10,_Key_Menu" to type VirtualBinding
    Warning: Cannot convert string "<Key>F10,Shift_Key_Menu" to type VirtualBinding
    Warning: Cannot convert string "<Key>KP_Enter,_Key_Execute" to type VirtualBinding
    Warning: Cannot convert string "Alt<Key>Return,Alt_Key_KP_Enter" to type VirtualBinding
    Warning: translation table syntax error: Unknown keysym name: osfActivate
    Warning: ... found while parsing ':<Key>osfActivate:          ManagerParentActivate()'
    Warning: String to TranslationTable conversion encountered errors
    Warning: translation table syntax error: Unknown keysym name: osfBeginLine
    Warning: ... found while parsing ':<Key>osfBeginLine:          ManagerGadgetTraverseHome()'
    Warning: String to TranslationTable conversion encountered errors
    Warning: translation table syntax error: Unknown keysym name: osfHelp
    Warning: ... found while parsing ':<Key>osfHelp:               ManagerGadgetHelp()'
    Warning: String to TranslationTable conversion encountered errors
    Warning: translation table syntax error: Unknown keysym name: osfActivate
    Warning: ... found while parsing ':<Key>osfActivate:     DrawingAreaInput() ManagerParentActivate()'
    Warning: String to TranslationTable conversion encountered errors
    Warning: translation table syntax error: Unknown keysym name: osfUp
    Warning: ... found while parsing ':<Key>osfUp:          DrawingAreaInput() ManagerGadgetTraverseUp()'
    Warning: String to TranslationTable conversion encountered errors
    An unexpected exception has been detected in native code outside the VM.
    Unexpected Signal : 11 occurred at PC=0x4002588b
    Function name=__pthread_mutex_trylock
    Library=/lib/i686/libpthread.so.0
    Current Java thread:
         at sun.awt.motif.MComponentPeer.pSetFont(Native Method)
         at sun.awt.motif.MComponentPeer.setFont(MComponentPeer.java:207)
         at sun.awt.motif.MWindowPeer.init(MWindowPeer.java:105)
         at sun.awt.motif.MFramePeer.<init>(MFramePeer.java:53)
         at sun.awt.motif.MToolkit.createFrame(MToolkit.java:138)
         at java.awt.Frame.addNotify(Frame.java:353)
         at java.awt.Window.addNotify(Window.java:346)
         at java.awt.Window.show(Window.java:389)
         at java.awt.Component.show(Component.java:946)
         at java.awt.Component.setVisible(Component.java:903)
         at oracle.sysman.oii.oiic.OiicInstaller.main(OiicInstaller.java:596)
    Dynamic libraries:
    08048000-0804c000 r-xp 00000000 03:05 403213 /tmp/OraInstall2002-09-16_03-53-22AM/jre/bin/i386/native_threads/java
    0804c000-0804d000 rw-p 00003000 03:05 403213 /tmp/OraInstall2002-09-16_03-53-22AM/jre/bin/i386/native_threads/java
    40000000-40016000 r-xp 00000000 03:05 272575 /lib/ld-2.2.4.so
    40016000-40017000 rw-p 00015000 03:05 272575 /lib/ld-2.2.4.so
    40018000-40019000 r--p 00000000 03:05 1221 /usr/lib/locale/en_US/LC_IDENTIFICATION
    40019000-4001a000 r--p 00000000 03:05 32115 /usr/lib/locale/en_US/LC_MEASUREMENT
    4001a000-4001b000 r--p 00000000 03:05 177846 /usr/lib/locale/en_US/LC_TELEPHONE
    4001b000-4001c000 r--p 00000000 03:05 177848 /usr/lib/locale/en_US/LC_ADDRESS
    4001c000-4001d000 r--p 00000000 03:05 177847 /usr/lib/locale/en_US/LC_NAME
    4001d000-4001e000 r--p 00000000 03:05 272581 /usr/lib/locale/en_US/LC_PAPER
    4001e000-4002b000 r-xp 00000000 03:05 48155 /lib/i686/libpthread-0.9.so
    4002b000-40033000 rw-p 0000c000 03:05 48155 /lib/i686/libpthread-0.9.so
    40033000-4003c000 r-xp 00000000 03:05 1665 /tmp/OraInstall2002-09-16_03-53-22AM/jre/lib/i386/native_threads/libhpi.so
    4003c000-4003d000 rw-p 00008000 03:05 1665 /tmp/OraInstall2002-09-16_03-53-22AM/jre/lib/i386/native_threads/libhpi.so
    4003d000-4022d000 r-xp 00000000 03:05 1673 /tmp/OraInstall2002-09-16_03-53-22AM/jre/lib/i386/client/libjvm.so
    4022d000-4032b000 rw-p 001ef000 03:05 1673 /tmp/OraInstall2002-09-16_03-53-22AM/jre/lib/i386/client/libjvm.so
    40342000-40345000 r-xp 00000000 03:05 275290 /lib/libdl-2.2.4.so
    40345000-40346000 rw-p 00002000 03:05 275290 /lib/libdl-2.2.4.so
    40346000-40478000 r-xp 00000000 03:05 48150 /lib/i686/libc-2.2.4.so
    40478000-4047e000 rw-p 00131000 03:05 48150 /lib/i686/libc-2.2.4.so
    40483000-40496000 r-xp 00000000 03:05 275292 /lib/libnsl-2.2.4.so
    40496000-40497000 rw-p 00012000 03:05 275292 /lib/libnsl-2.2.4.so
    40499000-404bb000 r-xp 00000000 03:05 48153 /lib/i686/libm-2.2.4.so
    404bb000-404bc000 rw-p 00021000 03:05 48153 /lib/i686/libm-2.2.4.so
    404bc000-404f0000 r-xp 00000000 03:05 385573 /usr/lib/libstdc++-2-libc6.1-1-2.9.0.so
    404f0000-404fc000 rw-p 00033000 03:05 385573 /usr/lib/libstdc++-2-libc6.1-1-2.9.0.so
    404fe000-4050f000 r-xp 00000000 03:05 1591 /tmp/OraInstall2002-09-16_03-53-22AM/jre/lib/i386/libverify.so
    4050f000-40511000 rw-p 00010000 03:05 1591 /tmp/OraInstall2002-09-16_03-53-22AM/jre/lib/i386/libverify.so
    40511000-40532000 r-xp 00000000 03:05 1592 /tmp/OraInstall2002-09-16_03-53-22AM/jre/lib/i386/libjava.so
    40532000-40534000 rw-p 00020000 03:05 1592 /tmp/OraInstall2002-09-16_03-53-22AM/jre/lib/i386/libjava.so
    40535000-40549000 r-xp 00000000 03:05 1593 /tmp/OraInstall2002-09-16_03-53-22AM/jre/lib/i386/libzip.so
    40549000-4054c000 rw-p 00013000 03:05 1593 /tmp/OraInstall2002-09-16_03-53-22AM/jre/lib/i386/libzip.so
    4054c000-4127d000 r--s 00000000 03:05 1584 /tmp/OraInstall2002-09-16_03-53-22AM/jre/lib/rt.jar
    412aa000-4154f000 r--s 00000000 03:05 1585 /tmp/OraInstall2002-09-16_03-53-22AM/jre/lib/i18n.jar
    4154f000-41565000 r--s 00000000 03:05 1572 /tmp/OraInstall2002-09-16_03-53-22AM/jre/lib/sunrsasign.jar
    4360d000-4360e000 r--p 00000000 03:05 402358 /usr/lib/locale/en_US/LC_MESSAGES/SYS_LC_MESSAGES
    4360e000-4360f000 r--p 00000000 03:05 32091 /usr/lib/locale/en_US/LC_MONETARY
    4360f000-43610000 r--p 00000000 03:05 1222 /usr/lib/locale/en_US/LC_TIME
    524f7000-52522000 r--p 00000000 03:05 177857 /usr/lib/locale/en_US/LC_CTYPE
    52522000-52528000 r--p 00000000 03:05 402363 /usr/lib/locale/en_US/LC_COLLATE
    52528000-52529000 r--p 00000000 03:05 176391 /usr/lib/locale/en_US/LC_NUMERIC
    5252f000-52534000 r-xp 00000000 03:05 275420 /lib/libnss_ensimvwh.so.2
    52534000-52535000 rw-p 00004000 03:05 275420 /lib/libnss_ensimvwh.so.2
    52535000-5253f000 r-xp 00000000 03:05 275299 /lib/libnss_files-2.2.4.so
    5253f000-52540000 rw-p 00009000 03:05 275299 /lib/libnss_files-2.2.4.so
    52dac000-52f65000 r--s 00000000 03:05 1760 /tmp/OraInstall2002-09-16_03-53-22AM/oui/lib/OraInstaller.jar
    52f65000-530d2000 r--s 00000000 03:05 1758 /tmp/OraInstall2002-09-16_03-53-22AM/oui/lib/ewt3.jar
    530d2000-534a0000 r-xp 00000000 03:05 1600 /tmp/OraInstall2002-09-16_03-53-22AM/jre/lib/i386/libawt.so
    534a0000-534b0000 rw-p 003cd000 03:05 1600 /tmp/OraInstall2002-09-16_03-53-22AM/jre/lib/i386/libawt.so
    534c5000-534f6000 r-xp 00000000 03:05 1599 /tmp/OraInstall2002-09-16_03-53-22AM/jre/lib/i386/libmlib_image.so
    534f6000-534f8000 rw-p 00030000 03:05 1599 /tmp/OraInstall2002-09-16_03-53-22AM/jre/lib/i386/libmlib_image.so
    534f8000-534fe000 r-xp 00000000 03:05 273940 /usr/X11R6/lib/libXp.so.6.2
    534fe000-53500000 rw-p 00005000 03:05 273940 /usr/X11R6/lib/libXp.so.6.2
    53500000-53548000 r-xp 00000000 03:05 273946 /usr/X11R6/lib/libXt.so.6.0
    53548000-5354c000 rw-p 00047000 03:05 273946 /usr/X11R6/lib/libXt.so.6.0
    5354d000-53559000 r-xp 00000000 03:05 273930 /usr/X11R6/lib/libXext.so.6.4
    53559000-5355b000 rw-p 0000b000 03:05 273930 /usr/X11R6/lib/libXext.so.6.4
    5355b000-5355f000 r-xp 00000000 03:05 273948 /usr/X11R6/lib/libXtst.so.6.1
    5355f000-53561000 rw-p 00003000 03:05 273948 /usr/X11R6/lib/libXtst.so.6.1
    53561000-5363c000 r-xp 00000000 03:05 273922 /usr/X11R6/lib/libX11.so.6.2
    5363c000-53640000 rw-p 000da000 03:05 273922 /usr/X11R6/lib/libX11.so.6.2
    53641000-53649000 r-xp 00000000 03:05 273920 /usr/X11R6/lib/libSM.so.6.0
    53649000-5364a000 rw-p 00007000 03:05 273920 /usr/X11R6/lib/libSM.so.6.0
    5364a000-5365e000 r-xp 00000000 03:05 273916 /usr/X11R6/lib/libICE.so.6.3
    5365e000-5365f000 rw-p 00013000 03:05 273916 /usr/X11R6/lib/libICE.so.6.3
    53661000-536eb000 r-xp 00000000 03:05 1601 /tmp/OraInstall2002-09-16_03-53-22AM/jre/lib/i386/libfontmanager.so
    536eb000-536fb000 rw-p 00089000 03:05 1601 /tmp/OraInstall2002-09-16_03-53-22AM/jre/lib/i386/libfontmanager.so
    5371c000-5380a000 r--s 00000000 03:05 1762 /tmp/OraInstall2002-09-16_03-53-22AM/oui/lib/InstHelp.jar
    5380a000-5381b000 r--s 00000000 03:05 1763 /tmp/OraInstall2002-09-16_03-53-22AM/oui/lib/InstImages.jar
    5401b000-5404a000 r-xp 00000000 03:05 1602 /tmp/OraInstall2002-09-16_03-53-22AM/jre/lib/i386/libjpeg.so
    5404a000-5404b000 rw-p 0002e000 03:05 1602 /tmp/OraInstall2002-09-16_03-53-22AM/jre/lib/i386/libjpeg.so
    Local Time = Mon Sep 16 03:53:36 2002
    Elapsed Time = 13
    # The exception above was detected in native code outside the VM
    # Java VM: Java HotSpot(TM) Client VM (1.3.1_02-b02 mixed mode)
    # An error report file has been saved as hs_err_pid21085.log.
    # Please refer to the file for further information.
    Do you have any idea what's going on?
    Thanks,
    Sing

    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by abc defg ([email protected]):
    Hi guys,
    I am using Oracle 8i EE ver 8.1.6
    I use CORBA objects , deployed in the
    Oracle 8i JVM to access the database,
    Now some of my corba objects need to
    access Data from a remote database
    Oracle8 ver 8.0.4
    For this i use the Server-Side JDBC thin
    driver.
    the program works initially,
    but during peak-load condiction,
    my sessions with the remote Server,
    simply HANG.
    then i have no choice to restart
    my 8.1.6 ver DB.
    Any body can help me out ?
    thanks in advance.<HR></BLOCKQUOTE>
    Have you installed the patch set 3.0
    and thus upgraded to 8.1.6.3.0. It
    definetely fixes some EJIB bugs.
    null

  • How to get Connection with Oracle8i In OAS through EJB?

    I've created a EJB in OAS,and invoked its method successfully.However,when I added a method using JDBC to get connection to Oracle8i,it failed.The source code is as below:
    DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
    Connection l_connection = DriverManager.getConnection(......);
    then there is an Exception about omg.CORBA;
    but using the code in an application to connect to Oracle8i directly is ok.
    Would you please give me some advices?
    null

    Were you able to fix your problem?
    I am getting a similar error. I am using the Reference Implementation from J2EE SDK.
    I can connect to Oracle8i with JDBC in a Java Application but when I put my code in my Entity Bean, I get a NoClassFoundError on the oracle.jdbc.OracleDriver.
    Any suggestions?
    Al
    [email protected]

  • NoClassDefFound org/omg/CORBA/UserException

    I am attempting to install IFS 1.0.8 for a new instance on a Unix server 2.7 that already has an existing IFS 1.0.8 install against another database.
    Following the creation of the second ORACLE_HOME, second instance, and the installing IFS, I attempt to run ifsconfig.
    During ifsconfig I consistently receive the error NoClassDefFound error: org/omg/CORBA/UserException
    This causes the ifs configuration to fail and therefore the successful install of IFS to fail.
    Please help !!
    null

    Did you do a custom install of the 816 Database? If so please try the following.
    If a "Custom" installation of Oracle 8.1.6 was done
    with no installation of the OEM components (or at least
    not all of them). Then the following is the minumum set of
    additional installations which must be performed in order to
    install the files which iFS depends on.
    Perform the following steps on your Unix machine where you have
    installed Oracle 8.1.6.
    - Verify that you the following files are NOT present in
    $ORACLE_HOME/lib (which causes the problem):
    + vbjorb.jar
    + vbjapp.jar
    + vbjtools.jar
    - Run the Oracle Universal Installer for 8.1.6 by executing
    ./RunInstaller from your Installation CD
    On the Available Products page, choose
    "Oracle8i Enterprise Edition 8.1.6.0.0", and select Next
    On the "Installation Types" Page, choose
    "Custom", and select Next
    On the "Available Product Components" page, choose
    "Oracle Enterprise Manager Products 8.1.6.0.0"
    "Oracle Enterprise Manager Client 2.1.0.0.0"
    "Oracle Enterprise Manager DBA Management Pack"
    You may deselect all other options, and select Next
    On the Summary page, verify that under "New Installations" is
    visigenics ORB 3.4" (among other items)
    Select "Install" to complete the installation
    After the installation is complete, verify that in your $ORACLE_HOME/lib
    the following files ARE present:
    + vbjorb.jar
    + vbjapp.jar
    + vbjtools.jar
    Rerun the Internet File System Configuration Assistant, by executing:
    $ORACLE_HOME/ifs/bin/ifsconfig
    Thank You.
    Brian

  • CORBA and oracle 8i

    I'm trying to execute the examples in the following document:
    Oracle8i Enterprise JavaBeans and CORBA Developer's Guide
    Release 8.1.5
    A64683-01
    But when I try to publish the objects it appears many errors, related to the java clases and visigenic classes... What can I do??
    Thanks

    The OS that we are using is solaris 2.6 in a sun sparc machine.
    The listener was configured for the IIOP comunication in the file listener.ora
    I were trying to execute the example listed in: http://technet.oracle.com/doc/java.815/a64683/corba3.htm
    and I can do all the steps until the publish one. When I execute the command publish as shown in the example, the following errors appear in the screen:
    java.lang.StackOverflowError
    atjava.util.Vector.<init>(Vector.java)
    atjava.util.Vector.<init>(Vector.java)
    at
    com.visigenic.vbroker.orb.GiopInputStreamImpl.<init>(GiopInputStreamImpl.java:17
    at
    com.visigenic.vbroker.orb.CaffeineInputStream.<init>(CaffeineInputStream.java:5)
    at com.visigenic.vbroker.orb.ORB.doCreate(ORB.java:1521)
    atcom.visigenic.vbroker.orb.ORB.create(ORB.java:1546)
    atcom.visigenic.vbroker.orb.ORB.create(ORB.java:1516)
    atcom.visigenic.vbroker.orb.ORB.newGiopInputStream(ORB.java:649)
    at
    com.visigenic.vbroker.orb.IiopProtocolImpl.profileBody(IiopProtocolImpl.java:89)
    at
    oracle.aurora.sess_iiop.orb_dep.SessionComponent.profileBody(SessionComponent.ja
    va:70)
    at
    oracle.aurora.sess_iiop.orb_dep.SessionConnectionFactory$TcpEndpoint.<init>(Sess
    ionConnectionFactory
    .java:30)
    at
    oracle.aurora.sess_iiop.orb_dep.SessionConnectionFactory.hashEndpoint(SessionCon
    nectionFactory.java:
    107)
    at
    com.visigenic.vbroker.orb.GiopConnectionFactoryImpl.connect(GiopConnectionFactor
    yImpl.java:144)
    at
    com.visigenic.vbroker.orb.GiopStubDelegate.locate(GiopStubDelegate.java:360)
    at
    com.visigenic.vbroker.orb.GiopStubDel
    egate.bind(GiopStubDelegate.java:157)
    at
    com.visigenic.vbroker.orb.GiopStubDelegate.request(GiopStubDelegate.java:406)
    at
    com.visigenic.vbroker.orb.GiopStubDelegate.request(GiopStubDelegate.java:401)
    at org.omg.CORBA.portable.ObjectImpl._request(ObjectImpl.java:136)
    at
    org.omg.CORBA._st_InitialReferences.get(_st_InitialReferences.java:24)
    at
    org.omg.CORBA._st_InitialReferences.get(_st_InitialReferences.java:38)
    at
    org.omg.CORBA._st_InitialReferences.get(_st_InitialReferences.java:38)
    at
    org.omg.CORBA._st_InitialReferences.get(_st_InitialReferences.java:38)
    at
    org.omg.CORBA._st_InitialReferences.get(_st_InitialReferences.java:38)
    at
    at
    at
    at
    at
    at
    at
    at
    oracle.aurora.jndi.sess_iiop.SessionCtx.initialContext(SessionCtx.java:503)
    at oracle.aurora.jndi.sess_iiop.SessionCtx.<init>(SessionCtx.java:35)
    at
    oracle.aurora.jndi.sess_iiop.ServiceCtx.createSession(ServiceCtx.java:130)
    at oracle.aurora.jndi.sess_iiop.ServiceCtx.login(ServiceCtx.java:295)
    at
    oracle.aurora.server.tools.sess_iiop.ToolImpl.initializeSession(ToolImpl.java:10
    1)
    at
    oracle.aurora.server.tools.sess_iiop.ToolImpl.parseStdArgs(ToolImpl.java:213)
    at
    oracle.aurora.server.tools.sess_iiop.ToolImpl.invoke(ToolImpl.java:121)
    atoracle.aurora.server.tools.sess_iiop.Publish.main(Publish.java:122)
    Exceptionin thread "main"
    Then I tried to execute the command sess_sh and the following error appeared:
    java.lang.StackOverflowError
    at java.util.Vector.<init>(Vector.java)
    at java.util.Vector.<init>(Vector.java)
    at
    com.visigenic.vbroker.orb.GiopInputStreamImpl.<init>(GiopInputStreamImpl.java:17
    at
    com.visigenic.vbroker.orb.CaffeineInputStream.<init>(CaffeineInputStream.java:5)
    at com.visigenic.vbroker.orb.ORB.doCreate(ORB.java:1521)
    atcom.visigenic.vbroker.orb.ORB.create(ORB.java:1546)
    at com.visigenic.vbroker.orb.ORB.create(ORB.java:1516)
    at com.visigenic.vbroker.orb.ORB.newGiopInputStream(ORB.java:649)
    at
    com.visigenic.vbroker.orb.IiopProtocolImpl.profileBody(IiopProtocolImpl.java:89)
    at
    oracle.aurora.sess_iiop.orb_dep.SessionComponent.profileBody(SessionComponent.ja
    va:70)
    at
    oracle.aurora.sess_iiop.orb_dep.SessionConnectionFacto ry$TcpEndpoint.<init>(Sess
    ionConnectionFactory
    .java:30)
    at
    oracle.aurora.sess_iiop.orb_dep.SessionConnectionFactory.hashEndpoint(SessionCon
    nectionFactory.java:
    107)
    at
    com.visigenic.vbroker.orb.GiopConnectionFactoryImpl.connect(GiopConnectionFactor
    yImpl.java:144)
    at
    com.visigenic.vbroker.orb.GiopStubDelegate.locate(GiopStubDelegate.java:360)
    at
    com.visigenic.vbroker.orb.GiopStubDelegate.bind(GiopStubDelegate.java:157)
    at
    com.visigenic.vbroker.orb.GiopStubDelegate.request(GiopStubDelegate.java:406)
    at
    com.visigenic.vbroker.orb.GiopStubDelegate.request(GiopStubDelegate.java:401)
    at org.omg.CORBA.portable.ObjectImpl._request(ObjectImpl.java:136)
    at
    org.omg.CORBA._st_InitialReferences.get(_st_InitialReferences.java:24)
    at
    org.omg.CORBA._st_InitialReferences.get(_st_InitialReferences.java:38)
    at
    org.omg.CORBA._st_InitialReferences.get(_st_InitialReferences.java:38)
    at
    org.omg.CORBA._st_InitialReferences.get(_st_InitialReferences.java:38)
    at
    org.omg.CORBA._st_InitialReferences.get(_st_InitialReferences.java:38)
    at
    org.omg.CORBA._st_InitialReferences.get(_st_InitialReferences.java:38)
    at
    org.omg.CORBA._st_InitialReferences.get(_st_InitialReferences.java:38)
    at
    at
    oracle.aurora.jndi.sess_iiop.SessionCtx.initialContext(SessionCtx.java:503)
    at oracle.aurora.jndi.sess_iiop.SessionCtx.<init>(SessionCtx.java:35)
    at
    oracle.aurora.jndi.sess_iiop.ServiceCtx.createSession(ServiceCtx.java:130)
    at oracle.aurora.jndi.sess_iiop.ServiceCtx.login(ServiceCtx.java:295)
    at
    oracle.aurora.server.tools.sess_iiop.ToolImpl.initializeSession(ToolImpl.java:10
    1)
    at
    oracle.aurora.server.tools.sess_iiop.ToolImpl.parseStdArgs(ToolImpl.java:213)
    at
    oracle.aurora.server.tools.sess_iiop.ToolImpl.invoke(ToolImpl.java:121)
    at oracle.aurora.server.tools.sess_iiop.Shell.main(Shell.java:232).
    Thanks.

  • Output of using Oracle8i "deployejb" tool

    Hi,
    To deploy the EJB successfully, Oracle recommends that we deploy their Sample EJB's, which ships with Oracle8i product,
    before proceeding with our EJBs. This would help us verify the installation.
    The sample EJB's are available at %ORACLE_HOME%\javavm\demo\demo.zip.When the demo.zip file is extracted, a
    folder \examples\ejb\basic\helloworld, is created in the extracted path.The makeit.bat and runit.bat files in this folder
    should run successfully to deploy the EJB in the DB.
    When I attempt to execute, makeit.bat doesnot run properly.The output is pasted here for your reference.As you may notice,
    ClassCastException occurs, when a call is given to deployejb, through the makeit.bat file.
    C:\Oracle8i\javavm\demo\extract\examples\ejb\basic\helloworld>call deployejb -republish -temp temp -u scott -p tiger
    -s sess_iiop://localhost:2481:oracle8i -descriptor hello.ejb
    server.jar
    Exception in thread "main" java.lang.ClassCastException: com.sun.corba.se.internal.iiop.ORB
    at oracle.aurora.jndi.orb_dep.IRFinder.getObject(IRFinder.java:24)
    at oracle.aurora.jndi.orb_dep.IRFinder.initialReferences(IRFinder.java:78)
    at oracle.aurora.jndi.sess_iiop.SessionCtx.initialContext(SessionCtx.java:499)
    at oracle.aurora.jndi.sess_iiop.SessionCtx.<init>(SessionCtx.java:35)
    at oracle.aurora.jndi.sess_iiop.ServiceCtx.createSession(ServiceCtx.java:130)
    at oracle.aurora.jndi.sess_iiop.ServiceCtx.login(ServiceCtx.java:295)
    at oracle.aurora.server.tools.sess_iiop.ToolImpl.initializeSession(ToolImpl.java:101)
    at oracle.aurora.server.tools.sess_iiop.ToolImpl.parseStdArgs(ToolImpl.java:213)
    at oracle.aurora.server.tools.sess_iiop.ToolImpl.invoke(ToolImpl.java:121)
    at oracle.aurora.ejb.deployment.GenerateEjb.main(GenerateEjb.java:445)
    Any help/comments on this would be appreciated.
    Thanks,
    Sandeep

    I would like to post what I did in fact get to work.
    I took the suggestion to replace single-quotes with double-quotes. What also DID seem to help things was:
    1. removing all XML entities from my markup, even properly escaped ones (like &amp; or &#160;)
    2. ensuring that:
    <xsl:variable name="_XDOFOPOS2" select="number(1)"/>
    <xsl:variable name="_XDOFOTOTAL" select="number(1)"/>
    appeared in the table (before anything else, still not sure what these are controlling or internal Oracle logic is happening).
    I am still not 100% (or even 60%) sure this problem won't crop up if we have to modify our template, but through going through our original markup and adding it to a file that "works", table by table, and
    assessing any errors, our reporting now works.
    However, having entities (especially ampersand, or the non-breaking space [used as a placeholder for NULL database values to ensure the table-cell gets created]) would be useful.
    Thanks for your comments.
    Daniel

  • ORACLE8 ENTERPRISE EDITION의  주요 신기능

    제품 : ORACLE SERVER
    작성날짜 : 2004-08-16
    Oracle 8 Enterprise Edition 의 주요 신기능
    ==========================================
    Purpose
    이 자료는 Oracle8 version의 주요한 new feature에 대해 간략히 설명한다.
    * Oracle8 Enterprise Edition 릴리스 8.0의 주요 기능은 다음과 같다.
    분할 테이블과 인덱스를 통한 사용과 관리의 편리함
    병렬 처리의 향상
    데이타 웨어하우스 애플리케이션의 성능 및 관리 기능 향상
    메인프레임 급의 OLTP 지원
    보안 관리 향상
    분산 컴퓨팅 향상
    객체(Object) 기술과 확장성
    사용하기 쉬운 관리 툴
    이전 버전과의 원활한 통합과 상호 운용 지원
    Explanation
    1. 테이블과 인덱스의 분할
    대용량 데이타베이스로 인해 기업은 어려움을 겪고 있다. 특히 많은 양의 데이타를
    관리하고 운영하는 것은 쉬운 일이 아니다. 대부분의 작업이 짧은 시간에
    이루어지므로 온라인 처리 성능에 큰 영향을 미치지 않는다. 하지만 테이블이
    많아짐에 따라, 작업을 원하는 시간에 완료하기 위해서는 데이타의 임포트 및
    익스포트, 백업 및 복구, 테이블 분할(defragment)과 같은 작업을 수동적으로
    나누어 처리해야 한다. 또한, 큰 테이블의 일부를 포함하는 디스크에 장애가 발생
    하면 전체 테이블을 이용할 수 없게 되므로 이 테이블과 관련된 모든 프로세스는
    멈추게 된다.
    Oracle8은 테이블과 인덱스를 키 값에 따라 더 작은 부분으로 분할하거나
    나눔으로써 관리를 쉽게 하며 미션-크리티컬 데이타의 이용, 질의(query) 및
    데이타 처리 언어(DML)의 성능을 향상 시켜 준다. 분할(Partitioning)은 데이타
    웨어하우스와 OLTP 시스템의 관리와 성능면에서 향상된 기능을 제공한다. 분할된
    테이블들은 각각 독립적으로 운영되기 때문에, 분할된 테이블 중 한곳에 이상이
    발생하더라도 다른 곳의 분할된 테이블의 데이타는 이용할 수 있다. 분할을 통해
    큰 테이블을 작게 나누어 관리를 쉽게 하고 병렬 처리도 할 수 있다. 테이블과
    인덱스 분할은 사용되지 않는 부분을 실행 계획 단계에서 제거하므로 데이타 처리
    속도를 향상 시킬 수 있다.
    분할은 애플리케이션과 표준 DML 문에 투명성을 제공한다. Oracle8 옵티마이저
    (optimizer)는 분할 기능을 제공하며 질의(query)시 필요한 데이타를 포함하지
    않는 분할된 테이블은 검색에서 제외되므로 수행 성능을 향상 시킨다.
    (1) 분할(Partitioning) 이란?
    하나의 테이블과 인덱스는 여러 작은 조각으로 분할되거나 나누어 질 수 있다.
    테이블과 인덱스의 구조를 생성할 때 분할을 정의한다. 분할 키(partition key)로
    사용될 하나의 컬럼이나 여러 컬럼을 선택한다. 이 키로 데이타가 분할된 위치를
    찾아간다. Oracle8은 삽입(insert) 작업시 데이타를 적절히 분할한다-
    애플리케이션의 재작성 없이 분할 기능을 활용할 수 있다.
    테이블에 관한 모든 조작이 분할된 테이블의 각각에 대해서도 수행될 수 있다.
    예를 들면, 전체 테이블을 익스포트하지 않고 분할된 테이블의 한 부분만
    익스포트 할 수 있으며, 분할된 테이블 각각에 대해 ANALYZE 명령을 동시에
    수행하여 비용-기반(cost-based)의 최적화 값을 신속히 얻을 수 있다.
    분할된 테이블과 인덱스는 각각 독립적으로 운영되므로 분할된 테이블이나
    인덱스에서 수행되는 조작은 다른 곳의 분할된 테이블이나 인덱스에 영향을 미치지
    않는다. 만약 디스크 장애나 관리 미숙으로 인해 분할된 부분에 장애가 발생
    하더라도 다른 부분에 있는 데이타는 여전히 작동한다.
    (2) 향상된 데이타 컨트롤
    화일 시스템에서 분할에 관한 정보 즉, 저장 속성과 위치 등을 명시하여 대용량
    데이타베이스에 대한 컨트롤 효과를 높여준다. 분할된 부분 각각에서 오프라인,
    온라인, 백업, 복구, 익스포트, 임포트, 로딩 등이 수행될 수 있다-관리 시간을
    줄여준다. 하나의 분할 테이블에 하나의 분할 인덱스를 생성하여 인덱스 관리
    시간을 줄일 수 있다. 지역(local)과 전역(global) 인덱스를 위해 다양한 기능을
    제공한다. 분할 조작은 병렬로 수행될 수 있으며 다운되거나 오프라인 된 부분의
    데이타를 요구하지 않는 애플리케이션의 경우는 애플리케이션 장애에도 불구하고
    계속 수행될 수 있는 장점을 가진다.
    (3) 관리 용이
    Oracle8은 사용하기 쉬운 분할 기능을 제공한다. 예를 들어, 연속적인 데이타를
    포함하는 테이블의 경우 단지 일년간의 데이타만 테이블이 가질 수 있다. 이를
    위해 새로 분할된 부분을 테이블 끝에 첨가하고 일년 이상 된 데이타를 포함하는
    부분을 드롭하면 된다. 분할된 데이타간의 밸런스를 위해 다시 분할하여 재 조정
    할 수도 있다. 또한 Oracle7* 릴리스 7.3 UNION ALL 뷰(view)를 이용하는
    stand-alone 테이블이 하나의 테이블 분할로 전환되므로 대용량 Oracle7
    데이타베이스 사용자가 큰 테이블을 재 구축하지 않고도 Oracle8 분할 기능을
    활용할 수 있다.
    2. 데이타 웨어하우스 성능 향상
    Oracle7 릴리스 7.3의 데이타 웨어하우스 기능이 Oracle8에서 향상되었다.
    Oracle7에서 제공된 데이타 웨어하우스 애플리케이션을 위한 기능과 함께
    Oracle8은 다음 주요 기능을 제공한다:
    * 향상된 스타 질의(star query) 프로세싱
    * 병렬 처리 기능 향상
    * 데이타베이스 사이즈 증가
    (1) 향상된 스타 질의(Star Query) 프로세싱
    Oracle8은 데이타 웨어하우스 애플리케이션에서 보편적으로 수행되는 스타 질의에
    대한 성능을 향상시켰다. 스타 질의 또는 스타 스키마(star schema)는 팩트
    (fact) 테이블이라 불리는 하나 이상의 큰 테이블이 존재할 때 일어난다. 팩트
    테이블은 여러 개의 더 작은 테이블인 차원(dimension) 테이블과 연관되어있다.
    Oracle7에서 성능 향상을 위해 최적화된 스타 질의 기능을 소개하였고 Oracle8에서
    스타 질의는 훨씬 더 향상된 기능을 보여준다.
    Oracle8에서, 스타 질의를 실행하는 혁신적인 새로운 방법이 도입되었다 . 더
    효과적인 알고리즘을 이용하므로, Oracle8의 스타 질의는 데이타 웨어하우스
    애플리케이션을 위해 최적의 성능을 제공한다.
    Oracle8에서 여러 타입의 스타 질의 성능이 향상되었으며 조건을 통해 팩트
    테이블의 많은 행을 제거한 스파스(sparse) 테이블을 가진 스타 스키마는 그 좋은
    예이다. 또한, 하나의 스키마가 여러 팩트 테이블을 가질 때도 옵티마이저는
    효과적으로 질의를 수행한다. Oracle8은 크고 많은 차원 테이블, 제약 없는
    (unconstrained) 차원 테이블, 많은 양의 스키마 디자인을 가진 차원 테이블에
    대해 효과적으로 스타 질의를 수행한다.
    Oracle7과 달리, Oracle8 스타 질의 최적화 알고리즘은 카티션(Cartesian-
    product) 조인을 하지 않는다. Oracle8은 두 가지 기본 단계로 스타 질의를
    수행한다. 첫째 단계는, 팩트 테이블로 부터 필요한 행(row)을 조회하며, 이
    조회는 비트맵 인덱스(bitmapped index)를 통해 효과적으로 이루어진다. 둘째
    단계는 팩트 테이블에서의 결과를 관련 차원 테이블과 결합하는 것이다. 이로
    인해 여러 팩트 테이블을 가진 복잡한 스타 질의의 성능이 향상될 수 있다.
    B-tree 인덱스를 이용한 이전 방법에 비해 새로운 알고리즘은 비트맵 인덱스를
    통해 저장 공간을 절약할 수 있다. 새로운 알고리즘은 분할 테이블과 비분할
    테이블 모두에 대해 병렬 인덱스 스캔을 할 수 있으며 완벽한 병렬 기능을 제공한다.
    (2) 새로운 병렬 옵션
    삽입, 갱신, 삭제 트랜잭션이 Oracle8에서 병렬로 수행될 수 있다. 병렬 DML
    (Data Manipulation Language)로 잘 알려진 이 오퍼레이션은 여러 프로세스를
    통해 병렬로 실행된다. 오퍼레이션이 병렬로 실행되므로, 동일한 트랜잭션이
    순차적으로 실행되었을 때보다 트랜잭션은 훨씬 더 빠르게 수행된다. 병렬 DML은
    질의와 수정을 병렬로 실행하여 기존의 병렬 질의 기능을 보강시켰다. 병렬 DML은
    대량의 DML 오퍼레이션이 많이 일어나는 의사 결정 시스템(DSS) 또는 데이타
    웨어하우스 환경에 유용하다. 또한, 병렬 DML 오퍼레이션은 OLTP 데이타베이스에서
    운영 중인 일괄처리 작업을 빠르게 수행할 수 있다.
    Oracle8은 분할된 테이블에 대한 병렬 삽입, 갱신, 삭제 기능을 지원한다.
    Oracle8은 분할되지 않은 테이블에 대한 병렬 삽입도 지원한다. 병렬 삽입
    오퍼레이션은 Oracle7의 직접 경로(path) 로드와 유사하다. 테이블에 대한 병렬
    삽입은 디스크 블록을 직접 데이타 화일로 포맷하고 작성하므로 버퍼 캐시와
    스페이스 관리의 어려움을 해결해 준다. 이 경우 질의에 대한 각각의 스캔
    프로세스가 데이타를 테이블의 high watermark(강물의 수준점과 같이 테이블이
    데이타로 채워져 있을 때 가장 윗부분) 다음의 세그먼트로 삽입한다. 모든 삽입
    프로세스가 완료 되었을 때, 트랜잭션은 커밋되고 high watermark는 새로운
    세그먼트 다음으로 이동한다.
    병렬 DML은 삽입, 갱신, 삭제 오퍼레이션 실행 이전에 지정되어야 한다.
    일반적으로 병렬 DML은 배치(batch) 프로그램이나 대량의 삽입, 갱신, 삭제 작업을
    실행하는 애플리케이션 내에서 이루어진다. 병렬 DML에 대한 새로운 힌트도 제공된다.
    (3) 증가된 데이타베이스 사이즈
    Oracle8은 수백 테라 바이트까지 확장 가능한 대용량 데이타베이스를 지원한다.
    데이타 웨어하우스의 사이즈는 계속해서 증가하며, 그 사이즈로 인해 관리는 더
    어려워 지고 있다. Oracle8은 화일과 메모리의 향상된 사용을 위해 64-비트 화일
    시스템을 지원한다. 또한, 오라클은 테이블 저장 공간의 무한한 확장을 지원한다.
    물론, 데이타를 백업, 로딩, 재저장할 수 있는 툴을 가지고 있지않다면 대용량의
    데이타를 저장하는 것은 무의미할 것이다. Oracle8은 분할, 향상된 병렬 처리,
    고도의 백업 및 복구 툴 과 대용량 데이타 관리를 위해 여러 기능을 제공한다.
    3. 메인프레임 급의 OLTP
    Oracle8은 OLTP 애플리케이션을 위한 확장성, 수행 성능, 관리 기능의 향상도
    제공한다.
    (1) 대량의 사용자 지원
    Oracle8 Server와 네트웍 기능의 향상으로 운영 체계와 네트웍 자원의 활용도가
    증가되었다. 커넥션 풀링(connection pooling)은 요청이 없는 사용자를
    일시적으로 드롭하여(요구가 있으면 연결이 다시 확립된다) , 더 많은 사용자를
    지원할 수 있는 기술이다. 오라클 커넥션 매니저(Oracle Connection Manager)는
    멀티플렉싱을 이용 여러 소스로 부터 다양한 프로토콜을 지원하는 단일 서버로
    데이타를 넘겨주고, 필요시 방화벽으로 작용한다. 공유 데이타베이스는 많은
    사용자를 한번의 연결로 하나의 데이타베이스 서버에 링크하므로 특히, 다중
    애플리케이션 구조에서 필요한 자원의 요구를 줄일 수 있다.
    (2) 첨단 큐잉(Queuing)
    첨단 큐잉은 트랜잭션을 나중에 실행한다거나 특정한 순서로 실행할 수 있는 기능을
    추가한다. 이로 인해 분산 애플리케이션의 커플링을 피할 수 있으며 고도의
    확장성이 요구되는 애플리케이션을 위해 외부 시스템에 대한 종속을 없애준다.
    인큐(enque)와 디큐(dequeue) 오퍼레이션은 트랜잭션 내의 프로세싱을 백그라운드
    프로세싱으로 전환하는데 이용되어 트랜잭션 응답 시간을 줄일 수 있다. 또한 큐는
    데이타의 상태가 변함에 따라 데이타를 시스템으로 옮기는 워크플로우
    애플리케이션을 구현하는 데 사용될 수 있다. 예를 들어, 하나의 주문이 전체 주문
    단계 동안 주문 엔트리로 부터 출하 시스템으로, 그리고 이를 청구 시스템으로
    옮기는 애플리케이션을 생각해볼 수 있다. Oracle8의 첨단 큐는 Tuxedo의 /Q와
    같은 인기 있는 트랜잭션 프로세싱(TP) 모니터와 결합하여 사용될 수 있다.
    (3) 향상된 병렬 서버
    Oracle8 병렬 서버(Oracle8 Parallel Server*)는 수행 성능, 확장성, 메모리
    이용, 가용성 등에서 뛰어난 향상을 가져왔다. 통합된 기능을 제공하는 분산 록
    매니저(distributed lock manager)는 다른 OS 업체에 의해 제공된 록 매니저와
    달리 대부분의 플랫폼에서 우수한 성능과 이식성을 제공한다. 수행 성능의 향상은
    Oracle8 병렬 서버의 속도를 향상시켰다. 또한, 새로운 전역(global) V$
    테이블의 관리도 용이해졌다.
    Oracle8 병렬 서버는 노드 간 요청을 처리를 위해 자체에서 제공하는 통합된 분산
    록 매니저(DLM)를 이용한다. 이전에 오라클은 특정 OS 업체가 제공하는 DLM
    기능에 의존하였고, 따라서 주어진 플랫폼만 지원했었다. 이제 Oracle8과 DLM의
    통합으로 병렬 서버가 모든 플랫폼에 걸쳐 다양한 기능을 제공할 수 있게 되었다.
    이로 인해 자원의 크로스-노드 공유를 지원하지 않던 플랫폼에서도 이제 Oracle8
    병렬 서버를 사용할 수 있게 되었다.
    Oracle8에서는 병렬 서버의 성능 향상을 위해 여러 특징이 추가되었다. 시스템
    변경 번호 (System Change Number : SCN) 생성이 최적화되어 인스턴스간 SCN
    부여가 더 효과적이 되도록 하고 있다. 이 기능 향상만으로 약 10-15%의 병렬 서버
    성능 향상을 가져올 수 있다. 또한, DLM은 록 정보가 노드를 통해 분산되는 것을
    막기 위해 록을 캐시한다. 충돌 블록에 대한 액세스를 통제할 수 있는 알고리즘이
    노드에 있는 블록들의 핑(Ping)과 충돌을 줄여 준다. 리버스 키(reverse-key)
    인덱스는 블록의 바이트를 전환하여 인스턴스상의 블록 충돌을 없애므로 *hot
    spot*인덱스 - 특히 주 키 (primary key)인덱스 - 에서의 충돌을 줄여준다.
    분할을 통해 사용자가 위치를 파악하므로 병렬 서버 성능을 향상 시킬 수 있고,
    따라서 Oracle8 병렬 서버의 록킹 관련 메모리 부하를 줄일 수 있다.
    Oracle8에서 병렬 질의 혹은 병렬 DML 프로세싱을 위한 인스턴스를 지정할 수
    있다. 어느 그룹에 인스턴스가 속하는지 파악할 수 있으며 특정 애플리케이션으로
    부터 문장을 처리하기 위해 그 그룹을 이용할 수 있다. 이것은 서버간 데이타
    웨어하우스 프로세싱과 OLTP를 분리하는데 매우 유용하다. Oracle8 병렬 서버는
    분리된 인스턴스를 이용하므로 데이타 웨어하우스 질의가 OLTP 애플리케이션의
    성능에 영향을 미치지 않는다.
    Oracle8은 Oracle8 병렬 서버에 대한 글로벌 고정 뷰(global fixed view)를
    제공한다. 이로 인해 관리자는 병렬 서버상의 하나의 인스턴스에 로그인 하여 전체
    환경에 대한 모니터링을 수행하므로 조작을 간단하게 할 수 있으며 생산성을 향상
    시킬 수 있다.
    (4) 투명한 애플리케이션 장애 복구(Failover)
    병렬 서버상의 하나의 노드에 장애가 발생하였을 때, 투명한 애플리케이션 장애
    복구에 의해 사용자의 커넥션이 다른 노드의 세션으로 옮겨지며 세션이 자동으로
    재확립된다. 애플리케이션이 계속해서 실행되므로 사용자들은 장애를 인식하지
    못한다. 이것은 계획된 사건이나 계획되지 않은 장애 발생시 지속적인 이용을
    보장한다.
    클라이언트에서 발생하는 부하의 양에 따라, 인스턴스 장애 발생시 사용자를 장애
    복구 노드로 완벽하고 투명하게 이전 연결해 준다. 모든 질의는 클라이언트에
    저장되어 장애 복구 노드상에서 다시 실행될 수 있다. 또한, 세션을 장애 복구
    노드에 미리 연결할 수 있어 장애 복구 인스턴스에 다시 연결하는 시간을 줄일 수도
    있다.
    투명한 애플리케이션 장애 복구는 가용성을 높일 뿐 아니라, 수동적인 부하
    조절이나 강제적인 시스템의 셧다운에도 효과적이다. 너무 많은 사용자가
    인스턴스에 연결하였을 경우, 일부 세션을 정지하고 다른 노드로 투명하게 이전할
    수 있다. 또한 현재의 트랜잭션이 완료된 후에 노드를 셧다운하고 장애 복구 노드로
    투명하게 이전할 수 있게 한다. 사용자의 작업은 셧 다운으로 인해 더 이상 방해
    받지 않게된다.
    (5) TP 모니터 지원 향상
    다이내믹 XA 지원으로 산업 표준 XA 호환 TP 모니터를 이용한 다층 애플리케이션이
    최적의 성능을 발휘할 수 있게 되었다. Oracle8은 다음과 같은 XA 인터페이스에
    대한 기능을 지원한다:
    * 다이내믹 등록(registration) 지원
    * 약결합(loosely-coupled) 트랜잭션 지원
    * Oracle 병렬 서버에 대한 향상된 트랜잭션 복구
    * 세션 캐싱의 불필요
    * Oracle Call Interface* (OCI) 애플리케이션을 위한 SQLLIB 불필요
    * 모든 플랫폼에서의 OPS를 위한 XA 라이브러리 제공
    * Oracle8에서 XA 애플리케이션을 실행하기 위한 스크립트 인스톨 불필요
    * Oracle8은 동일 XA 연결내에서 전역 및 지역 트랜잭션 동시 허용
    (6) 백업/복구 서브시스템의 확장
    Oracle8 서버는 고도의 백업 및 복구 기능을 제공한다. Oracle8은 백업 시작
    시간, 백업할 데이타베이스의 부분, 화일이 저장될 위치 등에 관한 상세한
    정보를 가지고 있다. 복구가 필요하다면 Oracle8은 데이타베이스의 상태를 분석하며
    수행에 필요한 오퍼레이션을 결정한다. Oracle8은 이러한 조작을 자동으로
    수행하므로 관리자의 작업을 단순화하며 에러 발생을 줄여 준다. Oracle
    Enterprise Manager*의 그래픽 사용자 인터페이스는 백업과 복구 작업을 수행할
    수 있으며 써드-파티 애플리케이션을 위한 애플리케이션 프로그래밍 인터페이스
    (API)도 제공된다. Legato 와 같이 써드-파티의 테이프 관리 제품을 위한 미디어
    관리 인터페이스가 있다.
    Multilevel, incremental 백업은 단지 변화된 블록만을 백업하므로 백업 사이즈를
    상당히 줄일 수 있다. 이로 인해 데이타 화일의 백업 시간을 상당히 줄일 수 있다.
    테이블스페이스(Tablespace)의 적절한 복구로 하나 이상의 테이블스페이스가 좀더
    빠른 시간에 복구 되게 하며 나머지 데이타베이스는 계속 운영될 수 있다. 이로
    인해 사용자 에러가 쉽게 수정될 수 있다. 예를 들면, 사용자 실수로 테이블의 여러
    레코드를 갱신하는 작업을 배치 형태로 실행하였을 때, 테이블은 배치 작업이
    일어나기 이전 형태로 다시 저장될 수 있다. 또한, 테이블이 우연히 드롭되거나
    잘려졌을 때, 조작 이전 단계로 다시 저장될 수 있다.
    Oracle8은 블록을 읽고 쓰는 수를 제한하므로 장애 및 인스턴스 복구 속도를 항상
    시켰다. 이는 미션-크리티컬 시스템의 이용성을 높여 준다. Oracle은 인스턴스
    복구를 위한 초기 변수를 최대치로 설정할 수 있다. 따라서 버퍼 캐시가 매우 큰
    상황에서 적절한 복구 시간을 설정할 수 있다.
    4. 보안 관리 향상
    Oracle8은 사용자와 롤(role)을 중앙에서 관리할 수 있는 환경인 Security
    Server를 포함한다. Oracle Security Server는 공공/개인 키 검증을 위한 X.509
    인증 기반의 보안 표준과 호환된다. 클라이언트와 서버 간의 완벽한 검증은
    클라이언트 통신을 갈무리하기 위해 디자인된 "rogue" 데이타베이스로 부터 방해
    받지 않도록 한다. 또한 디지털 서명(signature) 툴 킷으로 애플리케이션 생성시
    데이타의 부정 갱신을 방지 할 수 있다.
    Oracle8은 향상된 패스워드 유지와 관리 기능을 제공한다. Oracle8에서 보안
    스키마를 강화하기 위해 패스워드 프로필(profile)을 정의할 수 있다. 패스워드는
    특정시간이 지난 후에 소멸되거나 유효성 여부가 체크될 수 있다. 자신만의
    패스워드를 생성하거나 새로운 패스워드의 길이, 내용, 재사용 여부 등을 체크하기
    위해 표준 저장 함수(stored function)를 이용할 수 있다. 사용자 계정을 생성할
    수 있으며 사용자는 시스템에 최초 액세스 하였을 때 패스워드를 즉시 변경해야 한다.
    Oracle8은 또한 특권이 부여된 링크를 통해 데이타베이스 링크시 패스워드가 필요
    없게 하기도 하며, OCI 와 PL/SQL*에서 부를 수 있는 데이타 해독(encryption)
    서비스도 제공한다.
    5. 복제(이중화; REPLICATION)
    복제 옵션 부분도 현저하게 개선되었다. Oracle8의 복제는 광범위하게 구축된
    분산 시스템, 높은 생산성의 장애 복구 환경, 데이타 웨어하우스 시스템 등을
    지원한다.
    영업활동을 지원하기 위한 "Salesforce Automation 애플리케이션"과 같은 대량
    전개(mass deployment) 시스템은 Oracle8의 서브 세팅(subsetting) 기능으로
    관리와 디자인이 훨씬 간편해질 수 있다. 복잡한 부분 질의(subquery) 스냅샷
    (snapshot)은 다른 테이블 질의에 기반한 스냅샷을 구축할 수 있도록 *fast
    refresh* 항목을 포함할 수 있다. 예를 들면, ORDERS 테이블에 기반해서 각각의
    영업사원에 대한 스냅샷을 구축할 수 있다. 이 스냅샷은 ASSIGNMENTS 테이블로
    부터 표준에 맞는 주문을 선택하여 각각의 영업 사원에 대한 주문만을 포함하게
    된다. 각 영업 사원은 자신의 주문만을 볼 수 있으며 새로운 주문을 반영할 경우
    마스터 테이블과 연동한다.
    Oracle8에서 복제의 성능이 상당히 향상 되었다. 복제 사이트에 대한 변화 적용은
    병렬로 처리되며 복제시 처리량의 제한은 없으며, 트랜잭션 무결성 또한 유지된다.
    또한, 대부분의 복제 기능은 PL/SQL 트리거에서 C코드로 재 작성되었으며 오라클
    커널에서 높은 성능을 제공하고 있다. 마침내, 네트웍을 통해 각각의 복제된
    트랜잭션으로 보내져야 할 데이타의 양이 현저히 감소하여 네트웍 부하를 최소로
    줄여 준다.
    Oracle8 복제 기능은 관리와 사용면에서도 향상을 가져왔다. 위저드(wizard)를
    포함한 Oracle Replication Manager*의 기능 향상으로 복제 환경을 더 쉽게 설치
    하고 유지할 수 있다. 이외에 복제 관리를 위한 개선 사항으로는, 어느 사이트가
    스냅샷과 관계를 맺고 있는지 정보를 알 수 있는 스냅샷 등록, 테이블 재구성 후
    더 빠른 스냅샷 refresh를 제공하는 주 키(primary key) 스냅샷, 편리한
    관리를 위한 새로운 보안 알고리즘; 다른 사람이 작업 중일 때 하나의 복제 그룹에
    스키마 레벨의 변화를 가할 수 있는 fine-grain quiesce등이 있다.
    6. 객체-관계형(OBJECT-RELATIONAL) 데이타베이스
    Oracle8은 객체-관계형 패러다임으로 데이타 관리 기술을 한 차원 높였다. 오늘
    날의 데이타베이스 스키마와 애플리케이션은 점점 복잡해 지고 있다. 종종 고객
    정보, 청구, 발송과 같이 비슷한 데이타를 가진 여러 분리된 애플리케이션들이 다른
    데이타베이스 스키마로 존재하며 MIS 부서는 상호작용에 대해 고려해야 한다. 여러
    업체에서 제공되는 서로 다른 관계형 객체와 애플리케이션을 더 밀접한 엔드-유저
    데이타 모델로 통합하는 정보의 통합 관리는 쉬운 일이 아니다. 완벽한 객체-관계형
    솔루션을 위해 관계형 데이타베이스에 객체 개념을 추가하므로, 오라클은 데이타
    모델링을 단순화하며 새로운 데이타 타입으로 데이타베이스를 확장할 수 있다.
    (1) 오라클의 객체-관계형 데이타베이스 기능은 다음과 같다
    * 애플리케이션 중심으로 서버를 확장하기 위한 객체 타입(object type)
    * 객체 메쏘드로서 외부 프로시저(external procedure)
    * 빠른 클라이언트-사이드 객체 검색 지원
    * 기존 관계형 환경의 개선
    * 객체 모델링을 위한 개발 툴
    * 비정형 데이타 지원(이미지, 비디오, 텍스트 등)
    * 개방형, 산업 표준 데이타 조작을 위한 자바 지원
    객체(object)는 모든 서버 레벨에서 Oracle8 전체에 걸쳐 완벽하게 통합된 기능을
    제공한다. Oracle universal data server 의 강력한 기능들은 객체와 함께 제공
    되며 오라클의 정교한 동시성 (concurrency) 모델 , 수행 성능, 확장성, 신뢰성,
    관리성, 가용성 등을 포함한다.
    (2) 객체 타입(Object Type)
    객체 타입은 오라클의 관계형 데이타 시스템의 확장을 위한 방법을 제공한다.
    관계형 데이타베이스는 세 가지 데이타 타입을 지원한다: character, number,
    date. 객체 타입으로 새로운 데이타 타입을 정의할 수 있으며 관계형 데이타
    타입을 정규화하는 것과 같이 사용할 수 있다. 예를 들어, 주소라는 새로운 타입을
    생성할 수 있다. 이 객체 타입은 속성이라 불리는 우편번호, 시, 구와 같은
    데이타를 가진다. 객체 타입은 또한 주소간의 길이를 계산하는 거리와 같은
    메쏘드를 가진다. 이 메쏘드는 PL/SQL, C 또는 자바로 작성될 수 있다. 주소는
    컬럼 정의, PL/SQL 변수 또는 객체 테이블을 위한 정의 등 데이타 타입 정의가
    가능한 모든 곳에서 사용될 수 있다.
    오라클의 객체 타입은 복잡한 객체 지원을 위해 강력한 객체 모델링 기능을 이용
    한다. 예를 들어, 배열 구조나 삽입(nested)된 테이블에서 비슷한 객체의 모임을
    표현할 수 있다. 테이블을 조인하지않고 빠르게 검색하기 위해 객체에 대한
    포인트를 저장할 수 있다.
    객체 타입은 개발자가 애플리케이션 로직을 클라이언트-사이드에 코딩하는 것이
    아니라 데이타베이스나 미들 계층인 애플리케이션 서버에서 코딩할 수 있게 한다.
    모든 애플리케이션은 새로운 데이타 타입의 로직을 공유하므로 개발자는 코드를
    다시 작성할 필요가 없다. 이것으로 재사용 가능한 코드 컴포넌트 생성과 투명한
    애플리케이션 분할이 가능하며 코드는 다음 중 최상의 성능을 지닌 계층에 위치하여
    실행될 수 있다: 클라이언트, 애플리케이션 서버, 데이타베이스 서버.
    Oracle8은 객체 타입 정의와 객체 모델링 기술을 위해 SQL3 표준을 따른다.
    SQL3는 객체 타입 생성 및 수정, 객체 식별자(object identifier, OID) 생성 및
    저장, 객체에 관한 레퍼런스 또는 포인터를 생성 및 저장, 비슷한 객체의 모임을
    모델링하기 위한 문장을 정의한다.
    (3) 데이타베이스내에서 외부 프로시저 호출
    오라클은 데이타베이스에서 C, C++, 혹은 자바로 작성된 외부 프로그램을 호출할
    수 있는 안전하고 빠른 방법을 제공한다. 호출은 HTTP나 IIOP(CORBA 표준)와 같은
    개방형 프로토콜을 통해 이루어질 수 있다. 외부 프로시저를 통해 기존 애플리케이션
    코드를 사용하거나 Fast Fourrier Transform (FFT)와 같이 수치적으로 복잡한
    알고리즘을 위해 고도로 최적화된 코드로 작성할 수 있다.
    또한 다른 애플리케이션 또는 삽입된 시스템과 같은 특정 장치와의 연동을 위해
    외부 프로시저를 이용할 수 있다.
    (4) 클라이언트-사이드 객체 지원
    클라이언트-사이드 객체 캐시는 사용자 애플리케이션이 복잡한 수직 구조의 객체를
    애플리케이션 캐시로 읽어 들이게 한다. 애플리케이션은 추가적이 네트웍 검색
    없이 객체를 검색 (traverse) 할 수 있다. 이런 편리하고 빠른 방법으로
    클라이언트 애플리케이션에서 객체를 사용할 수 있으며 네이티브 객체-지향 코드와
    같은 코드를 작성할 수 있다.
    (5) 관계형 환경의 개선
    Oracle8은 사용자가 쉽게 새로운 객체-지향 기능을 이용하도록 디자인 되었으며
    기존의 모든 애플리케이션에 대해 호환성을 제공한다. 새로운 객체-관계형 기능은
    관계형 기능과 동일한 기초에 기반하여 구축되었으므로 사용자들이 Oracle8으로
    마이그레이션 하기 위해 기존의 관계형 애플리케이션을 버리거나 다시 작성할
    필요가 없다. 다른 객체-관계형 데이타베이스와 달리, 이것은 행과 열을 읽고 쓰는
    전통적인 관계형 애플리케이션이 객체를 읽고 쓰는 객체-지향 애플리케이션과 공존할
    수 있게 한다. Oracle8은 관계형 데이타를 조회하여 마치 그것이 객체 데이타인
    것처럼 클라이언트에 나타내거나 그 반대로 데이타를 나타낼 수 있는 객체 뷰를
    제공한다.
    예를 들어, 기존 관계형으로 구현된 주문 입력(order-entry) 시스템은 월드
    와이드 웹을 위해 새로운 전단부(front-end )를 필요로 할 수 있다. 관계형
    데이타베이스 스키마에 액세스하는 기존 애플리케이션은 유효하면서 웹
    클라이언트에서의 객체 표현을 위해 새로운 객체 뷰가 개발될 수 있다. 새로운
    애플리케이션과 기존 애플리케이션이 동일한 데이타에 기반할 수 있으나 각각은
    자신만의 표현을 가진다.
    (6) 객체 모델링을 위한 개발 툴
    개발 툴과 그래픽한 모델링 툴은 개발 프로젝트의 성공을 위해 매우 중요한
    요소이다. 새로운 객체 모델링 툴인 Designer/2000* 과 컴포넌트 조합 환경인
    Sedona는 완벽하게 Oracle8의 객체 모델을 지원한다.또한, Rational Software와
    같은 써드-파티 업체들이 Oracle8의 객체 개발을 지원한다.
    멀티미디어 데이타
    Large Object (LOB)는 이미지, 사운드, 비디오, 텍스트와 같은 비정형 데이타를
    처리하며 LONG이나 LONG RAW보다 훨씬 더 강력한 기능을 가진다. Character LOB
    (CLOB 혹은 NCLOB), Binary LOB, 그리고 BFILES (혹은 외부 저장된 LOB)는 복제
    되거나 객체의 속성이 될 수 있다. 테이블/객체 당 하나 이상의 LOB를 가질 수
    있다. LOB는 LONG 보다 더 큰 최대 사이즈를 가지며 읽기 일관성과 임의 액세스를
    위해 차별되는 메커니즘을 가지고 있다.
    LOB 데이타는 빠른 액세스를 위해 특정 바이트에서 시작할 수 있도록 인덱스 된다.
    예를 들어 특정 바이트-오프셋을 읽거나 쓸 수 있다. Oracle8 버퍼 캐시를 통해
    LOB를 읽고 쓰거나 디스크로 부터 LOB에 직접 액세스 할 수 있다.
    (7) 개방형 산업 표준 지원: 자바
    오라클의 두 가지 자바 지원 전략은 오라클의 객체 타입과 더 잘 통합될 수 있도록
    제공되는 JDBC 드라이버와 SQL문을 자바에 삽입하는 JSQL이다. JDBC는 자바
    클라이언트가 Oracle8에 액세스하게 해준다. 오라클은 Oracle8에서의 더 나은
    수행 성능을 위해 JDBC 드라이버를 제공할 것이다. JSQL은 SQL 문을 자바
    애플리케이션 내에 포함하게 한다. 그런 후 JSQL precompiler가 SQL을 JDBC
    call로 전환한다. 이로 인해 기존의 SQL 문을 새로운 자바 애플리케이션에서
    사용할 수 있다.
    7. 기타 향상된 기능
    인덱스로 구조화된 테이블은 Oracle8 B-tree 인덱스 구조의 노드 내에 컬럼
    데이타를 저장한다. 이는 대부분의 컬럼이 인덱스 되었을 때 인덱스와 분리된
    테이블 모두를 저장하는 것이 아니라 컬럼을 단 한번만 저장하므로 전체 저장
    공간을 줄여준다. 인덱스로 구조화된 테이블은 두 곳이 아니라 한 곳에서 모든
    컬럼을 조회하므로 액세스 시간을 줄여준다. PL/SQL에서 SQL를 부르는 속도가
    향상됨에 따라 PL/SQL 성능도 향상되었으며 반대의 경우도 마찬가지이다.
    Oracle8에서는 제약조건(constraint) 프로세싱이 향상되었으며 UNIQUE와
    PRIMARY KEY 제약 조건을 위해 non-unique 인덱스를 이용할 수 있다. 이로
    인해 엄청난 양의 인덱스를 제거할 수 있으며 제약 조건을 사용할 수 없게
    되더라도 인덱스는 유효하게 남아 있다. 지연-제약 조건(deferred-constraint)
    체크는 문장 실행 마지막이 아니라 트랜잭션 실행 마지막에 무결성-제약 조건
    (integrity-constraint) 체크가 이루어진다. 이로 인해 무결성-제약 조건을
    수반하는 오퍼레이션의 코딩이 간편해진다. 모든 제약 조건은 다른 제약 조건들과
    동시에 그리고 병렬로 처리될 수 있으며 concurrent DML을 처리한다.
    새로운 NCHAR 데이타 타입은 하나의 데이타베이스에서 두 번째 character set을
    사용할 수 있게 한다. 이는 아시아 언어와 멀티 바이트 문자 데이타에 대한
    성능과 저장 예측력을 향상시켰다. 고정-길이 네이티브 Unicode 2.0과 Chinese
    GBK 를 지원한다.
    리버스 키(reverse key) 인덱스를 통해 주 키(primary key) 인덱스의 부담을
    줄일 수 있다. 불균형 인덱스는 인덱스를 점점 심화되게 할 수 있다. 리버스 키
    인덱스는 블록 엔트리 바이트를 역으로 전환하여 인덱스가 "빠지는 것(sliding)"
    을 방지한다.
    Oracle8은 정교한 애플리케이션을 쉽게 개발할 수 있도록 여러 가지 강력한 툴을
    제공하고 있다. 이제 관계형 뷰에 기반한 데이타를 수정할 수도 있다. 새로운
    트리거는 사용자 자신의 로직을 동원하여 뷰(view)에서 INSERT, UPDATE, DELETE
    작업을 수행하므로 복잡한 조인 조건을 가진 뷰라 하더라도 수정될 수 있다. 또한
    질의의 select 리스트에 부분 질의를 둘 수 있으므로 조인을 수행하지 않고
    상세(detail) 테이블의 임의 목록으로 부터 결과값을 얻을 수 있다. Select
    리스트에 커서(cursor)를 사용하여 FROM 절에 복잡한 조인 조건을 사용하지 않고
    3GL 프로그램에 있는 상세 테이블로 부터 행을 가져올 수 있다. Oracle8은
    데이타베이스에서 C로 작성된 3GL 코드를 부를 수 있으므로 데이타베이스 테이블과
    외부 하드웨어를 통합할 수 있으며 기존 애플리케이션 코드를 이용하거나
    수치적으로 복잡한 프로세스를 처리할 수 있다.
    8. 마이그레이션(MIGRATION)과 상호 운용성(INTEROPERABILITY)
    간단하고 빠른 마이그레이션 유틸리티가 데이타 사전을 재 구축하며 콘트롤 화일,
    로그 화일, 데이타 화일 헤더를 전환한다. 마이그레이션 유틸리티는 Oracle 7.1,
    7.2, 7.3등을 포함하는 모든 데이타베이스를 Oracle8으로 전환해 준다. Oracle7
    애플리케이션은 아무런 변경 없이 Oracle8과 연동하고, Oracle8의 분산 명령
    또한 Oracle7에도 작용한다.

  • Deploying Business Components as CORBA objects in JDev 3.0

    I have two JDeveloper 3.0 projects: a "server" project
    containing business components generated from my Oracle8i schema
    using the wizards, and a "client" project containing an Infobus
    application that uses the business components. I have
    successfully deployed these locally and have now tried to deploy
    the "server" application module as a CORBA object in my Oracle8i
    schema (I have successfully deployed and used the "HelloCORBA"
    tutorial CORBA object).
    When I test my deployment using the Business Component Tester,
    however, I get the following messages:-
    javax.naming.NameNotFoundException
    Nothing bound for specified name.
    Has anyone any idea what I might be doing wrong? I haven't.
    Howard
    null

    Howard,
    Make sure that the JNDI path in the tester is correct.
    The following steps might help you out:
    1.Determine the JNDI path for your CORBA object. You can check
    this in the deployment profile(choose 'Properties' from the
    context menu of the .prf file in the 'deployment' folder. Also,
    you can browse your connection (double click on the connection
    in the 'Connections' folder) to determine the exact path for
    your object.
    2.In the 'Connect' pane of the Tester
    -choose 'Oracle8i' as the 'Middle Tier Server Type'
    -choose the appropriate IIOP connection
    -Make sure that the JNDI path is correct
    This should get it working...
    Please let us know if you have any questions.
    Howard (guest) wrote:
    : I have two JDeveloper 3.0 projects: a "server" project
    : containing business components generated from my Oracle8i
    schema
    : using the wizards, and a "client" project containing an
    Infobus
    : application that uses the business components. I have
    : successfully deployed these locally and have now tried to
    deploy
    : the "server" application module as a CORBA object in my
    Oracle8i
    : schema (I have successfully deployed and used the "HelloCORBA"
    : tutorial CORBA object).
    : When I test my deployment using the Business Component Tester,
    : however, I get the following messages:-
    : javax.naming.NameNotFoundException
    : Nothing bound for specified name.
    : Has anyone any idea what I might be doing wrong? I haven't.
    : Howard
    null

  • Output of Oracle8i "deployejb" tool

    Hi,
    To deploy the EJB successfully, Oracle recommends that we deploy their Sample EJB's, which ships with Oracle8i product,
    before proceeding with our EJBs. This would help us verify the installation.
    The sample EJB's are available at %ORACLE_HOME%\javavm\demo\demo.zip.When the demo.zip file is extracted, a
    folder \examples\ejb\basic\helloworld, is created in the extracted path.The makeit.bat and runit.bat files in this folder
    should run successfully to deploy the EJB in the DB.
    When I attempt to execute, makeit.bat doesnot run properly.The output is pasted here for your reference.As you may notice,
    ClassCastException occurs, when a call is given to deployejb, through the makeit.bat file.
    C:\Oracle8i\javavm\demo\extract\examples\ejb\basic\helloworld>call deployejb -republish -temp temp -u scott -p tiger
    -s sess_iiop://localhost:2481:oracle8i -descriptor hello.ejb
    server.jar
    Exception in thread "main" java.lang.ClassCastException: com.sun.corba.se.internal.iiop.ORB
    at oracle.aurora.jndi.orb_dep.IRFinder.getObject(IRFinder.java:24)
    at oracle.aurora.jndi.orb_dep.IRFinder.initialReferences(IRFinder.java:78)
    at oracle.aurora.jndi.sess_iiop.SessionCtx.initialContext(SessionCtx.java:499)
    at oracle.aurora.jndi.sess_iiop.SessionCtx.<init>(SessionCtx.java:35)
    at oracle.aurora.jndi.sess_iiop.ServiceCtx.createSession(ServiceCtx.java:130)
    at oracle.aurora.jndi.sess_iiop.ServiceCtx.login(ServiceCtx.java:295)
    at oracle.aurora.server.tools.sess_iiop.ToolImpl.initializeSession(ToolImpl.java:101)
    at oracle.aurora.server.tools.sess_iiop.ToolImpl.parseStdArgs(ToolImpl.java:213)
    at oracle.aurora.server.tools.sess_iiop.ToolImpl.invoke(ToolImpl.java:121)
    at oracle.aurora.ejb.deployment.GenerateEjb.main(GenerateEjb.java:445)
    Any help/comments on this would be appreciated.
    Thanks,
    Sandeep

    "Memory"  If you are trying to look at the memory usage of an OS process connected to Oracle you have an issue you need to be aware of, namely, most UNIX/Linux utilities cannot distinguish between private memory used by a process and shared memory.  Since the SGA exists in shared memory the process memory statistics can show as using huge amounts of memory and the sum of all your Oracle connected processed can far exceed the available memory because of this double counting.
    HTH -- Mark D Powell --
    I missed that you had posted two separate questions.  I will just answer in one.  The questions I posted were about what it is you want the script to provide you and what value each column in the display has.  I would point out that if you have issues looking at the OS level is unlikely to identify the problem in many cases.  You may not see a process with extremely high cpu or memory at the OS level.  The problem could be lock waiting or latch waiting.  You will only be able to determine this by looking in the database.  That is not to say that sometimes a problem session will not show up with high cpu only that in many cases the problem may be elsewhere.  Eventually you are going to have to look in the database at the session so why not start there.  After all top/topmonitor etc ... already exist at the OS level to find the high cpu, io, memory sessions.  To find and fix database session issues you have to eventually connect to the database and high cpu, memory, and io sessions can all be found with queries.

Maybe you are looking for