13 Kasım 2011 Pazar

Travel Tips

Besides technical articles, I want to share some pictures which I've taken during my trips. I was just thinking about the trips for the last 5 years.. So many places, so many friends, different cultures and experiences. This is the best part of my job.

I uploaded my favorite pictures in my blog: http://www.oratt.com
When you check the travel section, you'll find them :)

One day in Croatia..
















One day in Slovenia...

















Or in San Francisco...

10 Kasım 2011 Perşembe

Oracle Public Cloud Services

I deliver Oracle Business Intelligence 11g Build Repositories course in Athens this week and want to share information related to Oracle Public Cloud Services. 
Oracle announced cloud services for their customers. It's "Oracle Public Cloud". It's not yet enabled but it's on the way. Oracle Public Cloud is divided into 2 main categories:
1-Application Services
  -Fusion CRM: Managing opportunity data, territory management and so on  by using Fusion CRM
  -Fusion HCM (Fusion Human Capital Management): Supports interactive organizational charts, people portraits, analytics, employee benefit administration and so on.
  -Social Network: Secure collaboration tool in the enterprise.
2-Platform Services
  -Java Cloud Service: Supports applications based on WebLogic server, framework like Oracle ADF, supports high availability based on WebLogic Server Clusters and so on.
  -Database Cloud Service: Develop and deploy your databases on Oracle 11g R2 with high availability options and your data will be very securely stored. 
You can get more information from the below address: 
As a result, you will be easily subscribing to these cloud services and and manage your business processes in a high available and secure environment with less cost.


29 Ekim 2011 Cumartesi

Oracle Business Intelligence 11g - Dashboard Prompts

Dashboard prompt is very useful object which can be published in the dashboard in order to filter the data. In this example, I have created 3 reports and published them in the dashboard. Of course, the last object I’ve created is the dashboard prompt.  When the users accesses the dashboard for the first time, the default values are used like defined in the analysis. 













Once you select the new value from the drop down list, you can see that all the analysis which have a filter defined are effected. 
















28 Ekim 2011 Cuma

Oracle Business Intelligence 11g Performance & Strategy Management

It was again very busy days for last couple of months. To be honest, it was as usual. I had to deliver some trainings in different locations and I had a chance to deliver seminars in SIOUG 2011 and HROUG 2011. I deliver 2 sessions in SIOUG 2011 and they were about OBI 11g. I was invited to HROUG 2011 as a keynote speaker about applications and delivered a session about “Business Automation Features of  Siebel CRM”. Both of the events were really great and I’m very glad to a be a part of these events. In addition, I’ll be delivering 2 sessions in BGOUG 2011. 
As a result I want to share an article about the performance and strategy management feature of Oracle Business Intelligence 11g.
The first object type is the KPI. It is a measurment of business process and compares against a specific goal and it has a trending option which is optional. Also you can create “KPI Watchlists” to have a group of related KPIs and access all the details from a single user interface. 
Here is how a KPI looks like: 























And if you have multiple KPIs which is obvious then you can gain benefit of using KPI watchlists. When you create the KPI watchlist, you’ll be able to define the dimensionility and then add the KPIs that you’re interested:







Another important feature of Oracle Business Intelligence 11g is you have a solution to implement strategy management techniques like Balanced Scorecards.
First you create a Scorecard. 













Then it’s better to define the vision and mission documents by using the Scorecard Documents menu item:
Vision Document: A statement what your organization wants to be in the future. 
Mission Document: A statement specifies the key business goals and priorities that are required to achieve the vision.




















In order to manage the defined strategy, you’ll need to understand the performance lenses which are called “Perspectives”. There are 4 different default perspectives. New ones can be also created in the case of requirements. So these are the categories in your organization with which to associate initiatives, objectives and KPIs.
Financial, customer, internal processes and learning & growth are the default perspectives.













Maybe the most important object type in the scorecards is the “Objectives”.  Objectives are desired outcomes of your organization and can be organization based or organized for each department seperately.  KPIs are assigned to them so that you can easily measure its progress. They are created hierarchically. 













To monitor the progress in the scorecards, you can use “Initiatives”. They are time specific tasks like milestones:













