Sunday, April 16, 2006

What 360 degrees Database Programming Means


As some of you have asked me privately -- don't be shy, post your comments :), what the h. does 360 degree database programming means? Well, 4 things that i will elaborate on in following posts: (1) the database functionality itself, (2) calling database functionality from within the database, (3) calling database functionality from outside (client, middle-tier, etc), and (4) calling external system/functionality from within the database.

29 comments:

Anonymous said...

Any tool(s) recommended to this approach?

Kuassi Mensah said...

Thanks for your comment.
I guess you are referring to IDEs. For (i) i.e., building user-defined database funtionality (using PL/SQL and /or Java), as well as (4) i.e., calling out external system from within the database you can use Oracle JDeveloper as well as third party IDEs that support the Oracle database. Alternatively, for Java only, you can use any Java and/or Eclipse-based IDE to build the functionaliy then upload in the database, using loadjava command-line. In my next posts I'll touch on tools for making database functionality known to SQL and other components (internally and externally).

Kuassi Mensah said...

For PL/SQL, i'd also recommend the Oracle SQL Developer (formerly RAPTOR).

Anonymous said...

Thank you.

Unknown said...

Kuassi,

I just read your book "Oracle Database Programing with Java and Web Services". It's really an amazing book.

I have a question about Oracle RAC and JDBC FCF. My question is if I used RAC, then I don't need to configure the connection pool from the Application Server side, e.g. WebSphere. Is it correct?

Kuassi Mensah said...

Mike,

Thanks for your appreciation of the book. Yes, you might not need to use Websphere's connection pool if the Java components can manage the persistence itself (i.e., POJO, Servlet, JSP, Bean-managed persistence EJB, and so on) however, as soon as you need transactional service from the container, it'll fail. The real and complete solution is for WebSphere to recognize OracleDataSource.

For those who do not have the book (yet!)the following blog entry http://db360.blogspot.com/2007/01/is-your-java-application-failoverproof.html descibes JDBC suppport for RAC.

Kuassi

Unknown said...

Kuassi,

With FCF enabled, what kinds of Oracle RAC failure senarios can be handled by FCF? At what senarios actions need to be taken from application tier?

Thanks,
Mike

Kuassi Mensah said...

Hi Mike,

I think the following blog entry responds to your questions: http://db360.blogspot.com/2007/01/is-your-java-application-failoverproof.html

Kuassi

Unknown said...

Hi Kuassi,

I am testing with our DBA about enabling FCF. It works fine when we bring down the service. But we got a problem when bring down the instance. We get the following error, and FCF does not work this time. The DDBC driver we used is of version: 10.2.0.3.0. Do you have any idea what could be the problem?

Thanks a lot,
Mike

=========
Caused by:
java.sql.SQLException: OALL8 is in an inconsistent state
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:208)
at oracle.jdbc.driver.T4C8Oall.marshal(T4C8Oall.java:352)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:202)
at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:799)
at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1039)
at oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPreparedStatement.java:839)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1132)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3285)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3329)
at org.hibernate.persister.entity.AbstractEntityPersister.getDatabaseSnapshot(AbstractEntityPersister.java:1021)
at org.hibernate.engine.StatefulPersistenceContext.getDatabaseSnapshot(StatefulPersistenceContext.java:233)
at org.hibernate.engine.ForeignKeys.isTransient(ForeignKeys.java:189)
at org.hibernate.event.def.AbstractSaveEventListener.getEntityState(AbstractSaveEventListener.java:512)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:80)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:507)
at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:499)
at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:495)
at org.springframework.orm.hibernate3.HibernateTemplate$16.doInHibernate(HibernateTemplate.java:684)
at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:367)
at org.springframework.orm.hibernate3.HibernateTemplate.saveOrUpdate(HibernateTemplate.java:681)

Kuassi Mensah said...

Mike,

