Feed aggregator

My Sessions at Oracle OpenWorld and JavaOne 2013

Kuassi Mensah - Thu, 2013-07-18 17:18
Have you ever needed to deploy Java applications with tens of thousands of concurrent users?
Have you ever experienced paying twice the same flight ticket, the same article or your taxes?
Have you ever wanted the system to just deal with database failure and not ask you to restart your transaction from start?
Looking to exploit the new Oracle Multitenant Container Database with Java?
Looking to analyze structured data using Mapreduce patterns?
Looking to implement MapReduce patterns using SQL and Hadoop?
If you are a Java architect, Java designer or wannabe looking to exploit new Oracle database 12c enhancements in the areas of performance, scalability, availability, security and manageability/ease-of-use, here are sessions for you. Register and book your seats ASAP!
My Sessions
9/24/13 (Tuesday) 5:15 PM - Marriott Marquis - Salon 8
9/25/13 (Wednesday) 10:15 AM - Marriott Marquis - Salon 7
9/24/13 (Tuesday) 3:00 PM - Hilton - Continental Ballroom 5
9/25/13 (Wednesday) 8:30 AM - Hilton - Continental Ballroom 4
9/23/13 (Monday) 10:45 AM - Marriott Marquis - Salon 3/4


Oracle GoldenGate 11g Handbook

Amardeep Sidhu - Thu, 2013-07-18 10:02

Few months ago I contributed a chapter (on Monitoring, Troubleshooting and Performance tuning) to a GoldenGate book on Oracle Press that Robert Freeman was authoring. Thought of posting a small update that the book is now out. My name doesn’t appear on the main page Sad smile but you will see it in the Acknowledgements section Winking smile Below is a screenshot taken from Amazon preview Smile.

You may want to grab a copy if you are using/planning to use Oracle GoldenGate 11g.

Here is the link to the book page on Amazon. It seems the book is not published in India yet but one can order the imported edition on amazon.in

image

Categories: BI & Warehousing

How to implement Document Versioning with Couchbase

Tugdual Grall - Thu, 2013-07-18 08:59
Introduction Developers are often asking me how to "version" documents with Couchbase 2.0. The short answer is: the clients and server do not expose such feature, but it is quite easy to implement. In this article I will use a basic approach, and you will be able to extend it depending of your business requirements.  Design The first thing to do is to select how to "store/organize" the Tugdual Grallhttps://plus.google.com/103667961621022786141noreply@blogger.com0

Something for the future

Dominic Giles - Thu, 2013-07-18 06:46

A nice little feature in Oracle Database 12c is to query patching information via SQL. You can do this from SQLPlus or any other SQL interface jdbc/odbc etc. You can find more details here

http://docs.oracle.com/cd/E16655_01/appdev.121/e17602/d_qopatch.htm#CBHEBGIB

However you won't be surprised to find that the following query doesn't currently return any useful information.

SYS@//oracle12c/orcl > select DBMS_QOPATCH.GET_OPATCH_LIST from dual;
GET_OPATCH_LIST
------------------------------------------------------------------------------------------------------------------------
<patches/>


Exalytics - Version X3-4 is Here

Look Smarter Than You Are - Tue, 2013-07-16 21:15
I've mentioned before that the Exalytics X3-4 was nearly available (the first clue was when it hit the engineered system price list back on June 4).  It was talked about at-length during the Kscope13 Sunday Developer's Symposium and... it's finally here.


