Quantcast
Channel: ODTUG Aggregator
Viewing all 2258 articles
Browse latest View live

Emerging Tech Unconference Session & Changing Landscape Panels

$
0
0
The tech world is constantly evolving and so is ODTUG Kscope! This year, we are introducing a new Emerging Tech unconference breakout session and careers and changing landscape panels for DBA/Developers and EPM/BI.

Fetch module name from line number in package with pl/scope

$
0
0

Here is a small statement I am using to find the name of a submodule based upon error stack data (utl_call_stack.error_line(x) or dbms_utility.format_error_stack).

The function IDENTIFY_MODULE helps to diagnose errors. If an error happens in plsql the error stack returns only the name of a package (=unit) and the line number. Using this line number we can look up the pl/scope information and make a solid guess about the module name. For various reasons this is only a good guess, not a guarantee (see problem section below).

solution

The following code snippets will only work if the relevant packages were compiled with PLSCOPE_SETTINGS=’IDENTIFIERS:ALL’.

ALTER SESSION SET plscope_settings='identifiers:all';

SQL statement

fetch the nearest procedure or function

select * --type, name, signature, line, usage_id, usage_context_id
from all_identifiers
where object_name = :PACKAGE_NAME
and object_type= 'PACKAGE BODY'
and usage in ( 'DEFINITION','DECLARATION' )
and type in ('PROCEDURE','FUNCTION')
and line <= :LINE_NUMBER
order by line desc
fetch first 1 row only
;

This will find procedures and functions in our code that were declared just before the line of error.

There are many cases where we get some false positives.

But it is a good start.

plsql enrichment

Using a little bit of plsql we can make this logic more robust. And even get data about submodule hierachies.

Put this function in the instrumentation package of your choice (for example logger) and then use it to improve log information. How this is done in detail is out of scope for this post.

create or replace function identify_module (p_owner in varchar2, p_unit in varchar2, p_line in number) return varchar2
is
  /**************************************************************
  /* Name          :  identify_module
  **************************************************************
  * description    :  uses PLSCOPE, to get additional info about the module name of a source code line 
  *  This only works reliably for code compiled with optimizationlevel = 1
  *  higher optimization levels might move code lines. The line reported in error and backtrace stacks (run time) can differ from the lines stored in PL/scope or user_source (compile time).
  *
  * @author: Sven Weller, syntegris information solutions GmbH
  **************************************************************
  * parameter      
  * @param  : p_owner = schema name of unit
  * @param  : p_unit = package name
  * @param  : p_line = line of code, for which we would like to see the name of the modul
  * @return : concatenated submodule names  
  **************************************************************/
 cursor c_search_by_line (cv_owner in varchar2, cv_unit in varchar2, cv_line in number)
  is
    select /*+ first_rows(1) */ i.type, i.name, i.line, i.usage_id, i.usage_context_id, i.usage, i.signature
    from ALL_IDENTIFIERS i
    where i.owner = cv_owner
    and i.object_name = cv_unit
    and i.object_type = 'PACKAGE BODY'
    and i.line <= cv_line 
    -- context must be in same package body
    and i.usage_context_id in (select i2.usage_id from ALL_IDENTIFIERS i2 where i2.owner = cv_owner and i2.object_name = cv_unit and i2.object_type = 'PACKAGE BODY')
    order by line desc, usage_id asc
    ;
  
  cursor c_search_by_usage (cv_owner in varchar2, cv_unit in varchar2, cv_usage_id in number)
  is
    select /*+ first_rows(1) */ type, name, line, usage_id, usage_context_id, usage, signature
    from ALL_IDENTIFIERS
    where owner = cv_owner
    and object_name = cv_unit
    and OBJECT_TYPE = 'PACKAGE BODY'
    and usage_id = cv_usage_id 
    order by decode (usage, 'DEFINITION',1, 'DECLARATION', 2, 3), line desc,  usage_id asc
    ;

  r_result_byLine  c_search_by_line%rowtype;
  r_result_byUsage c_search_by_usage%rowtype;
  r_last_result    c_search_by_usage%rowtype;
  v_owner          all_identifiers.owner%type;
  v_modul_name     all_identifiers.name%type;
  v_first_type     all_identifiers.type%type;
  v_max_hierarchy  binary_integer := 5;
begin
  -- If owner is missing, use the current schema
  v_owner := coalesce(p_owner,sys_context('userenv','current_schema'));
  
  -- find the closest line and check its context.
  open c_search_by_line(v_owner, p_unit, p_line);
  fetch c_search_by_line into r_result_byLine;
  close c_search_by_line;

  if r_result_byLine.usage_context_id = 1 then
    -- we seem to be already in main package body.
    -- this can be either a problem during a parameter call 
    -- or the error happened in the initialisatzion part of the package
    case r_result_byLine.usage 
      when 'DEFINITION' then
        v_modul_name :=r_result_byLine.type||' '||p_unit||'.'||r_result_byLine.name;
      when 'DECLARATION' then
        v_modul_name :='declaration of '||r_result_byLine.type||' '||p_unit||'.'||r_result_byLine.name;
      else 
        v_modul_name :='body of '||p_unit;
    end case;
    
  else    
      r_result_byUsage := r_result_byLine;
      --r_result_byUsage.usage_context_id := r_result_byLine.usage_id;
      
      -- find module names
      <>
      loop 
        if r_result_byUsage.usage in ('DEFINITION', 'DECLARATION')  
           and r_result_byUsage.type in ('PROCEDURE','FUNCTION')
           and (r_last_result.signature != r_result_byUsage.signature or r_last_result.signature is null)
           then
             -- concat multiple submodule names
             v_modul_name := r_result_byUsage.name
                            ||case when v_modul_name is not null then '.'||v_modul_name end;
             v_first_type := coalesce(v_first_type, r_result_byUsage.type);
             -- remember result to compare if we get duplicate entries because of declaration->definition
             r_last_result := r_result_byUsage;
        end if;
        -- stop when package body level is reached
        exit when r_result_byUsage.usage_context_id in (0, 1) or v_max_hierarchy = 0;


        -- it seems to be a submodule, so do an additional call and fetch also the parent module
        open c_search_by_usage(p_owner, p_unit, r_result_byUsage.usage_context_id);
        fetch c_search_by_usage into r_result_byUsage;
        close c_search_by_usage;
    
        
        -- safety counter to prevent endless loops
        v_max_hierarchy := v_max_hierarchy - 1;
      end loop parent_modules;  
    
      -- add info about type (FUNCTION/PROCEDURE)
      if v_modul_name is not null then
        v_modul_name :=v_first_type||''||p_unit||'.'||v_modul_name;
      --else   
      --  v_modul_name := '--no submodule found--';
      end if;
  end if;  
  return v_modul_name;