"OALL8 is in an inconsistent state" is usually a bug in the driver itself (i.e, the state machine). An OALL8 related bug has been fixed in 10.1.0.4 and 10.2.0.3 but this is the first time we are hearing about RAC related OALL8. I am told that you need to file a TAR to help investigation.

Good Luck, Kuassi

Unknown said...

Kuassi,

Thanks for your reply. I figured out the problem I mentioned in my last message. In my code, I did the retry only one time. That's why I got the OALL8 message. Somehow, there is a delay for the establishment of the reconnection. After I changed my code to keep retrying, and this time it works. And it turned out after retrying 16 times, the new connections were established to the second instance.

After solving that problem, we got a new one. That is the connection load balance didn't work as expected. We have two Oracle instances running in our RAC, and I have 10 connections. When I first started my app, all these 10 connections went to only one instance, not load balanced to two instances. We have the following property set up in the connection URL:

DESCRIPTION = (LOAD_BALANCE=on)

Is this the correct setting? When I google this settings, I found some people set the LOAD_BALANCE to "true", and some set it to "YES". Which one is correct?

Thanks,
Mike

Kuassi Mensah said...

Hi Mike,

Up to 10.1, we only offer connect-time load balancing, set
LOAD-BALANCING=On and in addition PREFER_LEAST_LOADED_NODE_[listener]=OFF

in 10.2 (both RDBMS and JDBC), we furnish Runtime Connection Load Balancing, using Workload Metrics. This is well documented in the book.

Good luck, Kuassi

Anonymous said...

bez depozytu bonus free pieniadze dla nowych aktualne zastawienie bonusów
aktualny bonus bez depozytu
Poker Stars nie depozytów, wolne william hill Poker bankroll Mansion darmo pieniądze, mansion Poker wolne pieniądze w pokera, nie deposit
bonusy za darmo
poker za darmo , bonusy bez depozytu, graj w pokera bez obligacji texas hold bankroll buduj wolno ale dokładnie odbiór dla poker rooms Promocje dla nowych graczy
titan room mansion party poker pkr bet most i inne platformy room omaha texas hold em

Poker bonus without deposit … Free without deposit poker cash say requirments. Good day. No deposit poker bonus… Free online game without signing upays
online poker site free start up money
Complete list of the best free poker money free poker bankroll online poker site free start up money
texas omaha or room of glory online poker site free start up money free poker cash bankroll
no deposit poker bankroll
. Walker Poker is a free for me, state of the , softwalay online poker no deposit poker bankroll
free poker bankroll for mansion uniqe poker room rooms uniqe room poker
leading provider of free money promotions.Bonus Codes that give You Free Poker Money without making a deposit.
free and no deposit poker bankroll
free poker cash and money, chips build bankroll without deposit
sorry if spam for you ..

inversiones rentables said...

Great information, you have a wonderful blog and an excellent article!!

vuong said...

先物 比較
先物 比較
先物 比較
先物 比較
先物 比較
先物 比較
先物 比較
先物 比較
先物 比較
先物 比較
事業再生
経営計画書
経営改革
経営改善
会社分割
経営コンサルティング
婚活 相談
婚活 相談
婚活 相談
婚活 相談
婚活 相談
婚活 相談
婚活 相談
婚活 相談
婚活 相談
婚活 相談
浮気調査 東京
浮気調査 東京
備考調査 追跡調査 東京
不倫調査 離婚調査 東京
浮気調査 素行調査 東京 
ストーカー相談 ストーカー対策 東京
結婚調査 結婚詐欺 東京
信用調査 企業調査 東京
調査料金 東京
身上調査 身元調査 身辺調査 東京
所在調査 東京
夫 妻 浮気 東京

vuong said...

結婚相談所 東京
結婚相談所 東京
結婚相談所 東京
結婚相談所 東京
結婚相談所 東京
結婚相談所 東京
結婚相談所 東京
結婚相談所 東京
結婚相談所 東京
結婚相談所 東京
ビジネス英会話
ビジネス英語 メール
英語塾
社会人入試
ビジネススクール 英語
ニキビ跡
パッケージ
会社設立 東京
エンジニア 派遣
東横 賃貸
田園都市 賃貸
デザイナーズ 賃貸
恵比寿 賃貸
学芸大学 賃貸
目黒 賃貸
中目黒 賃貸
新築 賃貸
ペット可 賃貸
三軒茶屋 賃貸
エンジニア転職
販売管理
過払い
任意整理
液晶テレビ 激安