There are 3 different types of objects more in order to support the scorecards:
1- Strategy Trees: They are created based on the objectives and helps to navigate to entire strategy in the scorecard and provides supporting information such as owners and KPIs.
2- Strategy Maps: A map shows how the objectives that have been defined for a scorecard area aligned by perspectives and indicates the relationship between the objectives.
3- Cause & Effect Map: It shows the cause & effect relationship between objectives. It helps identifying other objectives that impact the objectives and other objectives that this objective impacts.
Strategy Tree:













Strategy Map:













Cause & Effect Map:













And the big picture of the scorecard:






















23 Ekim 2011 Pazar

HrOUG 2011











I’ve attended to Croatian Oracle User Group event in Rovinj, Croatia for the first time. The conference was taken in place called Red Island very closed to Rovinj. You can only go by ferry.  It was great to attend this conference and I was invited as keynote speaker. My keynote speech was about Siebel CRM application. The main subject was about business automation features of Siebel CRM application.  You can access the details from:

http://www.hroug.hr/hr

SIOUG 2011








Just before the Oracle OpenWorld, I’ve attended to Slovenian Oracle User Group event which was in Portoroz like the previous year. I had a chance to deliver 2 sessions. Both of them were related to Oracle Business Intelligence 11g. One of the session was about the “Performance Management and Scorecards” and the other one was about “Creating Custom Actions in OBI 11g”.
Portoroz is also very nice city in the south part of Slovenia.

http://www.sioug.si/

Oracle OpenWorld 2011










I have attended to Oracle OpenWorld 2011. It was a great experience to attend different kind of sessions and meeting with colleagues from all around the world.
You can easily access the presentation details and the content itself from the link below. So even if you couldn’t have time to attend OOW 11, you still have an option to download the content and read them. The link is below: (from TOOLS and Content Catalog).
http://www.oracle.com/openworld/index.html
I’m also going to publish some pictures about my trip to San Francisco in the coming days.

18 Mayıs 2011 Çarşamba

Oracle Business Intelligence 11g - How To Limit Data In Your Analyses? Part II

I’m going to demonstrate how to use prompts in an analysis in order to limit data. After I create the analysis, I check the result. Then click the “Prompt” tab and create 3 column prompts.  As a result end users are going to select the values from the dropdown list and eliminate the records based on the user selections. In the first dropdown list, they will select the “Company” then “Organization” and at last “Department”.









































The last example is about the selections. So I create a report with 4 columns and grand totals. 













I expand the selection steps section to edit the selections. And edit the selections.  I select the “Start with selected members” from the actions dropdown list and add two departments. You’ll see that the grand total is changed.































In the last example I’m going to show you how to use remove action in the selections. It starts with all members and remove one member in the second step. As a result the selections are applied after the aggregation and the grand total isn’t changed.



























Oracle Business Intelligence 11g - How To Limit Data In Your Analyses? Part I

There are 2 ways to limit the data in your analyses. 
1- Using Filters: This type of limiting data limits data for a column prior to aggregation.
2- Using Selections: This limits data after aggregation. There are 2 types of selections: 
a- Using selections based on attribute columns: This limits members after aggregation and doesn't effect the row and grand totals.
b- Using selections based on hierarchical columns to limit members. Effects row and grand totals but doesn't effect the total members aggregation.
USING FILTERS
Creating filters is same as in the previous version of OBI 10g. You can create filters in the analyses and save the filters as named filters in order to access to filter definition and use that filter in another analyses. You can also use "Grouping" option of filters if you've added more then 1 filter by using AND/OR operators.  Another information about the filters is using the variables to implement dynamic filters. Dynamic filters can be based 3 types of variables:
-Session variables
-Repository variables
-Presentation variables
Another option about the filters is using a Saved Analysis as a filter. You can use any saved analysis that returns a column of values to filter a selected column in the originating analysis.
Converting an existing filter to SQL is a standard feature in order to eliminate the rows by writing SQL condition.
I'm going to demonstrate these filter types and also create analysis prompts. 
USING SELECTIONS
Selections are used to limit the members after the aggregation. Members are assembled from selection steps with the same order which is in the selection pane in the analysis. Another good feature of the selections is using groups. Groups are used grouping members and aggregating the result based on the list of members in the groups. 
Here are some demonstrations about limiting data by using filters and selections.
First one will be adding a simple filter to the analysis. I create a simple report with 3 filters. You will see that you can easily use “Grouping” feature. 2 logical operators (AND/OR) are supported.









































