Stuck threads reading blob column from db table
WLS 10.3.5, JDK 1.6u29, Oracle 11g RAC, ojdbc6 latest driver
We're having problems with stuck threads trying to read a blob column from a DB table. The query to extract the blob is a simple select, without any locking such as "for update" clauses or whatever. The blob's size is <= 100k.
The thread dump shows the following stack trace:
+"[STUCK] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'" RUNNABLE native+
+ java.net.SocketInputStream.socketRead0(Native Method)+
+ java.net.SocketInputStream.read(SocketInputStream.java:129)+
+ oracle.net.ns.Packet.receive(Packet.java:300)+
+ oracle.net.ns.DataPacket.receive(DataPacket.java:106)+
+ oracle.net.ns.NetInputStream.getNextPacket(NetInputStream.java:315)+
+ oracle.net.ns.NetInputStream.read(NetInputStream.java:260)+
+ oracle.jdbc.driver.T4CSocketInputStreamWrapper.read(T4CSocketInputStreamWrapper.java:105)+
+ oracle.jdbc.driver.T4CMAREngine.getNBytes(T4CMAREngine.java:1517)+
+ oracle.jdbc.driver.T4C8TTILobd.unmarshalLobData(T4C8TTILobd.java:476)+
+ oracle.jdbc.driver.T4C8TTILob.readLOBD(T4C8TTILob.java:770)+
+ oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:361)+
+ oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:192)+
+ oracle.jdbc.driver.T4C8TTILob.read(T4C8TTILob.java:146)+
+ oracle.jdbc.driver.T4CConnection.getBytes(T4CConnection.java:2392)+
+ oracle.sql.BLOB.getBytes(BLOB.java:348)+
+ oracle.sql.BLOB.getBytes(BLOB.java:222)+
+ weblogic.jdbc.wrapper.Blob_oracle_sql_BLOB.getBytes(Unknown Source)+
+ com.ibatis.sqlmap.engine.type.BlobTypeHandlerCallback.getResult(BlobTypeHandlerCallback.java:33)+
+ com.ibatis.sqlmap.engine.type.CustomTypeHandler.getResult(CustomTypeHandler.java:52)+
+ com.ibatis.sqlmap.engine.mapping.result.ResultMap.getPrimitiveResultMappingValue(ResultMap.java:619)+
+ com.ibatis.sqlmap.engine.mapping.result.ResultMap.getResults(ResultMap.java:345)+
+ com.ibatis.sqlmap.engine.execution.SqlExecutor.handleResults(SqlExecutor.java:384)+
+ com.ibatis.sqlmap.engine.execution.SqlExecutor.handleMultipleResults(SqlExecutor.java:300)+
+ com.ibatis.sqlmap.engine.execution.SqlExecutor.executeQuery(SqlExecutor.java:189)+
+ com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.sqlExecuteQuery(MappedStatement.java:221)+
+ com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeQueryWithCallback(MappedStatement.java:189)+
+ com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeQueryForList(MappedStatement.java:139)+
+ com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:567)+
+ com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:541)+
+ com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList(SqlMapSessionImpl.java:118)+
+ com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForList(SqlMapClientImpl.java:94)+
+ com.ibatis.dao.client.template.SqlMapDaoTemplate.queryForList(SqlMapDaoTemplate.java:282)"[STUCK] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'" RUNNABLE native+
+ java.net.SocketInputStream.socketRead0(Native Method)+
+ java.net.SocketInputStream.read(SocketInputStream.java:129)+
+ oracle.net.ns.Packet.receive(Packet.java:300)+
+ oracle.net.ns.DataPacket.receive(DataPacket.java:106)+
+ oracle.net.ns.NetInputStream.getNextPacket(NetInputStream.java:315)+
+ oracle.net.ns.NetInputStream.read(NetInputStream.java:260)+
+ oracle.jdbc.driver.T4CSocketInputStreamWrapper.read(T4CSocketInputStreamWrapper.java:105)+
+ oracle.jdbc.driver.T4CMAREngine.getNBytes(T4CMAREngine.java:1517)+
+ oracle.jdbc.driver.T4C8TTILobd.unmarshalLobData(T4C8TTILobd.java:476)+
+ oracle.jdbc.driver.T4C8TTILob.readLOBD(T4C8TTILob.java:770)+
+ oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:361)+
+ oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:192)+
+ oracle.jdbc.driver.T4C8TTILob.read(T4C8TTILob.java:146)+
+ oracle.jdbc.driver.T4CConnection.getBytes(T4CConnection.java:2392)+
+ oracle.sql.BLOB.getBytes(BLOB.java:348)+
+ oracle.sql.BLOB.getBytes(BLOB.java:222)+
+ weblogic.jdbc.wrapper.Blob_oracle_sql_BLOB.getBytes(Unknown Source)+
+ com.ibatis.sqlmap.engine.type.BlobTypeHandlerCallback.getResult(BlobTypeHandlerCallback.java:33)+
+ com.ibatis.sqlmap.engine.type.CustomTypeHandler.getResult(CustomTypeHandler.java:52)+
+ com.ibatis.sqlmap.engine.mapping.result.ResultMap.getPrimitiveResultMappingValue(ResultMap.java:619)+
+ com.ibatis.sqlmap.engine.mapping.result.ResultMap.getResults(ResultMap.java:345)+
+ com.ibatis.sqlmap.engine.execution.SqlExecutor.handleResults(SqlExecutor.java:384)+
+ com.ibatis.sqlmap.engine.execution.SqlExecutor.handleMultipleResults(SqlExecutor.java:300)+
+ com.ibatis.sqlmap.engine.execution.SqlExecutor.executeQuery(SqlExecutor.java:189)+
+ com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.sqlExecuteQuery(MappedStatement.java:221)+
com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeQueryWithCallback(MappedStatement.java:189)
+ com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeQueryForList(MappedStatement.java:139)+
+ com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:567)+
+ com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:541)+
+ com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList(SqlMapSessionImpl.java:118)+
+ com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForList(SqlMapClientImpl.java:94)+
+ com.ibatis.dao.client.template.SqlMapDaoTemplate.queryForList(SqlMapDaoTemplate.java:282)+
Some threads eventually end (after 1-2 hours), most of them remain there for days.
Any hint would be quite useful, thanks.
Threads are executing the actual allocated request from the Weblogic Kernel. Most of the problems happen when the Thread execution is reaching the application or business layer.
At this point your application Java code module is sending or receiving data from external sources such as a an Oracle database for example. Any problem with such external system will cause the Thread to hang and wait for data to come back.
Other situations can occur such as internal deadlock, infinite looping, heavy IO contention on your server etc.
Doesn't loo like a driver issue.
http://docs.oracle.com/cd/E21764_01/doc.1111/e14770/weblogic_server_issues.htm#autoId2
Check at the Database end
Cheers ...
Similar Messages
-
How to read BLOB column from a table in SQL or PL/SQL
I have table which is having one BLOB data type column . Ihave inserted few rows in that table . Now i want to see wheather BLOB column has been inserted properly or not . How to read that column through SQL or PL/SQL.
Can anyone help me to do this.You can only manipulate LOBs in PL/SQL because you have to use the DBMS_LOB package.
Check out the Oracle Developer's Guide -
Reading particular column from internal table
Hi
I am having one internal table with one row. I know the column number. I want to read that particular column value. What should I add with the below statement.
Read table itab index 1.
This will give me the whole row. I want only the particular column.
Please help me to solve this issue
Thanks.Hi,
FIELD-SYMBOLS <FS_ANY>
ASSIGN COMPONENT N OF STRCUTURE OF WORKAREA TO <FS_ANY>
WRITE <FS_ANY>
Where n is the column number and workarea is the row of the internal table.
Rgards,
Ravi
Note : Please mark the helpful answers -
I can't import a table contains BLOB column from one user to another user.
1) I create two user both have connect role,and each has its own tablespace, DDL:
create user d2zd identified by d2zd default tablespace d2zd quota unlimited on d2zd account unlock;
grant connect to d2zd;
create user d3zd identified by d3zd default tablespace d3zd quota unlimited on d3zd account unlock;
grant connect to d3zd;
2)Then enter oracle as d2zd and create a table contains BLOB column and insert data to the table.
3) export d2zd as follow:
exp d2zd/d2zd file=d2zd.dmp
4) import to d3zd as follow:
imp d3zd/d3zd fromuser=d2zd touser=d3zd file=d2zd.dmp
the question is the table with BOLB colum can't be import,
it says:have no privilege on tablespace d2zd.
How can I import a table contains BLOB column from one user to another user?Hi - the reason for as our friend already told ist that a blob can be stored outside of the table segment, in another Tablespace, This is for performance reason.
Sou you would need to have Quota on two tablespaces.
the one which holds the table segment the other which holds the blob(segment).
Regards
Carl
Message was edited by:
kreitsch -
How to update a BLOB column in a table with a file in local machine?
I have a file (of XML type) in my local machine. I want to update it in a BLOB column of a table in databse server. Can anyone help me in this regard. Appreciate your help.
Regards
Walter Nicholasuser447427 wrote:
I have a file (of XML type) in my local machine. I want to update it in a BLOB column of a table in databse server. Can anyone help me in this regard.That's the client's job to read data on the client PC (from keyboard/mouse/scanner/file/whatever input) and submit that to the database server for processing and/or storage.
You cannot expect the server to hack into your PC and lift that data in the file from your disk. Not that is not technically possible. You can wire rockets onto a bicycle to make it go faster, but that's not a wise thing to do. Similarly, it is not a bright idea to ignore the very basics of client-server.
Bottom line - you need client s/w on your PC to load the content of that file into Oracle. It can be done using SQL*Loader as already suggested. It can be done using a web browser (submitting it via HTTP to web-enabled PL/SQL code). You can use FTP or WebDav and upload into Oracle's XDB (XML database).
Your requirements will determine what client to use. Once off load? SQL*Loader is very easy to use for loading XML files into the database. -
How to Upload a PDF file into BLOB column in a table using Forms 9i
Can anyone tell me how to upload a PDF file from client system using File dialog window and store its content in BLOB column in a table. The file to be uploaded will be in client side.
Hi,
please, search a bit on the forum before do a question:
Just searching by "upload blob pdf" ...
How to batch upload PDF files into database BLOB
Regards,
Jose. -
How to Upload a PDF file into BLOB column in a table using Forms 6i
Can anyone tell me how to upload a PDF file from client and store its content in BLOB column in a table. The file will be genered using reports and win be stored in db.The file to be uploaded will be in client side.
Thank´s.If you are using version 9 or 10 use webutil.... Look in webutil.pll.
Use either one these two fuctions...
FUNCTION Client_To_DB( clientFile in VARCHAR2,
tableName in VARCHAR2,
columnName in VARCHAR2,
whereClause in VARCHAR2,
asynchronous in BOOLEAN default FALSE,
callbackTrigger in VARCHAR2 default NULL) return BOOLEAN;
FUNCTION Client_To_DB_With_Progress
( clientFile in VARCHAR2,
tableName in VARCHAR2,
columnName in VARCHAR2,
whereClause in VARCHAR2,
progressTitle in VARCHAR2,
progressSubTitle in VARCHAR2,
asynchronous in BOOLEAN default FALSE,
callbackTrigger in VARCHAR2 default NULL) return BOOLEAN; -
my env:
Database R11_2 on one windows-host-machine
AS 10 g on another windows-host-machine
I can show files in Forms10g from inside the AS with web.show_document,
that works fine
but now I want to show a ( pdf or text ) File from a BLOB in a Table inside in the Database
to the Browser running in Forms on AS,
I do not want to create a extra Form for this reason, but want to show it in browser - windows
( how ) can I use web.show_document against a URL on the Database R11 ?
what other tool , java ?
regardsEasiest way is probably to use mod_plsql and wpg_docload.download_file. If you retrieve the blob content from some table, than you can show it with a generic procedure like:
procedure show_webdoc(io_blob in out nocopy blob
,i_mimetype in varchar2
,i_filename in varchar2)
is
begin
if dbms_lob.getlength(io_blob) >0 then
owa_util.mime_header(nvl(i_mimetype,'application/octet'),false);
htp.p('Content-length: ' || dbms_lob.getlength(io_blob));
htp.p('Content-Disposition: attachment; filename="'||i_filename|| '"');
owa_util.http_header_close;
wpg_docload.download_file(io_blob);
end if;
end show_webdoc; -
To see the content of a BLOB column from sqlplus
Hi,
I have a table which has a BLOB column.
The blobs are text files.
Is there a way to check the content of blob column from sqlplus itself.
Thanks.There's no information about versin of database
If you're using 11g, then refer to this link:
http://dbathoughts.blogspot.com/2008/05/blob-support-in-sqlplus.html
If you're using 10g, then refer to this link
http://www.experts-exchange.com/Database/Oracle/Q_20419597.html
Kamran Agayev A. (10g OCP)
http://kamranagayev.wordpress.com -
How to remove a column from alv table
Hi All
How to remove a specific column from alv table.?
Thanks & Regards
SUNFor delete u can follow the above post..
Fo making invisible :
data m_col type ref to cl_salv_wd_column.
m_col = alv_mode->IF_SALV_WD_COLUMN_SETTINGS->GET_COLUMN (' col1' ).
m_col->SET_VISIBILITY( '01' ). -
Delete a column from the table
Hi.
I would like to delete a column from a table. I want to drop the table and recreate it later. But this table has a primary key which
is a foreign key of other tables. So after I recreate the table I must recover the relationship of this table and other tables.
How do I get the information about the primary key of this table as a foreign key of other tables from data dictionary?
Thanks in advance
nullFor ur query the reply whay u have got is correct one. For further quries similar to one u had u can download a tool named TOAD (Tools for Oracle Application Developer) from quest site (www.quest.com). Install it a proceed.
Do let me know how and what u feek about TOAD. -
Columns from different tables displayed in an ADF table format
I have a many to one relationship between 2 tables (checklist -> subcontract). I would like to display columns from each table on a web page in an ADF Read Only Table format. I created a method that returns the data I need from the tables. When I drag that method over to my page JDev I'm only allowed to select columns from either the checklist table OR the subcontract table. I need one column from the subcontract table and several columns from the checklist table. I'm using JDev 10.1.3.2 and an Oracle 11g database. Thank you in advance.
-WadeThank you for your response. I ended up creating a new getter in the Checklist table which refers to the column in the Subcontract table. Then I was able to create a table column for that returned value.
Thanks again!
-W -
Combining the same column from 2 tables with distinct result.
I have 2 tables with identical name columns. One is current people and the other is historical people. I want a select that returns any name that is in either table. I want each name listed only once. I want to see 1 entry for each name if it is in the current table, the historical table, or both tables. I can easily do a select distinct on each table but how do I join the queries to get 1 result set with no duplicates? The name column is not a key field and I don't want any other columns from either table.
Just a simple UNION:
select name
from current
union
select name
from historical; -
How to delete a column from the table control in module pool?
Hi,
can any one please tell How to delete a column from the table control in module pool?
thanks in advance
warm regards
HareeshKumar Nhi hareesh,
I think it is better to hide it.
How to hide: You can check this link
Dynamic Hide column in table control -
How to upload a file into a db blob column from adf page
How to upload a file into a db blob column from adf page
Which option to use ?The forum search would be my first try...
Then google...
This has been asked at least once a week and got correct answers...
Timo
Maybe you are looking for
-
Emails from Outlook MS 2007 View as an Image not HTML
I am trying to find out why my emails that I create in Outlook 2004 as an HTML are recieved by Macbooks and other mac computer (LION and above) as an image file. This creates a problem for Mac users at my company. I need them to be HTML because there
-
How do you extend the guest network on a time capsule to an apple express?
I have a time capsule in my main house with a password protected guest network i set up an apple express in the guest house to extend the networks. Unfortunately the guest house / apple express is only amplifying the main house network. I would like
-
Can Wireless Live! record to USB thumb drive?
If I were to get a USB portable thumb drive (8MB) and plug it into the Live! server could I have it record video when motion is detected? That would be a great feature since I wouldn't have to turn my home computer on while on vacation and it would a
-
I've been using the iCloud Photo Stream with my PC for few months already. It work fine every time, but suddenly not work for today
-
How to use Planning Forecast functions
I am new to Planning & Budgeting and playing with the Sample Applications, which comes with Planning & Budgeting. I wanted to know how forecasting can be done in Hyperion Planning. For example how do I implement or create the @TREND,@SPLINE, Linear,