exception
  when no_data_found then
    return null;
end identify_module;
/

Example

Check the result for each line of some test package.
You can run this example yourself in LiveSQL .

The function had to be modified slightly to use USER_IDENTIFIERS instead of ALL_IDENTIFIERS to be able to run in LiveSQL.

select line, identify_module(user, name, line) , text 
from user_source
where name='TEST_PACKAGE_FUNC_PROC'
and type = 'PACKAGE BODY';

Result

LINE	IDENTIFY_MODULE(USER,NAME,LINE)	TEXT
1		"package body Test_Package_Func_Proc "
2		"as "
3	declaration of VARIABLE TEST_PACKAGE_FUNC_PROC.GLOBAL_VAR	" global_var number := 0;"
4	FUNCTION TEST_PACKAGE_FUNC_PROC.TEST_FUNC	" function test_func (in_val in number) return number  "
5	FUNCTION TEST_PACKAGE_FUNC_PROC.TEST_FUNC	" is "
6	FUNCTION TEST_PACKAGE_FUNC_PROC.TEST_FUNC	" begin "
7	FUNCTION TEST_PACKAGE_FUNC_PROC.TEST_FUNC	" return in_val; "
8	FUNCTION TEST_PACKAGE_FUNC_PROC.TEST_FUNC	" exception "
9	FUNCTION TEST_PACKAGE_FUNC_PROC.TEST_FUNC	"  when others then "
10	FUNCTION TEST_PACKAGE_FUNC_PROC.TEST_FUNC	"    RAISE; "
11	FUNCTION TEST_PACKAGE_FUNC_PROC.TEST_FUNC	" end; "
12	FUNCTION TEST_PACKAGE_FUNC_PROC.TEST_FUNC	""
13	PROCEDURE TEST_PACKAGE_FUNC_PROC.TEST_PROC	" procedure test_proc  (in_val in number) "
14	PROCEDURE TEST_PACKAGE_FUNC_PROC.TEST_PROC	" is "
15	PROCEDURE TEST_PACKAGE_FUNC_PROC.TEST_PROC.SUBMODULE	"   procedure submodule( in_val in number) is"
16	PROCEDURE TEST_PACKAGE_FUNC_PROC.TEST_PROC.SUBMODULE	"   begin"
17	PROCEDURE TEST_PACKAGE_FUNC_PROC.TEST_PROC.SUBMODULE	"      dbms_output.put_line (in_val); "
18	PROCEDURE TEST_PACKAGE_FUNC_PROC.TEST_PROC.SUBMODULE	"   end;  "
19	PROCEDURE TEST_PACKAGE_FUNC_PROC.TEST_PROC.SUBMODULE	" begin "
20	PROCEDURE TEST_PACKAGE_FUNC_PROC.TEST_PROC	"   submodule(in_val); "
21	PROCEDURE TEST_PACKAGE_FUNC_PROC.TEST_PROC	" exception "
22	PROCEDURE TEST_PACKAGE_FUNC_PROC.TEST_PROC	"  when others then "
23	PROCEDURE TEST_PACKAGE_FUNC_PROC.TEST_PROC	"    RAISE; "
24	PROCEDURE TEST_PACKAGE_FUNC_PROC.TEST_PROC	" end; "
25	PROCEDURE TEST_PACKAGE_FUNC_PROC.TEST_PROC	"begin"
26	body of TEST_PACKAGE_FUNC_PROC	"  global_var := 1;"
27	body of TEST_PACKAGE_FUNC_PROC	"end; "

The test package was copied and modifed based upon Hemant K Chitales “Function and Procedure in Package” LiveSQL demo.

Some problems

  • Currently only ment for package bodies
  • Compiler optimization can move code. That means the line number of an error at runtime is not the same line number as during compile time. PL/Scope only gives us compile time information. So would all_source.
    The only (bad) workaround is to compile with optimization level 1 and recreate the error, so that the correct line of error is shown.
  • Errors that happen in the declaration part of a package can not always be resolved. We might get a false positive for the previously declared object.
  • Does not inform when package body is wrapped.

Further readings

Oracle 11g Conditional Compilation / Compilación Condicional

$
0
0
Cuando trabajamos con diferentes ambientes de desarrollo, como dev, test, producción, tenemos la necesidad de avanzar funcionalidad en PLSQL en forma parcial, ya sea por que las tablas no existan en test o produccion, o por objetos no soportados por la base de datos; Puede darse el caso en que no sepamos la versión de la BD donde se instalara nuestro sistema y tenemos que agregar un soporte para X versión, pero como continuar desarollando sin tener diferentes versiones de código o diferentes archivos.



La solución es usar compilacion condicional en ingles (Conditional compilation), este un concepto agregado a pl/sql el cual nos permite compilar bloques de código dependiendo de una condición, dicha condición la podemos activar o desactivar cuando realizamos la compilación de nuestros packages o procedures.

Conditional compilation puede soportar las siguientes directivas para su uso:

  • PLSQL_CCFlags
  • PLSQL_Code_Type
  • PLSQL_Debug
  • PLSQL_Optimize_Level
  • PLSQL_Warnings
  • PLSQL_Unit
  • PLSQL_Line

Para verlo de forma sencilla solo usaremos  PLSQL_CCFlags que nos servira para declarar variables que evaluaremos con un $IF , y dependiendo de esto, el código dentro se compilara o no.

Veamos un ejemplo:

Declaramos nuestra variable (IS_PRODUCTION) con un alter y luego compilaremos el procedure usando esta variable.


El uso del símbolo de dólar es obligatorio para identificar la compilacion condicional, en este ejemplo indico que si la variable está declarada en TRUE, se compilara solo el código dentro del bloque true del IF,  para lo cual cuando ejecutemos deberíamos tener un resultado de 1.



Para verificar nuestra compilacion podemos usar dbms_preprocessor.print_post_processed_source
 que nos mostrara como esta compilado el codigo:

 Resultado, como vemos el codigo que se compilo fue del bloque TRUE:

 Ahora ejecutaremos el procedure para ver los resultados que tenemos:

 Y confirmamos que se ejecuto con el codigo 1:


Ahora haremos el  proceso inverso, colocando en false.




Podemos darle muchos usos al uso de la compilacion condicional (conditional compilation) , aqui les dejo algunas referencias y los links de acceso al codigo.

Código ejemplo: link

Referencias:





























Lazy Loading Report

$
0
0
I was recently asked to have a look at an APEX page that took some time to load. That particular page was accessed using the navigation menu. Since the load time was longer than usual, users were often clicking multiple times on it while waiting.

As usual, I turned debug mode on and had a look at the result. It turned out to be the underlying query of the page's report that was slow.

We were able to fine-tune the query to make everything load faster. But it still took a couple of seconds to render.

What I did was to make the report lazy load the data, similar to what the Interactive Grid can do.

The idea is the following
  1. Create a hidden item on the page
  2. Create a computation using the "After Regions" point to set the item to 'Y'
  3. In the report, add a where clause that checks if the item's value is equal to 'Y'
  4. Create a dynamic action on page load that refreshes the report
What this is doing is that when the report is being rendered for the first time, the calculation has not been executed and the item is still null so that the report will show nothing.
Then, the calculation will be executed and the dynamic actions will refresh the report showing the expected results.

Don't get me wrong here, the overall process is still going to take the exact same time.
If the page is taking 10 seconds to load, it will still take 10 seconds for the page to fully load.
But, the user experience is going to be a lot better because now the page will load instantaneously, then the report will take some time to load while displaying the processing icon.

Here's what the query would look like
select /* your columns */
from /* your tables */
where 1 = 1
and nvl(:P1_IS_LOADED, 'N') = 'Y'

Here's what the end result looks like compared to the standard behaviour:


You can have a look at it in action in my Demo Application

Enjoy!

APEX Auth-N and Auth-Z using Oracle Identity Cloud Service (IDCS)

$
0
0

Purpose

As of Oracle Application Express (APEX) 18, there is a declarative method of enabling authentication (Auth-N) using Oracle Identity Cloud Service (IDCS)

This post will walk through the steps for setup of a basic Auth-N then follow up with Authorization (Auth-Z) using IDCS groups.

Prerequisites

  • IDCS administration access for partner app setup
  • APEX 18+ with an application for authentication setup

IDCS Trusted Application Setup

There are many options in IDCS. We will cover the very minimum first, then come back to discuss other features. To start, you will need to be logged into your IDCS administration console with access to Application settings.

Step 1. Add Trusted Application Wizard

Add and application using the IDCS dashboard
Select “Trusted Application”

Step 2. Application Naming and Login URL Information

Provide Name, Description, and optionally the APEX Application Login URL.

Click Next.

Step 3. Application Client Configure

In the wizard client step, select “Configure this application as a client now.”

Allowed Grant Types: check Authorization Code

Allow non-HTTPS URLs check box: check only if you are using unencrypted web traffic (not recommended for production)

Redirect URL: Enter the APEX URL for the authentication callback with your hostname and listener substituted. This will be the SAME for all applications using IDCS authentication served by the same APEX host.

Pattern:

http://[server]:[port]/[listener]/apex_authentication.callback

Click Next

Step 4. Complete the Wizard

No Information is needed for resources, web tier policy, or authorization. – Click Next, Next, and Finish to complete the wizard.

You will be presented with a Client ID and Client Secret. This is synonymous with a username and password for your application access. These values will be added to the APEX application credential store.

Keep this information private. This information can be retrieved again from the application definition page in IDCS.

Trusted App Keys

Step 5. Activate Application

The applications can be activated and deactivated independently. After creation, the default status is deactivated.

Click “Activate” to allow the setup to be used.

Trusted APP Activate

The IDCS Partner application is now setup and ready to accept requests.

APEX APP Auth-N Setup

Create an application or use an existing application to setup a new authentication scheme.
APEX Social Sign-In Authentication has two major components.
Web Credentials: To store the client ID and client secret
An Authentication Scheme: To determine how IDCS will be contacted, what credentials will be used, and what information will be stored at the time of login.

Step 1. Create APEX Web Credentials

In the APEX application → Shared Components → Security → Web Credentials: Create a new entry

APEX Web Credentials

Name: Name that will be referenced in the authentication scheme

Authentication Type: Basic Authentication

Client ID and Client Secret: Values the IDCS registration. Client Secret will need to be entered twice for validation.

Click Create to store the values.

APEX New Web Credentials

NOTE: The client ID and Client Secret values are white space sensitive.  Make sure there are no extra values at the ends of the lines from a copy paste operation.  If run in debug mode, APEX may display the following message if your client secret is contaminated with white space.

https://[idcs-server]/oauth2/v1/token request got HTTP status 401

OAuth2 Authorization error "invalid_client". Client authentication failed.

 

Step 2. Create Authentication Scheme

In the APEX application → Shared Components → Security → Authentication Schemes: Create a new entry

Name: <Identifiable Authentication Scheme Name>

Scheme Type: Social Sign-In

Credential Store: <Name of the APEX Web Credentials Store defined above>

Authentication Provider: OpenID Connect Provider

Discovery URL:

https://[idcs-service-url]/.well-known/openid-configuration/

Scope: profile

Username Attribute: sub

Click – Create Authentication Scheme. This will save and make the the new authentication scheme current.

APEX Auth Setup

Step 3. Test the Application

Run the APEX application. Note: Do not run a public page such as the default login page. APEX should redirect to the IDCS login page when requiring authentication.

Authenticate in IDCS using your username and password.  Note: If your browser session is already authenticated into IDCS, the redirect back to APEX will be automatic.

IDCS Login

Approve access to profile information. This is prompted only the first time a user is authenticated.

APEX Run Approve

APEX will use the “sub” attribute for the APEX username attribute.

APEX Login Done

User should now be redirected back to APEX and identified as an authenticated user!

 

 

How Does This Work?

Here are the basic steps of how this authentication works. (paraphrased for brevity)

When APEX determines the current session is not authenticated, it will fetch the discovery URL identified as …/.well-known/openid-configuration/.

APEX redirects the browser to the “authorization_endpoint” with with attributes including an encoded “state” value to assure APEX can find the specific application it was called from.

The IDCS server will authenticate the user and verify the callback URL. IDCS will redirect the browser to the /apex_authentication.callback URL with the state value and a one time use code.

APEX will receive the code and state value and will make a call to the “token_endpoint”. This will provide APEX with a ID token and an access token.

Internally, APEX will evaluate the contents of the ID token information to determine if the requested username attribute and additional user attributes are included as defined in the Authentication Scheme. If they are not present, an additional call is made to the “userinfo_endpoint” where the attributes are again searched for.

Failure to find the “username attribute” defined in the authentication scheme will result in an error.

Null username passed to login procedure.
Contact your application administrator. Details about this incident are available via debug id #####

IDCS User Attribute Fail

The information received is available during the Post-Authentication Procedure of the APEX authentication scheme.

How To Do Auth-Z

Once you have configured Auth-N in your APEX application, all users in your IDCS can now have access to your application. This may or may not be your goal.

In the case that you would like to limit to a subset of users, you can use several methods. The question is: Where do you want to maintain the list of users? As you have a fancy cloud based identity solution, let’s assume you will use it to it’s full extent.

White List – or – Lock Everyone Out

First, we need to deny everyone access to the application through IDCS. We can easily do this by updating the setting on our application. Under Authentication and Authorization, click the “Enforce Grants as Authorization” check box. Save the changes and start a new APEX session causing the application to re-authenticate.

IDCS Lockdown

When authenticating to your APEX app, you should be presented with a message that says:

“You are not authorized to access the app. Contact your system administrator.”

Assign a Single User

In IDCS, review the application setup and navigate to the users tab. Here, users can be added individually. Add users withe the Assign button and re-authenticate a browser with the APEX application. Users assigned to the application can authenticate as expected.

IDCS User Assign

Using Groups

Groups can also be used, but require an additional step. From the IDCS Admin Console, groups need to be created first.
Once a group is created, users are assigned to that group.

IDCS Create Group

A group is given access to an application. This can be done from the Group screen or the Application screen. One group can have multiple apps assigned to it and one app can have multiple groups assigned.

IDCS App Group

Demo of APEX Application Multiple Group Separation

In the case where we to change the features or behavior of an app based on the groups a user belongs to, (Example: Administrators), we will need additional information.

In this demo APEX application, we would like to show a special region for users that are a member of the APEX-IDCS-APP-ADMIN group.

APEX Preparations

The following are normal APEX development Activities.
Create authorization scheme called USER_IS_ADMIN.

Name: USER_IS_ADMIN

Scheme Type: Is In Role or Group

Type: Custom

Names: APEX-IDCS-APP-ADMIN

APEX AuthZ Group

Create a page region to protect and assign the security authorization to “USER_IS_ADMIN”

APEX Authentication Scheme Update

Update the APEX authentication scheme to include the “groups” in the Scope and in the Additional User Attribute to cause the “userinfo_endpoint” to be called.
APEX Add Groups

Add the following PL/SQL Code in the SOURCE region of the Authentication Scheme

procedure load_dynamic_groups as
  l_group_names apex_t_varchar2;
begin
  --
  -- add all group names to l_group_names
  --
  for i in 1 .. apex_json.get_count('groups') loop
      apex_string.push (
        p_table => l_group_names,
        p_value => apex_json.get_varchar2 (
                       p_path => 'groups[%d].name',
                       p0     => i ));
  end loop;
  --
  -- save group names in session
  --
  apex_authorization.enable_dynamic_groups (
      p_group_names => l_group_names );
end;

Add the load_dynamic_groups in
Login Processing → Post-Authentication Procedure Name

APEX Login Processing

Apply Changes and Test

After successful authentication, the “userinfo_endpoint” will be called and the results will be made available to the Post-Authentication procedure. The JSON results are converted to list of groups and stored in an APEX session builtin for group management.  The values can be queried using the APEX_WORKSAPCE_SESSION_GROUPS view.

APEX After AuthZ

This is just one example of utilizing values from the “userinfo_endpoint”. Additional values can also be read and used in the APEX application.

IDCS My Apps

When in IDCS, the Application definition can be configured with a LOGIN URL. The “Display in My Apps” check box allows the application to be displayed in an IDCS dashboard list of applications. The Application Icon can be customized to distinguish the application to your users. This will allow direct navigation to your APEX application from a users IDCS dashboard and looks snazzy while doing it.

IDCS MyAPPS

IDCS has additional features including for displaying lists of applications, requesting access to applications, and customizing the permissions page. These are all configurable based on your organizations needs. Refer to the comprehensive documentation included with Oracle Identity Cloud Service

Other Write-ups on the Authentication Topic

Header variable method setup from Oracle ATeam

IDCS to manage social logins from Oracle ATeam

Google Auth on Apex EA release from Adrian Png

Microsoft Auth on Apex EA release from Morten Braten

References

https://docs.oracle.com/en/cloud/paas/identity-cloud/blogs.html

http://openid.net/

ODTUG User Group Integrating New Tools to Be More Data Driven

$
0
0
ODTUG User Group Integrating New Tools to Be More Data Driven:Oracle Essbase Cloud and Data Visualization Support Annual User Group Conference Planning

Oracle Linux, Oracle VM and Tegile Storage – Limited-Time Special Pricing

$
0
0

For a limited time, you can receive special pricing* when purchasing Oracle Linux, Oracle VM and Western Digital’s Tegile storage.

Working together for several years through the Oracle Linux and Virtualization HCL program, the companies are helping provide customers with well-tested infrastructure software and storage solutions.

 
Oracle Linux, Oracle VM and Tegile Intelliflash Storage enable customers to accelerate time to deployment of Oracle Applications. Tegile’s High Density (HD) All-Flash Storage combined with Oracle Linux and Oracle VM provides virtually zero-downtime and unprecedented flexibility.
 
Learn how customers and partners can benefit from this limited-time offering.

* Terms, conditions, and restrictions apply.

Oracle Linux, Oracle VM and Tegile Storage – Limited-Time Special Pricing

$
0
0

For a limited time, you can receive special pricing* when purchasing Oracle Linux, Oracle VM and Western Digital’s Tegile storage.

Working together for several years through the Oracle Linux and Virtualization HCL program, the companies are helping provide customers with well-tested infrastructure software and storage solutions.

 
Oracle Linux, Oracle VM and Tegile Intelliflash Storage enable customers to accelerate time to deployment of Oracle Applications. Tegile’s High Density (HD) All-Flash Storage combined with Oracle Linux and Oracle VM provides virtually zero-downtime and unprecedented flexibility.
 
Learn how customers and partners can benefit from this limited-time offering.

* Terms, conditions, and restrictions apply.


Powerful and Effective Graph Visualization with Cytoscape and Oracle's Property Graph Database (2)

$
0
0

In this installment of the Cytoscape visualization for Oracle's Property Graph Database series, I am going to talk about key steps required to set up Cytoscape visualization for Oracle's Property Graph Database. These steps are the same for Oracle Spatial and Graph (OSG), and Oracle Big Data Spatial and Graph (BDSG).

Assume you are using Linux or Mac OS. The major steps are as follows.

0) Make sure you have Oracle JDK 8. 1) Download & install Cytoscape (3.2.1 or above). Assume you install Cytoscape under   /Applications/Cytoscape_v3.6.1 2) Start Cytoscape to initialize. Make sure the following directory is created ~/CytoscapeConfiguration   Once the above directory is created, quit Cytoscape. 3) cd /Applications/Cytoscape_v3.6.1 4) Unzip the Cytoscape plugin for OSG (or BDSG) in the above directory. A new sub directory will be created. The directory name is oracle_property_graph_cytoscape/ if you are using Cytoscape plugin for Oracle Database. 5) Copy propertyGraphSupport*.jar from the jar/ in the above sub directory into ~/CytoscapeConfiguration/3/apps/installed/ 6) Copy propertyGraph.properties from the jar/ in the above sub directory into ~/CytoscapeConfiguration To customize this configuration, follow the usage guide (a PDF file you can find in the Cytoscape plugin zip file). 7) kick off Cytoscape by running the following under /Applications/Cytoscape_v3.6.1 sh ./startCytoscape.sh NOTE: it is important to use startCytoscape.sh to start the visualization. Do not use the original cytoscape.sh because you will not see any property graph related functions (highlighted below).

 