Hardware Upgrades
  • RAM.  Doubling from 1 terabyte to 2 terabytes.  This will help everything on the box but those of us running Essbase now have even more RAM to use for making RAM drives.
  • Flash.  Exalytics now comes standard with 2.4 TB of flash.  I mentioned this earlier as an upgrade option to the Exalytics X2-4, but it now is native to the X3-4.  As mentioned in my earlier article, flash impacts Essbase performance far more than OBIEE (which isn't as disk I/O intensive).  Having .25 millisecond read latency (what these flash drives are rated) means there's virtually no seek time finding values in an Essbase cube on disk.  I'm expecting most Essbase customers will put their physical cubes on the flash drives and then quickly load them into a RAM drive upon start up (which has better performance than reading into the Essbase caches for each database).
  • Hard Drive.  They are upping the traditional hard drives from 3.6 TB to 5.4 TB.  It still has 6 physical drives in it, but they are going from 600GB drives to 900GB drives. [Updated on 8-25-2013.]
The cores (still 40) stay the same... for now.  At some point, someone is going to start hitting these limits and they're probably up the cores and I wouldn't be surprised if they went 100% flash drives in a future release.

Software
X3-4 supports OBIEE 11.1.1.7, Endeca 3.0, Essbase 11.1.2.3, and any Linux-allowed Hyperion EPM product on 11.1.2.3.  They also strongly imply that there are some Essbase optimizations in 11.1.2.3 that only work on Exalytics, but I haven't found them yet to verify.  Regardless, Exalytics X3-4 is the best engineered system you can currently buy for Essbase, bar none.

Pricing: $175,000
The X2-4 was $135,000 for the hardware (software sold separately), but to add-on flash, you paid an additional $35,000 giving us a real price for X2-4 of $170,000.  The new box is $175,000... and for that additional $5,000, they double the RAM and increase the hard drives 50%.  In other words, you're getting a hell of a deal.  For what is literally $40,000 more in total, you're getting 1 TB more of RAM, 2.4 TB of really good flash, and 1.8 TB of additional hard drive.

What if I Already Bought an X2-4?
First of all, congratulations.  You're really smart, despite what your high school guidance counselor said.  To upgrade your X2-4 to an X3-4, you can buy an upgrade kit!  The upgrade kit (to get flash and the 1 TB of RAM) does cost $105,000 though.  So your X2-4 with an upgrade to an X3-4 will end up costing you $240,000 in total.  Oracle will support your X2-4 under their lifetime support policy even though it is being phased out.  

Availability
You can order an X3-4 now.  I haven't seen one actually ship yet, but it was just officially launched yesterday.  While I think you can still buy the X2-4 until the end of this quarter (August 31, 2013), I'm not at all sure why you would.  Find the extra $40K and get not only blazingly fast flash drives but more RAM than you know what to do with.
Categories: BI & Warehousing

July 2013 Critical Patch Update Released

Oracle Security Team - Tue, 2013-07-16 15:34

Hello, this is Eric Maurice.

Oracle just released the July 2013 Critical Patch Update.  This Critical Patch Update provides 89 new security fixes across a wide range of product families: Oracle Database, Oracle Fusion Middleware, Oracle Hyperion, Oracle Enterprise Manager Grid Control, Oracle E-Business Suite, Oracle PeopleSoft Enterprise, Oracle industry Applications, Oracle Supply Chain Products Suite, Oracle VM, Oracle MySQL, and Oracle and Sun Systems Products Suite.

As a reminder, security fixes for Java SE will continue to be released on a separate Critical Patch Update schedule until October this year.  Starting with the October 2013 Critical Patch Update, Java SE security fixes will be released on the normal Critical Patch Update schedule, along with the security fixes for all other Oracle products, thus likely to increase the total number of security fixes released with each Critical Patch Update.

Out of the 89 new security fixes included with this Critical Patch Update, 6 are for Oracle Database.  One of these database vulnerabilities is remotely exploitable without authentication.  The highest CVSS Base Score for these database vulnerabilities is 9.0.  This score is related to a vulnerability (CVE-2013-3751) which affects the XML Parser on Oracle Database 11.2.0.2 and 11.2.0.3. 

21 of the fixes included in this Critical Patch Update are for Oracle Fusion Middleware.  16 of these vulnerabilities are remotely exploitable without authentication, and the highest CVSS Base Score for these vulnerabilities is 7.5.  This score affects a JRockit vulnerability (CVE-2013-2461), which in fact is related to a series of Java vulnerabilities fixed with the June 2013 Critical Patch Update for Java SE and applicable to JRockit.   With the inclusion of Java in the normal Critical Patch Update schedule starting in October 2013, the release of JRockit and Java security fixes will be integrated.  Note also that with this Critical Patch Update and the previously-released Critical Patch Update, Oracle has been working on addressing a series of known Apache bugs in Oracle HTTP Server.  Finally, note that a number of the Oracle Fusion Middleware vulnerabilities have already been fixed on all supported versions.  The listing of these vulnerabilities in the Oracle Fusion Middleware risk matrix should provide an additional impetus for users of affected versions to update their systems to a more secure release.

The Oracle and Sun Systems Products Suite receive a total of 16 new security fixes.  8 of the vulnerabilities are remotely exploitable without authentication, and the maximum CVSS base Score for these vulnerabilities is 7.8.

Oracle MySQL receives 18 new security fixes.  2 of the MySQL vulnerabilities are remotely exploitable without authentication.  The highest CVSS Base Score for these bugs is 6.8. 

As usual, Oracle recommends that customers apply this Critical Patch Update as soon as possible.  In addition, as previously discussed, Oracle does not test unsupported products, releases and versions for the presence of vulnerabilities addressed by each Critical Patch Update.  However, it is often the case that earlier versions of affected releases are affected by vulnerabilities fixed in recent Critical Patch Updates.  As a result, it is highly desirable that organizations running unsupported versions, for which security fixes are not available under Oracle Premier Support, to update their systems to a current release so as to fully benefit from Oracle’s ongoing security assurance effort (see for example Ovum’s Paper: Avoiding Security Risks with Regular Patching and Support).

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> 

For More Information:

The July 2013 Critical Patch Update Advisory is located at http://www.oracle.com/technetwork/topics/security/cpujuly2013-1899826.html  

The Oracle Software Security Assurance web site is located at http://www.oracle.com/us/support/assurance/overview/index.html. 

PL/SQL Coding Standards, revisited

Andrew Clarke - Tue, 2013-07-16 03:32
Formatting is the least important aspect of Coding Standards. Unfortunately, most sets of standards expend an inordinate number of pages on the topic. Because:

  1. The standards are old, or the person who wrote them is.
  2. Code formatting is an easy thing to codify and formalise.

Perhaps the source of most wasted energy is formatting keywords. Back in mediaeval times, when the only editors in use were vi or Notepad, or perhaps PFE, this was a pressing issue. But modern editors support syntax highlighting: now that we can have keywords in a different colour there is much less need to distinguish them with a different case.

Personally I prefer everything in lower case; I save about 23 seconds a day from not having to use the [shift] key. But other people have different preferences, and for the sake of the team it is better to have all the source code in a consistent format. But the way to achieve this is with automation not a Word document. SQL Developer, PLSQL Developer and TOAD all have code formatters (or beautifiers, yuck) , as do other tools. Let's put the rules into the machine and move on.

What should the rules be? Well, everybody has an opinion, but here are my definitive PL/SQL Coding Standards, with an addendum of formatting guidance. APC's Damn Fine PL/SQL Coding Standards

  1. Your code must implement the requirements correctly and completely.
  2. Your code must have a suite of unit and integration tests (preferably automated) to prove it implements the requirements correctly and completely.
  3. Your code must implement the requirements as efficiently and performantly as possible.

APC's PL/SQL Code Formatting Guidelines

  1. Case. ALL CAPS is Teh Suck! Anything else is fine.
  2. Indentation. Align consistently. Spaces not tabs. Four spaces is the Goldilocks indent.
  3. Short statements. One statement per line.
  4. Long statements Use line breaks, don't make me scroll.
  5. Naming conventions. Use prefixes to distinguish local variables, global variables and parameters from each other and from database objects.
  6. Comments. A comment is an apology.
If you prefer something less minimal, William Robertson's PL/SQL Coding Standards remains the most complete and best annotated set on the web. Okay, so he does specify "3 spaces for each nesting level" (why? computing is all about powers of 2) but nobody's perfect.

The personal is technical

Andrew Clarke - Mon, 2013-07-15 19:50
On Friday evening I attended an IT Job Fair at the Amerigo Vespucci in Canary Wharf. Let me say straight away that hanging out with a random bunch of techies and recruiters would not be my first choice for a Friday evening. But, hey! I'm looking for my next role, and right now the market is too tough to turn down opportunities to find it. Besides I was interested to see whether the Meetup template would translate into a recruitment fair.

On the day the translation was a mixed success. Unlike most Meetups, which can work with any number of attendees, a job fair requires a goodly number of recruiters, and recruiters will only turn up if they think there will enough candidates to make it worth their while. This first event didn't achieve that critical mass, and I would be quite surprised if I get an opportunity from it. Nevertheless I will try to attend the next event, whenever that may be, because pop-up job fairs in bars are a great idea. Not for the reason you're thinking (I drank cola all evening), but because it was enjoyable. I talked with some interesting people, and got a couple of email addresses as well.

But more than that I was impressed with the concept. The informal social setting is good for understanding what a person is really like, specifically what they might be like to work with. This has to be worthwhile. The CV is a dead letter: it lists skills and accomplishments but doesn't animate or demonstrate them. The formality of the technical interview makes it hard to judge somebody as a person. Anyway it's generally aimed at establishing how much of their CV is true. The social element is often missed entirely. Big mistake. Software is like Soylent Green, it's made of people.

Personality matters: the toughest problems most projects face are political (organizational, personal) rather than technical (except for system integration - that's always going to be the biggest pain in the neck). A modern development project is a complex set of relationships. There are external relationships, with users, with senior managers, with other stakeholders (Security, Enterprise Architecture, etc) any of which can jeopardize the success of the project if handled badly. But the internal relationships - between Project Manager and staff, between developers and testers, or developers and DBAs - are just as fraught with difficulty.

The personal is technical because the team dynamic is a crucial indicator of the likely success of the project. You don't just need technical competence, you need individuals who communicate well and share a common vision; people who are (dread phrase) team players. That's why Project Managers generally like to work with people they already know, because they already know they can work with them.

For a new hire, nobody knows the answer to the burning question, "Can I stand to be in this person's company eight hours a day, five days a week, for the duration of the project?" Hence the value of chatting about work and other things in a bar on a hot summer's eve over a glass of something with ice. I'm not sure how well the model would works for recruitment agents, but I think it would suit both hirers and hirees. It's not a technique that scales, but if people made better hiring decisions perhaps that wouldn't matter?

99 Bottles of ADF

Bex Huff - Mon, 2013-07-15 17:09

Three years ago I blogged about the site 99 Bottles of Beer, which is a site dedicated to generating the lyrics of that oh so annoying song in every programming language known... currently over 1500 languages have been submitted. It's a surprisingly useful exercise when learning a new language... loops, text output, conditionals, etc.

Three years ago I submitted IdocScript to their library. I recently came across it again, and was shocked to find that nobody has submitted ADf yet! Geek rules state that ADF cant be an "official" language until it's on that site, so I had to do my part. Below is my humble submission:

<?xml version='1.0' encoding='UTF-8'?>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1"
          xmlns:f="http://java.sun.com/jsf/core"
          xmlns:h="http://java.sun.com/jsf/html"
          xmlns:af="http://xmlns.oracle.com/adf/faces/rich">
  <jsp:directive.page contentType="text/html;charset=UTF-8"/>
  <f:view>
    <af:document id="d1">    
      <af:form id="f1">
        <af:panelGroupLayout id="pgl" layout="vertical">
          <af:forEach begin="1" end="98" varStatus="bottle">
            <af:outputText value="#{100 - bottle.index} bottles of beer on the wall, #{100 - bottle.index} bottles of beer!" id="ot1"/>
            <af:outputText value="take one down, pass it around," id="ot2"/>
            <af:outputText value="#{99 - bottle.index} bottles of beer on the wall!" id="ot3"/>
            <af:spacer width="10" height="10" id="s1"/>
          </af:forEach>
          <af:outputText value="1 bottle of beer on the wall, 1 bottle of beer!" id="ot4"/>
          <af:outputText value="take one down, pass it around," id="ot5"/>
          <af:outputText value="no more bottles of beer on the wall!" id="ot6"/>
        </af:panelGroupLayout>
      </af:form>
    </af:document>
  </f:view>
</jsp:root>

I'm using a pretty basic program here... I'm using a vertical af:panelGroupLayout, an af:forEach tag to loop, and an af:outputText tag with expression language to print out the index. The af:spacer is there just to make it easier to read. Unfortunately, the af:ForEach tag does not iterate backwards (setting the 'step' attribute to '-1' makes it bark at me), so I have to subtract the index from 100 to get the number of bottles of beer on the wall.

This mainly demonstrates how expression language, loops, and conditionals can be used on an ADF Faces page. Another option would be to generate an array in a backing bean and bind that to the af:forEach tag, but I wanted to keep it all in one file.

Not sure if this will ever be officially accepted... because there are over 1117 languages are in their approval queue! I guess after IdocScript was admitted, the site got so popular they just couldn't keep up with demand...

read more

Categories: Fusion Middleware

OWB - 11.2.0.3 CP3

Antonio Romero - Mon, 2013-07-15 11:10

The OWB 11.2.0.3 Cumulative Patch 3 has just been released, the bug/patch number is 16568042. This cumulative patch wraps a number of bugs from customers using the OWB 11gr2 release. See the patch readme for details. 

Next Generation Essbase Outline Extractor Released!

Tim Tow - Sat, 2013-07-13 00:05
After a bunch of work, we have finally released the Next Generation Essbase Outline Extractor. So, what is the Next Generation Essbase Outline Extractor?  Well, the original outline extractor was written in Visual Basic and Visual Basic has has not been supported by Microsoft for a number of years.  In addition, the original Essbase Outline Extractor requires the 32-bit runtime client which is getting harder and harder to support.  In addition, users have asked for new functionality over the years and it just wasn't feasible to add the new functionality to a VB based product.

Some people have asked me "What about the new Maxl Outline Extractor?"  That is a good question, but keep in mind it only works with 11.1.2.x and higher plus it gives you an XML output. You still have to do something with the XML format for it to be useful.

The Next Generation Essbase Outline Extractor was completely redesigned from scratch.  The main design goals were:
  • Design for long term
    • Extensible
    • Use Oracle’s strategic technology
  • Design for supportability
    • Wider adoption
    • Wider platform choices
    • Less support calls
It was also architected for extensibility to enable new functionality to be added and to allow programmers to write their own extensions to the code.  I chose to write the extractor in Java for a number of reasons.  First, it is Oracle's strategic API for the future which means new features of Essbase will be available in the Java API first.  In addition, Java is multi-platform which means it runs on Windows, Linux, AIX, Solaris, and MacOS regardless of whether it is 32-bit or 64-bit.  In addition, with the Java API, we can ship a single zip download that has everything it needs (except Java itself).  There is no need for the runtime client with the new extractor!

The new Outline Extractor also supports a number of features.  Many of these features are ne:
  • Export one or more dimensions in an outline.
  • Filter members to to be exported by dimension.
  • Write to multiple outputs on a single pass of the outline.
  • Output multiple alias tables into a single output file.
  • Write to Hyperion Planning Outline Load Utility format.
  • Output to real relational databases via JDBC.
The extractor was also designed to be run by a batch process using Java properties files.  The properties files can be written from the GUI interface and directly executed from the GUI.  There is even built-in functionality that optionally encrypts the username and password on first usage.

Here are a few screenshots of the new extractor.  The first screenshot shows the GUI screen where you can select one or more writers for output.



The second screenshot shows the option screen showing the options for the Load File Text Writer.

The final screenshot shows the execution screen. 















The Next Generation Outline Extractor is available on our website at www.appliedolap.com.  If you have any questions on the new extractor, don't hesitate to contact us at support@appliedolap.com.

Categories: BI & Warehousing

UKOUG Analytics Event: a semi-structured analysis

Andrew Clarke - Thu, 2013-07-11 17:40
Yesterday's UKOUG Analytics event was a mixture of presentations about OBIEE with sessions on the frontiers of data analysis. I'm not going to cover everything, just dipping into a few things which struck me during the day

During the day somebody described dashboards as "Fisher Price activity centres for managers". Well, Neil Sellers showed a mobile BI app called RoamBI which is exactly that. Swipe that table, pinch that graph, twirl that pie chart! (No really, how have we survived so long with pie charts which can't be rotated?) The thing is so slick, it'll keep the boss amused for hours. Neil's theme on the importance of data visualization to convey a message or tell a story was picked up by Claudio Bastia and Nicola Sandol.   Their presentation included a demo of IConsulting's Location Intelligence extension for OBIEE. The tool not only does impressive things with the display of geographic data, it also allows users to interact with the maps to refine queries and drill down into the data. This is visualization which definitely goes beyond the gimmick: it's an extremely powerful way of communicating complex data sets.

A couple of presentations quoted the statistic that 90% of our data was created in the last two years. This is a figure which has been bandied about but I've never seen a citation which explains who calculated it and what method they used (although it's supposed to have originated at IBM). It probably comes from the same place as most other statistics (and project estimates). What is the "data" the figure measures? I'm sure in some areas of human endeavour (bioinformatics, say, or CERN) the amount of data they produce has gone metastatic. And obviously digital cameras, especially on phones, are now ubiquitous, so video and photographs account for a lot of the data growth. But are selfies, instagrammed burgers and cute kittens really data? Same with other content: how much of this data explosion is mirroring, retweets, quoting, spam and AdSense farms? Not to mention the smut. Anyway, that 90% was first cited in 2012; it's now 2013 and somebody needs to invent derive a new figure.

The day rounded off with a panel and a user presentation. Toby Price opened the Q&A by asking Oracle's Nick Whitehead, how does Hadoop fit into an Oracle estate? It's a good question. After all, Oracle has been able to handle unstructured data, i.e. text, since the introduction of ConText in 8.0 (albeit as a chargeable extra in those days). And there's nothing special about MapReduce: PL/SQL can do that. So what's the deal with Hadoop? Here's the impertinent answer to this pertinent question: Hadoop allows us to run massively parallel jobs without paying Oracle's per processor licenses. Let's face it, not even Tony Stark could afford to run a one-thousand core database.

The closing session was a presentation from James Wyper & Dirk Shelley about upgrading the BI architecture at John Lewis Partnership. They described it as a war story, but actually it was a report from the front lines, because the implementation is not yet finished. James and Dirk covered the products - which ones worked as advertised, which ones gave them grief (integration was a particular source of grief). They also discussed their approach to the project, relating what they did well and what they would do differently with the advantage of hindsight. This sort of session is the best part of any user group: real users sharing their experiences with the community. We need more of them.

Deploy your Node/Couchbase application to the cloud with Clever Cloud

Tugdual Grall - Thu, 2013-07-11 07:47
Introduction Clever Cloud is the first PaaS to provide Couchbase as a service allowing developers to run applications in a fully managed environment. This article shows how to deploy an existing application to Clever Cloud. I am using a very simple Node application that I have documented in a previous article: “Easy application development with Couchbase, Angular and Node”. Clever Tugdual Grallhttps://plus.google.com/103667961621022786141noreply@blogger.com0

Oracle Database 12: Architecture Diagram

Asif Momen - Tue, 2013-07-09 03:04
I found the following Database Architecture Diagram for Oracle Database 12c on Oracle Education's website. It lists all the processes and the relationship between processes and other database components. I recommend you to take a print on A3 paper.



And below is a YouTube link which gives database architecture overview.

Oracle Database 12c Architecture Overview


Update - 1 (11-Jul-2013):

Below is Oracle Database 12c Multi-Tenant Architecture Diagram:







SQL Translator Profiles in Oracle Database 12c

Dominic Giles - Mon, 2013-07-08 11:19

A new feature in Oracle Database 12c is the ability to intercept and translate third party SQL to Oracle syntactically correct SQL  before it is parsed and executed. So you can now intercept SQL from applications using jdbc and odbc that were designed to run against a non Oracle database and potentially run them completely unchanged. The only work necessary is done by the database development/management team. In Oracle Database 12c we also currently support the automatic translation of some databases SQL. Currently this is limited to Sybase but we're working on others. You can find all the details here

http://docs.oracle.com/cd/E16655_01/gateways.121/e22508/sql_transl_arch.htm#DRDAA131

You can also use the frame work against an application that already successfully runs against an Oracle Database. You might want to do this for migration/performance/security reasons. It also gives you an opportunity to try out an important part of the framework "Translation Profiles".

The following SQL demonstrates a simple use case. I'm using the Swingbench Order Entry schema but the sample schema OE would work just as well.

First grant the privilege to the user you want to create the SQL profile on in this case SOE. You need to do this as sys or system

grant create sql translation profile to SOE

Then connect to the user you've just granted the privilege to (SOE) and create a SQL Translation profile.

-- Drop the profile if it already exists
-- exec DBMS_SQL_TRANSLATOR.DROP_PROFILE('ORDERS_APP_PROFILE');

-- Create a Translation Profile

exec dbms_sql_translator.create_profile('ORDERS_APP_PROFILE');

Then add some SQL to be translated. In our simple example we are translating a count against the ORDERS table and translating it to run against the ORDERS_SOUTH table

-- Create a Translation in that profile

BEGIN
    DBMS_SQL_TRANSLATOR.REGISTER_SQL_TRANSLATION(
      profile_name    => 'ORDERS_APP_PROFILE',
      sql_text        => 'select count(*) from orders',
      translated_text => 'select count(*) from orders_south');
END;

At this stage it's worth seeing whats been populated. You can see the SQL via the following views.

select *  FROM USER_SQL_TRANSLATION_PROFILES;

select * from USER_SQL_TRANSLATIONS;

Then test how this changes the execution by creating our new "ORDERS_SOUTH" table

-- Count the rows we get back from orders
select count(*) from orders;

-- Create a new table  orders_south with just ten rows in

create table orders_south as select * from orders where rownum < 11;

Now we've done that enable the sql translation profile we want to use

-- Set the session to use the sql translation profile

alter session set sql_translation_profile = ORDERS_APP_PROFILE

-- For testing make the sqlplus look like a foreign tool

alter session set events = '10601 trace name context forever, level 32';

Now when we re run our query it will use the ORDERS_SOUTH table even though we've explicitly asked for a count against the ORDERS table.


select count(*) from orders;

-- We should just see 10 rows as opposed to hundreds of thousands

And thats a quick example of SQL Translator profiles in Oracle Database 12c 

Write It Out

Chet Justice - Mon, 2013-07-08 10:54
This one was sitting in the drafts folder for a week or two, then I saw this post on Twitter:

I wonder what percentage of people ask a question and figure it out on their own before you help them. What about in your experience?

— Amy Caldwell (@amyccaldwell) July 8, 2013
Years ago I had a boss who was my technical superior (he may still be). I used to pop in and out of his office, or try to, and ask questions. Most of them were silly, n00b questions.

He was nice, but busy. It didn't take me very long to "read" that. So I slowed down my pace of questions. I began to write things up via email so that he could respond when he the had time. I started to use forums as well. Then I found was directed to How To Ask Questions The Smart Way.

One of the things that became evident quickly is that I didn't always have to hit Send (email) or Submit (forum post), just the act of writing it out forced me to think through the issue and more often than not, I would figure out the answer on my own.

Flash forward five or six years and I started to receive all these questions, either in person or via chat. "Send me an email" was usually my response, especially if I was in the middle of something (see: Context Switching). I was happy to help, just not at that moment. With email, I could get to it when I got a break (or needed one).

One of my favorite people, Jason Baer, who has worked for RittmanMead for the last couple of years, took this to heart. We started working together in December of 2009 and he would pepper me with questions constantly. I could never keep up. "Email the question Jason."

I didn't realize it, but I started getting fewer and fewer emails/questions from him. He began to figure them out on his own. It seemed most of the time he had just missed something, other times he just figured out another way to do something.

Jason is a smart guy. I think I'm smart. Sometimes it's just easier to ask the question without thinking it through. In fact, I do that quite a bit on The Twitter Machine ™, especially those errors that I seem to know but just don't have the bandwidth to research (think DBA type questions). I believe the types of questions that should must be written down are those that deal with Approach (design, architecture, etc). Any of those ORA errors better come along with a link to the error code in the documentation and some proof that you've researched it a bit yourself...but then that's getting into How To Ask Questions The Smart Way.

Go out and practice. Next time you have a (technical) question for someone, anyone, write it down and see what happens.
Categories: BI & Warehousing

★ Oracle Database 12c Bookmarklet, Search Plugin and New Features

Eddie Awad - Mon, 2013-07-08 08:30

12c The blogosphere continues its buzz about Oracle Database 12c and what feels like an unlimited supply of new features in this latest cloud enabled release.

Speaking of new features, here is what’s new in Oracle Database, SQL and PL/SQL from 9iR1 until 12cR1.

With a new release comes new documentation and handy tools to make searching documentation easier. Check out the updated Oracle Bookmarklets and browser search plugins.

© Eddie Awad's Blog, 2013. | Permalink | Add a comment | Topic: Oracle | Tags:

Oracle Database 12c - notes 1

Hans Forbrich - Sat, 2013-07-06 21:02
I now have a functional Oracle Database 12c Lab environment which consists of a bunch of x86_64 computers networked together.  (And some that are still pending, for the RAC exercise.)

Configuration:

SAN:
  1x AMD-based homegrown computer running OpenFiler 2.99 as iSCSI server

Monitoring and Support (licenses includes with Database):
  1x Oracle Linux 5u6 for OEM 12c Cloud Control
   - DB 11gR2
   - OEM 12.1.0.3
   - Cloud Control agent pushed to all machines BEFORE any additional s/w set up

  1x Oracle Linux 5u8 for Oracle Internet Directory
  - DB 11gR2,
  - RCU 11.1.1.7.0
  - WebLogic Server 10.3.6
  - Oracle Identity Management Suite 11.1.1.7.0 selected for OID
  - all targets displaying on Cloud Control

Test Machine 1
  - Oracle Linux 5u8, 48GB RAM
  - Standalone Grid installed for ASM
  - ASM 12.1.0.1
  - 1x DB 12.1.0.1 EE Container using ASM with 1 Pluggable DB 
  - 1x DB 12.1.0.1 EE Container using File System with 1 Pluggable DB
  - all targets displaying on Cloud Control

Test Machine 2
  - Oracle Linux 5u8, 4GB RAM
  - 1x DB 12.1.0.1 EE Container using File System with 1 Pluggable DB
  - all targets displaying on Cloud Control and EM Express

Test Machine 3
  - Oracle Linux 6u3, 4GB RAM
  - 1x DB 12.1.0.1 SE Container using File System with 1 Pluggable DB
  - 1x DB 12.1.0.1 EE non-Container using File System
  - all targets displaying on Cloud Control and EM Express

(Still to come:
   Test machine 4 will host GSM.
   Test machines 5-7 will have OVM and RAC 12c.
)

Results:

     84 Targets in OEM Cloud Control, all showing Green!

Initial Notes: 
  1. I needed to upgrade to OEM 12c Cloud Control 12.1.0.3 as 12.1.0.2 did not have the plugins to monitor Database 12c (production release). 
  2. Standard Edition supports 1 (one) pluggable database, if you chose the container architecture.
  3. Selecting both Cloud Control AND EM-Express during DBCA screws up EM-Express
    1. You need to install using EM-Express ONLY and discover manually with CC later.
  4. Separation of duty configuration works - almost correctly.

Categories: DBA Blogs

OpenFiler - lost iSCSI disks after reboot. How To Restore

Hans Forbrich - Sat, 2013-07-06 20:40
I've been using OpenFiler 2.99 as a NAS and iSCSI server for some tests.  

A few days ago I had a power outage and that caused me some problems, so I got another UPS and added the OpenFiler system to the UPS.  Unfortunately, even though  I cleanly shut the filer down, it still caused the same problems as before.

This blog is more of a record for me, when I need to redo this exercise.  

Environment:
  OpenFiler 2.99  x86_64 NAS Appliance
    - obtained from http://openfiler.com/community/download
    - built on a home-brew system with 1 500GB base drive &  4x1.5TB Seagate SATA drives

Symptoms:
  After reboot, iSCSI disks were not presented.

Detailed symptoms & steps, as root:





1)  The 4 SATA drives were visible, and the partitions were listed in /dev
      (/dev/sdb1 -> /dev/sde1).  However, pvdisplay could not see the partitions.

     ran fdisk for all disks and rewrote the partition table, and reran pvdisplay

 # fdisk /dev/sdb
        ...
 Command (m for help):  w
 # pvdisplay

2) The Logical volumes were there but 'Status not available'

  ran the vgchange command.

