Delphix support helped me resolve an issue yesterday and the experience gave me the idea of writing this post about several general computer issue troubleshooting tips that I have learned down through the years. Never mind that I ignored these lessons during this particular problem. This is more of a “do as I say” and not a “do as I do” story. Actually, some times I remember these lessons. I didn’t do so well this (more...)
I based this blog post on information that I learned from this Oracle Support document:
Runinstaller And Emctl Do Not Work After Upgrading HP-UX 11.31 To 11.31 Update3 (Sep 2008) (Doc ID 780102.1)
My situation was slightly different from what Oracle’s note describes so I thought it would be helpful to document what I found.
In my case I am cloning an Oracle 10.2.0.3 home on to a fully (more...)
I saw this on an ideas forum today
and whilst most people would take care of this with a source code control system, its also true that people might do several compilations / tests with their PLSQL source before checking it in officially to their source repository.
So the idea has some merit… and maybe we can roll our own without too much fuss. I make no claims that this is a ‘complete’ solution, (more...)
HCM Data Loader (HDL) data ready to load into Oracle HCM Cloud is in pipe separated text file format, however most people will create and manipulate these files in MS Excel as it’s the handy swiss-army-knife for data manipulation that almost everyone is familiar with.
The way that we’ve worked is that we create template files containing the sheets and columns corresponding to the fields that the client is using, which the client then populates, (more...)
Oracle Forms 12c: Run Oracle Forms WITHOUT a Browser! New Runtime Options for More Flexibility Without a Browser
We are excited to post the first in our Oracle Forms 12c guest series and introduce our first contributor and a loyal member of the Oracle Forms Community, Holger Lehmann. If you’re a Forms guru and want to contribute click here for more information
We also have an awesome upcoming Oracle Forms 12c webinar with Michael :WEBINAR: ORACLE FORMS 12C: NEW FEATURES UNVEILED AND EXPLAINED – Register here!
Oracle Forms 12: New Runtime Options (more...)
At Rittman Mead, we believe that people are more important than profit.
This manifests itself in two ways. First, we want to impact the world beyond data and analytics, and secondly, we want our employees to be able to contribute to organizations they believe are doing impactful work.
This year, we’ve put a Community Service requirement in place for all of our full-time employees.
We’ll each spend 40 hours this year serving with various nonprofits. (more...)
In the previous part of this mini-series we looked at differences in multiblock read behavior for different nested loop optimization mechanisms depending on degree of ordering of the data. In this post I’ll continue to explore the subject, but this time we’ll focus on decision-making process: what factors (other than the obvious ones — like optimizer hints and/or parameters) affect the specific choice of a mechanism?
Previously, we saw that in all nested (more...)
It’s interesting that we still see lots of code out “in the wild” that leans itself to taking forever. Now I’m not talking here about poorly performing SQL etc…because (at least theoretically) no matter how bad the SQL is, presumably it will finish one day, even if that day is years into the future. What I’m referring to here is the default mechanism for locking in Oracle.
If you try access a row that is (more...)
I saw a tweet that made me smile a few days ago:
Like many of you, I started out my working life in IT as a computer programmer. Like some of you, I still am a computer programmer from time to time. I don’t think I’ve had a year of my working life when I did not do either some application development programming or some database infrastructure programming. I am constantly writing small (or not (more...)
Most people already know about the very cool GATHER_PLAN_STATISTICS hint. If not, you can see an example here
But here’s a common cause of confusion when using it in SQL Plus:
SQL> select /*+ gather_plan_statistics*/ count(p) from t where x > sysdate - 30; COUNT(P) ---------- 0 SQL> select * from table(dbms_xplan.display_cursor(null,null,'ALLSTATS LAST')) PLAN_TABLE_OUTPUT ---------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------- -------------------- SQL_ID 9babjv8yq8ru3, child number 0 BEGIN DBMS_OUTPUT.GET_LINES(:LINES, :NUMLINES); END; NOTE: cannot fetch plan for SQL_ID: (more...)
The ‘Year in Blogging’ reports have come through so I can see what posts and newsletter items garnered the most views.
The Fusion Tipster Blog
So, according to the summary, the most popular post was Introducing OTBI-E, followed by What’s Coming in Taleo 14B, and then the posts on specialisation. Of those, only the former was written in 2015, with the other two coming from 2014. The other popular posts written in 2015 (more...)
You might be thinking that FIRST_ROWS is pretty much the same as FIRST_ROWS_1, since they are both after the first row. However, there are some important distinctions to make here. The traditional ‘FIRST_ROWS’ parameter is not a genuine cost-based option, more a hybrid between the rule and cost. This can be observed via the following example:
SQL> create table T 2 as select rownum x, rpad(rownum,100,'x') padding 3 from dual 4 connect by level <= (more...)
I’ve been doing a series on Analytics here but if you need to group data into ranges, you don’t necessarily need a fancy analytic. The function WIDTH_BUCKET can easily determine histogram groupings within a table.
SQL> SELECT CUST_ID, CUST_LAST_NAME, CUST_CREDIT_LIMIT, 2 WIDTH_BUCKET(CUST_CREDIT_LIMIT, 100, 5000, 10) credit_bucket 3 FROM sh.customers 4 WHERE country_id = 52787 5 ORDER BY CUST_CREDIT_LIMIT; CUST_ID CUST_LAST_NAME CUST_CREDIT_LIMIT CREDIT_BUCKET ---------- -------------------- ----------------- ------------- 44282 Justice 1500 3 50671 Sandoval 1500 3 (more...)
Notice in all of the examples below that the date string does not match the format mask.
When a date conversion fails, Oracle tries some similar formats to try succeed. This is actually documented as well here
|Original Format Element||Additional Format Elements to Try if Original fails|
|‘MM’||‘MON’ and ‘MONTH’|
SQL> select to_date('01JAN2000','ddmmyyyy') from dual; TO_DATE(' --------- 01-JAN-00 SQL> select to_date('01JAN1999','ddmmyyyy') from dual; (more...)
SQL Plus does not appear to be bothered by the direction of slashes, ie “/” or “” in its scripts
Hence as long as you have a “C:tmp” folder on your Windows drive (or wherever your SQL Pus binaary is installed/running from), you can do:
spool /tmp/blah @/tmp/my_file.sql
and it will work on Unix and Windows without alteration.
(This also works for SQLcl as well by the way)
People often think when using the SAMPLE clause, that because they are only dealing with a subset of the data, that immediately it should be a much faster operation. And whilst sometimes this is indeed the case, it is not a guarantee. The optimizer probably gives us a hint ( no pun intended) as to how we should interpret the SAMPLE clause.
Lets compare a standard scan of a table, with a sampled scan.
Next Tuesday at 11:20 am at Oracle headquarters there will be a panel discussion on SQL. You can participate whether you are there or not as we are collecting questions ahead of time and will video the panel to be posted later. The panel’s participants will be
We all know that comparing two VARCHAR2 fields of different lengths will be treated by Oracle as being not EQUAL:
SQL> drop table T purge; Table dropped. SQL> create table T ( x varchar2(10), y varchar2(10)); Table created. SQL> insert into T values ('abc','abc '); 1 row created. SQL> select * from T where x = y; no rows selected SQL> select * from T where y = 'abc'; no rows selected
But interestingly enough, (more...)
My own personal hell story was back in the late 1990’s, when moving database from one server to another. We were recycling some of the hardware (disks and memory), so it was a unload-to-tape, reload-from-tape job. The servers were in Port Hedland (a rat-infested dusty 110-degrees-plus 98% humidity hell hole… Hi to anyone in Port Hedland … ). I was not physically present – don’t you love it when IT companies think “remote login” (more...)
In my last blog I talked about trying out Jenkins. In this blog post I want to talk about the new Jenkins plugin for Delphix.
Delphix plugin is easy to add. Just navigate to “Manage Jenkins” in the top left
Then click on “Manage Plugins”
Then type in “delphix” in the search bar and then click on the “Delphix Jenkins plugin” to install
Now we can access Delphix APIs through the Jenkins (more...)