one of the ibots in Oracle BI EE 10.1.3.4.0 was sending a report which had table view and filter view.
The ibot was erroring out and created hude *pdf* temp file in profile folder. the pdf is getting cleared up during service recycle.
I run the report manually and try to download and i got the following error:
Sax parser returned an exception. Message: Expected entity name for reference, Entity publicId: , Entity systemId: , Line number: 958, Column number: 90 Error Details Error Codes: UH6MBRBC
On Analysis, i found a special character & in the filter.
Fixed the error by removing the filter view.
This bug is fixed in 10.1.3.4.1 .
Wednesday, 22 June 2011
Saturday, 18 June 2011
Informatica 8.1 Domain and repository migration
there was a need to migrate our application server and DB to new location which necessitated Informatica Domain and repository migration: The steps as follows:
1. Take back of informatica repository
2. Copy the existing Informatica schema with tables to new DB
3. Update the TNS entry for new Repository DB, Domain in tnsnames.ora
4. Login to admin console.
Select the integration service -> go to properties tab -> EDIT database properties and enter the DB connection details.
Eg: enter connection string as
User id as
Password as ____
5. Stop the informatica services.
6. Update nodemeta.xml with new DB details. this contains Domain information.
Cd
Recycle informatica services.
RESTORE the informatica repository from back up
Cheers
Auto Signature in iBots OBIEE 10.1.3.4.x
Month back my Client wanted to send automated mails with same signature( eg: ** prepared and distributed by XXX) in Delivers in OBI EE. I went thro' javascript delivery conteneditor.js and found that it's possible while sending attachment. slightly modifying the script( delivery conteneditor.js ) will help in achieving the same. for this i am using the attachment message object in delivery content tab:
DeliversDeliveryContentEditor.prototype.apply = function() if (this.form.elements.EnableAttachmentText.checked) { var attachMsg = XUIForceSingleNode(this.dcTrue, saw.xml.kSawNamespace, 'attachmentMessage'); var tAttachCapParent = new XUICaptionParent(attachMsg); var x = this.form.elements.AttachmentCaption.value; if(x.indexOf('**** Prepared and distributed BY XXX') <0) tAttachCapParent.setCaptionText(this.form.elements.AttachmentCaption.value+'\n\n'+ ''+'**** Prepared and distributed BY XXX'+'');tAttachCapParent. } else {/* --*/ XUIRemoveChild(this.dcTrue, 'saw:attachmentMessage');var attachMsg = XUIForceSingleNode(this.dcTrue, saw.xml.kSawNamespace, 'attachmentMessage'); var tAttachCapParent = new XUICaptionParent(attachMsg); var x = this.form.elements.AttachmentCaption.value; if(x.indexOf('**** Prepared and distributed BY XXX') <0) tAttachCapParent.setCaptionText('\n\n' + ''+'**** Prepared and distributed BY XXX'+''); /* --*/ /* XUIRemoveChild(this.dcTrue, 'saw:attachmentMessage');*/ }
Cheers
Sunday, 19 September 2010
Catalog folders growing in size
We are using OBI EE 10.1.3.4. The catalog folder in our environments is keep growing and it almost reached 4GB. On analysis, we found that this unusual growth is linked to Alerts in dashboard. We raised SR with oracle and there is no config settings / workaround for deleting old files.
We found that all files under \_delivers or \_deliveries are taking lot of space. Finally we came with a simple vb script which deletes all the file (except _deliveries.atr) of 60 day old.
It reduced catalog folder size from 4GB to 2.8 GB(almost 1.2 GB )
Here is the script..
'==========================================================================
Option Explicit
On Error Resume Next
'==========================================================================
'DECLARATION OF VARIABLES
'==========================================================================
Dim sDirectoryPath, objFSO, oLogFile
Public pLogFile, pTabspace, pDaysOld, pFolderName, pextndpath, pFilenamelen
'==========================================================================
'Setting of Arguments
'==========================================================================
If WScript.Arguments.Count = 3 then
sDirectoryPath = wscript.arguments(0)
pLogFile = wscript.arguments(1)
pDaysOld = wscript.arguments(2)
pFolderName = Ucase("_delivers")
pextndpath = Ucase("_deliveries")
pTabspace = chr(9) & chr(9)
pFilenamelen = 100
else
Set objFSO = CreateObject("Scripting.FileSystemObject")
If not objFSO.fileexists( Replace(WScript.ScriptFullName, WScript.ScriptName, "") & "FileDeletionScript_ERROR.Log") Then
objFSO.CreateTextFile(Replace(WScript.ScriptFullName, WScript.ScriptName, "") & "FILEDELETIONSCRIPT_ERROR.Log")
End if
set oLogFile = objFSO.OpenTextFile(Replace(WScript.ScriptFullName, WScript.ScriptName, "") & "FileDeletionScript_ERROR.Log",8,True)
oLogFile.WriteLine(now() & " " & "Error Executing script - Insufficient Arguments supplied(3 Needed, but " & WScript.Arguments.Count & " supplied)")
oLogFile.Close
wscript.quit
end if
'==========================================================================
'MAIN PROGRAM
'==========================================================================
Set objFSO = CreateObject("Scripting.FileSystemObject")
If not objFSO.fileexists(pLogFile) Then
objFSO.CreateTextFile(pLogFile)
set oLogFile = objFSO.OpenTextFile(pLogFile,8,True)
oLogFile.WriteLine("*****************" & ptabspace & "*********" & ptabspace & "******************" & pTabSpace & "****************")
oLogFile.WriteLine("Time of Execution" & ptabspace & "File Name" & ptabspace & "Last Modified Date" & pTabSpace & "Path Of the File")
oLogFile.WriteLine("*****************" & ptabspace & "*********" & ptabspace & "******************" & pTabSpace & "****************")
oLogFile.Close
End if
Call ShowFolderList (sDirectoryPath)
Wscript.Echo "End Of Execution"
WScript.Quit
'==========================================================================
'FUCTION TO ACCESS FOLDERS & ITS SUB FOLDERS (RECURSIVE)
'==========================================================================
Function ShowFolderList(sDirectoryPath)
on error resume next
'wscript.echo "Showfolderlist " & sDirectoryPath
Dim oFSO, oFolder, OSubfolders, folder
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFolder = oFSO.GetFolder(sDirectoryPath)
Set OSubfolders = oFolder.SubFolders
For Each folder in OSubfolders
if strcomp(UCase(folder.name),pFolderName) = 0 Then
Call ATRFileList (folder.path)
if ofso.folderexists (folder.path & "\" & pextndpath) then
Call ShowFileList (folder.path & "\" & pextndpath)
end if
exit function
else
Call ShowFolderList (folder.path)
end if
Next
' GARBAGE COLLECTION OF VARIABLES
'==========================================================================
Set oFSO = Nothing
Set oFolder = Nothing
Set OSubfolders = Nothing
Set folder = Nothing
End Function
'==========================================================================
'FUNCTION DECLARATION TO ACCESS/DELETE FILES WITHIN _DELIVERIES FOLDER & TO LOG THE EVENT IN A LOG FILE
'==========================================================================
Function ShowFileList(sDirectoryPath)
on error resume next
'wscript.echo "show FILE list " & sDirectoryPath
Dim oFSO, oFolder, oFileCollection, oFile, oLogFile
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFolder = oFSO.GetFolder(sDirectoryPath)
Set oFileCollection = oFolder.Files
If oFileCollection.Count > 0 Then
For each oFile in oFileCollection
If oFile.DateLastModified < (Date() - pDaysOld) Then set oLogFile = oFSO.OpenTextFile(pLogFile,8,True) oLogFile.WriteLine(now() & ptabspace & oFile.Name & Space(pFilenamelen-len(ofile.name)) & ptabspace & oFile.DateLastModified & pTabSpace & oFile.path) oLogFile.Close oFile.Delete(true) End If Next End If ' GARBAGE COLLECTION OF VARIABLES '========================================================================== Set oFSO = Nothing Set oFolder = Nothing Set oFileCollection = Nothing Set oFile = Nothing Set oLogfile = Nothing End Function '========================================================================== 'FUNCTION DECLARATION TO ACCESS/DELETE ATR FILES WITHIN _DELIVERS FOLDER & TO LOG THE EVENT IN A LOG FILE '========================================================================== Function ATRFileList(sDirectoryPath) 'wscript.echo "show FILE list " & sDirectoryPath Dim oFSO, oFolder, oFileCollection, oFile, oLogFile Set oFSO = CreateObject("Scripting.FileSystemObject") Set oFolder = oFSO.GetFolder(sDirectoryPath) Set oFileCollection = oFolder.Files If oFileCollection.Count > 0 Then
For each oFile in oFileCollection
If (oFile.DateLastModified < (Date() - pDaysOld)) AND (strcomp(UCase(oFile.name),UCase("_deliveries.atr"))<>0) Then
set oLogFile = oFSO.OpenTextFile(pLogFile,8,True)
oLogFile.WriteLine(now() & ptabspace & oFile.Name & Space(pFilenamelen-len(ofile.name)) & ptabspace & oFile.DateLastModified & pTabSpace & oFile.path)
'wscript.echo oFile.Name& pTabSpace & oFile.path
oLogFile.Close
oFile.Delete(true)
End If
Next
End If
' GARBAGE COLLECTION OF VARIABLES
'==========================================================================
Set oFSO = Nothing
Set oFolder = Nothing
Set oFileCollection = Nothing
Set oFile = Nothing
Set oLogfile = Nothing
End Function
'==========================================================================
Thanks
We found that all files under \_delivers or \_deliveries are taking lot of space. Finally we came with a simple vb script which deletes all the file (except _deliveries.atr) of 60 day old.
It reduced catalog folder size from 4GB to 2.8 GB(almost 1.2 GB )
Here is the script..
'==========================================================================
Option Explicit
On Error Resume Next
'==========================================================================
'DECLARATION OF VARIABLES
'==========================================================================
Dim sDirectoryPath, objFSO, oLogFile
Public pLogFile, pTabspace, pDaysOld, pFolderName, pextndpath, pFilenamelen
'==========================================================================
'Setting of Arguments
'==========================================================================
If WScript.Arguments.Count = 3 then
sDirectoryPath = wscript.arguments(0)
pLogFile = wscript.arguments(1)
pDaysOld = wscript.arguments(2)
pFolderName = Ucase("_delivers")
pextndpath = Ucase("_deliveries")
pTabspace = chr(9) & chr(9)
pFilenamelen = 100
else
Set objFSO = CreateObject("Scripting.FileSystemObject")
If not objFSO.fileexists( Replace(WScript.ScriptFullName, WScript.ScriptName, "") & "FileDeletionScript_ERROR.Log") Then
objFSO.CreateTextFile(Replace(WScript.ScriptFullName, WScript.ScriptName, "") & "FILEDELETIONSCRIPT_ERROR.Log")
End if
set oLogFile = objFSO.OpenTextFile(Replace(WScript.ScriptFullName, WScript.ScriptName, "") & "FileDeletionScript_ERROR.Log",8,True)
oLogFile.WriteLine(now() & " " & "Error Executing script - Insufficient Arguments supplied(3 Needed, but " & WScript.Arguments.Count & " supplied)")
oLogFile.Close
wscript.quit
end if
'==========================================================================
'MAIN PROGRAM
'==========================================================================
Set objFSO = CreateObject("Scripting.FileSystemObject")
If not objFSO.fileexists(pLogFile) Then
objFSO.CreateTextFile(pLogFile)
set oLogFile = objFSO.OpenTextFile(pLogFile,8,True)
oLogFile.WriteLine("*****************" & ptabspace & "*********" & ptabspace & "******************" & pTabSpace & "****************")
oLogFile.WriteLine("Time of Execution" & ptabspace & "File Name" & ptabspace & "Last Modified Date" & pTabSpace & "Path Of the File")
oLogFile.WriteLine("*****************" & ptabspace & "*********" & ptabspace & "******************" & pTabSpace & "****************")
oLogFile.Close
End if
Call ShowFolderList (sDirectoryPath)
Wscript.Echo "End Of Execution"
WScript.Quit
'==========================================================================
'FUCTION TO ACCESS FOLDERS & ITS SUB FOLDERS (RECURSIVE)
'==========================================================================
Function ShowFolderList(sDirectoryPath)
on error resume next
'wscript.echo "Showfolderlist " & sDirectoryPath
Dim oFSO, oFolder, OSubfolders, folder
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFolder = oFSO.GetFolder(sDirectoryPath)
Set OSubfolders = oFolder.SubFolders
For Each folder in OSubfolders
if strcomp(UCase(folder.name),pFolderName) = 0 Then
Call ATRFileList (folder.path)
if ofso.folderexists (folder.path & "\" & pextndpath) then
Call ShowFileList (folder.path & "\" & pextndpath)
end if
exit function
else
Call ShowFolderList (folder.path)
end if
Next
' GARBAGE COLLECTION OF VARIABLES
'==========================================================================
Set oFSO = Nothing
Set oFolder = Nothing
Set OSubfolders = Nothing
Set folder = Nothing
End Function
'==========================================================================
'FUNCTION DECLARATION TO ACCESS/DELETE FILES WITHIN _DELIVERIES FOLDER & TO LOG THE EVENT IN A LOG FILE
'==========================================================================
Function ShowFileList(sDirectoryPath)
on error resume next
'wscript.echo "show FILE list " & sDirectoryPath
Dim oFSO, oFolder, oFileCollection, oFile, oLogFile
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFolder = oFSO.GetFolder(sDirectoryPath)
Set oFileCollection = oFolder.Files
If oFileCollection.Count > 0 Then
For each oFile in oFileCollection
If oFile.DateLastModified < (Date() - pDaysOld) Then set oLogFile = oFSO.OpenTextFile(pLogFile,8,True) oLogFile.WriteLine(now() & ptabspace & oFile.Name & Space(pFilenamelen-len(ofile.name)) & ptabspace & oFile.DateLastModified & pTabSpace & oFile.path) oLogFile.Close oFile.Delete(true) End If Next End If ' GARBAGE COLLECTION OF VARIABLES '========================================================================== Set oFSO = Nothing Set oFolder = Nothing Set oFileCollection = Nothing Set oFile = Nothing Set oLogfile = Nothing End Function '========================================================================== 'FUNCTION DECLARATION TO ACCESS/DELETE ATR FILES WITHIN _DELIVERS FOLDER & TO LOG THE EVENT IN A LOG FILE '========================================================================== Function ATRFileList(sDirectoryPath) 'wscript.echo "show FILE list " & sDirectoryPath Dim oFSO, oFolder, oFileCollection, oFile, oLogFile Set oFSO = CreateObject("Scripting.FileSystemObject") Set oFolder = oFSO.GetFolder(sDirectoryPath) Set oFileCollection = oFolder.Files If oFileCollection.Count > 0 Then
For each oFile in oFileCollection
If (oFile.DateLastModified < (Date() - pDaysOld)) AND (strcomp(UCase(oFile.name),UCase("_deliveries.atr"))<>0) Then
set oLogFile = oFSO.OpenTextFile(pLogFile,8,True)
oLogFile.WriteLine(now() & ptabspace & oFile.Name & Space(pFilenamelen-len(ofile.name)) & ptabspace & oFile.DateLastModified & pTabSpace & oFile.path)
'wscript.echo oFile.Name& pTabSpace & oFile.path
oLogFile.Close
oFile.Delete(true)
End If
Next
End If
' GARBAGE COLLECTION OF VARIABLES
'==========================================================================
Set oFSO = Nothing
Set oFolder = Nothing
Set oFileCollection = Nothing
Set oFile = Nothing
Set oLogfile = Nothing
End Function
'==========================================================================
Thanks
Thursday, 26 November 2009
More products, My account link is not appearing answers
I was facing a peculiar problem with Siebel- OBIEE integrated environment.
Even though I am administrator and I have admin privilege in Siebal , catalog I could not see dashboard, answers, more products, log out in answers.
I suspected it related to integrated environment. So launched answers link separately. That is, right click on Answers and open in new window.
Now pass your user id and password as parameter by
https:///Analytics/saw.dll?Answers&NQuser='userid'&NQPass='pwd'.
It worked wonder.
Even though I am administrator and I have admin privilege in Siebal , catalog I could not see dashboard, answers, more products, log out in answers.
I suspected it related to integrated environment. So launched answers link separately. That is, right click on Answers and open in new window.
Now pass your user id and password as parameter by
https://
It worked wonder.
Labels:
obiee issues,
obiee trouble shooting,
Siebal Issues
Tuesday, 24 November 2009
OBI Publisher with empty OBI catalog
yesterday we installed OBI publisher in our development environment and today i was troubleshooting issue with config, integrating it with presentation service.
here is scenario:
1. creating report using BI answers as data source.
2. select the report you want to use. it gives empty BI Catqalog message.
on analysis, we found that it's calling saw_popup.jsp. for troubleshooting, we introduced few out.print statement. This inturn gave following error:
Bad envelop tag: HTML. this clearly indicates that it's related SSO.
siteminder is not supported by Oracle for marketing Integration. we suspected that it could be the same issue here as well. so we created a virtual path analytics_r which is unprotected by siteminder. at the same, it has access only to web, app server of analytics.
after making these changes, OBI worked fine.
Please note: virtual path unprotected is case sensitive.
here is scenario:
1. creating report using BI answers as data source.
2. select the report you want to use. it gives empty BI Catqalog message.
on analysis, we found that it's calling saw_popup.jsp. for troubleshooting, we introduced few out.print statement. This inturn gave following error:
Bad envelop tag: HTML. this clearly indicates that it's related SSO.
siteminder is not supported by Oracle for marketing Integration. we suspected that it could be the same issue here as well. so we created a virtual path analytics_r which is unprotected by siteminder. at the same, it has access only to web, app server of analytics.
after making these changes, OBI worked fine.
Please note: virtual path unprotected is case sensitive.
Issues - runing DAC/OC4j as windows service
i found some issues with DaC windows service. for some reason, it's not reading customsql folder.
i will update you when it's fixed
- jvm.dll from server folder didn't help
i will update you when it's fixed
- jvm.dll from server folder didn't help
Labels:
DAC as windows service issue
Friday, 13 November 2009
runing DAC/OC4j as windows service
To install DAC server as a service, you need javaservice.exe. this is open source and you can down load from http://forge.ow2.org/projects/javaservice/. the latest version is 1.0.10.
after file download , extract it run the javaservice.exe from that folder.
now, create a batch file(dacservice.bat) with following content under oraclebi\dac
call config.bat
javaservice -install "Oracle BI DAC Server Service" "\jre\bin\client\jvm.dll" -Xms256m -Xmx1024m "-Djava.class.path=%DAC_CLASSPATH%"
"-Duser.dir=%DAC_HOME%"
-start com.siebel.etl.net.QServer -description "Oracle BI DAC Server Service"
--- config.bat consists of all the config setting for startserver.bat. we are just re-using it.
- prior to this i was running it under windows scheduled task.
let me know if you face any issues in installing
---
for oc4j, first ensure that bi publisher is installed.
javaservice -install "Oracle BI OC4J Service" "\bin\client\jvm.dll" -XX:MaxPermSize=128m "-Djava.class.path=\oc4j_bi\j2ee\home\oc4j.jar" -start oracle.oc4j.loader.boot.BootStrap -params -description "Oracle BI Publisher Server"
happy week end
after file download , extract it run the javaservice.exe from that folder.
now, create a batch file(dacservice.bat) with following content under oraclebi\dac
call config.bat
javaservice -install "Oracle BI DAC Server Service" "
"-Duser.dir=%DAC_HOME%"
-start com.siebel.etl.net.QServer -description "Oracle BI DAC Server Service"
--- config.bat consists of all the config setting for startserver.bat. we are just re-using it.
- prior to this i was running it under windows scheduled task.
let me know if you face any issues in installing
---
for oc4j, first ensure that bi publisher is installed.
javaservice -install "Oracle BI OC4J Service" "
happy week end
Friday, 11 September 2009
how to create COB/stand by repository for Informatica
In most of the corporates have Disater recovery or failover environments.
Practically,in Informatica 8.1 you can create only 1 domain per DB. For Disater Recovery, you may require to use same DB by informatica application in different server/ you will be using differnt db all together.
The very problem comes when you go for installation.
What we did..
for Stand by application, we installed it by pointing to dev db with same Domain name , node name, port as in live server.
after installation, we updated the repository so that it's pointing live informatica repository DB.
If you want to use the informatica application permanently by retiring the live server, then, you can update the hostname of 'PCSF%' and OPB_Reposit tables.
if you want to use it as stand by then update the hosts file with live server name and ip address of stand by server
Practically,in Informatica 8.1 you can create only 1 domain per DB. For Disater Recovery, you may require to use same DB by informatica application in different server/ you will be using differnt db all together.
The very problem comes when you go for installation.
What we did..
for Stand by application, we installed it by pointing to dev db with same Domain name , node name, port as in live server.
after installation, we updated the repository so that it's pointing live informatica repository DB.
If you want to use the informatica application permanently by retiring the live server, then, you can update the hostname of 'PCSF%' and OPB_Reposit tables.
if you want to use it as stand by then update the hosts file with live server name and ip address of stand by server
Labels:
informatica installation 8.1
Sunday, 10 May 2009
obiee presentation service in hanging state - troubleshoot
After starting obeii service it was hanging and never went to started state. On Analysis nothing notable found in SAWlog.log. On futher digging found following message in the event viewer..
" The description for Event ID[21] in source[oracle BI Utility ] cannot be found. The local computer may not have the neccessary registry information or message DLL files to display messages from a remote computer. The following information is part of the event . Invalid error message catalog d:\Apps\OracleBI\server\Locale\NQErrorMsg.cat"
Troubleshooting : NQErrorMsg.cat is in corrupted state(instead of NQErrorMsg found NQErrorMsg_L_en.cat). Replace the files from install setup.
" The description for Event ID[21] in source[oracle BI Utility ] cannot be found. The local computer may not have the neccessary registry information or message DLL files to display messages from a remote computer. The following information is part of the event . Invalid error message catalog d:\Apps\OracleBI\server\Locale\NQErrorMsg.cat"
Troubleshooting : NQErrorMsg.cat is in corrupted state(instead of NQErrorMsg found NQErrorMsg_L_en.cat). Replace the files from install setup.
Subscribe to:
Posts (Atom)