How to stop killing database using all of pga

I have an application that is already written in java. It calls a package procedure
that has
inputs and outputs
This report kills the database and the dba noticed that it was eating all of the pga and killing the system. I am looking at the code and I see that one of the outputs is a
select ttype(col1,col2,...),tadtype(col1,col2...)
bulk collect into one of the output variables.
Just running a sample I noticed tha the bulk collect is collecting almost 30,000 rows and this ruinning in one session uses almost 250 mb of pga, when 10 users run the report the system dies. I have been told changing the java code will not happen. If there something I can do in the package to send the data back using bulk collect limit xxxx.
I tired using 1000, but the report only see the last 1000 rows. There are other output variables so I am not sure how to not "keep" all of the collection for this until I send it with the rest of the output variables. I am using 10.1.0.5. I am not sure if I can somehow write a function to pipe_row the rows backs to the client wirthout keeping the whole mess.
the psuedo code is something like this
procedure x (
pid IN s.SESSION_ID%TYPE
,piv_sort_on IN VARCHAR2
,piv_bno IN b.NO%TYPE
,piv_batch_type IN VARCHAR2
,piv_vt_cache_flag IN VARCHAR2
,potab_trans OUT TAB_TRANS
,potab_addr OUT TAB_ADDR
,pon_net_count OUT NUMBER
,pov_net_amount OUT VARCHAR2
,pov_currency_symbol OUT VARCHAR2
,pov_flag OUT TFLAG%TYPE
,pov_region_short_name OUT R.NAME%TYPE
,pov_error_msg OUT VARCHAR2
do work ...
huge bullk collect into ,potab_trans ,potab_addr -- about 20,000 - 50,000 rows want to change this
-- send output back and not keep the huge are for
-- these colllections.
more work for rest of output variable info
end
Edited by: smklad on Sep 2, 2008 3:34 PM

It is expected behaviour.
When running PL/SQL, you are using the PL engine - this engine makes calls to the SQL engine whenever it hits SQL in your PL/SQL code. Data has to be transferred between the PL and SQL engines. All this is pretty neat as it allows you to mix the source code of two very different languages, PL and SQL, combine it seamlessly, and treat it as if it is a single language. Makes development and maintenance and design and what not a lot better.
Each time your PL code uses SQL (opening a cursor, fetching from a cursor), that requires a context switch from the PL engine to the SQL engine. Context switching is unavoidable, but as it comes with a performance penalty needs to be reduces as far as possible.
Enter bulk collect. Instead of doing a 100 context switches in a cursor fetch loop to fetch a 100 rows, a single bulk collect can used to collect a 100 rows. 100 context switches versus 1 context switch.
Okay, but now where do that 100 rows go when bulk collecting? It has to be stored by the PL engine. The PL engine uses PGA memory. Thus it needs to allocate PGA to store these 100 rows.
If you bulk collect a 1000 rows, it needs to allocate PGA for a 1000 rows. If a million rows... ouch.
So a bulk collect decreases context switching. However, it increases the demand for PGA. It is therefore a balancing act when it comes to performance - decreasing context switching at the cost of an increase in PGA.
And this is why it is mostly mandatory that you use the LIMIT clause when bulk collecting. Bulk collect a 100 to a 1000 rows at a time. And as you are managing the number of rows that can be bulk collected per context switch, you are managing the amount of PGA to expend.
Last comment - you mention that the driving app is Java. Now I hope that this does not call PL/SQL, with PL/SQL doing a bulk collect, and then passing that collection back to Java. That is, plainly put, very stupid. Why?
The SQL engine has an excellent db buffer cache. Java can bulk fetch from it directly (one can set the array fetch size in an Oracle client driver). It makes absolutely no sense to use the PL engine as an intermediate cache - have the PL engine fetch rows from the SQL engine cache, cache those rows in (expensive) PGA memory, and then pass that to Java. It is a lot slower as it has more moving parts. It cannot scale as this design uses very expensive server memory called PGA as a cache - instead of relying on the SQL db buffer cache that was explicitly designed for this very purpose.

Similar Messages

  • Plz provide me some documents on how to clone a database using cold backup

    Dear All,
    Please provide me some documents on how to clone a database using cold backup which is in archive log.
    Also, please can you provide me the document to install Oracle 9.2.0.6 on Aix 5L
    Thanks,
    Mahipal

    Please provide me some documents on how to clone a database using cold >backup which is in archive loghttp://www.oracle-base.com/articles/9i/DuplicateDatabaseUsingRMAN9i.php
    please can you provide me the document to install Oracle 9.2.0.6 on Aix 5L
    Oracle9i Installation Guide
    Release 2 (9.2.0.1.0) for UNIX Systems: AIX-Based Systems, Compaq Tru64 UNIX, HP 9000 Series HP-UX, Linux Intel, and Sun Solaris -
    http://download.oracle.com/docs/html/A96167_01/toc.htm

  • How to connect mysql database using xml

    welcome to all,
    here my doubt is how to connect mysql database using xml file, how to integrate xml file and jsp file and how to access data from dabase using jsp file. can any one help me
    regards

    Short answer: you wouldn't do any of those things. The first two are meaningless and the third is a bad practice. I have no idea what those ideas were supposed to achieve so I have no idea what tutorials I should suggest to you.

  • How to access remote database using applet

    hi all,
    I want to know how to access remote database using applet,
    Please help me anybody.
    Regards
    Jesu

    If the database is on a public server, you probably can't access it directly (security wise). You can make your applet talk to a server-side application, which makes the database calls on behalf of the applet. But even in an intranet environment this setup is often preferable, because you don't need to distribute a JDBC driver to all your clients.

  • How to connect oracle database using jsf

    how to connect oracle database using javaserver faces with connection pooling

    Here is one way...
    http://jakarta.apache.org/commons/dbcp/

  • HOW TO START MAKING DATABASE USING ORACLE SQL PLUS in 10g?

    how will i create database using sql plus?
    does the code of sql applicable to it..?
    do i have to use the "create db <database name>", use and " create table also,.."
    pls help me..
    thanks

    At dos prompt :
    C:\>set ORACLE_SID=<your SID>
    C:\>sqlplus / as sysdba
    you get connected as sys user. Don't use this connection to create your own objects, create users instead.... but it would be useful to read some documentation, for example Starting SQL*Plus and manuals mentioned there.

  • Hi can anyone explain me how to  syncronize two database using jsp?

    Hi can anyone explain me how to syncronize two database using jsp?

    I thinking than you really need the jsp page for calling the java methods whith sincronize the database.You think wrong.
    You wrote a bad question.What was bad about it?
    You need a java method for sincronize the two databases using a jsp page.No you don't, see my answer.

  • How can I kill database connections

    I would like to know how can I kill all the database connexion at the end of an application. I'm using acces
    thx

    use con.close() in a finally statement after your catch blocks that tests whether con equals null. If con != null, then con.close();
    example:
    finally {
              //close the database connection.
              try {
                      if (con != null) con.close();
              catch (SQLException e) {
    }

  • How to stop 12 flv files all loading at once

    Hi Guys,
    Ive just created a page with 12 FLV players, all to play
    audio, problem is, when you click open the page, all the tracks
    seem to be loading into the players.
    Can some one please tell me how to stop this, Im a flash
    newbie so please leave me tips on how to do this.
    Also is there any code i can put in the html page, or will i
    need to recode each FLV seperately.
    Many thanks for your help.
    Tobes

    There are a couple of ways I think would work.
    1. Use only one Playback Component. At the appropriate time,
    change the content of that single player using
    instanceName.contentPath = "new file name";
    2. If you use multiple players, set the parameters to not
    automatically load. At the appropriate tim use
    "instanceName.load();"

  • How to connect Oracle database using TOAD Database toll

    Hello ALL,
    I have installed oracle 9i and TOAD in my machine.
    I want to connect oracle9i using TOAD database toll.
    How can i able to connect Oracle9i using TOAD database toll?What is the code i will change in tnsnames.ora so that i am able to connect scott/tiger database using TOAD?
    tnsnames.ora*
    SUMANTA.IN002.SIEMENS.NET =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = BLRD025AL1)(PORT = 1521))
    (CONNECT_DATA =
    (SERVICE_NAME = sumanta)
    Please suggest.
    Thanks for your time.
    Regards,
    Sumanta

    user2367151 wrote:
    Hello ALL,
    I have installed oracle 9i and TOAD in my machine.
    I want to connect oracle9i using TOAD database toll.
    How can i able to connect Oracle9i using TOAD database toll?What is the code i will change in tnsnames.ora so that i am able to connect scott/tiger database using TOAD?
    tnsnames.ora*
    SUMANTA.IN002.SIEMENS.NET =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = BLRD025AL1)(PORT = 1521))
    (CONNECT_DATA =
    (SERVICE_NAME = sumanta)
    Please suggest.
    Thanks for your time.
    Regards,
    SumantaIf you have a listener on host BLRD025AL1, and that listener knows about a service named 'sumanta', then you don't need to do anything to your tnsnames.ora to use it with Toad -- or any other client tool. You just have to provide the correct connect string.
    What have you actually tried?
    What result did you get?
    Any oracle errors (ora-nnnnn or tns-nnnnn)?

  • How to connect Oracle database using C/C++ on Mac OS X PPC G4, XCode 2.4.1?

    Hi All,
    How to connect the Oracle database using C/C++ on Mac OS X? I have used Instant Client library "instantclient-basic-macosx-10.1.0.3" provided by the Oracle but could not be success. I'm using PowerPC G4, Mac OS X 10.4.9, and XCode version 2.4.1.
    Specially Mr Oscar Armanini has done this in C on Mac OS X. Please let me know. I would be very thankful to you.
    Thanks,
    Ghufran

    Hi Ghufran
    there are two Metalink Notes on using Instant Client with PowerPc Mac:
    https://metalink.oracle.com/metalink/plsql/showDoc?db=NOT&id=316497.1
    How to Install, Configure and Test Oracle 10g Instant Client Basic,
    SQL*Plus and SDK Packages for Mac OS X
    (Runs OCI sample code - cdemo81.c)
    https://metalink.oracle.com/metalink/plsql/showDoc?db=NOT&id=332588.1
    How to Install, Configure and Test Oracle 10g Instant Client Basic,
    SQL*Plus and SDK Packages for Mac OS X
    (Runs OCCI sample code - occidml.cpp)
    The first Metalink Note uses an OCI examples and it is pasted here below,
    in case you don't have a Metalink ID.
    The second Metalink Note uses an OCCI example.
    I have never used Instant Client (neither on Os X or on other platform),
    but I was successful on compiling C programs (no GUI involved) using the
    Full Client installed on my PowerBook G4.
    I'm a DBA, but I was a developer years ago (about when Oracle 7.3
    was considered a giant step forward): I installed the Oracle 10.1 db
    (a complicated job for a developer) and I got the Full Client
    installed as well, for free, so I was happy to compile one of the demo C sources
    (those that you can find in the Oracle Pro*C manuals:
    by the way, Oracle Pro*C manuals are really worth reading).
    Good luck
    Oscar
    Applies to: Oracle Server - Enterprise Edition - Version: 10.1.0.3
    Apple Macintosh PowerPC
    Goal
    This article will show you how to install and configure your 10g Instant Client (IC) Software for the Mac.
    It will install the following packages:
    the Basic package
    the SQL*Plus package and
    the SDK package
    and then test its connectivity to an Oracle database using SQL*Plus.
    It will also show you how to setup and test a sample program, cdemo81.c, that uses the Oracle Call Interface (OCI)
    to connect to the database.
    The sample program is located under the <Instant_Client>/sdk/demo directory.
    Solution1. Download the following three (3) files from the Oracle Technology Network (OTN) website.
    You will need an account to do this.
    Macintosh OS X 10g Instant Client Software
    a. instantclient-basic-macosx-10.1.0.3.zip (32,395,622 bytes)
    b. instantclient-sqlplus-macosx-10.1.0.3.zip (326,740 bytes)
    c. instantclient-sdk-macosx-10.1.0.3.zip (293,913 bytes)
    NOTE: The above three (3) files will be updated as new patches are released for the 10g Instant Client software. 10.1.0.3 or later versions (10.1.0.x) of these files may be used similarly with this article.
    2. Save the following text into a file called tnsnames.ora:
    # If you receive an
    # ORA-12154: TNS:could not resolve the connect identifier specified
    # error when running the setup script and attempting to connect to Oracle
    # from SQL*Plus then the name of your SERVICE NAME (i.e. ORCL) may require
    # that you include the DOMAIN (i.e. US.ORACLE.COM) in order to connect successfully.
    # To obtain the DOMAIN of your environment, type "hostname" from your shell
    # and it should report this information back to you. Configure your SERVICE
    # NAME to look like Example 2.
    # Example 1
    ORCL =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = database_machine.us.oracle.com)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SID = orcl)
    # Example 2
    #ORCL.US.ORACLE.COM =
    # (DESCRIPTION =
    # (ADDRESS = (PROTOCOL = TCP)(HOST = database_machine.us.oracle.com)(PORT = 1521))
    # (CONNECT_DATA =
    # (SERVER = DEDICATED)
    # (SID = orcl)
    3. Save the following text into a file called sqlplus_script.sql:
    SELECT user FROM dual;
    SELECT sysdate FROM dual;
    SELECT 'successful ' AS TEST_RESULTS FROM dual;
    exit;
    4. Save the following text into a file called setup1:
    # ===========================================
    # MAC OS X INSTANT CLIENT 10g SCRIPT - SETUP1
    # ===========================================
    # DESCRIPTION
    # ===========
    # This script will install and configure your 10g Instant Client (IC) Software
    # for the Mac. It will install the Basic, SQL*Plus and SDK (OCI/OCCI) packages
    # and then test its connectivity to an Oracle database using SQL*Plus.
    # Once this script has completed, you will need to run the script SETUP2 to build
    # and run the CDEMO81.C sample application located under the <IC>/sdk/demo folder
    # in your newly installed Instant Client home.
    # NOTE: In order for this script to run successfully, you MUST perform any
    # necessary actions required under the SETUP section below.
    # SETUP
    # =====
    # (1) You MUST be in a directoy with ALL of the following files
    # BEFORE running this script:
    # 1 - instantclient-basic-macosx-10.1.0.3.zip
    # 2 - instantclient-sqlplus-macosx-10.1.0.3.zip
    # 3 - instantclient-sdk-macosx-10.1.0.3.zip
    # 4 - tnsnames.ora (configured properly)
    # 5 - sqlplus_script.sql (connectivity test)
    # 6 - setup1 (this file)
    # 7 - setup2 (will run this file later)
    # (2) Edit the TNSNAMES.ORA file and update it with the necessary information
    # to connect to a database on your network. Be sure to note the comments
    # in this file. You will have to change the following information:
    # SERVICE NAME (orcl or orcl.us.oracle.com)
    # HOST (database_machine.us.oracle.com)
    # PORT (1521)
    # SID (orcl)
    # (3) Go to the end of this scrip and modify the following line:
    # ./instantclient10_1/sqlplus scott/tiger@orcl @sqlplus_script.sql
    # Replace "orcl" with the SERVICE NAME you used in step (2) above.
    # (4) To run this script use the command: ". setup1"
    # BEGINNING OF SCRIPT
    # output this file to your shell
    echo
    echo MAC OS X INSTANT CLIENT 10g SCRIPT - SETUP1
    echo
    #more setup1
    # output the TNSNAMES.ORA file to your shell
    echo TNSNAMES.ORA FILE
    echo
    more tnsnames.ora
    # remove the instantclient10_1 directory should it exist
    echo
    echo CHECKING FOR instantclient10_1 DIRECTORY...
    echo WILL REMOVE DIRECTORY IF IT ALREADY EXISTS
    echo
    rm -d -f -R instantclient10_1
    # extract the instantclient software (basic, sql*plus & sdk)
    echo
    echo
    echo INSTALLING SOFTWARE...
    echo
    echo BASIC
    echo
    unzip instantclient-basic-macosx-10.1.0.3.zip
    echo
    echo SQL*PLUS
    echo
    unzip instantclient-sqlplus-macosx-10.1.0.3.zip
    echo
    echo SDK
    echo
    unzip instantclient-sdk-macosx-10.1.0.3.zip
    # set the following environment variables
    # Uncomment if you want a way to find the Instant Client (IC) home quickly
    #export IC=$PWD/instantclient10_1
    # Dynamic Library path required to use the Instant Client (IC) software
    export DYLD_LIBRARY_PATH=$PWD/instantclient10_1
    # TNS_ADMIN is required if using the TNSNAMES.ORA file (recommended)
    export TNS_ADMIN=$PWD/instantclient10_1
    # display the modified environment variables
    echo
    echo SETTING ENVIRONMENT VARIABLES
    echo
    echo DYLD_LIBRARY_PATH
    echo $DYLD_LIBRARY_PATH
    echo
    echo TNS_ADMIN
    echo $TNS_ADMIN
    # display all environment variables
    #echo
    #echo ALL ENVIRONMENT VARIABLES
    #echo
    #env
    # copy the TNSNAMES.ORA to the instantclient directory
    echo
    echo COPYING TNSNAMES.ORA TO INSTANT CLIENT [IC] DIRECTORY
    echo
    cp tnsnames.ora ./instantclient10_1/tnsnames.ora
    # list the contents of the IC directory to see what has been installed
    echo
    echo INSTANT CLIENT [IC] DIRECTORY
    echo
    ls ./instantclient10_1
    echo
    # SQL*Plus Connectivity Test
    # To connect to the database specified in your TNSNAMES.ORA file change the
    # SERVICE NAME (i.e. orcl) below to the name of the entry in your TNSNAMES.ORA
    # file designating the specific database in which you want to connect to
    echo
    echo SQL*PLUS CONNECTIVITY TEST
    ./instantclient10_1/sqlplus scott/tiger@orcl @sqlplus_script.sql
    # Alternately, you can connect from SQL*Plus to Oracle without using a TNSNAMES.ORA
    # file. You can embed the NAME-VALUE pair of the SERVICE NAME from the TNSNAMES.ORA
    # file directly into the connection string making sure to use the proper HOST, PORT
    # and SID like so:
    #./instantclient10_1/sqlplus scott/tiger@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=database_machine.us.oracle.com)(PORT=1521)))(CONNECT_DATA=(SID=orcl)))
    5. Save the following text into a file called setup2:
    # ===========================================
    # MAC OS X INSTANT CLIENT 10g SCRIPT - SETUP2
    # ===========================================
    # DESCRIPTION
    # ===========
    # This script will build and run the OCI sample application CDEMO81.C inside
    # your Instant Client (IC) software located under the <IC>/sdk/demo folder.
    # NOTE: In order for this script to run successfully
    # (A) you MUST have already run the script SETUP1 successfully
    # and
    # (B) you MUST perform any necessary actions required under the SETUP
    # section below.
    # SETUP
    # =====
    # (1) You need to edit the CDEMO81.C application PRIOR to running this script to
    # change the connection information. By default, the application will attempt
    # to connect as user SCOTT with password TIGER to a local Oracle database using
    # the BEQ-LOCAL network protocol. This will not work.
    # (A) You need to make sure you have the SCOTT/TIGER schema created in your database.
    # If not, have your DBA create it by running the script "SCOTT.SQL" from your
    # <ORACLE_HOME>/rdbms/admin folder.
    # (B) You need to modify the CDEMO81.C application to connect to the database
    # you have configured inside your TNSNAMES.ORA file.
    # (i) Open the CDEMO81.C file located under the <IC>/sdk/demo folder.
    # (ii) Find the following line of code:
    # (void) OCIServerAttach( srvhp, errhp, (text *)"", strlen(""), 0);
    # and change the two empty strings to the SERVICE NAME you are using like so
    # (void) OCIServerAttach( srvhp, errhp, (text *)"ORCL", strlen("ORCL"), 0);
    # (iii) Save the file.
    # (2) You MUST be in the initial directory where you copied all of the files listed
    # in script SETUP1. In this same location you will find SETUP2. Run SETUP2 from
    # this location.
    # (3) To run this script use the command: ". setup2"
    # BEGINNING OF SCRIPT
    # output this file to your shell
    echo
    echo MAC OS X INSTANT CLIENT 10g SCRIPT - SETUP2
    echo
    #more setup2
    # output the TNSNAMES.ORA file to your shell
    echo TNSNAMES.ORA FILE
    echo
    more tnsnames.ora
    # output the username, password and service name from CDEMO81.C file to your shell
    echo
    echo USERNAME, PASSWORD AND SERVICE NAME INFO FROM YOUR OCI cdemo81.c FILE
    echo
    #more ./instantclient10_1/sdk/demo/cdemo81.c
    grep -i "*username" ./instantclient10_1/sdk/demo/cdemo81.c
    grep -i "*password" ./instantclient10_1/sdk/demo/cdemo81.c
    grep -i OCIServerAttach ./instantclient10_1/sdk/demo/cdemo81.c
    # display the required environment variables
    #env
    echo
    echo REPORTING REQUIRED ENVIRONMENT VARIABLES
    echo
    echo DYLD_LIBRARY_PATH
    echo $DYLD_LIBRARY_PATH
    echo
    echo TNS_ADMIN
    echo $TNS_ADMIN
    # move to the sdk/demo directory
    cd ./instantclient10_1/sdk/demo
    echo
    echo CHANGING TO [IC]/SDK/DEMO DIRECTORY
    echo
    ls
    # run demo application
    echo
    echo ATTEMPTING TO RUN APPLICATION
    echo
    echo BUILDING APPLICATION USING PROVIDED MAKE FILE, [IC]/sdk/demo/demo.mk...
    echo
    make -f demo.mk
    echo
    echo
    echo INSTANT CLIENT [IC] DIRECTORY...
    echo
    ls ../..
    echo
    echo CREATING links FOR REQUIRED LIBRARIES IN INSTANT CLIENT [IC] FOLDER...
    echo
    echo - libclntsh.dylib
    echo - libocci.dylib
    ln ../../libclntsh.dylib.10.1 ../../libclntsh.dylib
    ln ../../libocci.dylib.10.1 ../../libocci.dylib
    echo
    echo INSTANT CLIENT [IC] DIRECTORY WITH links CREATED...
    echo
    ls ../..
    echo
    echo
    echo EXECUTING APPLICATION...
    echo
    cdemo81
    echo
    echo
    # TROUBLE-SHOOTING
    # If you receive the following error messages:
    # Error - ORA-24327: need explicit attach before authenticating a user
    # Error - ORA-03114: not connected to ORACLE
    # Then you did not modify the CDEMO81.C application with proper SERVICE NAME
    # information. See step 1B under the SETUP section in this script to resolve
    # this error.
    6. Take all seven (7) files and move them into the same directory on your OS where you want to install the Instant Client software from:
    1 - instantclient-basic-macosx-10.1.0.3.zip
    2 - instantclient-sqlplus-macosx-10.1.0.3.zip
    3 - instantclient-sdk-macosx-10.1.0.3.zip
    4 - tnsnames.ora
    5 - sqlplus_script.sql
    6 - setup1
    7 - setup2
    7. Open the file tnsnames.ora. Be sure to review the comments in this file. You will have to change the following information to connect to a database on your network:
    SERVICE NAME (orcl or orcl.us.oracle.com)
    HOST (database_machine.us.oracle.com)
    PORT (1521)
    SID (orcl)
    Save the file.
    8. Open the file setup1, go to the end of this script and modify the following line:
    ./instantclient10_1/sqlplus scott/tiger@orcl @sqlplus_script.sql
    Replace orcl with the SERVICE NAME you used in Step 7 above. Save the file.
    9. You are now ready to install the 10g Instant Client software for Mac OS X. From the location where your seven (7) files reside, issue the following command:
    [macosx]/oracle> . setup1
    NOTE: Be sure to include the period "." and a space " " before the word "setup1" so all environment variables persist for the current session.
    This will install the Instant Client Basic and SQL*Plus software and connect to the database specified in the tnsnames.ora file.
    10. Here is the sample output of a successful execution of the setup1 script:
    [macosx]/oracle> . setup1
    MAC OS X INSTANT CLIENT 10g SCRIPT - SETUP1
    TNSNAMES.ORA FILE
    # If you receive an
    # ORA-12154: TNS:could not resolve the connect identifier specified
    # error when running the setup script and attempting to connect to Oracle
    # from SQL*Plus then the name of your SERVICE NAME (i.e. ORCL) may require
    # that you include the DOMAIN (i.e. US.ORACLE.COM) in order to connect successfully.
    # To obtain the DOMAIN of your environment, type "hostname" from your shell
    # and it should report this information back to you. Configure your SERVICE
    # NAME to look like Example 2.
    # Example 1
    ORCL =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = gbednars-pc.us.oracle.com)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SID = orcl)
    # Example 2
    #ORCL.US.ORACLE.COM =
    # (DESCRIPTION =
    # (ADDRESS = (PROTOCOL = TCP)(HOST = gbednars-pc.us.oracle.com)(PORT = 1521))
    # (CONNECT_DATA =
    # (SERVER = DEDICATED)
    # (SID = orcl)
    CHECKING FOR instantclient10_1 DIRECTORY...
    WILL REMOVE DIRECTORY IF IT ALREADY EXISTS
    INSTALLING SOFTWARE...
    BASIC
    Archive: instantclient-basic-macosx-10.1.0.3.zip
    inflating: instantclient10_1/classes12.jar
    inflating: instantclient10_1/libclntsh.dylib.10.1
    inflating: instantclient10_1/libnnz10.dylib
    inflating: instantclient10_1/libocci.dylib.10.1
    inflating: instantclient10_1/libociei.dylib
    inflating: instantclient10_1/libocijdbc10.dylib
    inflating: instantclient10_1/ojdbc14.jar
    SQL*PLUS
    Archive: instantclient-sqlplus-macosx-10.1.0.3.zip
    inflating: instantclient10_1/README_IC.htm
    inflating: instantclient10_1/glogin.sql
    inflating: instantclient10_1/libsqlplus.dylib
    inflating: instantclient10_1/sqlplus
    SDK
    Archive: instantclient-sdk-macosx-10.1.0.3.zip
    creating: instantclient10_1/sdk/
    creating: instantclient10_1/sdk/demo/
    inflating: instantclient10_1/sdk/demo/cdemo81.c
    inflating: instantclient10_1/sdk/demo/demo.mk
    inflating: instantclient10_1/sdk/demo/occidemo.sql
    inflating: instantclient10_1/sdk/demo/occidemod.sql
    inflating: instantclient10_1/sdk/demo/occidml.cpp
    creating: instantclient10_1/sdk/include/
    inflating: instantclient10_1/sdk/include/nzerror.h
    inflating: instantclient10_1/sdk/include/nzt.h
    inflating: instantclient10_1/sdk/include/occi.h
    inflating: instantclient10_1/sdk/include/occiAQ.h
    inflating: instantclient10_1/sdk/include/occiCommon.h
    inflating: instantclient10_1/sdk/include/occiControl.h
    inflating: instantclient10_1/sdk/include/occiData.h
    inflating: instantclient10_1/sdk/include/occiObjects.h
    inflating: instantclient10_1/sdk/include/oci.h
    inflating: instantclient10_1/sdk/include/oci1.h
    inflating: instantclient10_1/sdk/include/oci8dp.h
    inflating: instantclient10_1/sdk/include/ociap.h
    inflating: instantclient10_1/sdk/include/ociapr.h
    inflating: instantclient10_1/sdk/include/ocidef.h
    inflating: instantclient10_1/sdk/include/ocidem.h
    inflating: instantclient10_1/sdk/include/ocidfn.h
    inflating: instantclient10_1/sdk/include/ociextp.h
    inflating: instantclient10_1/sdk/include/ocikpr.h
    inflating: instantclient10_1/sdk/include/ocixmldb.h
    inflating: instantclient10_1/sdk/include/odci.h
    inflating: instantclient10_1/sdk/include/oratypes.h
    inflating: instantclient10_1/sdk/include/ori.h
    inflating: instantclient10_1/sdk/include/orid.h
    inflating: instantclient10_1/sdk/include/orl.h
    inflating: instantclient10_1/sdk/include/oro.h
    inflating: instantclient10_1/sdk/include/ort.h
    inflating: instantclient10_1/sdk/include/xa.h
    SETTING ENVIRONMENT VARIABLES
    DYLD_LIBRARY_PATH
    /oracle/instantclient10_1
    TNS_ADMIN
    /oracle/instantclient10_1
    COPYING TNSNAMES.ORA TO INSTANT CLIENT [IC] DIRECTORY
    INSTANT CLIENT [IC] DIRECTORY
    README_IC.htm libocci.dylib.10.1 sdk/
    classes12.jar libociei.dylib* sqlplus*
    glogin.sql libocijdbc10.dylib* tnsnames.ora
    libclntsh.dylib.10.1* libsqlplus.dylib*
    libnnz10.dylib ojdbc14.jar
    SQL*PLUS CONNECTIVITY TEST
    SQL*Plus: Release 10.1.0.3.0 - Production on Fri Aug 19 15:26:08 2005
    Copyright (c) 1982, 2004, Oracle. All rights reserved.
    Connected to:
    Oracle Database 10g Enterprise Edition Release 10.1.0.4.0 - Production
    With the Partitioning, OLAP and Data Mining options
    USER
    SCOTT
    SYSDATE
    19-AUG-05
    TEST_RESULTS
    successful
    Disconnected from Oracle Database 10g Enterprise Edition Release 10.1.0.4.0 - Production
    With the Partitioning, OLAP and Data Mining options
    IF THE SQL*PLUS CONNECTIVITY TEST WAS SUCCESSFUL
    READ SETUP2 TO CONFIGURE AND RUN THE OCI cdemo81.c SAMPLE
    [macosx]/oracle>
    11. Once you have obtained a successful execution of the setup1 script, you are ready to configure cdemo81.c to connect to the database you have configured inside your tnsnames.ora file.
    Open the cdemo81.c file located under the <Instant_Client>/sdk/demo folder. Find the following line of code:
    (void) OCIServerAttach( srvhp, errhp, (text *)"", strlen(""), 0);
    Change the two (2) empty strings to the SERVICE NAME you used in Step 7 above.
    (void) OCIServerAttach( srvhp, errhp, (text *)"ORCL", strlen("ORCL"), 0);
    Save the file.
    12. You are now ready to run cdemo81.c. You MUST issue the following command from the initial directory where you copied all of the files in Step 6:
    [macosx]/oracle> . setup2
    NOTE: Be sure to include the period "." and a space " " before the word "setup2" so all environment variables persist for the current session.
    This script will configure your environment, build and run the OCI sample code connecting to the database specified in the tnsnames.ora file.
    13. Here is the sample output of a successful execution of the setup2 script:
    [macosx]/oracle> . setup2
    MAC OS X INSTANT CLIENT 10g SCRIPT - SETUP2
    TNSNAMES.ORA FILE
    # If you receive an
    # ORA-12154: TNS:could not resolve the connect identifier specified
    # error when running the setup script and attempting to connect to Oracle
    # from SQL*Plus then the name of your SERVICE NAME (i.e. ORCL) may require
    # that you include the DOMAIN (i.e. US.ORACLE.COM) in order to connect successfully.
    # To obtain the DOMAIN of your environment, type "hostname" from your shell
    # and it should report this information back to you. Configure your SERVICE
    # NAME to look like Example 2.
    # Example 1
    ORCL =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = gbednars-pc.us.oracle.com)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SID = orcl)
    # Example 2
    #ORCL.US.ORACLE.COM =
    # (DESCRIPTION =
    # (ADDRESS = (PROTOCOL = TCP)(HOST = gbednars-pc.us.oracle.com)(PORT = 1521))
    # (CONNECT_DATA =
    # (SERVER = DEDICATED)
    # (SID = orcl)
    USERNAME, PASSWORD AND SERVICE NAME INFO FROM YOUR OCI cdemo81.c FILE
    static text username = (text ) "SCOTT";
    static text password = (text ) "TIGER";
    (void) OCIServerAttach( srvhp, errhp, (text *)"ORCL", strlen("ORCL"), 0);
    REPORTING REQUIRED ENVIRONMENT VARIABLES
    DYLD_LIBRARY_PATH
    /oracle/instantclient10_1
    TNS_ADMIN
    /oracle/instantclient10_1
    CHANGING TO [IC]/SDK/DEMO DIRECTORY
    cdemo81.c* demo.mk occidemo.sql occidemod.sql occidml.cpp
    ATTEMPTING TO RUN APPLICATION
    BUILDING APPLICATION USING PROVIDED MAKE FILE, [IC]/sdk/demo/demo.mk...
    rm -rf SunWS_cache
    rm -rf ../../libclntsh.dylib
    rm -rf ../../libocci.dylib
    rm -rf cdemo81 cdemo81.o occidml occidml.o
    /usr/bin/gcc -c -I../include -I/rdbms/public/ -I/oracore/include -I/oracore/publ
    ic -I/oracore/port/include -I/nlsrtl/include -I/plsql/public -I/plsql/include -I
    /network/public -I/network/include -I/otrace/public -I/otrace/include/ -I/precom
    p/public -I/precomp/include/ -I/slax/include -I/ordts/public -I/ordts/include -I
    /javavm/include -I/javavm/include/osds/unix/solaris -I/ctx/public -I/ordvir/publ
    ic -I/ordvir/include -idirafter . -g -DRE_ENTRANT -DOCCI_NO_WSTRING=1 -DMAC_O
    SX -D_GNU_SOURCE -DSLTS_ENABLE -DSLMXMX_ENABLE -D_REENTRANT -DNS_THREADS -D_BCER
    T_API_ -DRSA_PLATFORM=RSA_PLATFORM_MAC_PPC_DARWIN -DNTEV_USE_POLL -DNTEV_USE_GE
    NERIC -DNET_USE_LDAP -DOCCI cdemo81.c
    ln ../../libclntsh.dylib.10.1 ../../libclntsh.dylib
    ln ../../libocci.dylib.10.1 ../../libocci.dylib
    /usr/bin/g++ -o cdemo81 cdemo81.o -L../../ -locci -lclntsh -lpthread
    rm -rf ../../libclntsh.dylib
    rm -rf ../../libocci.dylib
    /usr/bin/g++ -c -I../include -I/rdbms/public/ -I/oracore/include -I/oracore/publ
    ic -I/oracore/port/include -I/nlsrtl/include -I/plsql/public -I/plsql/include -I
    /network/public -I/network/include -I/otrace/public -I/otrace/include/ -I/precom
    p/public -I/precomp/include/ -I/slax/include -I/ordts/public -I/ordts/include -I
    /javavm/include -I/javavm/include/osds/unix/solaris -I/ctx/public -I/ordvir/publ
    ic -I/ordvir/include -idirafter . -g -DRE_ENTRANT -DOCCI_NO_WSTRING=1 -DMAC_O
    SX -D_GNU_SOURCE -DSLTS_ENABLE -DSLMXMX_ENABLE -D_REENTRANT -DNS_THREADS -D_BCER
    T_API_ -DRSA_PLATFORM=RSA_PLATFORM_MAC_PPC_DARWIN -DNTEV_USE_POLL -DNTEV_USE_GE
    NERIC -DNET_USE_LDAP -DOCCI occidml.cpp
    In file included from ../include/occi.h:43,
    from occidml.cpp:11:
    ../include/occiData.h:411: warning: use of `long double' type; its size may
    change in a future release
    ../include/occiData.h:411: warning: (Long double usage is reported only once
    for each file.
    ../include/occiData.h:411: warning: To disable this warning, use
    -Wno-long-double.)
    ln ../../libclntsh.dylib.10.1 ../../libclntsh.dylib
    ln ../../libocci.dylib.10.1 ../../libocci.dylib
    /usr/bin/g++ -o occidml occidml.o -L../../ -locci -lclntsh -lpthread
    rm -rf ../../libclntsh.dylib
    rm -rf ../../libocci.dylib
    INSTANT CLIENT [IC] DIRECTORY...
    README_IC.htm libocci.dylib.10.1 sdk/
    classes12.jar libociei.dylib* sqlplus*
    glogin.sql libocijdbc10.dylib* tnsnames.ora
    libclntsh.dylib.10.1* libsqlplus.dylib*
    libnnz10.dylib ojdbc14.jar
    CREATING links FOR REQUIRED LIBRARIES IN INSTANT CLIENT [IC] FOLDER...
    - libclntsh.dylib
    - libocci.dylib
    INSTANT CLIENT [IC] DIRECTORY WITH links CREATED...
    README_IC.htm libnnz10.dylib libsqlplus.dylib*
    classes12.jar libocci.dylib ojdbc14.jar
    glogin.sql libocci.dylib.10.1 sdk/
    libclntsh.dylib* libociei.dylib* sqlplus*
    libclntsh.dylib.10.1* libocijdbc10.dylib* tnsnames.ora
    EXECUTING APPLICATION...
    Enter employee name (or CR to EXIT): LARRY
    Enter employee job: CEO
    Enter employee salary: 10000
    Enter employee dept: 40
    LARRY added to the OPERATIONS department as employee number 7974
    Enter employee name (or CR to EXIT):
    Exiting...
    [macosx]/oracle/instantclient10_1/sdk/demo>
    14. If you have any problems running this script please open a Service Request (SR) with Oracle Support for further assistance and be sure to upload the output from the script to the SR.
    ReferencesNote
    332588.1 - How to Install, Configure and Test Oracle 10g Instant Client Basic, SQL*Plus and SDK Packages for Mac OS X (Runs OCCI sample code - occidml.cpp)
    Errors
    ORA-3114 "not connected to ORACLE"
    ORA-24327 need explicit attach before authenticating a user
    ORA-12154 "TNS:could not resolve service name"

  • How to import complete database with all schemas

    I have exported all database using system/manager in oracle 8.
    Now How i can i import all database in oracle 9i with all users, Roles etc...
    I tried to import "Import Entire database=y" using system manager schema but face following errors.
    Schema doesn't exit, Role errors etc.....

    Hi,
    As you are working with Old version of Oracle, then Oracle data pump would not be applicable to in order to carry out. So, in order to complete the export and import from prior version either you need to upgrade the version of Oracle so that you can make use of upgrade tools or either clone it or make sure you create required things prior to import on destination database. Further you can check Oracle support team
    - Pavan Kumar N

  • How to create sql database using java frame or appelet?

    hi ! i am working on database project i want to create a database using java frame or applet where it asks user to select the location for database to be created , after user have specified the path then the programs creates the database, again i want that database to be read and write by another frame or applet but as user select the path how do i make the connectivity. i just have basic knowledge on java. please give me idea how can i process further.
    thanks a lot

    While duffymo is correct in regard to most major database products, it's my understanding (warning! wild-ass guess coming) that the Hypersonic DB is more "application-centric" and the dynamic creation of databases is part of its design. It's pure Java database software, and therefore is not appropriate for all database projects, in particular those that require extremely high-performance.
    See http://hsqldb.org/
    I've not used it yet (but soon though), and I can't really advise anyone about it.
    However, I'm wondering if you phrased you question in a way that is confusing us. To most of us in casual conversation, a "database" is both (1) a large organized collection of data and (2) the software that is used to organize and access it. However, the phrase "create a database" usually means creating a (1) database (a collection of data) using an already created (2) database software, such as Oracle, MySQL, DB2, HSQDB, etc., etc. If you'r question is, how do a create some new database software using Java, the answer is that this is a very very big and hard thing to do for the general case and probably not something you want to be doing.

  • How do I move databases using RMAN with minimal downtime ?

    How can I do the following using RMAN ?
    DB version 10.2.0.4
    Redhat 5.2
    I am not using an rman catalogIn the past I have moved large databases from 1 server to another with 5 minutes downtime using backups done the old way by putting tablespaces in backup mode and making copies of the datafiles.
    I used the following method :
    ========> Part 1
    STARTUP NOMOUNT
    CREATE CONTROLFILE REUSE set DATABASE "VPMY" RESETLOGS ARCHIVELOG
    MAXLOGFILES 32
    MAXLOGMEMBERS 3
         ....etc
    LOGFILE
    ......... log file names
    DATAFILE
    ... list of datafiles
    CHARACTER SET US7ASCII;
    ========> Part 2
    Up until the scheduled downtime, I would copy the archive logs from the production server to the new and run the following to apply the latest archive logs:
    RECOVER DATABASE USING BACKUP CONTROLFILE UNTIL CANCEL;
    ->AUTO<-
    ========> Part 3
    After applying the last archive log while in restrict mode -
    ALTER DATABASE OPEN resetlogs;
    My question is, how do I do Part 2 in RMAN. I have managed to duplicate databases and restore databases using rman to a different server, but this obviously only covers the data upto the backup point. How can I do the above parts 1 -3 with downtime of about 5 minutes like I have done using old methods ?
    Any help is much appreciated/

    you should be able to recover as you go with rman as well..
    copy the archived logs from A to B and apply them as they come in.
    run
    set until sequence x thread 1;
    recover database;
    if you're not opening the database after recovery you can just increment the set until sequence as the logs come in and do a new recovery.

  • How can I make app use all available space in window?

    Hi,
    I'm trying to embed my flash app in a browser window and have
    it use all available space. I've found plenty of tutorials online
    that tell me how to make it take up the whole window, and they
    work, but that isn't what I want. I have other content on the page
    (a bar of links across the top). I thus want the flash app to take
    up the full width and almost all the hight, leaving enough vertical
    space for the link bar at the top. Right now, I have it set to 100%
    for both height and width in the object tag, and it displays the
    link bar, but the bottom of the flash gets chopped off (an amount
    exactly equal to the height of the link bar). It seems that setting
    height=100% means 100% of the full window height, not the unused
    height. Is there any way to make it do what I want?

    I believe the 100% will be relative to the parent container
    of the Object/Embed tag.
    If the Flex app is in say, a DIV that is correctly sized,
    then 100% will fill the DIV. So I think you will need to get your
    div sizing dynamically. A CSS expression maybe?
    Tracy

Maybe you are looking for

  • Cisco sup720-3bxl crashes

    Hello everyone, 4 weeks passed in debugging Cisco SUP720-3BXL crashes and I don't know what to do... It's new Cisco module without warranty and since first day it crashes when "minimal or complete diagnostic" is turned on during boot. When manually t

  • Can't add a GoogleApps account in Apple Mail

    Apple Mail seems to not working properly: I have a Google Apps email ( the address is created with a domain of my property ) and if a try to add the account using the standard "gmail" option, the software don't do nothing: it resets the form's input

  • BAPI_POSRVAPS_SAVEMULTI3  and  orders from vendor

    Hi, I have some code which updates an SNP order using BAPI_POSRVAPS_SAVEMULTI3.  It seems to work ok for normal STRs (where I specify both RECEIPTS and REQUIRMENTS tables),  however I have run into a problem when it needs to change an order from a Ve

  • Firefox is in privacy mode and the save passwords box is checked. I don't get prompted nor do I know how to say passwords.

    Can passwords be saved only if the privacy is turned off?

  • Preloader help needed

    We created our portfolio in Flash Flash Photo Portfolio and now need a preloader. We were able to create one that waits until the entire swf is loaded. We need a visual to indicate that the movie is loading but don't want our viewers to have to wait