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,
MahipalPlease 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
regardsShort 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
JesuIf 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..
thanksAt 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
thxuse 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.
TobesThere 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,
Sumantauser2367151 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)? -
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,
GhufranHi 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 lotWhile 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
-
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
-
Can passwords be saved only if the privacy is turned off?
-
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