Cheers,

Zhe

References

[1] http://www.oracle.com/technetwork/database/options/spatialandgraph/downloads/index-156999.html

[2] Oracle Big Data Spatial and Graph Downloads

 

 

Powerful and Effective Graph Visualization with Cytoscape and Oracle's Property Graph Database (2)

$
0
0

In this installment of the Cytoscape visualization for Oracle's Property Graph Database series, I am going to talk about key steps required to set up Cytoscape visualization for Oracle's Property Graph Database. These steps are the same for Oracle Spatial and Graph (OSG), and Oracle Big Data Spatial and Graph (BDSG).

Assume you are using Linux or Mac OS. The major steps are as follows.

0) Make sure you have Oracle JDK 8. 1) Download & install Cytoscape (3.2.1 or above). Assume you install Cytoscape under   /Applications/Cytoscape_v3.6.1 2) Start Cytoscape to initialize. Make sure the following directory is created ~/CytoscapeConfiguration   Once the above directory is created, quit Cytoscape. 3) cd /Applications/Cytoscape_v3.6.1 4) Unzip the Cytoscape plugin for OSG (or BDSG) in the above directory. A new sub directory will be created. The directory name is oracle_property_graph_cytoscape/ if you are using Cytoscape plugin for Oracle Database. 5) Copy propertyGraphSupport*.jar from the jar/ in the above sub directory into ~/CytoscapeConfiguration/3/apps/installed/ 6) Copy propertyGraph.properties from the jar/ in the above sub directory into ~/CytoscapeConfiguration To customize this configuration, follow the usage guide (a PDF file you can find in the Cytoscape plugin zip file). 7) kick off Cytoscape by running the following under /Applications/Cytoscape_v3.6.1 sh ./startCytoscape.sh NOTE: it is important to use startCytoscape.sh to start the visualization. Do not use the original cytoscape.sh because you will not see any property graph related functions (highlighted below).

 

Cheers,

Zhe

References

[1] http://www.oracle.com/technetwork/database/options/spatialandgraph/downloads/index-156999.html

[2] Oracle Big Data Spatial and Graph Downloads

 

 

What's New with Oracle Certification - May

$
0
0
Stay up to date with the Oracle Certification Program.
Keep informed with new exams released into production,
get information on current promotions, and learn about new program announcements. New Exams and Certifications

Oracle Mobile Cloud Enterprise 2018 Associate Developer | 1Z0-927: This certification covers implementation topics of related Oracle Paas Services such as: Visual Builder Cloud Service, Java Cloud Service, Developer Cloud Service, Application Container Cloud Service, and Container Native Apps. This certification validates understanding of the Application Development portfolio and capacity to configure the services.

Oracle Management Cloud 2018 Associate | 1Z0-930: Passing this exams demonstrates the skills and knowledge to architect and implement Oracle Management Cloud. This individual can configure Application Performance Monitoring, Oracle Infrastructure Monitoring, Oracle Log Analytics, Oracle IT Analytics, Oracle Orchestration, Oracle Security Monitoring and Analytics and Oracle Configuration and Compliance.

Oracle Cloud Security 2018 Associate | 1Z0-933: Passing this exam validates understanding of Oracle Cloud Security portfolio and capacity to configure the services. This certification covers topics such as: Identity Security Operations Center Framework, Identity Cloud Service, CASB Cloud Service, Security Monitoring and Analytics Cloud Service, Configuration and Compliance Service, and services Architecture and Deployment.

Oracle Data Integration Platform Cloud 2018 Associate | 1Z0-935: Passing this exam validates understanding of Oracle Application Integration to implement the service. This certification covers topics such as: Oracle Cloud Application Integration basics, Application Integration: Oracle Integration Cloud (OIC), Service-Oriented Architecture Cloud Service (SOACS), Integration API Platform Cloud Service, Internet of Things - Cloud Service (IOTCS), and Oracle's Process Cloud Service.

Oracle Analytics Cloud 2018 Associate | 1Z0-936: Passing this exam provides knowledge required to perform provisioning, build dimensional modelling and create data visualizations. The certified professional can use Advanced Analytics capabilities, create a machine learning model and configure Oracle Analytics Cloud Essbase.

Explore All Certifications

 

How Does the DBA Keep Their Role Relevant? 

By having the skills to meet the new demands for business optimization along with a reputation of continuous learning and improvement. Check out how training + certification keeps a DBA relevant. Read full article.

 

Benefits of Upgrading Your OCA certification to Database 12c Release 2

Building upon the competencies in the Oracle Database 12c OCA certification, the Oracle Certified Professional (OCP) for Oracle Database 12c includes the advanced knowledge and skills required of top-performing database administrators which includes development and deployment of backup, recovery and Cloud computing strategies. Find out how to upgrade with this exam!

What's New with Oracle Certification - May

$
0
0
Stay up to date with the Oracle Certification Program.
Keep informed with new exams released into production,
get information on current promotions, and learn about new program announcements. New Exams and Certifications

Oracle Mobile Cloud Enterprise 2018 Associate Developer | 1Z0-927: This certification covers implementation topics of related Oracle Paas Services such as: Visual Builder Cloud Service, Java Cloud Service, Developer Cloud Service, Application Container Cloud Service, and Container Native Apps. This certification validates understanding of the Application Development portfolio and capacity to configure the services.

Oracle Management Cloud 2018 Associate | 1Z0-930: Passing this exams demonstrates the skills and knowledge to architect and implement Oracle Management Cloud. This individual can configure Application Performance Monitoring, Oracle Infrastructure Monitoring, Oracle Log Analytics, Oracle IT Analytics, Oracle Orchestration, Oracle Security Monitoring and Analytics and Oracle Configuration and Compliance.

Oracle Cloud Security 2018 Associate | 1Z0-933: Passing this exam validates understanding of Oracle Cloud Security portfolio and capacity to configure the services. This certification covers topics such as: Identity Security Operations Center Framework, Identity Cloud Service, CASB Cloud Service, Security Monitoring and Analytics Cloud Service, Configuration and Compliance Service, and services Architecture and Deployment.

Oracle Data Integration Platform Cloud 2018 Associate | 1Z0-935: Passing this exam validates understanding of Oracle Application Integration to implement the service. This certification covers topics such as: Oracle Cloud Application Integration basics, Application Integration: Oracle Integration Cloud (OIC), Service-Oriented Architecture Cloud Service (SOACS), Integration API Platform Cloud Service, Internet of Things - Cloud Service (IOTCS), and Oracle's Process Cloud Service.

