Skip navigation.

Rajender Singh

Syndicate content
Oracle Blog
Updated: 1 year 49 weeks ago

Deinstalling Oracle Forms – Java RunTime Environment was not found at…

Sun, 2012-04-29 23:05

Today while deinstalling Oracle Forms 11g R2, I came across following error.

It says “Java RunTime Environment was not found at…”

I tried setting the local Java related variable but it didn’t help. The deinstaller keep taking the old location.

After going through Oracle Documentation I found that I can run deinstaller and pass JRE information to deinstaller as follows:

setup.exe -deinstall -jreLoc JRE_LOCATION

In my case JRE location was as follows:

So I ran as follows:

C:\Oracle\Middleware\oracle_common\oui\bin\setup.exe -deinstall -jreLoc C:\Java\jdk1.6.0_32\jre

After this, Deinstallation went smoothly :)

I hope this post will help somebody plus will act as a future reference to me.

Back to Upgrading to Oracle Forms 11g R2!

Sat, 2012-04-28 09:30

While thinking about Oracle forms..I came across a blog post “Lessons Learned From Upgrading to Oracle Forms 11g R2 on WebLogic !” by Mila Urman.

Now really inspired again, to get started on Oracle Forms 11g again… last time I did well but my heart :) couldn’t reach to actual production stage!

Thanks Mia for sharing your valuable experience with Oracle Forms Community!

How ROWNUM Pseudocolumn works?

Mon, 2012-04-23 05:09

I keep coming across guys confused about “How ROWNUM Pseudocolumn works?”

Even though ORACLE document clearly mentions “the ROWNUM pseudocolumn returns a number indicating the order in which ORACLE selects the row from a table or set of joined rows”, confusion still exists….may be we tend to google rather than going though ORACLE documents these days :)

As per above statement it is clear that ORACLE assigns ROWNUM after WHERE clause but before ORDER BY clause.

For example, if we run following query:

SELECT rownum, ename FROM emp WHERE ROWNUM < 10 ORDER BY ename;

If no index exist, ROWNUM be allocated by the ORACLE when it process WHERE condition i.e. “SELECT rownum, ename FROM emp WHERE ROWNUM < 10"

After it only ORACLE will process ORDER BY clause i.e. "ORDER BY ename",

so end result, ROWNUM may not follow the ORDER BY clause

Example as follows:

SQL> SELECT rownum, ename FROM emp WHERE ROWNUM < 10 ORDER BY ename;

ROWNUM ENAME
---------- ----------
2 ALLEN
6 BLAKE
7 CLARK
4 JONES
9 KING
5 MARTIN
8 SCOTT
1 SMITH
3 WARD

9 rows selected.

If we embed the ORDER BY clause in a subquery and place the ROWNUM in the main query, then we can force the ROWNUM to be assigned after ORDER BY.

Example as follows:

SQL> SELECT rownum, ename FROM ( SELECT ename FROM emp WHERE ROWNUM < 10 ORDER BY ename)

ROWNUM ENAME
---------- ----------
1 ALLEN
2 BLAKE
3 CLARK
4 JONES
5 KING
6 MARTIN
7 SCOTT
8 SMITH
9 WARD

9 rows selected.

Now in case the column which we are doing has a Index, then ORACLE will select the row using the INDEX, as a result, ROWNUM will follow the ORDER BY clause.

Example as follows:

SQL> SELECT rownum, empno FROM emp WHERE ROWNUM < 10 ORDER BY empno;

ROWNUM EMPNO
———- ———-
1 7369
2 7499
3 7521
4 7566
5 7654
6 7698
7 7782
8 7788
9 7839

9 rows selected.

I really don’t know how important you feel to understand this concept, but I did well by learning this in my early days itself :)