Lots in Costa Rica said...

Hello I want to congratulate to them by its site of the Web of the excellent looks like entertained and very good very to me it elaborated. I invite them to that they explore a little on my Web site. Lots in Costa Rica

Ephesus said...

I loved every moment of our tour. Istanbul, cappadocia and ephesus are fantastic city. We saw so many historical places and guide was very informative. We definitely recommend it. http://www.packagetoursturkey.com - http://www.touroperatoristanbul.com We visited Istanbul for the first time on your tour turkey tours we are from Cappadocia tours Greece and we just loved it! istanbul tours We finally were able to see sights that we had only heard from our friends who visited I have to say that this trip was fantastic. I had a great time in Turkey. Everything went on very well actually much better than we expected istanbul travel Our guide was very friendly and ephesus tours he knew all details of history. Thanks for everything.

istanbul said...

TTG Travel Agency is a leading travel agency and tour operator in istanbul Turkey with more than seven years of professional travel service. Because of our dedication and commitment to your needs istanbul travel we are able to offer you better quality of service at lower prices than other operators. http://www.istanbulhotels.com We provide hundreds of elaborately pre-designed Turkey tour packages, Turkey tours discounted, Guided turkey hotels and Turkey Tours, and we also provide customized travel service that is organized according to your specific needs and requirements http://www.istanbulhotels.com Our tours are professionally guided, intimate, and safe.

Anonymous said...

It is such an interesting thing having this post of yours. I was interested with the topic as well as the flow of the story. Keep up doing this. cheap kamagra

vegas weddings and receptions said...

I just read your book "Oracle Database Programing with Java and Web Services". It's really an amazing book.

vegas weddings and receptions said...

In my next posts I'll touch on tools for making database functionality known to SQL and other components (internally and externally).

Elliott Broidy said...

Interesting

vegas weddings and receptions said...

In my next posts I'll touch on tools for making database functionality known to SQL and other components (internally and externally).

vegas weddings and receptions said...

Bean-managed persistence EJB, and so on) however, as soon as you need transactional service from the container, it'll fail. The real and complete solution is for WebSphere to recognize OracleDataSource.

Unknown said...

kenapa keputihan tidak normal dan mengeluarkan nanah obat kutil herbal di kemaluan cara menghilangkan kutil kemaluan secara alami tips menghindari kutil kelamin tips menghilangkan kencing nanah cara mengobati kelamin keluar nanah obat alam tradisional kencing bernanah obat kutil di kemaluan pria obat kemaluan keluar nanah Obat Ambeien Ampuh Tradisional Resep Obat Wasir obat alami untuk gejala wasir Mengobati Wasir Secara Alami Obat ampuh atasi wasir Obat herbal efektif menyembuhkan wasir Obat untuk kelamin laki laki keluar cairan nanah Obat kemaluan keluar nanah atau gonore Obat cairan nanah keluar dari alat kelamin Mengapa kencing sakit dan keluar cairan nanah Mengapa kencing perih dan keluar nanah Mengapa nanah keluar dari kelamin Obat untuk kutil di sekitar bibir vagina Obat kencing nanah manjur menghilangkan benjolan kutil di vagina wanita

seffees said...

cheap replica handbags GFQZ replica wholesale handbags AKRX replica bags china AMSX

Unknown said...

see it heregreat post to read find more infonext page have a peek at this web-sitelook at this site

posatheighn said...

replica bags uk replica hermes v8e79h2t93 best replica ysl bags replica bags aaa next v3o57u0v89 replica bags ru replica bags delhi discover this y0b39v3f56 replica bags china free shipping