Sponsored Content
Top Forums Programming how to obtain a persistent oracle connection in proc*c pthread Post 302342603 by jim mcnamara on Monday 10th of August 2009 10:00:24 AM
Old 08-10-2009
One easy way - Use IPC - create separate processes. Oracle uses coprocesses in Pro*C. That means your child thread and the main program are actually trying to get the coprocess to run fetches at the same time.

Map a big chunk of shared memory. Start your fetcher as one process, start main as another.
Have main feed fetch requests to the fetcher process , fetcher returns the data. All via shared memory.

Also consider running your old main code as a group of processes. Suppose you are processing items 1000 - 9000.
Start old main with parms 1000-1999, run it in the background. Start old main in the background again with parms 2000-2999, and so on. Call wait for all the processes to complete. This is 'sort of' threading.
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Unix + oracle connection

Requirements: Using a shell script I have to check the 4 values from a table in Oracle and then store the result as "Y" in a Unix variable if the values are desired and "N" if the values are not desired. Explanation: There is a table abc in oracle which has 4 fields. if all the four values... (2 Replies)
Discussion started by: decci_7
2 Replies

2. Shell Programming and Scripting

Unix call to Oracle PL/SQL pkg/store.proc

HI, I'm trying to get this right, please can you help. In my unix korn shell script, I call an oracle stored proc within a package and I specify 3 parameters, 2 of which are IN OUT parameters (i.e. I expect the stored proc to change them and return them back to me). Does the unix code... (7 Replies)
Discussion started by: csong2
7 Replies

3. Windows & DOS: Issues & Discussions

Oracle 9i ODBC connection

I am attempting to access an Oracle 9i database located on a Solaris server from an XP client. The server is running Oracle 9i9.2.0.1.0 and the XP is Oracle client 9i 9.2.0.1.0. When I start a listener on the server, the listener starts but I receive a message “The listener supports no services”. I... (3 Replies)
Discussion started by: jkuchar747
3 Replies

4. UNIX for Dummies Questions & Answers

Reurning Oracle Proc out parameter

Hi. I need sime help with a unix script. The script runs a Oracle Procedure which then runs some child procedures which are autonomous. When the child procedures fail, the sql error is not passed back to the parent procedure - i.e all the othert child procedures run. I want to execute the... (0 Replies)
Discussion started by: Zdnas_79
0 Replies

5. Shell Programming and Scripting

SSH Connection To Oracle

My problem is this....:eek: Platform=Sun Solaris UNIX / Oracle 10g 1) I'm trying to SSH from my local system A to remote system B 2) Once connected, I need to sudo to ID that has the ability to connect to the Oracle database 3) Then run a script that connects via sqlplus and... (2 Replies)
Discussion started by: khand67
2 Replies

6. Shell Programming and Scripting

Oracle connection with UBUNTU

Hi all, Will I be able to connect to oracle using UBUNTU. If so, can any one provide me the steps. I want to try table archival and sql loader using control files. Please do help. Thanks, Raaga (1 Reply)
Discussion started by: Raaga
1 Replies

7. UNIX and Linux Applications

How to capture the value returned by a stored proc while executing it from SQSH connection

I have a very simple set up I am connecting to a MS SQL db using SQSH statement from a shell script In this sqsh connection i am trying to execute a stored proc However I want to capture the value returned by the stored proc. I haven't really come across anything useful so far which would... (0 Replies)
Discussion started by: shishirkotkar
0 Replies

8. Shell Programming and Scripting

Perl Oracle connection error

I've a Centralized Server which can connect to all Oracle Databases. When I was trying the below code it doesn't work, But tnsping was working fine. #!D:/perl5/bin/perl.exe use DBI; my $dbh = DBI->connect('dbi:Oracle:QBDIWCE', 'IDUSER', 'SECRET123#' ) || die( $DBI::errstr . "\n" ) ; ... (1 Reply)
Discussion started by: ilugopal
1 Replies

9. Programming

Help in pro*c for Oracle connection

hi, am making oracle connection through pro*c using the following command sample: exec sql connect username identified by password. but m getting the following errors frequently even though listener and db is running fine but some times code is working fine and not giving errors. ... (2 Replies)
Discussion started by: senkerth
2 Replies

10. Shell Programming and Scripting

Parallel execution of Oracle PROC in UNIX

Hi, Trying to run the Oracle Proc in parallel, but not working.. below code runs each call of the procedure and its coming out of the loop before its completion and printing the last statement! not waiting for the sqlplus to complete. for name in `cat abc.txt` do (sqlplus -s ... (3 Replies)
Discussion started by: ATWC
3 Replies
MEMSTAT(1)						     Linux Programmer's Manual							MEMSTAT(1)

NAME
memstat - Identify what's using up virtual memory. SYNOPSIS
memstat [-w][-p PID] DESCRIPTION
memstat lists all accessible processes, executables, and shared libraries that are using up virtual memory. To get a complete list memstat has to be run as root to be able to access the data of all running processes. First, the processes are listed. An amount of memory is shown along with a process ID and the name of the executable which the process is running. The amount of memory shown does not include shared memory: it only includes memory which is private to that process. So, if a process is using a shared library like libc, the memory used to hold that library is not included. The memory used to hold the exe- cutable's text-segment is also not included, since that too is shareable. After the processes, the shared objects are listed. The amount of memory is shown along with the filename of the shared object, followed by a list of the processes using the shared object. The memory is listed as the total amount of memory allocated to this object throughout the whole namespace. In brackets also the amount that is really shared is listed. Finally, a grand total is shown. Note that this program shows the amount of virtual (not real) memory used by the various items. memstat gets its input from the /proc filesystem. This must be compiled into your kernel and mounted for memstat to work. The pathnames shown next to the shared objects are determined by scanning the disk. memstat uses a configuration file, /etc/memstat.conf, to determine which directories to scan. This file should include all the major bin and lib directories in your system, as well as the /dev directory. If you run an executable which is not in one of these directories, it will be listed by memstat as ``[0dev]:<inode>''. Options The -w switch causes a wide printout: lines are not truncated at 80 columns. The -p switch causes memstat to only print data gathered from looking at the process with the gicen PID. NOTES
These reports are intended to help identify programs that are using an excessive amount of memory, and to reduce overall memory waste. FILES
/etc/memstat.conf /proc/*/maps SEE ALSO
ps(1), top(1), free(1), vmstat(8), lsof(8), /usr/share/doc/memstat/memstat-tutorial.txt.gz BUGS
memstat ignores all devices that just map main memory, though this may cause memstat to ignore some memory usage. Memory used by the kernel itself is not listed. AUTHOR
Originally written by Joshua Yelon <jyelon@uiuc.edu> and patched by Bernd Eckenfels <ecki@debian.org>. Taken over and rewritten by Michael Meskes <meskes@debian.org>. Debian 01 November 1998 MEMSTAT(1)
All times are GMT -4. The time now is 06:30 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy