330 likes | 387 Views
OBIEE 11g to 12c Upgrade Tips Customer Engineering & Advocacy Lab September 2015. Simple installation steps. JDK: Install JDK 8 (1.8) from http://www.oracle.com/technetwork/java/javase/downloads/index.html WLS - This will lay down the WLS shell:
E N D
OBIEE 11g to 12c Upgrade TipsCustomer Engineering & Advocacy LabSeptember 2015
Simple installation steps • JDK: • Install JDK 8 (1.8) from http://www.oracle.com/technetwork/java/javase/downloads/index.html • WLS - This will lay down the WLS shell: • Open a command window and cd (change directory) to the bin directory of the installed JDK 8 (1.8) • Execute the following command - java -jar C:\path_to_jar_file\wls_jrf_generic-jarfile-*.jar - substituting the directory path and downloaded jar name as necessary. • For example: c:\Java\jdk1.8.0_45\bin>java -jar C:\Builds\BIEE\12c\wls_jrf_generic-12.2.1.0.0-150921.1702.jar • BIEE Platform - This will lay down the BIEE binaries only into the WLS shell: • Run the downloaded biee executable 'bi_platform-12.2.1.0.0-*-win64.exe'. Use the Oracle Home that was specified in the WLS install. • RCU Schema: • If necessary, drop previous install database schemas using 'Oracle_Home\oracle_common\bin\rcu.bat‘ or 'Oracle_Home/oracle_common/bin/ ./rcu’ • You can either create the required schemas via RCU, or let the BI Config process create them. • BI Configuration - This will deploy the BIEE application to the WLS shell. • Execute c:\Oracle\Middleware\Oracle_Home\bi\bin\config.cmd • Optionally select the create schemas option if the biee schemas were not created before hand via RCU. • Optionally select a migrated 11g jar file or a 12c bar file. • BIEE Client Tools: • Run the downloaded biclient executable 'setup_bi_client-12.2.1.0.0-*-win64.exe. Specify an empty directory for 'Oracle Home'. • Default port for NqsODBC driver is 9514 (OBIS port). Note – The executable names listed above may change with the official release with the exception of the JDK.
Post Install Utilities and Configuration • Start/Stop/Status shell scripts - '...\12c_home\user_projects\domains\bi\bitools\bin'.Options are 'status.cmd', 'stop.cmd' and 'start.cmd‘: Usage: [-h domainHome] [-i startServersList] -h: Specify domain home (including final domainName dir). Default is DOMAIN_HOME if set, otherwise '$default_biDomainHome' -i: Comma separated list (with no spaces) of servers (Name) and system components to start (default is all) • Example to start OBIS and OBIPS: • ./start.sh -i obis1,obips1 • start.cmd -i obis1,obips1 • Set-up tnsnames.ora at '...\12c_home\user_projects\domains\bi\config\fmwconfig\bienv\core' (also contains odbc.ini)
Main directories • Directory structure has completely changed in 12c. Here are the most commonly used paths: • OBIEE Configuration files: <MW_HOME>/user_projects/domains/bi/config/fmwconfig/biconfig • Tnsnames.ora: <MW_HOME>/user_projects/domains/bi/config/fmwconfig/bienv/core • Stop/Start scripts: <MW_HOME>/user_projects/domains/bi/bitools/bin • Logs: <MW_HOME>/user_projects/domains/bi/servers • Custom messages (previously AnalyticsRes): <MW_HOME>/user_projects/domains/bi/bidata/components/OBIPS/customMessages
Default port numbers • Port numbers of BI components are assigned automatically during installation based on port range specified. They can be found easily in EM.
Catalog Upgrade Pre-Requisite • Upgrading catalog to 12c is supported from 11.1.1.7 and 11.1.1.9. • Sometimes when customers upgraded to 11.1.1.7 from previous 11g version, they did not run the full catalog upgrade. The consequence is that the version stored in the catalog is 11.1.1.3, 11.1.1.5, or 11.1.1.6, even though the catalog is being used on 11.1.1.7 environment. • Before upgrading to 12c, make sure that your catalog is in the right version by running catalog upgrade in your current 11g environment (set <UpgradeAndExit> tag to true in instanceconfig.xml).
Using the 12c Migration Tool bi-migration-tool.jar • Used to migrate 11g OBIS and OBIPS metadata and WLS defined application roles to a self-extracting and self-executing 12c migration jar file (bundle) • 11g JDK requirements: • You can use the same JDK as the 11g instance, or you may install jdk 1.8 in your 11g environment. In either case, the jdk used must be the first in the path if multiple java instances are installed. • 12c JDK requirements: • 12c requires JDK 1.8. This is available at http://www.oracle.com/technetwork/java/javase/downloads/index.html
Example for Windows installations • Copy the Oracle 12c Migration tool from the Install home to your 11g environment: Default install location – Oracle_Middleware_Home\bi\migration-tool\jlib\bi-migration-tool.jar Example - C:\Oracle\Middleware\Oracle_Home\bi\migration-tool\jlib\bi-migration-tool.jar • - bi-migration-tool.jar parameters: • Expected arguments: out <oracle 11g home> <domain home> <output export bundle path> (Export from an existing system) in <oraclehome> <domainhome> <export bundle> <service instance name> (Import into an existing system) get <pluginname> <export bundle> (Retrieve data produced by a plugin) put <pluginname> <new data file> <new export bundle> <existing export bundle> (Repack jar, replacing data from a plugin)
Migrate \ export bundle from 11g system: java -jar \path\to\12c\bi-migration-tool.jar out \path\to\11g\mwhome\Oracle_BI1 \path\to\11g\mwhome\user_projects\domains\bifoundation_domain \path\to\my-export-bundle.jar • Example (bi-migration-tool.jar copied to directory ‘c:\aaa\11g_to_12c_upgrade’): c:\aaa\11g_to_12c_upgrade>java -jar bi-migration-tool.jar out C:\oraclebi_11119\Oracle_BI1 C:\oraclebi_11119\user_projects\domains\bifoundation_domain C:\OBIEE_11g_bar\11g_sampleapplite.jar • Copy / Move the 11g exported jar file to the machine where the 12c instance resides if it differs from the 11g instance machine • Import bundle into 12c system: java -jar \path\to\12c\oraclehome\bi-migration-tool\jlib\bi-migration-tool.jar in \path\to\12c\oraclehome \path\to\12c\oraclehome\user_projects\domains\bi \path\to\my-export-bundle.jar service1 or ssi • Example: c:\Java\jdk1.8.0_45\bin>java -jar C:\Oracle\Middleware\Oracle_Home\bi\migration-tool\jlib\bi-migration-tool.jar in C:\Oracle\Middleware\Oracle_Home C:\Oracle\Mddleware\Oracle_Home\user_projects\domains\bi C:\2.Builds\BIEE\12c\11g_bars\11.1.1.9.0_SampleAppLite.jar service1 or ssi NOTE: Examples have return lines between parameters to highlight them only. Do Not use return lines in actual calls.
Example for Linux installations Copy the Oracle 12c Migration tool from the Install home to your 11g environment: • Default install location: • Oracle_Middleware_Home/bi/migration-tool/jlib/bi-migration-tool.jar Example - /scratch/aime/Oracle_Home/bi/migration-tool/jlib/bi-migration-tool.jar • Migrate / export bundle from 11g system: java -jar /path/to/12c/bi-migration-tool.jar out /path/to/11g/mwhome/Oracle_BI1 /path/to/11g/mwhome/user_projects/domains/bifoundation_domain /path/to/my-export-bundle.jar
Example (bi-migration-tool.jar copied to directory ‘/scratch/aime/11g_to_12c_upgrade’): /scratch/aime/11g_to_12c_upgrade>java -jar bi-migration-tool.jar out /scratch/aime/Oracle_Home/Oracle_BI1 /scratch/aime/Oracle_Home/user_projects/domains/bifoundation_domain /scratch/aime/OBIEE_11g_bar/11g_sampleapplite.jar • Copy / Move the 11g exported jar file to the machine where the 12c instance resides if it differs from the 11g instance machine • Import bundle into 12c system: java -jar /path/to/12c/oraclehome/bi-migration-tool/jlib/bi-migration-tool.jar in /path/to/12c/oraclehome /path/to/12c/oraclehome/user_projects/domains/bi /path/to/my-export-bundle.jar service1 or ssi • Example: /scratch/aime/Java/jdk1.8.0_45/bin>java -jar C:/Oracle/Middleware/Oracle_Home/bi/migration-tool/jlib/bi-migration-tool.jar in /scratch/aime/Oracle_Home /scratch/aime/Oracle_Home/user_projects/domains/bi /scratch/aime/Builds/BIEE/12c/11g_bars/11.1.1.9.0_SampleAppLite.jar service1 or ssi NOTE: Examples have return lines between parameters to highlight them only. Do Not use return lines in actual calls.
Example using the Migration Script • 12c also ships with a migration-tool script (migration-tool.sh or migration-tool.cmd) that can be used for import. It determines some parameters automatically, so the user does not have to supply them. • The location of this script is: • …/user_projects/domains/bi/bitools/bin • The required parameters are: in <export bundle> <service instance name> • Note that oracle home and domain home are not required. • Here is an example: …/user_projects/domains/bi/bitools/bin/migration-tool.sh in /scratch/aime/Builds/BIEE/12c/11g_bars/11.1.1.9.0_SampleAppLite.jar ssi or service1
Example using the migrated 11g jar file during the OBI Configuration install step • You may use a migrated 11g jar file when using the BI config script ‘…\mwhome\bi\bin\config.cmd’ or ‘…/mwhome/bi/bin/config.sh’ • Create the 11g migration jar file using the appropriate steps above. • Run '\mwhome\bi\bin\config.cmd' or '/mwhome/bi/bin/config.sh', select the required settings, and provide the necessary parameters. • Choose 'Single Instance' and select the required components (Essbase, BIEE and/or BI Publisher). • Choose to create the Schemas, or use existing schemas if previously created via RCU. • Either use the Default Port assignments 9500 - 9999, or change to another range. • Choose to use export bundle and browse to the location of the migrated 11g jar file:
NOTE: Password is the password for the migrated 11g RPD • Optionally save Response file • Optionally save the Configuration info to a file.
Manual create or drop the required schemas for an OBIEE install using RCU • To manually create or drop any RCU defined schemas, run the ‘rcu.bat’ or ‘rcu.sh’ executable located at ‘…/oracle_common/bin’ • Follow the appropriate ‘Create Repository’ or ‘Drop Repository’ option steps Note: A fresh schema is required for a OBIEE 12c install. You cannot reuse a pre-existing OBIEE 12c schema.
Usage Tracking • Usage tracking settings are no longer managed by Enterprise Manager. To enable usage tracking, it is necessary to modify the corresponding settings in NQSConfig.ini manually.
Usage Tracking • There are 9 new columns in usage tracking tables in OBIEE 12c compared to 11.1.1.7. But most of them already existed in 11.1.1.9. • In S_NQ_ACCT: • ECID varchar2(1024) added in 11.1.1.9 • corresponds to ECID in biserver-diagnostic.log • TENANT_ID varchar2(128) added in 11.1.1.9 • tenant id, used in multitenancy • SERVICE_NAME varchar2(128) added in 11.1.1.9 • service name, used in multitenancy • SESSION_ID number(10,0) added in 11.1.1.9 • corresponds to biserver session for use in analyzing user behavior by session • HASH_ID varchar2(128) added in 11.1.1.9 • logical query hash id, joins to s_nq_db_acct.hash_id • TOTAL_TEMP_KB number(20,0) added in 12c • total temp space used by a query during execution • RESP_TIME_SEC number(10,0) added in 12c • how much time server took before it started fetching records. This is the response time that the end user would experience with few early records being displayed on dashboard, while server continues fetching more • In S_NQ_DB_ACCT: • HASH_ID varchar2(128) added in 11.1.1.9 • logical query hash id, joins to s_nq_acct.hash_id • PHYSICAL_HASH_ID varchar2(128) added in 11.1.1.9 • used for tracing physical queries to the backend database
Usage Tracking Direct Database Inserts In NQSConfig.INI, modify the following parameters: • ENABLE – turns usage tracking on or off, off by default • PHYSICAL_TABLE_NAME – usage tracking table as defined in the .rpd file • CONNECTION_POOL – connection pool for usage tracking table as defined in the .rpd file For example: ############################################################################### # # Usage Tracking Section # # Collect usage statistics on each logical query submitted to the # server. # ############################################################################### [USAGE_TRACKING] ENABLE = YES; #============================================================================== # Parameters used for writing data to a flat file (i.e. DIRECT_INSERT = NO). # # Note that the directory should be relative to the instance directory. # In general, we prefer directo insert to flat files. If you are working in a cluster, it is strongly recommended you use direct insert. If there is only one Oracle BI Server instance, then you may use flat file data. # The directory is then assumed relative to the process instance. For example, "UTData" is resolved to "$(ORACLE_INSTANCE)/bifoundation/OracleBIServerComponent/<instance_name>/UTData STORAGE_DIRECTORY = "<directory path>"; CHECKPOINT_INTERVAL_MINUTES = 5; FILE_ROLLOVER_INTERVAL_MINUTES = 30; CODE_PAGE = "ANSI"; # ANSI, UTF8, 1252, etc.
Usage Tracking Direct Database Inserts #============================================================================== DIRECT_INSERT = YES; #============================================================================== # Parameters used for inserting data into a table (i.e. DIRECT_INSERT = YES). # # Init-Block Tracking Options are commented out and as a result disabled. # To enable Init-Block Tracking Feature, define the two parameters for # Init-Block, INIT_BLOCK_TABLE_NAME and INIT_BLOCK_CONNECTION_POOL. # PHYSICAL_TABLE_NAME = "UsageTracking"."server1_biplatform"."S_NQ_ACCT"; CONNECTION_POOL = "UsageTracking"."Connection Pool"; # INIT_BLOCK_TABLE_NAME = "<Database>"."<Catalog>"."<Schema>"."<Table>" ; # INIT_BLOCK_CONNECTION_POOL = "<Database>"."<Connection Pool>" ; BUFFER_SIZE = 250 MB; BUFFER_TIME_LIMIT_SECONDS = 5; NUM_INSERT_THREADS = 5; MAX_INSERTS_PER_TRANSACTION = 5 ; JOBQUEUE_SIZE_PER_INSERT_THREADPOOL_THREAD = 100; #default is 100 while 0 means unlimited. THROW_INSERT_WHEN_JOBQUEUE_FULL = NO; # Default is no. # #============================================================================== • Usage tracking tables and columns need to be defined in the .rpd file. If just the tables are defined, an error will be recorded in obisn-diagnostic.log (formerly nqsserver.log) similar to: [2015-07-31T16:50:20.91-07:00] [OBIS] [ERROR:1] [] [] [ecid: 993594d8-80bf-43a7-a83c-11584bbfffd3-00001677,0:1:6] [tid: 81d7a700] [59053] Usage Tracking stopped because the specified Usage Tracking table contained the wrong number of columns or a column with an inappropriate data type. • If usage tracking has previously been defined in the .rpd, since there are a limited number of new columns the easiest modification would be to add the new columns manually in the .rpd.
Hot deployment of the OBIS RPD metadata file • There is a command line tool to upload and download an OBIS RPD in 12c: • ‘data-model-cmd.cmd’ at ‘…\user_projects\domains\bi\bitools\bin\bitools\bin’. • You run this in a cmd window at ‘…\user_projects\domains\bi\bitools\bin\bitools\bin’. • This tool has several other options as well. Type ‘-H’ for a listing. • Currently, there is no equivalent utility to upload/download the OBIPS Webcat.
Hosting the BIEE metadata on a shared network location for clustering • The process is to: • Move/copy the entire ‘bidata’ in the ‘/user_projects/domains/bi/’ directory to shared storage. • Update the config file bi-environment.xml (DOMAIN_HOME/config/fmwconfig/bienv/core/) with the location of this new ‘singleton data directory’. • Example on Windows: • Copy the host ‘bidata’ folder to the target share folder on the network share machine. • On the network windows box, share the target share folder to the appropriate user(s). • On the BIEE Windows server, map a network drive to the share location created in step 2. • Update the bi-environment.xml <bi:singleton-data-directory> tag with the share created in step 3 – e.g.: <bi:singleton-data-directory>Z:\bidata</bi:singleton-data-directory>. • Stop/start the BIEE stack. • Everything under the bidata directory would be on the shared directory/NAS. One of the changes in 12c is to cleanly separate the metadata and config in the deployments hence just copying the bidata directory.
Legend in Stacked Bar Graph • 11g 12c • The sort order in Stack Bar graph has been reversed to improve consistency.
Catalog Size • In 12c, the size of the catalog cannot exceed 4.5GB by default. If the catalog reaches this size then some limitations appears (impossibility to save new projects in Visual Analyzer, …). • To remove this limitation or increase it, the following tags can be added in instanceconfig.xml: • <catalog> • <ServiceInstanceQuota> • <Enabled>true/false</Enabled> • <SizeLimitMB>5120</SizeLimitMB> • </ServiceInstanceQuota> • <catalog>
Concatenation of numeric data types • In 12c, it is not allowed anymore to concatenate columns in numeric data types in logical SQL. The column must be converted to a text data type first. • Note that it is possible revert to 11g behavior by modifying the following setting (which is global) in NQSConfig.ini • [Compatibility] COMPATIBLE_RELEASE = 11.1.1.9 • Note that instead of using a global parameter, it is also possible to change the behavior locally in a report by using a session or request variable, or by setting the value in prefix: set variable COMPATIBLE_RELEASE = '11.1.1.9'
Web Logic Services starting slowly For Linux/Unix installs, if the AdminServer, ManagedServer or NodeManager services are taking a long time to start, it could be a sign of not enough entropy allocated on the server. To check the point in time entropy available on a server, run this command: • cat /proc/sys/kernel/random/entropy_avail • Anything below 500 is at risk of running out of entropy. Increasing the entropy has been seen to dramatically decrease service start up times. The following resources explain how this may be accomplished: • Fusion Middleware Release Notes section “13.28.7 Random Number Generator May Be Slow on Machines With Inadequate Entropy” • The following blogs describe this topic in detail: • WebLogic Server and entropy • Why does my Weblogic Server takes a Long Time to Start?
Install and configure R Engine for Advanced Analytics Need to execute all commands as root or administrator user Linux 64 bit • Explode '.../Oracle_Home/bi/bifoundation/advanced_analytics/r-installer.tar.gz':tar -xvzf ./r-installer.tar.gz • Change Directory to 'RInstaller' • Modify proxy.txt to use the appropriate proxy:Default is proxy=http://[proxy-host:proxy-port]. Modify this to the site specific proxy • Install R:./RInstaller.sh install (default install path is '/usr/lib64/R') • Install required R packages:./RInstaller.sh installpackages • Start R and execute the Sys.BlasLapack function: > Sys.BlasLapack() $vendor [1] "R internal BLAS and LAPACK" $nthreads [1] 1
Modify NQSConfig.ini section 'Advance Analytics Script Section' parameters - e.g.: [ ADVANCE_ANALYTICS_SCRIPT ] # R EXECUTABLE PATH # Specify the script executable binary path. # R_EXECUTABLE_PATH = "/usr/bin/R"; R_EXECUTABLE_PATH = "/usr/lib64/R/bin/R"; # Include the actual executable 'R' # R COMMAND ARGS # Specify the script executable command line arguments. R_COMMAND_ARGS = "--no-restore --no-save --no-timing"; # Max Time to wait for R Process to complete gracefully. # The R Process would be terminated beyond this max time R_PROCESS_TIMEOUT = 3600; # in seconds. # Max Number of R Process that can be active at any given point in time R_MAX_PROCESS = 20; # EXECUTION TARGET WHERE SCRIPT GETS EXECUTED # Defaults to Mid Tier R. The other targets are ORE, etc TARGET = "R"; # THE CONNECTION POOL HAS TO BE SET IF Advanced Analytics NEED TO RUN ON THE DATABASE (eg: ORE) # CONNECTION_POOL = "<Database>"."<Connection Pool>"; • Stop/start BIEE stack
For Linux 7 only • RPMs ‘texinfo-tex-5.1-4.el7.x86_64.rpm’ and ‘texlive-epsf-svn21461.2.7.4-32.el7.noarch.rpm’ need to be installed first. They may be downloaded from the following locations: • http://rpmfind.net/linux/RPM/centos/7.1.1503/x86_64/Packages/texinfo-tex-5.1-4.el7.x86_64.html • http ://rpmfind.net/linux/RPM/centos/7.1.1503/x86_64/Packages/texlive-epsf-svn21461.2.7.4-32.el7.noarch.html • After downloading the rpm from the above links, perform a 'rpm -ivh <rpm_name>' as the root user for each rpm: • rpm -ivh texlive-epsf-svn21461.2.7.4-32.el7.noarch.rpm • rpm -ivh texinfo-tex-5.1-4.el7.x86_64.rpm Note: TexLive has to be installed before texinfo-tex
Windows • Download wget and the unzip commands – ‘http://gnuwin32.sourceforge.net/packages/wget.htm’ and ‘http://gnuwin32.sourceforge.net/packages/unzip.htm’ respectively - and install both. • Add GnuWin32\bin directory to the PATH - e.g.: 'C:\Program Files (x86)\GnuWin32\bin' • Explode '...\Oracle_Home\bi\bifoundation\advanced_analytics\r-installer.tar.gz': • tar -xvzf ./r-installer.tar.gz • Change Directory to 'RInstaller' • Modify proxy.txt to use the appropriate proxy: • Default is proxy=http://[proxy-host:proxy-port]. Modify this to the site specific proxy. • Install R: • RInstaller.bat install (default install path is 'C:\Program Files\R\R-3.1.1') • Install required R packages: • RInstaller.bat installpackages • Start R and execute the Sys.BlasLapack function: R> Sys.BlasLapack() $vendor [1] "Intel Math Kernel Library (Intel MKL)" $nthreads [1] -1 • The returned value of $vendor indicates that MKL has replaced the BLAS and LAPACK that are native to R. • The returned value of nthreads indicates the number of threads to be used by MKL. By default all available threads are used ($nthreads= -1).
Optional - You can change the number of threads to be used by MKL by editing the system environment variable MKL_NUM_THREADS • If MKL_NUM_THREADS does not exist, then you must create it at: • Control Panel > System and Security > System > Advanced system settings > Environment Variables > System variables • After setting MKL_NUM_THREADS to 3, the output of Sys.BlasLapack shows a value of 3 for $nthreads. R> Sys.BlasLapack() $vendor [1] "Intel Math Kernel Library (Intel MKL)" $nthreads [1] 3 • Modify NQSConfig.ini section 'Advance Analytics Script Section' parameters - e.g.: [ ADVANCE_ANALYTICS_SCRIPT ] # R EXECUTABLE PATH # Specify the script executable binary path. # R_EXECUTABLE_PATH = "/usr/bin/R"; R_EXECUTABLE_PATH = "C:/Program Files/R/R-3.1.1/bin/x64/R"; # Include the actual executable 'R‘ # R COMMAND ARGS # Specify the script executable command line arguments. R_COMMAND_ARGS = "--no-restore --no-save --no-timing"; # Max Time to wait for R Process to complete gracefully. # The R Process would be terminated beyond this max time R_PROCESS_TIMEOUT = 3600; # in seconds. # Max Number of R Process that can be active at any given point in time R_MAX_PROCESS = 20; # EXECUTION TARGET WHERE SCRIPT GETS EXECUTED # Defaults to Mid Tier R. The other targets are ORE, etc TARGET = "R“; • Stop/start BIEE stack Uninstallation • Windows: Use Windows ‘Programs’ or ‘Programs and Features’ • Linux: ./RInstaller uninstall
Configuring JDBC datasources • In 12c, all configuration is done out of the box. The Data Source Server is set up on the managed server. Deploying the Data Source Server war file and editing NQSConfig.ini are artifacts of 11g and are no longer needed. • From Admin tool select ‘File > ‘Load Java Datasources . . .’ - This will bring up the Connect to Java Datasource Server interface. For Hostname, enter the Admin Server name. The default port is 9500. • Successful connection:
Now when importing a new data source, JDBC (Direct Driver) and JDBC (JNDI) Connection Types are available:
Oracle BITech Demo YouTube channel • https://www.youtube.com/user/OracleBITechDemos