Oracle Analytics Cloud 2018 Associate | 1Z0-936: Passing this exam provides knowledge required to perform provisioning, build dimensional modelling and create data visualizations. The certified professional can use Advanced Analytics capabilities, create a machine learning model and configure Oracle Analytics Cloud Essbase.

Explore All Certifications

 

How Does the DBA Keep Their Role Relevant? 

By having the skills to meet the new demands for business optimization along with a reputation of continuous learning and improvement. Check out how training + certification keeps a DBA relevant. Read full article.

 

Benefits of Upgrading Your OCA certification to Database 12c Release 2

Building upon the competencies in the Oracle Database 12c OCA certification, the Oracle Certified Professional (OCP) for Oracle Database 12c includes the advanced knowledge and skills required of top-performing database administrators which includes development and deployment of backup, recovery and Cloud computing strategies. Find out how to upgrade with this exam!

The Most Important Stop on Your Java Journey

$
0
0

Howdy, Pardner. Have you moseyed over to JavaRanch lately? Pull up a stool at the OCJA or OCJP Wall of Fame and tell your tale or peruse the tales of others. 

Ok - I'm not so great at the cowboy talk, but if you're serious about a Java career and haven't visited JavaRanch, you are missing out! 

JavaRanch, a self-proclaimed "friendly place for Java greenhorns [beginners]" was created in 1997 by Kathy Sierra, co-author of at least 5 Java guides for Oracle Press. The ranch was taken over in subsequent years by Paul Wheaten who continues to run this space today.

In addition to a robust collection of discussion forums about all things Java, JavaRanch provides resources to learn and practice Java, book recommendations, and resources to create your first Java program and test your Java skills.

One of our favorite features of JavaRanch remains the Walls of Fame! This is where you can read the personal experiences of other candidates certified on Java. Learn from their processes and their mistakes. Be inspired by their accomplishments. Share your own experience. 

Visit the Oracle Certified Java Associate Wall of Fame

Visit the Oracle Certified Java Professional Well of Fame

Get the latest Java Certification from Oracle

Oracle Certified Associate, Java SE 8 Programmer

Oracle Certified Professional, Java SE 8 Programmer

Oracle Certified Professional, Java SE 8 Programmer (upgrade from Java SE 7)

Oracle Certified Professional, Java SE 8 Programmer (upgrade from Java SE 6 and all prior versions)

Related Content

Test Your Java Knowledge With FREE Sample Questions

Program Your Future With Java

The Most Important Stop on Your Java Journey

$
0
0

Howdy, Pardner. Have you moseyed over to JavaRanch lately? Pull up a stool at the OCJA or OCJP Wall of Fame and tell your tale or peruse the tales of others. 

Ok - I'm not so great at the cowboy talk, but if you're serious about a Java career and haven't visited JavaRanch, you are missing out! 

JavaRanch, a self-proclaimed "friendly place for Java greenhorns [beginners]" was created in 1997 by Kathy Sierra, co-author of at least 5 Java guides for Oracle Press. The ranch was taken over in subsequent years by Paul Wheaten who continues to run this space today.

In addition to a robust collection of discussion forums about all things Java, JavaRanch provides resources to learn and practice Java, book recommendations, and resources to create your first Java program and test your Java skills.

One of our favorite features of JavaRanch remains the Walls of Fame! This is where you can read the personal experiences of other candidates certified on Java. Learn from their processes and their mistakes. Be inspired by their accomplishments. Share your own experience. 

Visit the Oracle Certified Java Associate Wall of Fame

Visit the Oracle Certified Java Professional Well of Fame

Get the latest Java Certification from Oracle

Oracle Certified Associate, Java SE 8 Programmer

Oracle Certified Professional, Java SE 8 Programmer

Oracle Certified Professional, Java SE 8 Programmer (upgrade from Java SE 7)

Oracle Certified Professional, Java SE 8 Programmer (upgrade from Java SE 6 and all prior versions)

Related Content

Test Your Java Knowledge With FREE Sample Questions

Program Your Future With Java

Modern Customer Experience 2018 was Legendary

$
0
0

During his keynote at Modern Customer Experience 2018, Des Cahill, Head CX Evangelist, stated that CX should stand for Continuous Experimentation. He encouraged 4,500 enthusiastic marketers, customer service, sales, and commerce professional us to try new strategies, to take risks, strive to be remarkable, and triumph through sheer determination.

Casey Neistat echoed Des, challenging us to “do what you can’t,” while best-selling author Cheryl Strayed inspired us to look past our fears and be brave. “Courage isn’t success,” she reminded us, “it’s doing what’s hard regardless of the outcome.”

CX professionals today face numerous challenges: the relentless rise of customer expectations, the accelerating pace of innovation, evolving regulations like GDPR, increase ROI, plus the constant pressure to raise the bar. Modern Customer Experience not only inspired attendees to become the heroes of their organization, but it armed each with the tools to do so.

If you missed Carolyne-Matseshe Crawford, VP of Fan Experience at Fanatics talk about how her company’s culture pervades the entire customer experience, or how Magen Hanrahan VP of Product Marketing at Kraft Heinz is obsessed with data driven marketing tactics, give them a watch. And don’t miss Comcast’s Executive VP, Chief Customer Experience Officer, Charlie Herrin, who wants to build proactive customer experience and dialogue into Comcast’s products themselves with artificial intelligence.

The Modern Customer Experience X Room showcased CX innovation, like augmented and virtual reality, artificial intelligence, and the Internet of Things. But it wasn’t all just mock-ups and demos, a Mack Truck, a Yamaha motorcycle, and an Elgin Street Sweeper were on display, showcasing how Oracle customers put innovation to use to create legendary customer experiences.

Attendees were able to let off some steam during morning yoga and group runs. They relived the 90s with Weezer during CX Fest, and our Canine Heroes from xxxxx were a highlight of everyone’s day.

But don’t just take it from us. Here’s what a few of our attendees had to say about the event.

“Modern Customer Experience gives me the ability to learn about new products on the horizon, discuss challenges, connect with other MCX participants, learn best practices and understand we’re not alone in our journey.” – Matt Adams, Sales Cloud Manager, ArcBest

 “Modern Customer Experience really allows me to do my job more effectively. Without it, I don’t know where I would be! It’s the best conference of the year.” – Joshua Parker, Digital Marketing and Automation Manager, Rosetta Stone

We’re still soaking it all in. You can watch all the highlights from Modern Customer Experience keynotes on YouTube, and peruse the event’s photo slideshow. Don’t forget to share your images on social media, with #ModernCX and sign up for alerts when registration for Modern Customer Experience 2019 opens!


