Thursday, November 19, 2015
I'll be making references to 50 Shades of Gray and Lord of the Rings in some of these presentations. Come along to find out why.
It all kicks off on the Sunday (12:30-14:20) with an almost 2 hour presentation titled 'Predictive Analytics in Oracle: Mining the Gold & Creating Valuable Products'. We have being hearing about Predictive Analytics for a few years now. But most people are still unsure of what it really means and how it could be used in their company. This presentations aims to simplify what Predictive Analytics means and to illustrate how various companies from a wide range of industries have been using Predictive Analytics to gain deeper, valuable and actionable insights of their data. A number of case studies will be presented, based on some of my recent projects, illustrating how predictive analytics has been used to generate significant benefits for each company. These case studies will include examples from Banking, Telecommunications, Financial Fraud Detection, Retail and Merchandising. The second half of this seminar will look at what functionality is available from Oracle that allows you to build and deploy Predictive Analytics in your applications. We will at what you can do with SQL, PL/SQL, Oracle Data Miner, Oracle R Enterprise and Real-Time Decisions. We will then look at how you can build these features and tools into your front end applications. In the final section of the seminar we will look at what you need to do to get started with Predictive Analytics and how you can avoid some of the typical pitfalls.
On Monday 7th, I have a presentation between 9:00 and 9:50 titled 'Is Oracle SQL the Best Language for Statistics?'. Did you know that Oracle comes with over 280+ statistical functions? and that these statistical functions are available in all versions of the Database? Most people do not seem to know this.When we hear about people performing statistical analytics we can hear them talking about Excel and R. But what if we could do statistical analysis in the database, without having to extract any data onto client machines. That would be really good and just think of the possible data security issues with using Excel, R and other tools.This presentation will explore the various statistical areas available in SQL and I will give a number of demonstrations on some of the more commonly used statistical techniques. With the introduction of Big Data SQL we can now use these same 280+ Oracle statistical functions on all our data including Hadoop and NoSQL. We can also greatly expand our statistical capabilities by using Oracle R Enterprise using the embedded capabilities in SQL.
My final presentation will on Wednesday (14:30-15:20) titled 'Automating Predictive Analytics in Your Applications'. What does your Oracle DBA and Oracle Developer need to know to implement Data Mining? How can the Oracle DBA and Oracle Developer use Data Mining. This presentation will look at what the Oracle DBA and Oracle Developer needs to know to deploying, implementing and integrating the predictive models produced by the Data Miner. These predictive models can be used in multiple databases and across their many applications. Examples will be given of the typical tasks data mining task for the DBA and for the Oracle Developer. These examples will include SQL, PL/SQL and embedded Oracle R Enterprise. I will show how easy it is to build automated Predictive Analytics into, not only your Dashboards, but your everyday applications. Here is a short video that gives an overview of my presentations for TECH15.
Sunday, November 15, 2015
If you have tried to use the ore.odmGLM function in ORE and some other functions in ORE and you are using the Oracle 188.8.131.52 Database you will be getting an error something like the following in R.
> GLMmodel <- ore.odmGLM(AFFINITY_CARD ~., ANALYTIC_RECORD) Error in .oci.GetQuery(conn, statement, data = data, prefetch = prefetch, : ORA-29400: data cartridge error ORA-40024: solution to least squares problem could not be found ORA-06512: at "SYS.DBMS_DATA_MINING", line 2153 ORA-06512: at line 1
or you get something like the following when using ore.glm
Error in .External(C_pt, q, df, lower.tail, log.p) : NULL value passed as symbol address
Similarly if you are using these functions with embedded R execution when the R code is warpped in SQL, you will see similar errors.
What you need to do is to download and install the stand alond Patch 20173897.
Alternatively this patch is included in the latest Oracle 12.1.2 Database patch.
Thursday, November 5, 2015
At Oracle Open World (OOW15) I gave 2 presentations on the Sunday during the Oracle User Group Forum. The slides are now available for download from the Oracle Open World website.
Go get them now!
During this sessions I was one of 16 presenters talking about various features in the Oracle Database. All of the presenters where from the EOUC region.
I co-presented with Antony Heljula from Peak Indicators. During this presentation we talked about some of the Advanced Analytics projects we have worked on over the past 18-24 months. We also announced a new Analytics-as-a-Service offering.
The slides are also available for most of the other Oracle Open World Presentations and these can be accessed here. Just go search for the topic you are interested in.
Friday, October 30, 2015
It seems to be traditional for people to write a blog post that summaries their Oracle Open World (OOW) experience. Well here is my attempt and it really only touches on a fraction of what I did at OOW, which was one of busiest OOWs I've experienced.
It all began back on Wednesday 21st October when I began my journey. Yes that is 9 days ago, a long long 9 days ago. I will be glad to get to home.
The first 2 days here in San Francisco was down at Oracle HQ were the traditional Oracle ACE Directors briefings are held. I'm one of the small (but growing) number of ACEDs and it is an honour he take part in the programme. The ACE Director briefings are 2 days of packed (did I say they are packed) full on talks by the leading VPs, SVPs, EVPs and especially Thomas Kurian. Yes we had Thomas Kurian come into talk to us for 60-90 minutes of pure gold. We get told all the things that Oracle is going to release or announce at OOW and for the next few months and beyond. Some of things that I was particularly interested in was the 12.2 database stuff.
Unfortunately we are under NDA for all of the stuff we were told, until Oracle announce it themselves.
On the Thursday night a few of us meet up with Bryn Llewellyn (the god father of PL/SQL) for a meal. Here is a photo to prove it. It was a lively dinner with some "interesting" discussions.
On the Friday we all transferred hotels into a hotel beside Union Square.
We had the Saturday free, and I'm struggling to remember what I actually did. But it did consist of going out and about around San Francisco. Later that evening there was a meet up arranged by "That" Jeff Smyth in a local bar.
Sunday began with me walking across (and back) the Golden Gate Bridge with a few other ACEDs and ACEs.
The rest of the Sunday was spent at the User Groups Forum. I was giving 2 presentations. The first presentation was part of the "Another 12 things about Oracle 12c". For this session there was 15 presenters and we each had 7 minutes to talk about a topic. Mine was on Oracle R Enterprise. It was an almost full room, which was great.
Then I had my second presentation right afterwards and for that we had a full room. I was co-presenting with Tony Heljula and we were talking about some of the projects we have done using Oracle Advanced Analytics.
After that my conference duties were done and I got to enjoy the rest of the conference.
Monday and Tuesday were a bit mental for me. I was basically in sessions from 8am until 6pm without a break. There was lots of really good topics, but unfortunately there was a couple presentations that were total rubbish. Where the title and abstract had no relevance to what was covered in the presentation, and even the presentation was rubbish. There was only a couple of these.
Wednesday was the same as Monday and Tuesday but this time I had time for lunch.
As usual the evenings are taken up with lots of socials and although I had great plans to go to lots of them, I failed and only got to one or two each evening.
On Wednesday night we ended up out at Treasure Island to be entertained by Elton John and Becks, and then back into Union Square for another social.
Thursday was very quiet and as things started to wind down at OOW finishing up at 3pm. A few of us went down to Fishermans Wharf and Pier39 for a wander around and a meal. Here are the some photos from the restaurant.
Friday has finally arrived and it is time to go home. OTN are very generous and put on a limo for the ACEDs to bring us out to the airport.
As always there are lots of people to thank but I won't start naming names here as I'm sure I will forget someone. But I do want to thank all the gang in OTN that look after the Oracle ACE programme. You really look after us, not just at OOW, but all year round. It is with your support that I get to go to wonderful conferences and to OOW.
Wednesday, October 21, 2015
Oracle Open World 2015 will be kicking off in a few days time. There will be over 50K people attending this event, with a couple of hundred speakers.
I'm one of the lucky ones to have been selected to speak at Oracle Open World. This will be my third or fourth year in a row that I'm speaking at Oracle Open World.
Am I the only person from Ireland who is speaking at Oracle Open World ? No, I'm not, but there is a small number of us this year. There are basically 2, yes 2 other people from Ireland speaking at Oracle Open World. These are Richard Corbridge from the HSE, and Debra Lilley.
If you are interesting in attending these sessions here is the schedule.
Please share this information to allow your colleagues and help spread the news about he Irish Speakers.
If you are attending OOW, then please tweet, blog, Facebook, etc about these presentations.
Hopefully I will see you are one or both of my presentations on the Sunday.
And I will be having a draw/raffle for a copy of my book at my second presentation on the Sunday at 15:30 in Moscone South - 307
Monday, October 19, 2015
It seems to be a things that people blog about their schedule for Oracle Open World and talk about how busy they will be.
So to join the club this is my current schedule.
The boxes that are (a kind of) orange with red text are when I have MY presentations.
The purple boxes indicate some fun event and entertainment.
When attending conferences sometime you get to hear about a good presentation or some other events just happen. So this schedule is tentative and will probably only reflect 40%-60% of what I will really attend/do. There is so much going on each day.
You will see I have some Hands-on-Labs booked. These are a great way to try out some product for an hour. I highly recommend you doing some too.
By far my favourite part of my OOW trip is the Oracle ACE Director briefing that OTN arranges for us. This briefing will happen on the Thursday (22nd) and Friday (23rd) before OOW, and this is held in Oracle HQ in Redwood Shores.
We have been given a tentative schedule for the ACED Briefing and for me I highlight of this briefing is when Thomas Kurian comes in an very openly talks to us, telling us lots and lots and lots about what is happening across the Oracle product set. I would lover to be able to share what we are told but we are all under NDA. After Thomas we have some Cloud updates, then we get onto some updates on Oracle Development Tools, lots of updates on what is coming next in the Oracle Database. So we get the likes of Penny Avril, Andy Mendelsohn, Tom Michelini, Steven Feurerstein, Roland Smart and Wim Coekaerts, among others. So lots and lots of EVPs, Sr VPs and VPs.
After the briefing is over we then hop on a bus and head to our hotel in download San Francisco, near Union Square, where we will be based for the OOW.
Thanks to all in OTN and to those who run the Oracle ACE programme for arranging and paying for my flights, hotels and transportation.
Monday, October 12, 2015
Over the past couple of weeks I've been preparing my slides and presentations for Oracle Open World (2015).
One thing that occurred to me was that there was no icon or image to represent Oracle SQL and PL/SQL. I needed something that I could include in my presentations to represent these.
After a bit of Tweeting it turns out that there is no (official) icons or images for Oracle SQL and Oracle PL/SQL.
So I created some and here they are.
and there are these
Feel free to use these in your presentations and share around. All I ask is that you give me an odd acknowledgement from time to time.Stickers
If you would like to get these as stickers and put them on your laptop, notebooks, or anywhere really, you can order them on Stickermule.
NB: It is important to note that these are in no way approved or acknowledged or endorsed or anything else by Oracle.
Friday, October 9, 2015
Unless you have been going around with your head in the clouds, all you can hear from all the big names in the IT worlds is about moving to the Cloud. (yes that was a poor attempt at a joke. It is Friday afternoon after all).
The title of this post is 'From Zero to Dashboards in 5 min with BICS'.
BICS stands for Oracle BI Cloud Service.
Over the past few months I've been working rolling out BICS at a number of different sites, and it is surprising how quickly you can get up and running with BICS.
There is no install. There is the minimum of setup and configuration. All you need to do is to create a user and give them some privileges. All of that takes 2 minutes.
Next get them to log in to BICS (2 minutes for the first time they log in) and load up some data using the Data Load feature (another 2 minutes).
Then you can move onto the fun part of creating some Dashboards using Visual Analyzer. See the example below of one that we created in 4 minutes.
So all of the above took 10 minutes. How quick and easy is that!
Give it a go yourself and see how quick it is for you.
Let me know if you have any question on using BICS and if you need any help.
Tuesday, September 8, 2015
This is a Free Event.
Register today to reserve your place, as places are limited.
Our next BA, Big Data & Tech SIG will be on Thursday 24th September. This event will be held in Jurys Inn, Customs House, in Dublin.
We have decided to merge the two SIGs for this event to offer everyone even more content and learning opportunities. The day is filled with presentations from End Users and from Product Experts. We will also have some of the latest updates from Oracle.
It is the ideal opportunity for you to learn, share and network with other users.
Here is the agenda for this full day event.
As you can see this a really good agenda. So I hope to see you there.
You need to book your place for this SIG. To book your place go to here.
If you have ideas of topics you would like covered at the next SIG, just let me know.
I'll see you there.
Tuesday, September 1, 2015
Oracle Open World is coming at the end of October. Lots of people are starting to get excited as Oracle Open World is the number one place for all the Oracle geeks from around the World to hang out for a week.
This year I will be giving 2 presentations. Both of them are on the Sunday. That means I get to really enjoy the rest of the conference. These presentations are:
Sunday 13:30-14:15 & 14:30-15:14 (a double session) Session Title : 12 more things about Oracle 12c Description: These sessions are being organised by the EMEA Oracle User Group and follow on from the successful sessions that were at last years Oracle Open World. These sessions/presentations will consist of 12 presenters giving a 5-7 minute talk on a topic related to the Oracle Database. Many thanks to Debra Lilley for arranging these session. For me I will be talking about Running R in the Oracle Database using Oracle R Enterprise. 5-7 Minutes is not enough time for this topic, but the whole idea of these sessions and talks to to give people a taster of what is possible in the Oracle Database. You can then use your new knowledge to check out other sessions at OOW and/or to check it out when you get home.
I'll put up another blog post when I have the full list and schedule of presenters.
Sunday 15:30-16:15 (yes this is right after the previous session/presentation) Session Title : Real Business Value from Big Data and Advanced Analytics Description : I will be co-presenting with Antony Heljula and we will be talking about some of the advanced analytics and big data projects we have worked on. We have had some amazing results with these projects and we will be giving you a taster of what is possible. Also some of these project didn't involve big data. So even with small data you can have amazing results using Advanced Analytics / Predictive Analytics / Data Mining / Data Science.
After these presentations I get to enjoy the rest of Oracle Open World with having to worry about giving another presentation.
My diary for the conference is filling up fast and it looks like I will be busy each day from 8am to late into the evening. Oracle Open World has lots and lots of social and networking events and these are great for meeting up with people and making new contacts.
Wednesday, August 26, 2015
This is mainly a note to myself to save me from looking up the details very time I need it. I can just go to my own post.
To use Autotrace in SQL you need to grant the schema the PLUSTRACE role.
But in SQL Developer you need the PLUSTRACE role that has a few additional privileges.
Connect to SYS as sysdba and run the following.
grant select on v_$session to plustrace; grant select on v_$sql_plan to plustrace; grant select on v_$sql_plan_statistics to plustrace; grant select on v_$sql to plustrace;
Now you will be able to run Autotrace in SQL Developer.
(Make sure to reconnect your SQL Developer connection so that the privileges can be picked up).
Friday, August 14, 2015
When working with ORE you will end up creating a number of different data stores in the database. Also as your data science team increases the number of data stores can grow to a very large number.
When you install Oracle R Enterprise you will get a number of views that are made available to ORE users to see what ORE Data stores they have and what objects exist in them. All using SQL.
Perhaps some of the time the ORE developers and data analysts will use the set of ORE functions to manage the in-database ORE Data stores. These include:
When using these ORE function the schema user/data scientist can see what ORE Data stores they have. You can use the ore.delete to delete an ORE Data store when it is no longer needed.
But the problem here is that over time your schemas can get a bit clogged up with ORE Data stores. Particularly when the data scientist is not longer working on the project or there is no need to maintain ORE Data stores. This is common on data science projects when you might have a number of data scientists work in/sharing the one database schema.
For a DBA, who's role will be to clean up the ORE Data store that are no longer needed, you have 4 options.
The first of these, is if all the ORE Data stores exist in the data scientists schema and nothing else in the schema is needed then you can just go ahead and drop the schema.
The second option is to log into the schema using SQL and drop the ORE Data stores. See an example of this below.
The third option is to connect to the Oracle schema using R and ORE and then use the ore.delete function to drop the ORE Data stores.
The fourth option is to connect to the RQSYS schema. This schema is the owner of the views used to query the ORE Data stores in each schema. After the RQSYS schema was created it was locked as part of the ORE installation. You as the DBA will need to unlock and then connect.
The following SQL lists the ORE Data stores that were created for that schema.
column dsname format a20 column description format a35 SELECT * FROM rquser_DataStoreList; DSNAME NOBJ DSSIZE CDATE DESCRIPTION -------------------- ---------- ---------- --------- ----------------------------------- ORE_DS 2 5104 04-AUG-15 Example of ORE Datastore ORE_FOR_DELETION 1 1675 14-AUG-15 Need to Delete this ORE Datastore ORE_DS2 5 51466509 04-AUG-15 DS for all R Env Data
You can also view what objects have saved in the ORE Data store.
column objname format a15 column class format a15 SELECT * FROM rquser_DataStoreContents; DSNAME OBJNAME CLASS OBJSIZE LENGTH NROW NCOL -------------------- --------------- --------------- ---------- ---------- ---------- ---------- ORE_DS CARS_DATA ore.frame 1306 11 32 11 ORE_DS cars_ds data.frame 3798 11 32 11 ORE_DS2 cars_ds data.frame 3798 11 32 11 ORE_DS2 cars_ore_ds ore.frame 1675 11 32 11 ORE_DS2 sales_ds data.frame 51455575 7 918843 7 ORE_DS2 usa_ds ore.frame 2749 23 18520 23 ORE_DS2 usa_ds2 ore.frame 2712 23 18520 23 ORE_FOR_DELETION cars_ore_ds ore.frame 1675 11 32 11
To drop an ORE Data store for you current schema you can use the rqDropDataStore SQL function.
BEGIN rqDropDataStore('ORE_FOR_DELETION'); END; /
For the DBA when you unlock and connect to the RQSYS schema you will be able to see all the ORE Data stores in the data. The views will contain an additional column.
But if you use the above SQL function to delete an ORE Data store it will not work. This because this SQL function will only drop and ORE Data store if it exists in your schema. If we have connected to the RQSYS schema we will not have any ORE Data stores in it.
We can create a procedure that will allow use to delete/drop any ORE Data store in any schema.
create or replace PROCEDURE my_ORE_Datastore_Drop( ds_owner in VARCHAR2, ds_name IN VARCHAR2 ) IS del_objIds rqNumericSet; BEGIN del_objIds := rq$DropDataStoreImpl(ds_owner, ds_name); IF del_objIds IS NULL THEN raise_application_error(-20101, 'DataStore ' || ds_name || ' does not exist'); END IF; -- remove from rq$datastoreinventory BEGIN execute immediate 'delete from RQ$DATASTOREINVENTORY c where c.objID IN (' || 'select column_value from table(:del_objIds))' using del_objIds; COMMIT; EXCEPTION WHEN others THEN null; END; END;
We are the DBA, logged into the RQSYS schema can now delete any ORE Data store in the database, using the following.
BEGIN my_ORE_Datastore_Drop('ORE_USER', 'ORE_FOR_DELETION'); END; /