# vgchange -a y
# lvdisplay

3) The iSCSI partitions still not being presented, apparently because the LUNs were stuck.

Command Line, as root
  went to /opt/openfiler/iscsi/targets
  made a backup of iscsi_settings.xml
  removed all the
 
OpenFiler admin web site (https://myhost:446/)
  Services > Services Section : Manage Services > iSCSI Target ... stopped and started
  Volumes > Volumes Section : iSCSI Targets > LUN Mapping ... remapped all LUNs

After remapping, all were visible again.

Categories: DBA Blogs

EM 12.1.0.3 interesting feature - Deploying Oneoff patches to Agents

Fuad Arshad - Fri, 2013-07-05 09:19
Enterprise Manager 12c Already allows for deploying one-off patches thru the provisioning and patching module but what  if you need to deploy a lot of agents and don't want to keep patching them after the fact. EM 12.1.0.3 has  a new feature that allows for keeping management agent as well as plugin patches on the OMS for a particular agent version and the patches will automatically be applied when the agent  or plugin is deployed or upgraded. This is particularly a useful feature when you need to deploy or upgrade in bulk and have to apply one off patches on the environment as well.

The documentation for this feature is available in Technet EM Docs. The feature allows for generic patches by  putting them on each OMS
. In case of a Multi OMS this needs to be done on all OMS's Create a directory like below
$/install/oneoffs//Generic/
e.g 
$/install/oneoffs/12.1.0.3.0/Generic/
or 
$/install/oneoffs///
e.g 
$/install/oneoffs/12.1.0.3.0/linux_x64/  


On deployment or upgrade. The Patches will automatically  be  applied. The patches can be validated using the usual methods . Either by looking at the Manage Cloud Control --> Agents Screens or  Opatch lsinventory on the agent.

This is a very useful feature and will allow for rapid deployment and upgrades for agents without having to worry about applying one-off patches later.



Pages

Subscribe to Oracle FAQ aggregator