Are Web Service a Mistake?

Quick, how many different Web Service specifications are there?

  1. less than 20
  2. between 20 and 40
  3. more than 40

I was in doubt whether the answer would be 1) or 2) – after all, there is a lot of WS-* stuff. Turns out the answer is 3) – there are currently 50 web service specifications.

A technology with 50 specifications is unlearnable. The basics of web services is simple and useful, but the IT industry (more...)

12c – Nested tables vs Associative arrays

This was going to the be the immediate follow up to my previous post, but 12.1.0.2 came out and I got all excited about that and forgot to post this one :-)

Anyway, the previous post showed how easy it is to convert between nested tables and associative arrays.  The nice thing in 12c is that this is no longer needed – you can query the associative arrays directly

SQL>  (more...)

12.1.0.2 security grrr…

One of my favourite security "tricks" used to be the following:

SQL> [create|alter] user MY_USER identified by values 'impossible';

Looks odd, but by setting the encrypted value of someone’s password to something that it is impossible to encrypt to, means you’ll never be able to connect as that account.  (Think schema’s owning objects etc).

I hear you ask: "Why not just lock the account?"

Well…in my opinion, that’s a security hole.  Let’s (more...)

Learning It All

I was recently advising a transition project where a customer was switching support and maintenance supplier. This means that one organization must take over a system that has been maintained by another organization for a number of years.

A lot of information is lost in these transitions because knowledge of the problem domain has been accumulated in the heads of developers over many years. This loss cannot realistically be mitigated.

But sometimes, specific information about (more...)

Christian Antognini, Troubleshooting Oracle Performance, 2nd Edition (Review)

This is an excellent book with an encyclopedia-like approach to Oracle performance tuning, concentrated around the optimizer. It doesn’t cover architectural changes in the database in the newer releases, like the new redo mechanism with the private strands or the new implementation of the latches and pins. In my opinion, Oracle performance is more than just the optimizer.
Also, the book is very long and without the sections for new features in 12c, which makes (more...)

“The Dirty Dozen – ADF Migration to 12c in the IKB” I’m a speaker at DOAG2014:

doag2014

Today the official program is online for DOAG conference 2014 in Nuremberg. My presentation is confirmed  “The Dirty Dozen – ADF Migration to 12c in the IKB”.

I will speak over our experiences with following

  • provide user software
  • install servers
  • iterative test migrations
  • migration plannig
  • real migration
  • and the problems and pitfall’s we find on our way

If you speak german and you are interested in some of this, you should come and attend my (more...)

July Security Alert

Hi Oracle Security Folks, The July Oracle Security Alert is out. My part is smaller than last quarter as just an In-Depth Credit, but Mr David Litchfield makes a triumphal return with some excellent new research. http://www.oracle.com/technetwork/topics/security/cpujul2014-1972956.html There is a CVSS 9 and a remote unauthenticated issue in this patch so worth installing this one. [...]

Arguing Facts and Fiction

I’ve been following the discussion on the new In-Memory option in the Oracle 12.1.0.2.0 database. As far as I can see, it’s very easy for a developer to start using this feature, which will cost your company $23,000 per CPU at the next Oracle license audit.

But the most interesting part is actually not the cost – it’s the discussion. Oracle expert Kevin Closson stated that there was a problem (more...)

12c and export/import from a lower version

There is a serious problem with export/import utilities between versions.

The first command, executed on Oracle 11.2.0.4, Linux x86_64 was:


[oracle@oradb tmp]$ expdp system directory=tmp dumpfile=oe.dmp schemas=oe

logfile=oe.log

Directory tmp was created as /tmp

Result was the following:

Export: Release 11.2.0.4.0 – Production on Mon Jul 28 22:57:03 2014

Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights

reserved.

Password:

Connected to: Oracle Database 11g (more...)

Being Right and Proving It

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...)

Plagiarism and Posting

I received an interesting question as a comment on another post (which I’ll approve as soon as I post this one) and I thought it was interesting enough to add a completely separate post on my thoughts. In essence, the comment was along the lines of this: “With so much content and articles do you […]

Take Self-Absorption to New Lengths

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...)

Opatchauto for OEM Management Servers

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...)

Support ID : How to enable and retrieve FND debug log messages

If you want to know about FND Debug log configuration in R12, this below document id is useful for you

How to enable and retrieve FND debug log messages (Doc ID 433199.1)


PERWSDOR form compile in r12

export FORMS_PATH=$FORMS_PATH:$AU_TOP/forms/US

cd $ORACLE_HOME/bin

[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


Productivity and Noise

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...)

Associative arrays and Nested tables

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...)

Exadata storage indexes and DML

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.

First (more...)

New in Java 8 : Default and static methods in interfaces

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.

(more...)

Patch applied or not in R12

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'