You are on page 1of 4

9/8/2015

PersistConnectionPool|OracleBusinessIntelligenceOBIEE

Oracle Business Intelligence OBIEE

PersistConnectionPool

ABOUT
AkashJain,OracleBI

BeforetellingyouaboutthePersistconnectionpoolconcept,Iwilltellyouabackgroundofwritingthispost.
Scenario:UserhadCreatedaReportwiththefilterbasedontheresultofanotherrequest.i.eAdvancedfilter
condition.

Consultantworkingwith
CognizantTechnology
SolutionsIndiaPvt.Ltd.PriortothisI
haveworkedforIBMandDeloitte.
Note:Thecontentofthisblogmightbe
presentinsomeotherblogbutthisis
mywayofpresentingit.Iam
documentingitforpeoplewhoare
newtoOBIEE.

RECENTPOSTS
RowstoColumnsConversionusing
AggregatorTransformation.

Result:ODBCError
nQSError:17001]
QueryStatus:QueryFailed:[nQSError:59044]UnabletocreatetableTT2OCI7GIAP2N676000020U0G0G3.
[nQSError:17001]OracleErrorcode:1031,message:ORA01031:insufficientprivileges
atOCIcallOCIStmtExecute:CREATETABLETT2OCI7GIAP2N676000020U0G0G3(column1
VARCHAR2(80CHAR)).
[nQSError:17011]SQLstatementexecutionfailed.

DifferencebetweenSYSDATEand
CURRENT_DATE
ColumnstoRowsconversionfrom
reportingperspective
ProductHierarchyinDW
SSLImplementationinOBIEE11g

Nowlookingintothiserror,fewthingscameintomymind

DistributeRepositoryFailedinRe
installingOBIEE11g

WhyCREATETABLEprivilegeerroriscomingintopicturewhenIamrunningthisreport,logicallyitshould
beaselectstatement.

Destinationpathtoolongwhile
copyingcataloginOBIEE11g

WhytablenameisstartingwithTTthattoowithsomeweirdname.
ThenIstarteddebuggingthisissueandItookfollowingsteps:
Scenario1:Ranthesimilarkindofreportinothersubjectareawhichwaspointingtosameconnectionpool.

OBIEEvsBusinessObject
CannotopenConsole,EMafterJava
UpdateinOBIEE11g
WhentouseRequestVariablein
OBIEE

Result:ODBCError
DeletingduplicaterecordsinOracle
Scenario2:Ranthesimilarkindofreportinothersubjectareapointingtodifferentconnectionpoolwith
differentdbuser/password.

WhentouseOBIEEandBIPublisher

Result:Correctresult.
AtthispointoftimeIhadconcludedthatthedbusermustnotbehavingCreateTableprivilegesandthat
mustbereasonforthisissue.
ButthenIthoughttomoveaheadwiththethirdscenario.
Scenario3:Ranthesimilarkindofreportinothersubjectareapointingtodifferentconnectionpoolwith
samedbuser/password.

http://obieebyakash.com/persistconnectionpool/

CATEGORIES
General(3)
InterviewQuestion(19)
Technical(59)

1/4

9/8/2015

PersistConnectionPool|OracleBusinessIntelligenceOBIEE

Result:Correctresult.
Somylogicfailed.CreateTableprivilegeisnottheonlyreasonforthisissue.Ifthatwouldhavebeenthe
casethenthirdscenariowouldhavefailed.
ThenIstartedcomparingtheconnectionpoolfeaturesofScenario1andScenario3andIfoundthatscenario
1wasusingPersistConnectionPool.

ARCHIVES
July2014(3)
June2014(6)
May2014(4)
April2014(2)
March2014(2)
January2013(1)
July2012(2)
June2012(4)

SothisisthebackgroundofwritingthispostandnowIamgonnatellyousomethingaboutPersistconnection
pool.
WhenyouusePersistconnectionpool,OBIServerstoresthesubqueryinatemporarytableandthenre
writestheoriginalsubqueryresultagainstthistable.ItreducesthedatamovementbetweentheOBIServer
andthedatabaseandsupportsunlimitedINlistvalues.Itisbasicallyusedtoimproveperformance.
TheOBIServerprocessesasubqueryinthefollowingprecedence:

April2011(2)
February2011(4)
January2011(3)
December2010(1)
August2010(5)

Pushesdownbothmainreportandsubquerytogethertothebackenddbifpossible.
Persistthesubqueryresultsintemptablesatthebackendifapersistentconnectionpoolisavailable.
ExecutethesubqueryandconstructanINlistwithreturnvalues

July2010(5)
June2010(6)

