One of my pet peeves on Oracle is the inability to find out what SQL took out a lock that another user is waiting. It’s easy to find the waiting user and their SQL with v$session by looking at v$session.event where the event is an “enqueue” (v8 and v9) or “enq: TX – row lock contention” and then looking up their SQL via the v$session.sql_hash_value which joins to v$sql.hash_value for the v$sql. (more...)
One of the great things about working in IT is that you can often win an argument simply by being right. Not because of who you are or because you are more eloquent than others, but because the facts support your position. Almost every IT person I have ever met respects facts.
In order to win arguments this way, you of course need some facts to work with. And that’s where too many people fail. (more...)
Wow, thanks to
Process Monitor http://technet.microsoft.com/en-us/sysinternals/bb896645
I was able track down why I couldn’t connect to Oracle from Excel.
I had wanted to try some of the examples Charles Hooper has posted on connecting to and monitoring Oracle, for example
I kept getting the error “Provider not found”
Now what kind of trace info is there for an error like this in Excel? None AFAIK. Time to start guessing.
I did a quick check of some facts I’m studying about Oracle 12c and its new threaded execution mode. I set this parameter:
alter system set THREADED_EXECUTION=true scope=spfile;
I had to connect SYS as SYSDBA with a password to get the system to bounce.
Then it had these processes only:
oracle 1854 1 0 09:17 ? 00:00:00 ora_pmon_orcl oracle 1856 1 0 09:17 ? 00:00:00 ora_psp0_orcl oracle 1858 1 2 09:17 ? 00:00:00 ora_vktm_orcl (more...)
Observing tourists around me, I’ve noticed that the regular selfie doesn’t cut it anymore. The essential travel accessory for the modern self-absorbed traveller is a selfie stick:
Of course, the whole selfie concept is the opposite of a traditional tourist snapshot: Not “see what I saw,” but “see me”. But while you are at it, why not make yourself a spectacle while you take the picture. Hence, the selfie stick.
The picture is pretty much (more...)
The quarterly PSU and any one-off patches are installed with the opatch utility for your management servers. If your environment consists of a single OMS, executing opatchauto apply will execute all of the tasks required to install the patch on the management server and provide you with SQL to update the repository database. When you have more than one server, that same command runs an analysis of your environment and generates detailed sequential instructions you (more...)
[appltrng@ebsdev bin]$ frmcmp_batch module=/u02/backup/appltrng/apps/apps_st/appl/au/12.0.0/forms/US/PERWSDOR.fmb userid=apps/Ace321b output_file=/u02/backup/appltrng/apps/apps_st/appl/per/12.0.0/forms/US/PERWSDOR.fmx module_type=form batch=no compile_all=yes
Compiling WHEN-BUTTON-PRESSED trigger on PREV_MONTH item in CALENDAR data block…
No compilation errors.
Compiling WHEN-BUTTON-PRESSED trigger on NEXT_MONTH item in CALENDAR data block…
No compilation errors.
Compiling WHEN-BUTTON-PRESSED trigger on NEXT_YEAR item in CALENDAR data block…
No compilation errors.
Compiling WHEN-BUTTON-PRESSED trigger on PREV_YEAR item in CALENDAR data block…
No compilation errors.
Created form file /u02/backup/appltrng/apps/apps_st/appl/per/12.0.0/forms/US/PERWSDOR.fmx
Everyone likes to be productive, however pretty much everywhere we work there’s something with the ability to disrupt our concentration. Some are necessary – like most meetings – however others break our flow of thought and it takes a while to get ‘in the zone’ again.
I’ve recently changed jobs and the new company’s office is in Kings Cross, London. In many ways this is hugely advantageous, but it can be a bit noisy. I also (more...)
A common criticism of PLSQL is that the "original" array datatype, now called associative arrays are perfect for passing stuff back and forth to 3GL environments (for example .Net), but canno be used within SQL natively, for example:
SQL> create or replace 2 package BLAH is 3 type num_list is table of number index by pls_integer; 4 type str_list is table of varchar2(30) index by pls_integer; 5 6 procedure ODP_PROC(n out num_list, s out str_list); (more...)
A rather odd performance issue happened at work a few days ago. All of a sudden, one of the databases started to work very slowly, and a quick look in ASH data showed that it was spending over 70% of its time waiting on “row cache lock” (not to be confused with “latch: row cache lock”).
It was a test database (188.8.131.52) on an overloaded server with non-standard configuratioin, so my initial reaction (more...)
Last week I’ve gotten a question on how storage indexes (SI) behave when the table for which the SI is holding data is changed. Based on logical reasoning, it can be two things: the SI is invalidated because the data it’s holding is changed, or the SI is updated to reflect the change. Think about this for yourself, and pick a choice. I would love to hear if you did choose the correct one.
I just finished reading Sam Alapati’s 12c OCP upgrade book for the first time and I really like it because of the content that it covered which I hadn’t discovered through my study of the Oracle manuals. Also, it did a good job explaining some things that Oracle’s manuals left unclear.
After reading each chapter I took the end of chapter test and got between 60% and 75% of the questions right. Next (more...)
Default method’s (aka Defender methods) in interfaces are new in Java 8. They enable you to define a default implementation of a method in the interface itself.
If an interface is implemented by several classes, it’s hard to add method’s afterwards, as it will break the code and require all implementing classes to define the method as well. Adding a method to the interface, and defining a default implementation for it, will resolve this problem.
you can get the patch applied details in EBS R12 from below command
select AP.PATCH_NAME, AP.PATCH_TYPE, AD.DRIVER_FILE_NAME, AD.CREATION_DATE, AD.PLATFORM,AL.LANGUAGE from AD_APPLIED_PATCHES AP, AD_PATCH_DRIVERS AD, AD_PATCH_DRIVER_LANGS AL where AP.APPLIED_PATCH_ID = AD.APPLIED_PATCH_ID and AD.PATCH_DRIVER_ID = AL.PATCH_DRIVER_ID and AP.PATCH_NAME='17627621'
If you like to compile pll file in R12, you can use frmcmp_batch command instead of using f60gen
frmcmp_batch module=/u02/backup/appltrng/apps/apps_st/appl/au/12.0.0/resource/HRLOCAL.pll userid=apps/apps output_file=/u02/backup/appltrng/apps/apps_st/appl/au/12.0.0/resource/HRLOCAL.plx module_type=library batch=yes compile_all=special
Yesterday I used Delphix to quickly recover ten production tables that had accidentally been emptied over the weekend. We knew that at a certain time on Saturday the tables were fully populated and after that some batch processing wrecked them so we created a new virtual database which was a clone of production as of the date and time just before the problem occurred. We could have accomplished the same task using RMAN (more...)
I wanted to install Oracle JDevelper 12.1.3 – a version that I had been eagerly awaiting. Since my primary machine is a MacBook, I wanted to install it on OS X 10.9.3.
I downloaded the generic installer and found that the install didn’t run. Since OS X had disappeared from the documentation, I assumed that I would have to fiddle around until I found a combination of JDK and OS (more...)
Sadly there seems to be no concept of the Hakan factor for an IOT.
I have an application which merges into an IOT, the merge incrementally populating a swag of initially null columns, hence growing the rows in size. Some simple benchmarking shows the overhead of this versus merging into a table with pre-populated values:
SQL> create table T1 2 ( x int primary key, 3 y1 number(10), 4 y2 number(10), 5 y3 number(10), (more...)