Comments (5)
When an Oracle connection is requested, oracle_fdw first checks if the server connection is still active and reconnects if not.
The problem here is that right before the OCITransStart call, everything is ok, so you get the error once.
Can you verify that after you get this error, the next SQL query against the foreign table will work again?
It might be worth catching this specific error at transaction start. It would be cool to have some criterion when an Oracle error means "try again" (there should be some "transparent application failover" errors with the same meaning).
from oracle_fdw.
The error could happen elsewhere too, e.g. if you start a transaction, do something in Oracle, then wait for the idle timeout and then do something else.
But in that case an error needs to be thrown anyway, because the remote transaction is gone.
But as I said, the next attempt to use the connection should work again, so maybe it would be a good thing to catch this error at transaction start...
from oracle_fdw.
the next SQL query against the foreign table still doesn't work, for the detail:
mydb=# \! date +'%F %T'
2015-01-29 12:24:17
mydb=# select 1 from foreign_table limit 1;
?column?
----------
1
(1 row)
mydb=# select 1 from foreign_table limit 1;
ERROR: error connecting to Oracle: OCITransStart failed to start a transaction
DETAIL: ORA-02396: exceeded maximum idle time, please connect again
mydb=# \! date +'%F %T'
2015-01-29 14:11:03
mydb=# select 1 from foreign_table limit 1;
ERROR: error connecting to Oracle: OCITransStart failed to start a transaction
DETAIL: ORA-01012: not logged on
mydb=# \! date +'%F %T'
2015-01-29 14:11:09
mydb=# select 1 from foreign_table limit 1;
ERROR: error connecting to Oracle: OCITransStart failed to start a transaction
DETAIL: ORA-01012: not logged on
all this executed in the postgres that login through the termintal, and I didn't start a transaction.
from oracle_fdw.
Ok, I have just committed c269639 which should improve the situation.
Could you give it a try and see if it works for you?
from oracle_fdw.
Thank you very much! It works!
mydb=# \! date +'%F %T'
2015-02-02 15:18:30
mydb=# select 1 from foreign_table limit 1;
?column?
----------
1
(1 row)
mydb=# \! date +'%F %T'
2015-02-02 16:36:04
mydb=# select 1 from foreign_table limit 1;
?column?
----------
1
(1 row)
from oracle_fdw.
Related Issues (20)
- Could not open extension control file HOT 7
- Encountered make issue related to missing oci.h file HOT 5
- Speed issue HOT 5
- make command raise error while installing oracle_fdw HOT 24
- Unable to compile oracle_fdw HOT 3
- create extension HOT 8
- Oracle client library (oci.dll) not found - Oracle Fdw HOT 29
- Crash fetching CLOB columns with Oracle Client 21 HOT 9
- QUESTION: Extension runtime dependencies HOT 3
- Import Schema invalid memory alloc HOT 3
- `IMPORT FOREIFN SCHEMA` new `import_views` option HOT 2
- What operational system are supported by Oracle FDW ? Error when compiling in Oracle Linux 9.3 HOT 3
- Oracle_fdw installation issue HOT 11
- `IMPORT FOREIFN SCHEMA don't transfer comments from Oracle HOT 21
- Conversion between Oracle DATE and PostgreSQL TIMESTAMP HOT 9
- Query to Oracle when there are geometry conditions implies that all table are loaded in PostgreSQL. HOT 3
- Not able to create extension oracle_fdw HOT 3
- Help With ORA-08177: can't serialize access for this transaction HOT 3
- Oracle_fdw takes a long time to query data and has slow query efficiency HOT 8
- system user mapping example HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from oracle_fdw.