The second example is creating filter based on another analysis. I create an analysis and filtered data by year column. The column stores only 2009 and 2010 values. Then I create another report and a filter to use the result set of another report based on “Year” column.















































The third example is based on a filter that includes a variable. There are 3 kinds of  variables:
  • Presentation Variable: Can be declared in the analysis.
  • Repository Variable: This should be created in the repository. And repository variables are initiated when the service is started and can be accessed until the service is down.
  • Session Variables: It’s also created and declared in the repository. The difference is its lifetime. It’s instances declared when the session is opened, stays active until the session is closed. 
If you want to gain benefit of variables, you’ll have to get the variable list by accessing the repository.  In my example, I use a repository variable as  filter. When the variables value is refreshed, the report will be effected. 
















The last example is converting the filter to SQL in order to edit criteria by using SQL. You achieve this by selecting the checkbox “Convert this filter to SQL”.























7 Nisan 2011 Perşembe

Oracle 11g R2 - Configuring Data Guard / Part III

Performing a Switchover Test

The last article is about performing a switchover test. After you configure the Data Guard configuration, it’s a good practice to simulate a disaster. There are also other ways but I’m going to make a switchover test only. 
*** Be careful about the server that you execute the commands on. In every section, there’s a note about on which server that the script is going to be executed***
PRIMARY SERVER
SQL/PLUS
[oracle@rome ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Thu Oct 28 10:43:05 2010
Copyright (c) 1982, 2009, Oracle.  All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> create table hr.emp_hist as select * from hr.employees;
Table created.
SQL> alter system switch logfile;
System altered.
SQL> exit
DGMGRL
[oracle@rome ~]$ dgmgrl
DGMGRL for Linux: Version 11.2.0.1.0 - Production
Copyright (c) 2000, 2009, Oracle. All rights reserved.
Welcome to DGMGRL, type "help" for information.
DGMGRL> connect sys/Oracle_1
Connected.
DGMGRL> show database verbose 'primary';
Database - primary
  Role:            PRIMARY
  Intended State:  TRANSPORT-ON
  Instance(s):
    primary
  Properties:
    DGConnectIdentifier             = 'primary'
    ObserverConnectIdentifier       = ''
    LogXptMode                      = 'ASYNC'
    DelayMins                       = '0'
    Binding                         = 'optional'
    MaxFailure                      = '0'
    MaxConnections                  = '1'
    ReopenSecs                      = '300'
    NetTimeout                      = '30'
    RedoCompression                 = 'DISABLE'
    LogShipping                     = 'ON'
    PreferredApplyInstance          = ''
    ApplyInstanceTimeout            = '0'
    ApplyParallel                   = 'AUTO'
    StandbyFileManagement           = 'MANUAL'
    ArchiveLagTarget                = '0'
    LogArchiveMaxProcesses          = '4'
    LogArchiveMinSucceedDest        = '1'
    DbFileNameConvert               = ''
    LogFileNameConvert              = ''
    FastStartFailoverTarget         = ''
    StatusReport                    = '(monitor)'
    InconsistentProperties          = '(monitor)'
    InconsistentLogXptProps         = '(monitor)'
    SendQEntries                    = '(monitor)'
    LogXptStatus                    = '(monitor)'
    RecvQEntries                    = '(monitor)'
    HostName                        = 'rome.europe'
    SidName                         = 'primary'
    StaticConnectIdentifier         = '(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=rome.europe)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=primary_DGMGRL.europe)(INSTANCE_NAME=primary)(SERVER=DEDICATED)))'
    StandbyArchiveLocation          = '/u01/app/oracle/flash_recovery_area'
    AlternateLocation               = ''
    LogArchiveTrace                 = '0'
    LogArchiveFormat                = '%t_%s_%r.dbf'
    TopWaitEvents                   = '(monitor)'
Database Status:
SUCCESS
STANDBY SERVER
[oracle@venice ~]$ dgmgrl
DGMGRL for Linux: Version 11.2.0.1.0 - Production
Copyright (c) 2000, 2009, Oracle. All rights reserved.
Welcome to DGMGRL, type "help" for information.
DGMGRL> connect sys/Oracle_1
Connected.
DGMGRL> show database verbose 'sby1';
Database - sby1
  Role:            PHYSICAL STANDBY
  Intended State:  APPLY-ON
  Transport Lag:   0 seconds
  Apply Lag:       0 seconds
  Real Time Query: OFF
  Instance(s):
    sby1
  Properties:
    DGConnectIdentifier             = 'sby1'
    ObserverConnectIdentifier       = ''
    LogXptMode                      = 'ASYNC'
    DelayMins                       = '0'
    Binding                         = 'OPTIONAL'
    MaxFailure                      = '0'
    MaxConnections                  = '1'
    ReopenSecs                      = '300'
    NetTimeout                      = '30'
    RedoCompression                 = 'DISABLE'
    LogShipping                     = 'ON'
    PreferredApplyInstance          = ''
    ApplyInstanceTimeout            = '0'
    ApplyParallel                   = 'AUTO'
    StandbyFileManagement           = 'AUTO'
    ArchiveLagTarget                = '0'
    LogArchiveMaxProcesses          = '5'
    LogArchiveMinSucceedDest        = '1'
    DbFileNameConvert               = '/primary/, /sby1/'
    LogFileNameConvert              = '/primary/, /sby1/'
    FastStartFailoverTarget         = ''
    StatusReport                    = '(monitor)'
    InconsistentProperties          = '(monitor)'
    InconsistentLogXptProps         = '(monitor)'
    SendQEntries                    = '(monitor)'
    LogXptStatus                    = '(monitor)'
    RecvQEntries                    = '(monitor)'
    HostName                        = 'venice.europe'
    SidName                         = 'sby1'
    StaticConnectIdentifier         = '(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=venice.europe)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=sby1_DGMGRL.europe)(INSTANCE_NAME=sby1)(SERVER=DEDICATED)))'
    StandbyArchiveLocation          = '/u01/app/oracle/flash_recovery_area'
    AlternateLocation               = ''
    LogArchiveTrace                 = '0'
    LogArchiveFormat                = '%t_%s_%r.dbf'
    TopWaitEvents                   = '(monitor)'
Database Status:
SUCCESS
DGMGRL>
PRIMARY SERVER
DGMGRL> edit database 'primary' set property DbFileNameConvert='/sby1/, /primary/';
Property "dbfilenameconvert" updated
DGMGRL> edit database 'primary' set property
> LogFileNameConvert='/sby1/, /primary/';
Property "logfilenameconvert" updated
DGMGRL> 
DGMGRL> show configuration ;
Configuration - DGConfig1
  Protection Mode: MaxPerformance
  Databases:
    sby1    - Primary database
    primary - Physical standby database
Fast-Start Failover: DISABLED
Configuration Status:
SUCCESS
SQL> select status from v$instance;
STATUS
------------
MOUNTED
STANDBY SERVER
DGMGRL> show configuration
Configuration - DGConfig1
  Protection Mode: MaxPerformance
  Databases:
    sby1    - Primary database
    primary - Physical standby database
Fast-Start Failover: DISABLED
Configuration Status:
SUCCESS
SQL> select status from v$instance;
STATUS
------------
OPEN
SQL> select instance_name from v$instance;
INSTANCE_NAME
----------------
sby1
LATER SWITCHOVER TO PRIMARY AGAIN
SERVER: SBY1
DGMGRL> switchover to primary;
Performing switchover NOW, please wait...
New primary database "primary" is opening...
Operation requires shutdown of instance "sby1" on database "sby1"
Shutting down instance "sby1"...
ORA-01109: database not open
Database dismounted.
ORACLE instance shut down.
Operation requires startup of instance "sby1" on database "sby1"
Starting instance "sby1"...
ORACLE instance started.
Database mounted.
Switchover succeeded, new primary is "primary"
DGMGRL>
DGMGRL> show configuration;
Configuration - DGConfig1
  Protection Mode: MaxPerformance
  Databases:
    primary - Primary database
    sby1    - Physical standby database
Fast-Start Failover: DISABLED
Configuration Status:
SUCCESS
DGMGRL>