No, wait, not that way! - Real-world lessons from an OBIA 11g implementation
-
Upload
jpiwowar -
Category
Technology
-
view
286 -
download
1
Transcript of No, wait, not that way! - Real-world lessons from an OBIA 11g implementation
No, wait, not that way!
Real-world lessons from an OBIA 11g implementation
About you
Hi!
Pythian is a global IT services company that specializes in designing, implementing, and managing systems that directly contribute to revenue and business success. We help companies adopt disruptive technologies to advance innovation and increase agility. Our highly skilled technical teams work as an integrated extension of our clients’ organizations to deliver continuous transformation and uninterrupted operational excellence.
ABOUT PYTHIAN
Top 5% talent worldwide
9 Oracle ACEs
4 Oracle ACE Directors
18 years in business
400+ employees
270+ customers worldwide
Why this talk?
What is OBIA?
Oh, you know...
No, really, what is OBIA?
Oracle Business Intelligence Enterprise Edition (OBIEE)
+ Oracle Data Integrator (ODI)+ Weblogic Server+ Oracle RDBMS (Warehouse, 2 repositories)+ Templates and ETL maps for a variety of
popular data sources
Know your versions
"Whoa, that's a lot of .1's"
OBIA 11.1.1.8 11.1.1.9 11.1.1.10
OBIEE 11.1.1.7 11.1.1.7* 11.1.1.9*
ODI 11.1.1.7 11.1.1.7 11.1.1.9
WLS 10.3.6 10.3.6 10.3.6
*With option to upgrade to higher
version
Know your limitations
Certified/supported configurationsPatching/upgrade pathsJava versionODI quirksOBIEE quirks
Build/config advice
Expect to read a lotRecord admin console sessionsScript everything (Learn WLST!)Iterate
Build/config advice
Use db services to segregate workload Automate maintenance tasksKnow your ports if hosting multiple environments
"Easy install"rcu -silent -createRepository -connectString db_host:db_host:db_service -dbUser sys -dbRole sysdba -schemaPrefix DEV -component MDS -component BIPLATFORM -f < /tmp/OBIEErcu;
rcu -silent -createRepository -connectString db_host:db_host:db_service -dbUser sys -dbRole sysdba -schemaPrefix DEV -useSamePasswordForAllSchemaUsers false -component ODI -component BIACOMP -component DW -f < /tmp/OBIArcu
java -d64 -jar wls1036_generic.jar -mode=silent -silent_xml=resp_file_path/wls_silent.xml
runInstaller -silent -jreLoc $JAVA_HOME -responseFile resp_file_path/obiee_base_inst.rsp
runInstaller -silent -jreLoc $JAVA_HOME -responseFile resp_file_path/odi_base_inst.rsp
runInstaller -silent -jreLoc $JAVA_HOME -responseFile respfile_path/obia_base_inst.rsp
perl APPLY_PATCHES.pl apply_patches_import.txt
config.sh -silent -responseFile respfile_path/obiee_config.rsp -jreLoc $JAVA_HOME
configApps.sh -silent -responseFile respfile_path/obia_config.rsp -jreLoc $JAVA_HOME
config.sh -silent -responseFile respfile_path/bi_scaleout.rsp -jreLoc $JAVA_HOME
"Easy install"cd('/Servers/AdminServer')cmo.setKeyStores('CustomIdentityAndCustomTrust')cmo.setCustomIdentityKeyStoreFileName('/u01/oracle/keys/Identity.jks')cmo.setCustomIdentityKeyStoreType('jks')set('CustomIdentityKeyStorePassPhrase',priv);cmo.setCustomTrustKeyStoreFileName('/u01/oracle/keys/Identity.jks')cmo.setCustomTrustKeyStoreType('JKS')set('CustomTrustKeyStorePassPhrase',trust)cd('/Servers/AdminServer/SSL/AdminServer')cmo.setServerPrivateKeyAlias('not_the_real_key_alias_of_course')set('ServerPrivateKeyPassPhrase',priv)cd('/Servers/AdminServer/SSL/AdminServer')cmo.setEnabled(true)cmo.setListenPort(7002)showChanges()activate()exit()
Watch the defaults!
ODI default sessions Java settings for managed servers OBIEE session-related settingsRelocate log and temp files
Ref: MOS Note 1963225.1MOS Note 1333049.1
Example: OBIEE session/cache tweaking
Ref: MOS Note 1333049.1
instanceconfig.xml<Query> <MaxEntries>5000</MaxEntries><AbsoluteMaxEntries>20000</AbsoluteMaxEntries><CruiseEntries>3000</CruiseEntries><ForceLRU>true</ForceLRU></Query>
opmn.xml<process-type id="OracleBIJavaHostComponent" module-id="CUSTOM">[...]<data id="start-args" value="-server -Xms8g -Xmx8g -Xmn4g -XX:+UseCompressedOops -XX:+UseParallelOldGC -XX:+ExplicitGCInvokesConcurrentAndUnloadsClasses -XX:MaxPermSize=512M -XX:PermSize=512M -XX:+DisableExplicitGC -Xnoclassgc[...]
NQSConfig.INISERVER_THREAD_RANGE = 100-2000;DB_GATEWAY_THREAD_RANGE = 100-2000;
Example: Explicit GC in JVMs
Ref: MOS Note 1369755.1
Test early, test often
Don't wait until late phases! Load testing important along a number of dimensions:
• individual report performance• app server performance• database performance under mixed (ETL +
reporting) load• system longevity ("endurance test")
Know your wallets!
Multiple wallets, various purposesSome boundary systems may not support SHA2-encrypted SSL keys
Some default entries there, too
"I want you to go in that bag, and find my wallet.""Which one is it?
--Pulp Fiction
User management
Should you use external directory for service accounts?
ODI user integration requires extra work
Extra work, you said?
Instrumentation
Usage Tracking is kinda importantKeep log level high in RPD to get useful mapping between
physical and logical queries.Leverage connection pool and report-level settings in RPD
to get slightly better end-to-end trackingConsider retention period and archiving of ODI run data License Diagnostic and Tuning packs
The warm fuzzy stuffNo unicornsChoose partners carefully (no sales pitches here)Keep fences low; collaborate widelyDon't wait for documents to be "perfect" Tech folks: over-communicate, don't assumeBe excellent to each other (and patient)
TL;DR
PrepareAutomateUpdate the OOB settingsBe excellent to each other
This presentation will self-destruct
Thanks!
Questions?