11-30-2011
Please post what Operating System and version you have, the Shell (e.g. bash, ksh, sh etc.).
In most Shells $PPID is the PID of the process which invoked the current Shell. In bash Shell this environment variable is write protected.
Oracle needs substantial unix kernel tuning. The kernel parameter "maximum number of files open by any one user" is as important as "maximum number of files open on the system" and "maximum number of files locked on the system".
There are detailed kernel tuning guides from Oracle for each O/S, but there will still be more tuning depending on the application.
Getting "defunct" processes from an Oracle client-server application is nothing unusal and the Operating System should clear them up within an hour or so. They are commonly caused by people clicking "X" in a Windows client instead of doing a proper application logout. If they persist for longer this can be because of an application error or because they are stuck when accessing broken hardware.
Depending on your circumstances you may need to tune the unix kernel to allow for as many as double the Oracle clients you actually expect ... or more.
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
I have, say, a dozen files, and I want to grep for a string of text within them. I don't remember the exact syntax, but let me give it a shot and show you an idea here...
find . -type f -exec grep thisword {} \;
...and there's a way to put more than one grep into the statement, so it will tell... (1 Reply)
Discussion started by: kitykity
1 Replies
2. Shell Programming and Scripting
Hello, this is probably another really simple tasks for most of you gurus, however I am trying to make a script which takes an input, greps a specific file for that input, prints back to screen the results (which are directory names) and then be able to use the directory names to move files.... (1 Reply)
Discussion started by: JayC89
1 Replies
3. Shell Programming and Scripting
I have a file that is 20 - 80+ MB in size that is a certain type of log file.
It logs one of our processes and this process is multi-threaded. Therefore the log file is kind of a mess. Here's an example:
The logfile looks like: "DATE TIME - THREAD ID - Details", and a new file is created... (4 Replies)
Discussion started by: elinenbe
4 Replies
4. Shell Programming and Scripting
Hello,
I'm writing a script that will automate the launch of some services on my AIX machine. However, some services are dependent on the successful startup of others. When I start these services manually, I usually just check a log file until I see a message that confirms a successful... (3 Replies)
Discussion started by: pallak7
3 Replies
5. Shell Programming and Scripting
This script is supposed to find out if tomcat is running or not.
#!/bin/sh
if netstat -a | grep `grep ${1}: /tomcat/bases | awk -F: '{print $3}'` > /dev/null
then
echo Tomcat for $1 running
else
echo Tomcat for $1 NOT running
fi
the /tomcat/bases is a file that... (2 Replies)
Discussion started by: ziggy25
2 Replies
6. Shell Programming and Scripting
This is driving me crazy, and I'm hoping someone can help me out with this. I'm trying to do a simple while loop to go through a log file. I'm pulling out all of the lines with a specific log line, getting an ID from that line, and once I have a list of IDs I want to loop back through the log and... (2 Replies)
Discussion started by: DeCoTwc
2 Replies
7. Shell Programming and Scripting
Hi,
I tried to grep ".sh_history" (DOTsh_history) file and did not return anything though I found the word in .sh _history file through vi editor in Linux. Then I tried to grep ".profile" to check if it is the prob with hidden files and I got results.
Then I verified the same with my friend... (4 Replies)
Discussion started by: bobbygsk
4 Replies
8. Shell Programming and Scripting
Hi Guys,
I'm trying to write an script that will be launched by a user. The script will look at a log file and check for alerts with the date (supplied by user) and a machine's hostname (also supplied by the user). I'm trying to get the output formatted just like the log file.
The logfile looks... (5 Replies)
Discussion started by: illgetit
5 Replies
9. Shell Programming and Scripting
Hi,
If I hard code a value in the grep it works fine from script, when I use variable it doesn't work. On a seperate note, some lines (during testing) works fine from command line but not from scirpt.
#!/bin/bash
# Will fetch the (oldest - as ls will sort by name by default)Date in the... (7 Replies)
Discussion started by: krish.m
7 Replies
10. Shell Programming and Scripting
Hello,
I am using below code :
export ORAR=orp712z.int.thomsonreuters.com
#echo $ORAR;
if echo $ORAR|grep -i "_"
then
ORACLE_SID1= echo $ORAR|cut -f2 -d "_"
echo $ORACLE_SID1
ORACLE_SID=fgrep "$ORACLE_SID1" /etc/oratab|cut -f1 -d ":"
#echo $ORACLE_SID
else
ORACLE_SID1= echo $ORAR|cut... (1 Reply)
Discussion started by: admin_db
1 Replies
LEARN ABOUT PHP
oci_pconnect
OCI_PCONNECT(3) OCI_PCONNECT(3)
oci_pconnect - Connect to an Oracle database using a persistent connection
SYNOPSIS
resource oci_pconnect (string $username, string $password, [string $connection_string], [string $character_set], [int $session_mode])
DESCRIPTION
Creates a persistent connection to an Oracle server and logs on.
Persistent connections are cached and re-used between requests, resulting in reduced overhead on each page load; a typical PHP application
will have a single persistent connection open against an Oracle server per Apache child process (or PHP FastCGI/CGI process). See the Per-
sistent Database Connections section for more information.
PARAMETERS
o $username
- The Oracle user name.
o $password
- The password for $username.
o $connection_string
-Contains the Oracle instance to connect to. It can be an Easy Connect string, or a Connect Name from the tnsnames.ora file, or
the name of a local Oracle instance. If not specified, PHP uses environment variables such as TWO_TASK (on Linux) or LOCAL (on
Windows) and ORACLE_SID to determine the Oracle instance to connect to. To use the Easy Connect naming method, PHP must be linked
with Oracle 10 g or greater Client libraries. The Easy Connect string for Oracle 10 g is of the form: [//]host_name[:port][/ser-
vice_name]. From Oracle 11 g, the syntax is: [//]host_name[:port][/service_name][:server_type][/instance_name]. Service names can
be found by running the Oracle utility lsnrctl status on the database server machine. The tnsnames.ora file can be in the Oracle
Net search path, which includes $ORACLE_HOME/network/admin and /etc. Alternatively set TNS_ADMIN so that $TNS_ADMIN/tnsnames.ora
is read. Make sure the web daemon has read access to the file.
o $character_set
-Determines the character set used by the Oracle Client libraries. The character set does not need to match the character set used
by the database. If it doesn't match, Oracle will do its best to convert data to and from the database character set. Depending on
the character sets this may not give usable results. Conversion also adds some time overhead. If not specified, the Oracle Client
libraries determine a character set from the NLS_LANG environment variable. Passing this parameter can reduce the time taken to
connect.
o $session_mode
-This parameter is available since version PHP 5 (PECL OCI8 1.1) and accepts the following values: OCI_DEFAULT, OCI_SYSOPER and
OCI_SYSDBA. If either OCI_SYSOPER or OCI_SYSDBA were specified, this function will try to establish privileged connection using
external credentials. Privileged connections are disabled by default. To enable them you need to set oci8.privileged_connect to
On. PHP 5.3 (PECL OCI8 1.3.4) introduced the OCI_CRED_EXT mode value. This tells Oracle to use External or OS authentication,
which must be configured in the database. The OCI_CRED_EXT flag can only be used with username of "/" and a empty password.
oci8.privileged_connect may be On or Off. OCI_CRED_EXT may be combined with the OCI_SYSOPER or OCI_SYSDBA modes. OCI_CRED_EXT is
not supported on Windows for security reasons.
RETURN VALUES
Returns a connection identifier or FALSE on error.
EXAMPLES
Example #1
Basic oci_pconnect(3) Example using Easy Connect syntax
<?php
// Connects to the XE service (i.e. database) on the "localhost" machine
$conn = oci_pconnect('hr', 'welcome', 'localhost/XE');
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}
$stid = oci_parse($conn, 'SELECT * FROM employees');
oci_execute($stid);
echo "<table border='1'>
";
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
echo "<tr>
";
foreach ($row as $item) {
echo " <td>" . ($item !== null ? htmlentities($item, ENT_QUOTES) : " ") . "</td>
";
}
echo "</tr>
";
}
echo "</table>
";
?>
See oci_connect(3) for further examples of parameter usage.
NOTES
Note
Starting with PHP 5.1.2 and PECL OCI8 1.1, the lifetime and maximum number of persistent Oracle connections per PHP process can be
tuned by setting the following configuration values: oci8.persistent_timeout, oci8.ping_interval and oci8.max_persistent.
SEE ALSO
oci_connect(3), oci_new_connect(3).
PHP Documentation Group OCI_PCONNECT(3)