Modern Customer Experience 2018 was Legendary

$
0
0

During his keynote at Modern Customer Experience 2018, Des Cahill, Head CX Evangelist, stated that CX should stand for Continuous Experimentation. He encouraged 4,500 enthusiastic marketers, customer service, sales, and commerce professional us to try new strategies, to take risks, strive to be remarkable, and triumph through sheer determination.

Casey Neistat echoed Des, challenging us to “do what you can’t,” while best-selling author Cheryl Strayed inspired us to look past our fears and be brave. “Courage isn’t success,” she reminded us, “it’s doing what’s hard regardless of the outcome.”

CX professionals today face numerous challenges: the relentless rise of customer expectations, the accelerating pace of innovation, evolving regulations like GDPR, increase ROI, plus the constant pressure to raise the bar. Modern Customer Experience not only inspired attendees to become the heroes of their organization, but it armed each with the tools to do so.

If you missed Carolyne-Matseshe Crawford, VP of Fan Experience at Fanatics talk about how her company’s culture pervades the entire customer experience, or how Magen Hanrahan VP of Product Marketing at Kraft Heinz is obsessed with data driven marketing tactics, give them a watch. And don’t miss Comcast’s Executive VP, Chief Customer Experience Officer, Charlie Herrin, who wants to build proactive customer experience and dialogue into Comcast’s products themselves with artificial intelligence.

The Modern Customer Experience X Room showcased CX innovation, like augmented and virtual reality, artificial intelligence, and the Internet of Things. But it wasn’t all just mock-ups and demos, a Mack Truck, a Yamaha motorcycle, and an Elgin Street Sweeper were on display, showcasing how Oracle customers put innovation to use to create legendary customer experiences.

Attendees were able to let off some steam during morning yoga and group runs. They relived the 90s with Weezer during CX Fest, and our Canine Heroes from xxxxx were a highlight of everyone’s day.

But don’t just take it from us. Here’s what a few of our attendees had to say about the event.

“Modern Customer Experience gives me the ability to learn about new products on the horizon, discuss challenges, connect with other MCX participants, learn best practices and understand we’re not alone in our journey.” – Matt Adams, Sales Cloud Manager, ArcBest

 “Modern Customer Experience really allows me to do my job more effectively. Without it, I don’t know where I would be! It’s the best conference of the year.” – Joshua Parker, Digital Marketing and Automation Manager, Rosetta Stone

We’re still soaking it all in. You can watch all the highlights from Modern Customer Experience keynotes on YouTube, and peruse the event’s photo slideshow. Don’t forget to share your images on social media, with #ModernCX and sign up for alerts when registration for Modern Customer Experience 2019 opens!

Oracle's No-Cost Platinum-Level Support Is the New Baseline in the Cloud Market

$
0
0

Companies may give up their servers, storage, and entire data centers when they move to the cloud, but their need for support services doesn’t go away, it changes. Recognizing a growing need for enterprise-class support in the cloud, Oracle is making its Platinum-level support services available at no additional cost to all customers of Oracle Fusion software-as-a-service applications.

“Our objective is to put out a service capability that is simply the best—bar none,” said Oracle CEO Mark Hurd, in announcing that a range of support services would be available for Oracle Fusion enterprise resource planning, enterprise performance management, human capital management, supply chain, manufacturing, and sales and service cloud applications.

The SaaS support services include 24/7 rapid-response technical support, proactive technical monitoring, success planning, end-user adoption guidance, and education resources.

“Most of our customers are going to cloud,” Hurd said in a briefing with journalists at Oracle’s headquarters in Redwood Shores, California. As that happens, he said, “it’s important for someone in the industry, particularly an industry leader in these mission-critical applications, to take a position” on what level of service that transition demands.

“SaaS application support offerings need to become more agile and responsive,” Hurd added. “We need to provide our SaaS customers with everything they need for rapid, low-cost implementations and a successful rollout to their users.”

Catherine Blackmore, Oracle group vice president of North America Customer Success, said Oracle will also offer new advanced services, including dedicated support and certified expertise, for customers that need a higher level of support. “We have a shared interest in our customers’ success, so we’re going above and beyond to ensure our customers have everything they need to succeed,” she said.

Cloud Levels the Playing Field

Oracle also announced the names of first-time cloud customers and others that are expanding their use of Oracle Cloud services. They include Alsea, Broadcom, Exelon, Gonzaga University, Heineken Urban Polo, Providence St. Joseph Health, Sinclair Broadcast Group, and T-Mobile US.

In a Q&A with the journalists, Hurd was asked about his outlook for SaaS adoption outside of the United States and, in particular, in the Latin America region. He said modern cloud applications can be “game changing” for businesses in places where outdated software applications are still the norm.

“You don’t need armies of experts and system integrators,” Hurd said.

Oracle develops thousands of features that are made available regularly to its SaaS application customers. “That’s a feature stream you don’t have to manage from a data center that you don’t have to operate,” Hurd said.

Self-Driving Technology

Hurd pointed to Oracle’s development of autonomous technologies, including the recently introduced Oracle Autonomous Data Warehouse Cloud Service, as another big area of focus at the company. “It gets upgraded, optimized, secured, patched, and tuned, all automatically without any human intervention,” he said.

As the next step in the delivery of autonomous cloud services, Oracle announced the availability of three new Oracle Cloud Platform services with built-in artificial intelligence and machine learning algorithms: Oracle Autonomous Analytics CloudOracle Autonomous Integration Cloud, and Oracle Autonomous Visual Builder Cloud.

Oracle's No-Cost Platinum-Level Support Is the New Baseline in the Cloud Market

$
0
0

Companies may give up their servers, storage, and entire data centers when they move to the cloud, but their need for support services doesn’t go away, it changes. Recognizing a growing need for enterprise-class support in the cloud, Oracle is making its Platinum-level support services available at no additional cost to all customers of Oracle Fusion software-as-a-service applications.

“Our objective is to put out a service capability that is simply the best—bar none,” said Oracle CEO Mark Hurd, in announcing that a range of support services would be available for Oracle Fusion enterprise resource planning, enterprise performance management, human capital management, supply chain, manufacturing, and sales and service cloud applications.

The SaaS support services include 24/7 rapid-response technical support, proactive technical monitoring, success planning, end-user adoption guidance, and education resources.

“Most of our customers are going to cloud,” Hurd said in a briefing with journalists at Oracle’s headquarters in Redwood Shores, California. As that happens, he said, “it’s important for someone in the industry, particularly an industry leader in these mission-critical applications, to take a position” on what level of service that transition demands.

“SaaS application support offerings need to become more agile and responsive,” Hurd added. “We need to provide our SaaS customers with everything they need for rapid, low-cost implementations and a successful rollout to their users.”

