Oracle BI 12c has been released for some time now. There are a few changes in the way it is installed compared to the previous 11g releases. This post is about installing and configuring OBIEE 12c with detailed step-by-step instructions(Linux x86-64 in this case).
You can start with downloading the media from OTN :
1. Download and install JDK8(at least 1.8.0_40)
2. Download and install Weblogic Server
3. Download and install Oracle Business Intelligence 12c (220.127.116.11.0)
Now let’s start with the steps above.
1. After JDK8 is installed export environment variables and add this to the profile if needed.
2. Install Oracle Fusion Middleware Infrastructure
$ unzip -q fmw_18.104.22.168.0_infrastructure_Disk1_1of1.zip
$ $JAVA_HOME/bin/java -d64 -jar fmw_22.214.171.124.0_infrastructure.jar
Click Next to continue and then choose ‘Skip Auto Updates’ and then click Next.
Choose the Fusion Middleware Home location for example /app/oracle/obiee12c
Choose Fusion Middleware Infrastructure with Examples in case you are keen on playing with them.
Click Next after all system configuration checks are successful.
Choose Next and continue to next screen.
Choose Install to proceed with the installation.
Click Finish to complete the installation.
Oracle Fusion Middleware Infrastructure 12c is now installed.
3. Install OBIEE
To begin with OPMN is no more used in Oracle Fusion Middleware and is deprecated in 12c. You can check more about OBIEE 12c New Features here.
Navigate to the directory where you downloaded the media and unzip the two files.
$ cd /home/oracle/obiee12c
$ unzip -q fmw_126.96.36.199.0_bi_linux64_Disk1_1of2.zip
$ unzip -q fmw_188.8.131.52.0_bi_linux64_Disk1_2of2.zip
Again choose Skip Auto Updates and then click Next.
Specify the same Fusion Middleware home from the steps above.
Choose BI Platform with Samples in case you want to play with the Sample Apps.
When all system configuration checks are passed click Next.
Choose Install to proceed with the installation.
Choose Finish to complete the installation.
OBIEE 12c is now installed. Next part of this post will cover the repository creation.
4. Repository creation
The RCU – Repository Creation Utility is no more a separate download as it used to be in the previous releases. It is now part of the software installation. You can start RCU as shown below:
$ cd /app/oracle/obiee12c/oracle_common/bin
Click Next and then choose Create Repository and then System Load and Product Load if you have DBA privileges.
Specify the Oracle database details. Note that Oracle Fusion Middleware 12c requires Oracle Database 11g R2(184.108.40.206) or higher. Bare in mind if you go with Oracle 12c you’d better use a container database as non-container architecture is deprecated in Oracle Database 12c, and may be desupported and unavailable in a release after Oracle Database 12cRelease 2. Oracle recommendation is to use the container architecture.
Click OK when prerequisite checks are completed and choose Next.
Choose the prefix for the schemas to be created, in this case the default DEV.
Click OK when prerequisite checks are completed and choose Next.
Provide password(s) for the schemas to be created.
Click Create to confirm the schemas which will be created.
Click Close to exit from RCU. With this step the repositories creation is complete.
Next section will cover the configuration of OBIEE 12c.
5. Configure OBIEE 12c
Navigate to <OBIEE_HOME>/bi/bin and start the configuration utility script.
$ cd /app/oracle/obiee12c/bi/bin
Select components to install in this case just Business Intelligence Enterprise Edition and then click Next.
Click Next when all system checks are completed.
Specify the details for the BI domain to be created.
The repositories schemas are created with the RCU so choose Use existing schemas to continue. You have the option to create the schemas at this step too if you haven’t done this yet.
Specify the port numbers in this case default values.
Choose SampleAppLite in case you need this.
On the next screen click Configure. This step will take a while to get the configuration completed.
Click Next and you will get the configuration complete screen.
It is always useful to save the configuration install log file. Click Finish to complete the configuration.
Once this is done a browser window opens up automatically for you to login to OBIEE.
This post will end up with listing the basic commands to manage the services. The scripts for this are located in <OBIEE_HOME>/user_projects/domains/bi/bitools/bin
Hello OBIEE 12c world. Enjoy!
The autumn BGOUG conference is now over. I planned to write a post immediately after the end of the conference when the enthusiasm and spirit is still fresh bee-zing but anyway it stays for quite a while :)
This year it was the whole family attending the conference and my daughter Alex had an early Oracle start listening to Jonathan Lewis talking about execution plans.
This time we had about 370 people attending BGOUG. My presentation on Three Sides of the Coin with Oracle Data Integration – ODI, OGG, EDQ went very well and I had a full room of people. I also had a live 30 minutes demo which went smoothly and I managed to fit to the 60 mins all together. I attended Jonathan Lewis’s, Joze Senegacnik’s , Gurcan Orhan’s sessions. Not as many as I initially thought. I planned to listen Heli, Julian Dontcheff and Martin Widlake at least but I couldn’t do it. I am sure I will see Martin at the LOB events in London anyway.
It was really nice to catch up with old friends and colleagues and also make new friends. I am glad I met Osama Mustafa and Joel Goodman in person. I haven’t seen Julian for quite a while and it was a real pleasure to see him again and meet his Accenture colleagues. Same for Joze and Lili. Obviously BGOUG is like a big family(without the fights) and it is quite an international one.
Big thanks to Milena for organizing this great event. The whole team has been doing great job for all these years now. Really nice idea to start printing the number of visits and tracking this for each attendee. I have now 16 and Joze has 14 and I have to be very careful with that :)
All in all, it was a great event, presentations, great people, very nice venue, hotel, food, party till midnight. I would say keep up the good work!
When you connect from ODI Studio 12c to the repository you may get error “no ocijdbc in java.library.path”. In my case I use ODI Studio 12c installed on Windows 7 64bit machine and connecting to ODI 12c linux environment. So why do I get this error?
On the same note I use Oracle JDBC Driver ODI driver connection. As the studio does not use the tnsnames to connect to the Oracle instance if you try jdbc:oracle:oci8:@<tns_alias> it will not work. That’s why you can give (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=hostname)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=SID))) instead. So far so good but still get the same error.
This error gives me a signal it might be because of incompatibility of the jdbc drivers coming with ODI 12c and the Oracle client. As a starting point I have Oracle 220.127.116.11 client installed on my station. Let’s check what version ODI 12c uses, probably 12? Check this in <<ODI_HOME>>\oracle_common\modules\oracle.jdbc_12.1.0\ojdbc6dms\META-INF\MANIFEST.MF
Now it makes perfect sense. Let’s install Oracle 18.104.22.168.0 client. Once this is done two more things needed. Add the following line in <<ODI_HOME>>\odi\studio\bin\odi.conf\odi.conf
The second thing is to set the system variables for
Enjoy ODI 12c world!
Happy New Year everyone. I wish you a prosperous 2015!
Time is passing by too fast. I had a dynamic 2014 with a couple of interesting projects. It’s not time to recap now but it is definitely time to refresh my blog.
For me with the new year comes the new beginning too. I switched from contracting to permanent job because I’ve always wanted to work for an Oracle partner in the UK with big Oracle projects. I am very pleased I joined Peak Indicators as a BI Consultant to work on OBIEE and ODI projects. Peak Indicators is an experienced Business Intelligence consulting company which is an Oracle Gold Partner highly specialized in Oracle Business Intelligence.
I had a trip to Chesterfield to meet the colleagues there and some in London. I am glad that a week after I started I had the chance to install OBIEE and apply latest OBIEE bundle patch (22.214.171.124.150120) released this Tuesday. So I started to get the feel of it and I would say there is a lot to crunch. I hope I will be able to blog more and attend UKOUG as well as BGOUG.
I think I am a little bit late but on the other hand it’s never too late to comment and share opinion about some among the 500+ new features introduced with Oracle Database 12c.
The first feature which really caught my attention was Multiple Indexes on Same Set of Columns as long as there are differences and only one of them is visible. Before getting into an example , there are some exceptions Oracle Doc :
- You cannot create a B-tree index and a B-tree cluster index on the same set of columns.
- You cannot create a B-tree index and an index-organized table on the same set of columns.
Prior to 12c you know when you try to create more than one index on the same list of columns you get ORA-01408: such column list already indexed error.
If you think, it sounds quite logical. What is that which made this feature be available in Oracle Database 12c now? This is Testing performance and more important Index availability. Now index maintenance and respectively application maintenance is much easier.
Imagine you have to change an existing index(even more a large index)from a non-partitioned index to a partitioned index or convert a B-Tree to a Bitmap index. Instead of having ‘downtime’ and wait for the existing index to be dropped and the set of columns will not be covered by the index. We can create the new one in advance, test and when satisfied make invisible the existing one(or drop it) and make visible the newly created index. Flexible, isn’t it !?!
SQL*Plus: Release 126.96.36.199.0 Production on Mon Jul 29 11:09:01 2013 Copyright (c) 1982, 2013, Oracle. All rights reserved. SQL> create table test_idx ( col1 integer, col2 integer, col3 integer, col4 varchar2(100) ); Table created. SQL> create index idx1 on test_idx(col1,col2,col3); Index created. SQL> create bitmap index idx2 on test_idx(col1,col2,col3); create bitmap index idx2 on test_idx(col1,col2,col3) * ERROR at line 1: ORA-01408: such column list already indexed SQL> create bitmap index idx2 on test_idx(col1,col2,col3) invisible; Index created.
We can now test idx2 index and if it performs well drop idx1 and make idx2 visible. There are a bunch of articles already about this new feature, have a look at Tom Kyte’s Blog and Richard Foote’s Blog .
Next, I’d like to mention DEFAULT values using sequences. It is quite handy to have CURRVAL and NEXTVAL as the default values for a column:
SQL> create sequence s_test_seq; Sequence created. SQL> create table test_seq (col1 NUMBER DEFAULT s_test_seq.NEXTVAL, 2 col2 varchar2(100) ); Table created. SQL> insert into test_seq(col2)values('Test Default value'); 1 row created. SQL> commit; Commit complete. SQL> select * from test_seq; COL1 COL2 ========== ===================================== 1 Test Default value
This means that the trigger-based functionality and writing PL/SQL for populating number id columns with a sequence is now a past with Oracle 12c.
You can also check Tim Hall’s blog for more details.
Other features which impress me at first glance are:
- Oracle Data Redaction
- Online Statistics Gathering for Bulk Loads
- Dynamic Statistics
- Concurrent Statistics Gathering
- Concurrent Execution of UNION and UNION ALL Branches
- Automatic Data Optimization
- Move a Data File Online
- ONLINE Move Partition
- Table-Level Recovery From Backups
- Oracle Data Pump Export View As a Table
- Partial Indexes for Partitioned Tables
- SYSBACKUP Administration Privilege
- Last Login Time Information
- Real-Time Database Operations Monitoring
- Enhanced Online DDL Capabilities(no longer require blocking locks)
- Row Limiting Clause for Top-N Queries
- Synchronous Materialized View Refresh
Just a quick mention when you get the error bellow while trying to create a trigger for example:
CREATE OR REPLACE TRIGGER AGE_GROUP_TRG
BEFORE INSERT ON AGE_GROUP REFERENCING
NEW AS NEW
FOR EACH ROW
SELECT AGE_GROUP_SEQ.nextval INTO :NEW.AGE_GROUP_ID FROM dual;
ORA-00603: ORACLE server session terminated by fatal error
ORA-00600: internal error code, arguments: [kqlidchg1], , , , , , , , , , , 
ORA-00604: error occurred at recursive SQL level 1
ORA-00001: unique constraint (SYS.I_PLSCOPE_SIG_IDENTIFIER$) violated
00603. 00000 – “ORACLE server session terminated by fatal error”
*Cause: An ORACLE server session is in an unrecoverable state.
*Action: Login to ORACLE again so a new server session will be created
The root cause is in the plscope_settings. If you use SQL Developer try to change PLSCOPE_SETTINGS to NONE from menu Tools->Preferences->Database->PL/SQL Compiler->PLScope Identifiers.
There are quite a lot discussions about this like this thread.
This post is about to quickly refer to one of the most common trick you must know when you install ODI 11g on Windows Server 2008 64 bit OS.
64-bit JDK is just fine but once you start ODI 11g Studio from the same machine you will get “Oracle ODI 11g Unable to launch the Java Virtual Machine Located at path …”:
This is because ODI 11g Studio client tool works only with 32-bit JDK. The workaround is to edit $ODI_HOME\oracledi\client\odi\bin\odi.conf and point SetJavaHome to the 32-bit path.
You also can have a look here.