NowthesearesomeofthequestionrelatedtoPersistconnectionpool:
May2010(6)
Inwhatcircumstancestemporarytablesarecreated?
April2010(15)
TheyarecreatedaspartofasubqueryprocessingwheneverPersistconnectionpoolisdefinedinthe
repository.

April2009(5)

Shouldthetemporarytablepersistinthedborcleanedup?
Itshouldbecleaneduprightafterthereportiscompleted.ThetemptableshouldbedroppedwhenOBIPres.
Serverclosesthecursor.Ifthetableisnotdropped,onewayistouseAdmintool,viewonlinesessions,and
checkifthereportusingthesubqueryisstillopenedbyOBIPres.Server.ThetableisdroppedwhentheOBI
Pres.Serverfinishestherequestandcursorisclosed.

VISITS
79,415

Unique
Visitors

HowcanwedisablecompletelythecreationoftemporarytablesinourDatabase?
ClearoutthePersistconnectionpoolfromthephysicallayer.(FoundontheGeneraltaboftheDatabase
objectspropertiesdialogue).IfthereisnoPersistconnectionpoolsetforthedatabasethentemptable
creationwillnothappenunderanycircumstances.
Doestheusersetupforthepersistconnectionpoolneedtohavedatabasecreatetableprivilege?
Yes,theuserdefinedforthepersistconnectionpoolneedsprivilegestocreateDDLandDMLinthe
database.
FollowingexampleshowsthesamplephysicalqueryforPersistconnectionpool.
Repository:Star,SubjectArea:Test,Presentation:Test
+++Administrator:2c0000:2c0008:2010/07/0520:52:04
LogicalRequest(beforenavigation):
RqListdistinct
DEPT.DepartmentNameasc1GB,
EMP.EmployeeNameasc2GB
DetailFilter:DEPT.DepartmentNamein(['ACCOUNTING','OPERATIONS'])

http://obieebyakash.com/persistconnectionpool/

2/4

9/8/2015

PersistConnectionPool|OracleBusinessIntelligenceOBIEE

+++Administrator:2c0000:2c0008:2010/07/0520:52:04
CacheHitonquery:
MatchingQuery:SETVARIABLEQUERY_SRC_CD=ReportSELECTDepartment.DepartmentName
saw_0,Employee.EmployeeNamesaw_1,Employee.MGRsaw_2FROMTestORDERBYsaw_0,saw_1,
saw_2
Createdby:Akash
+++Administrator:2c0000:2c0008:2010/07/0520:52:04
SendingquerytodatabasenamedScott(id:CreateTableTransGateway):
CREATETABLETT0O6SAT33G336800000O0200002(column1VARCHAR2(14CHAR))
+++Administrator:2c0000:2c0008:2010/07/0520:52:04
SendingquerytodatabasenamedScott(id:<<1795>>):
WITH
SAWITH0AS(selectsum(T157.SAL)asc1,
T157.MGRasc2,
T157.ENAMEasc3,
T152.DNAMEasc4
from
DEPTT152,
EMPT157
where(T152.DEPTNO=T157.DEPTNOandT152.DNAMEin(selectcolumn1from
TT0O6SAT33G336800000O0200002))
groupbyT152.DNAME,T157.ENAME,T157.MGR)
selectdistinctSAWITH0.c4asc1,
SAWITH0.c3asc2,
SAWITH0.c2asc3,
SAWITH0.c2asc4,
SAWITH0.c1asc5
from
SAWITH0
orderbyc1,c2,c3
Conclusion:IfyouareusingPersistconnectionpool,thenthedbuserassociatedwiththeconnectionpool
musthaveCreateTableprivilege.AndthemomentIgaveCreateTableprivilegetotheuser,thereport
startedworkingfine.IfyouarenotusingPersistconnectionpool,thentemporarytablewillnotbecreatedand
CreateTableprivilegeisnotrequired.

2010
06 JUL

POSTEDBY

POSTEDIN

DISCUSSION

TAGS

AkashJain

Technical

0Comments

ORA01031:
insufficientprivileges
atOCIcall
OCIStmtExecute:
CREATETABLE,
PersistConnection
Pool,[nQSError:
59044]Unableto
createtableTT

LeaveaReply
Choosehowtoleaveyourcomment

Name*

Email*

Topreventcommentspam,youmustverifyyouownyouremailaddressusingMozillaPersona(Browserid)by
clickingthegreenSignInbutton.

http://obieebyakash.com/persistconnectionpool/

3/4

9/8/2015

PersistConnectionPool|OracleBusinessIntelligenceOBIEE

Comment

2015OracleBusinessIntelligenceOBIEE.Allrightsreserved.

http://obieebyakash.com/persistconnectionpool/

Poweredby

4/4