ODP.NET :: Oracle Connection From Pool?
Jun 22, 2012How do i test if a OracleConnection came from the pool or was created for the first time?
View 2 RepliesHow do i test if a OracleConnection came from the pool or was created for the first time?
View 2 RepliesWe have a Data Source with min_pool_size (10) and max_pool_size (20). A Data Source is by default a connection pool. By starting a transaction we are retrieving a connection from the pool (i.e., opening it to retrieve data, perform queries, inserts and updates). Our application server is JBoss. An application workflow uses many transactions to build a product. The same connection is not used by the application for the entire workflow; but, it uses and returns them to the connection pool. We do not use Java syntax like "rs.close():"... this is performed by iBATIS.
On the Linux side when we execute a "ps" command (ps -elf|grep -i ora) we see all the Oracle processes. A further refinement of that command (ps -elf|grep -i local=no)shows a list of the "waiting" connections in the connection pool. The DB may be queried with the following syntax:
SELECT schemaname, sid, serial# FROM gv$session where schemaname = 'APP_USER' order by SID;
A list of connected sid and serial numbers is returned, identifying which connections are in use. From here we are able to force the connection to trace by executing the following:
exec dbms_monitor.session_trace_enable(249, 6595, TRUE, FALSE); ! 249 and 6595 being SID and Serial# from query above
There should be no need to execute the inverse, since the connection is returned to the pool when the transaction is committed or rolled back.
exec dbms_monitor.session_trace_disable(249, 6595);
We are trying to trace in order to use the Quest Benchmark Factory. Their instructions request the following syntax be applied to each session:
alter session set events '10046 trace name context forever, level 4';
and again, the inverse should not be necessary.
alter session set events '10046 trace name context off'
When it became too cumbersome to alter each session as it appeared, we issued an "alter system" to monitor (trace) everything. The trace files filled the disk, and four hours of testing was stopped two hours in. Doing a system level trace is probably not a good idea.
My first inclination was to create a post-logon trigger to set trace in the session; however, these connections, coming from an JBoss connection pool, do not logon each time, and I presume that they are not all the "same session".
We opened a support ticket with Quest last Friday and do not have an answer yet. This was the third ticket with them, the first to get Benchmark Factory installed (the original installer did not work). The second ticket was to setting up a shared directory on Linux with a folder on Windows, a setup configuration required by their tool. The third ticket to address this issue.
They needed to contact "the developers" to answer the last two questions. Their latest suggestion is to fix ticket two so we "won't need to trace" anything. How do I set trace in these connections?
we want to pin a sql query in shared pool so that it doesn't need to be re parsed. How to do that
dbms_shared_pool_keep() do for the functions and procedure does it also do for sql queries if yes then how?
If I have specify the SGA_TARGET, do I still need to specify the amount of memory for SHARED_POOL_SIZE? I thought once the SGA_TARGET, auto memory management is in place and SHARED_POOL is not neccessary.
View 2 Replies View Relatedi want to know the limit of " max pool size" attribute in connection string. and at what basis it should be set. and i am using oracle 11.0.2.0.1.
View 4 Replies View Relatedwe are running a 2 node rac database of oracle 10.2.0.4 in aix 6.3. The shared pool utilisation goes up when we run our jobs and sql statements. But it does not come down. It been 2 gig for over 3 days without any processes running.
Is there a threshold time period after which oracle will release the space utilisation from the shared pool????
We are facing performance issues on our production instance 10g(10.2.0.4) 32-bit OELinux 5.3 2GB SGA. The performance is mainly related to one of the table which is sized about 32Gb. We have rebuild the indexes as well but problemstill persist. We are considering to pin SQL statement in shared pool which is hitting the same table frequently. But as far what we have find, is that we can only pin procedures or function in shared pool. True/false?If we can, then how to pin SQL statement in shared pool?If we can not, then is there any other way?
View 3 Replies View RelatedI have some confusion about Keep Pool in Buffer Cache.
1. What is the reasoning for placing a table in the KEEP buffer pool because if it is frequently accessed, it will be around when needed (ie if it is constantly being accessed it will not age out) .
2. Would the table be still in the Default Pool if the Keep Pool is not sized and the command is being issued alter TABLE SCOTT.EMP storage (buffer_pool keep) ?
3. If the database is restarted will the table be wiped out of the Keep Pool and again be pinned to the Keep Pool ?
I want to increase my shared pool. my SGA values are as under below.
SELECT NAME,SUM(VALUE)/1024/1024/1024 gb FROM V$SGA
GROUP BY NAME;
Database Buffer 4.8125
Redo Buffers 0.0782623291015625
Variable Size 19.0000001564622
Fixed Size 0.00208648294210434
value of "Shared Pool Free %" in v$sysmetric is larger than 100%
SQL> select value, group_id from v$sysmetric where metric_name = 'Shared Pool Free %';
VALUE GROUP_ID
186.45107 2
186.4685382 3
SQL> show parameter shared_pool
NAME TYPE VALUE
-------------- ------------ --
shared_pool_reserved_size big integer 832149913
shared_pool_size big integer 0
SQL> show sga
Total System Global Area 1.0155E+11 bytes
Fixed Size 2163880 bytes
Variable Size 8.1068E+10 bytes
Database Buffers 2.0401E+10 bytes
Redo Buffers 79310848 bytes
Oracle 10.2.0.4 (user or developer getting error for not able to allocate ora 04031.
I am trying to do alter system shared_pool_size = 250M but it says
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-04033: Insufficient memory to grow pool
I checked the show parameter sga_max_size = 376 M
the set upin the init.ora for pools:
###########################################
# Pools
###########################################
java_pool_size=157286400
large_pool_size=33554432
shared_pool_size=157286400
From show parameter sga;
[code]...
no rows selected
OS Linux. this was the message in alert.log;
ORA-04031: unable to allocate 88 bytes of shared memory ("shared pool","select /*+ rule */ bucket_cn...","sql area","opn: qkexrInitOpn")
I have installed ORACLE 11g on RHEL-4, where the RHEL is installed on VM.ORACLE is working fine on RHEL but i am not able to connect oracle on my XP.
View 1 Replies View RelatedHow to connect to database with windows authentication:
OS system: 2008 R2 windows
oracle : 11.2.0.3
sqlnet.ora set to NTS.
also user is created on database externally "domain/username"
i want to connect to the database with my windows account!
I've a problem with Oracle Connection Manager and I've read the Oracle topic about it at URL.....but it doesn't work well...This is an image describes the diagram I want to configure URL.....
The IP for each machine is
Database Server : 192.168.0.150
Proxy Server : 192.168.0.153
client : 192.168.0.159
And these are the files for each machine.
1.Proxy server has 1 file
cman.ora
CMAN=
(CONFIGURATION=
(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.0.153)(PORT=1521))
(RULE_LIST=
[code]....
2.Database server has 3 file, and for each one I've added some lines as following
tnsnames.ora
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
[code].....
3.Finally the client has 2 files
tnsnames.ora
orcl=
(DESCRIPTION=
(SOURCE_ROUTE=YES)
(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.153)(PORT=1521))
(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.150)(PORT=1521))
(CONNECT_DATA=(SERVICE_NAME=orcl))
[code]....
ORA-12154: could not resolve the connect identifier specified: where I actually define my DB service (orcl) in the tnsname.ora...The output is showen here URL.....
I´m just having a problem whit the connection between Oracle Forms 6i and Oracle Database 11G. Is just when i login to the database schema i cant log in using Forms.
TNS Names its already configured, No problems when i log in using Toad and using the TNS Names from Developer's 6i tool. I can log in just when i change the schema(user) password from the database (thats the rarest thing) and log into the application.
So whenever i want to login to the application i must to change the schema password, i need to use it directly.
I have an application in VB6 that connects to an Oracle Database 10g with Oracle native ole db but win7 can not make the connection with a standard user, only makes the connection to a user with administrator permissions. The error that shows the application's rubbish eg @, H, etc.. only rare characters.
View 7 Replies View Relatederror regarding oracle connection
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim oradb As String = "Data Source=CallTaxi; UserName = SCOTT; Password=TIGER ;"
Dim conn As New OracleConnection(oradb)
conn.Open()
Dim cmd As New OracleCommand
[code]...
Error msg:
The type initializer for 'Oracle.DataAccess.Client.OracleConnection' threw an exception.
Toady i have installed oracle forms 10g and oracle 10g db when i run my form it gives me this error how can i resolve it
"ora-12154 tns could not resolve the connect identifier specified"
View the image below:
Here are the values in forms 10g tns
# tnsnames.ora Network Configuration File: C:DevSuiteHome_1
etworkadmin nsnames.ora
# Generated by Oracle configuration tools.
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
[code].......
and here the values of forms 10g SQLnet
# sqlnet.ora Network Configuration File: C:DevSuiteHome_1
etworkadminsqlnet.ora
# Generated by Oracle configuration tools.
SQLNET.AUTHENTICATION_SERVICES= (NTS)
NAMES.DIRECTORY_PATH= (LDAP, TNSNAMES, EZCONNECT, ONAMES, HOSTNAME)
(description =
# (address=(protocol=tcp)(host=localhost)(port=1383))
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(connect_data=(rpc=on))
)
What changes should i make to overcome this problem.
what's long connection and short connection in Oracle ?
View 4 Replies View RelatedI'm having great difficulty connecting to two separate databases on my PC. Here are the details.
c:>echo %TNS_ADMIN%
C:TNS_ADMIN
#C:TNS_ADMIN nsnames.ora
XE =
(DESCRIPTION =
[code]...
I have a client program that needs to communicate with another server program. My client program is implemented in PL/SQL using utl_tcp running on Oracle 9 while the server program is a 3rd party software running on Windows server 2003.
Basically my client program needs to send a request to the server, waits for the response (wait for the incoming string which ended /w chr(3) ) and then acknowledge (sending chr(6) ).
My problem is that if I wait for the chr(3) and then acknowledge. My send routine (l_sent := utl_tcp.write_text (g_conn, p_content) will raise a Oracle generic network error. It seems like the connection is closed. I checked /w the vendor and they said it might be I am taking too long to response ( I question timeout is the problem). I have also attempted to change my read routine from read_line to read_raw but it only make things worst. I cannot even read the complete string. At least with read_line, I can read back the entire string.
My current work around is to send out the ack before I receive the chr(3) (which is not recommended by our vendor).
I am using dg4msql to connect to SQL server from Oracle(10.2.0.4, with AIX 5.3).
#from my laptop sqlplus (10.2.0.2)
SQL>select count(*) from table1@mssql; #works
SQL>select * from table1@mssql; #ERROR
ORA-28500: connection from ORACLE to a non-Oracle system returned this message:
[Oracle][ODBC SQL Server Driver]String data, right truncation
{01004}[Oracle][ODBC SQL Server Driver]String data, right truncation {01004}
#from my laptop, TOAD
Both queries works fine.
i have compared
"select * from nls_session_parameters;" values , TOAD and sqlpus gives same result.
I have Multi-threaded application using pro*c to connect to oracle.
I am using the following piece of code to create a connection to oracle database and preserver the context of created connection.
struct sqlca * tempSqlca = new sqlca;
struct sqlca & sqlca = * tempSqlca;
EXEC SQL BEGIN DECLARE SECTION;
SQL_CONTEXT localContext;
[code].....
I am using the following piece of code to close the connection to the oracle database, I am using the context created in the previous step and passing it to the below code(connection.context)to release the connection.
if (connection.context == 0 || connection.ca == 0)
return true;
// Multithreading: get the communication area of the context
struct sqlca & sqlca = *(connection.ca);
EXEC SQL BEGIN DECLARE SECTION;
[code].....
When the above code is executed there is no exception thrown but the connection is not getting close. I am using the V$SESSION system views to monitor the connection created.
I there anything I am missing in my code for the connection closing to fail.
I have installed Oracle 11g R1 and have problem in connecting Oracle SQL Developer.
I have given user name: ora; pswd: ora.
In command prompt it works fine if I gave as below.
uid: ora as sysdba
pswd: ora
But when I am trying to connect to Oracle SQL Developer it says TNS listener does not know SID.
So I reinstalled this since i have doubt on myself whether I made mistake first time. Also I have doubt whether the un installation completely clears all the files from Registry. - What should I do to clear all the files from registry when un-installing.
1] What is SID. Is it session ID. If so how to find it.
2] Is there any way to confirm the values such HOST NAME: localhost, PORT: 1521, SID: (By default it has 'xe') which I gave for data base connection are correct.
I tried with SID value:135 (I got this value by executing [Select distinct sid from V$mystat;])
3] Is there any editor for practicing sql & pl sql queries. where I can download it.
I was trying to connect to a remote database from my client machine. Client machine runs a jsp code to connect to the database and execute a query. I have got oracle jdbc on my machine but still unable to connect to the database.
When checked in Google, i found that oracle connection manager has to be used to connect to the database from jdbc if the web server and database reside on different physical servers. But couldn't gather any further information regarding download and installation.
I do not have oracle connection manager on my system. I read in internet that it is shipped along with oracle 11g software. But i am not sure if that was the case in earlier version as well.
My question is where should i install oracle connection manager? (on database server or client machine) and is it possible to download and install only the connection manager as a stand alone so that i can connect to database from application?
I have been using oracle based database security but company now wants to handle with windows authentication.I have windows os 2008 R2 and oracle 11.2.0.3.
I also have set up the SQLNET.AUTHENTICATION_SERVICES= (NTS).I created user with create user "domainusername" identified Externally! but now how can i connection from application to database!
I am trying to connect my oracle server with enterprise manager. But i have no network connection. What will be the probable listener config. ?
View 2 Replies View Relatedi have a Windows Forms .Net 2.0 App which defines AppDomain.CurrentDomain.UnhandledException handler.When an app thread throws an exception this exception is caught or handled by this method.
The problem is that if i define an OracleConnection, open and close it and then the thread throws the exception this is not handled and app finishes...
Why i can't handled this threads exceptions if i use OracleConnection?
Here is the simple app code example:
program.cs
[STAThread]
static void Main()
{
AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
Application.ThreadException += Application_ThreadException;
Application.SetUnhandledExceptionMode(UnhandledExceptionMode.ThrowException);
[code].....
Just installed the new 2.0.8 version. Its been a while I am interested on using PM for our company.The problem I have is creating an Oracle DB connection. When I create a new Oracle DB connection, and test it, Steps 3 and 4 fail.What is strange is that I followed the following procedure in PM 1.9-825 and worked fine. I am wondering if something changed in the new PM 2.0.8 version (I noticed that php_oci8.dll was commented out in php.ini).
Oracle Version is 10GR2
PM installed on clean XP sp3
1. Got a new Windows XP SP3 PC
2. Installed PM 2.0.8
3. Edited php.ini and uncommented [PHP_OCI8] and extension=php_oci8.dll
4. Installed oracle instant client “instantclient-basic-win32-10.2.0.5” in c:oracle
5. Installed oracle instant client “instantclient-sqlplus-win32-10.2.0.4” in c:oracle
6. Added c:oracle in PATH environment variable
7. Created ORACLE_HOME = c:oracle environment variable
8. Added TNS_ADMIN = c: environment variable
9. Copied working tnsnames.ora file into c:
10. Rebooted.
-------------------------------------
1. Tried sqlplus connection to my oracle db and worked.
2. Launched PM
3. Created a new process
4. Created a new DB connection as follows:
a. Engine:Oracle
b. Server:192.168.xxx.xxx
c. Database name: my_name (where my_name appears in tns_names.ora)
d. Username:my_username
e. Password:my_password
[code]....
i have 2 instances (one on Oracle 11g and the otherone Mssql) i was asked to make a link between both.
btw i need excecute a procedure from Oracle against Mssql tables.