Skip to main content

Standalone/In-process Reports Server High Availability

Lately i have been involved in multiple HA configurations for Ebusiness suite, stand alone forms, iAS. Each of these are well tried and tested methods and there are only few consequences where these fail during initial configuration. But with stand alone reports HA atleast to my knowledge there is very little documentation or customers who implement reports load balancing is very less.

Either customers choose to keep reports server on a different node and route all their requests to 1 node or use session persistance and run report on the same sever where forms requests are routed.

For standalone reports mainly ones needs to understand that reports can run as standalone reports process or in-process(oc4j BI Forms).

By default when you install 10GiAS(with forms and reports), oc4j services for forms and reports are configured into 1 single oc4j call oc4j_BIForms.
One can configure stand alone reports after default installation, use metalink document,
862546.1 : Is it possible to Rename Default Stand Alone Reports Server Name in Reports 11g?
855894.1 : "How to Change The Name Of in-process Reports Server in 11g".

There are pros and cons for using standalone reports server one major pro is that if you want to restart reports server you do not have to restart forms, in-process reports server is always dependent on forms. Check the following metalink document for more differences.

274936.1 : Differences and/or Pros and Cons of Using The In-Process Versus Stand-Alone Report Server

Reports execution depends on the method that is used to call the reports. While implementing HA documents below gives more inisght on how to implement HA for your implementation.

363699.1  :  Understanding Reports Execution from Forms Under High Availability
333981.1  :  Migration to with Report Server Clustering
435025.1  :  Examples of Building Highly Available, Highly Secure, Scalable OracleAS 10g Solutions

For more information on Oracle Application Server High Availability refer to Oracle document on search for documet B14003-03,
Below url will directly take to HA section for reports.


Popular posts from this blog

SQL Interview Questions on Subqueries

SUB Queries:
1. List the employees working in research department 2. List employees who are located in New York and Chicago
3. Display the department name in which ANALYSTS are working
4. Display employees who are reporting to JONES
5. Display all the employees who are reporting to Jones Manager
6. Display all the managers in SALES and ACCOUNTING department
7. Display all the employee names in Research and Sales Department who are having at least 1 person reporting to them
8. Display all employees who do not have any reportees
9. List employees who are having at least 2 reporting
10. List the department names which are having more than 5 employees
11. List department name having at-least 3 salesman
12. List employees from research and accounting having at-least 2 reporting
13. Display second max salary
14. Display 4th max salary
15. Display 5th max salary  -- Answer for nth Max Salary
Co-Related Subqueries:
16. Write a query to get 4th max salary from EMP table
17. Write a query to get 2nd…

'Linux-x86_64 Error: 28: No space left on device' While trying to start the database -- Error

SQL> startup mount pfile='/tmp/initdlfasp12.ora'
ORA-27102: out of memory
Linux-x86_64 Error: 28: No space left on device

This as you can see is on Linux x86 with 64 bit processor. We got this error after we changed SGA on 10gR2 database. So was sure that this is something to do with the OS.

Parameters to check for this are shmall.

shmall is the total amount of shared memory, in pages, that the system can use at one time.

$cat /proc/sys/kernel/shmmax

$ getconf PAGE_SIZE

As per Oracle SHMALL should be set to the total amount of physical RAM divided by page size.

Our system has 64GB memory, so change kernel.shmall = 1024 * 1024 * 1024 * 64 / 4096 = 16777216

Once this value is calculated you can modify Linux system configuration file directly.

$ su - root
vi /etc/sysctl.conf file:


# sysctl -p

Once this is done the database was started without any problem.

Answers for SQL Functions

1. SQL> SELECT empno, ename FROM emp WHERE Length(ename) = 4;

2. SQL> SELECT empno, ename, job FROM emp where Length(job)=7;

3. SQL> SELECT Length('qspiders') - Length(replace('qspiders','s','')) FROM dual;

4. SQL>  SELECT empno, ename, job FROM emp WHERE Instr(job,'MAN') >0;

5. SQL> SELECT empno, ename, job FROM emp WHERE Instr(job, 'MAN') =1;

6. SQL> SELECT empno, ename, job FROM emp WHERE (Length(ename) - Length(Replace(ename, 'L',''))) = 1;

7. SQL> SELECT * FROM dept WHERE Instr(dname,'O') > 0;

8. SQL> SELECT Concat(ename,' working as a ') || Concat(job, ' earns ') || Concat(sal, '  in ') || Conc
at('dept ',deptno) AS text from emp;


SQL> SELECT Concat(Concat(Concat(Concat(Concat(Concat(Concat(ename,' working as a '), job),' earns '), sal),'  in '),'dept '), deptno) AS text FROM emp;

9. SQL> SELECT empno, ename…