Catherine Blackmore, Oracle group vice president of North America Customer Success, said Oracle will also offer new advanced services, including dedicated support and certified expertise, for customers that need a higher level of support. “We have a shared interest in our customers’ success, so we’re going above and beyond to ensure our customers have everything they need to succeed,” she said.

Cloud Levels the Playing Field

Oracle also announced the names of first-time cloud customers and others that are expanding their use of Oracle Cloud services. They include Alsea, Broadcom, Exelon, Gonzaga University, Heineken Urban Polo, Providence St. Joseph Health, Sinclair Broadcast Group, and T-Mobile US.

In a Q&A with the journalists, Hurd was asked about his outlook for SaaS adoption outside of the United States and, in particular, in the Latin America region. He said modern cloud applications can be “game changing” for businesses in places where outdated software applications are still the norm.

“You don’t need armies of experts and system integrators,” Hurd said.

Oracle develops thousands of features that are made available regularly to its SaaS application customers. “That’s a feature stream you don’t have to manage from a data center that you don’t have to operate,” Hurd said.

Self-Driving Technology

Hurd pointed to Oracle’s development of autonomous technologies, including the recently introduced Oracle Autonomous Data Warehouse Cloud Service, as another big area of focus at the company. “It gets upgraded, optimized, secured, patched, and tuned, all automatically without any human intervention,” he said.

As the next step in the delivery of autonomous cloud services, Oracle announced the availability of three new Oracle Cloud Platform services with built-in artificial intelligence and machine learning algorithms: Oracle Autonomous Analytics CloudOracle Autonomous Integration Cloud, and Oracle Autonomous Visual Builder Cloud.

How Blockchain Will Disrupt the Insurance Industry

$
0
0

The insurance industry relies heavily on the notion of trust among transacting parties. For example, when you go to buy car insurance you get asked for things like your zip code, name, age, daily mileage, and make & model of your car. Other than, maybe, the make & model of your car you can pretty much falsify other information about yourself for a better insurance quote. Underwriters trust that you are providing the correct information, which is one of the many risks in the underwriting business.

Enterprise blockchain platforms such as one from Oracle essentially enables trust-as-a-service in such interactions. Participants (insurer and insured) need to come together to do business, but they do not necessarily trust each other. Blockchain provides a scalable mechanism to securely and easily enable trust in such scenarios. There are 4 key properties of Blockchain that enable trust-as-a-service:

  1. Transparency of digital events and transactions it manages,
  2. Immutability of records stored on the blockchain. through append-only time-stamped and hashed records,
  3. Security and assurance that records stored on blockchain aren't compromised through built-in consensus and encryption mechanisms,
  4. Privacy through cryptography

Blockchain can be a good solution for a number of insurance use cases such as:

  • Reducing frauds in underwriting and claims by validating data from customers and suppliers in the value chain
  • Reducing claims by offering tokenized incentives to promote safer driving behavior by capturing data from insured entities like motor vehicles
  • Enabling pay-per-mile billing for insurance by keeping verifiable records of miles traveled
  • And, in the not so distant future, using blockchain to determine liability in case of an accident between two autonomous vehicles by using blockchain to manage timestamped immutable records of decisions made by deep-learning models from both autonomous vehicles right before the accident.

Besides these use cases, blockchain has potential to eliminate intermediaries, improve transparency of records, eliminate manual paperwork, and error-prone processes, which together can deliver orders of magnitude improvement in operational efficiency for businesses. Of course, there are other types of insurance such as healthcare, reinsurance, catastrophic events insurance, property and casualty insurance, which would have some unique flavor of use cases but they would similarly benefit from blockchain to reduce risk and improve business efficiency.

There is no question that blockchain can, potentially, be a disruptive force in the insurance industry. It would have to overcome legal and regulatory barriers before we see mass adoption of blockchain among the industry participants. 

If you are working on an interesting project related to the use of Blockchain for insurance industry feel free to get in touch by leaving a comment or contact us through social media or Oracle sales rep. We’d be glad to help you connect with our subject matter experts and with your industry peers who may be working on similar use cases with Oracle. For more information on Oracle Blockchain, please visit Oracle Blockchain home pages here, and here

 

 

How Blockchain Will Disrupt the Insurance Industry

$
0
0

The insurance industry relies heavily on the notion of trust among transacting parties. For example, when you go to buy car insurance you get asked for things like your zip code, name, age, daily mileage, and make & model of your car. Other than, maybe, the make & model of your car you can pretty much falsify other information about yourself for a better insurance quote. Underwriters trust that you are providing the correct information, which is one of the many risks in the underwriting business.

Enterprise blockchain platforms such as one from Oracle essentially enables trust-as-a-service in such interactions. Participants (insurer and insured) need to come together to do business, but they do not necessarily trust each other. Blockchain provides a scalable mechanism to securely and easily enable trust in such scenarios. There are 4 key properties of Blockchain that enable trust-as-a-service:

  1. Transparency of digital events and transactions it manages,
  2. Immutability of records stored on the blockchain. through append-only time-stamped and hashed records,
  3. Security and assurance that records stored on blockchain aren't compromised through built-in consensus and encryption mechanisms,
  4. Privacy through cryptography

Blockchain can be a good solution for a number of insurance use cases such as:

  • Reducing frauds in underwriting and claims by validating data from customers and suppliers in the value chain
  • Reducing claims by offering tokenized incentives to promote safer driving behavior by capturing data from insured entities like motor vehicles
  • Enabling pay-per-mile billing for insurance by keeping verifiable records of miles traveled
  • And, in the not so distant future, using blockchain to determine liability in case of an accident between two autonomous vehicles by using blockchain to manage timestamped immutable records of decisions made by deep-learning models from both autonomous vehicles right before the accident.

Besides these use cases, blockchain has potential to eliminate intermediaries, improve transparency of records, eliminate manual paperwork, and error-prone processes, which together can deliver orders of magnitude improvement in operational efficiency for businesses. Of course, there are other types of insurance such as healthcare, reinsurance, catastrophic events insurance, property and casualty insurance, which would have some unique flavor of use cases but they would similarly benefit from blockchain to reduce risk and improve business efficiency.

There is no question that blockchain can, potentially, be a disruptive force in the insurance industry. It would have to overcome legal and regulatory barriers before we see mass adoption of blockchain among the industry participants. 

If you are working on an interesting project related to the use of Blockchain for insurance industry feel free to get in touch by leaving a comment or contact us through social media or Oracle sales rep. We’d be glad to help you connect with our subject matter experts and with your industry peers who may be working on similar use cases with Oracle. For more information on Oracle Blockchain, please visit Oracle Blockchain home pages here, and here

 

 

Viewing all 2258 articles
Browse latest View live