Skip to main content

10gAS Rel 3 FAQ's

1. Compatible JDBC Driver version for 10g release 3. Any recommendations.
Following are the JDBC versions compatible with 10gR3.
10.1.0.5.0, 10.2.0.1.0 (THIN)
Use metalink document 365120.1 : Statement of Direction - JDBC Driver Support within Oracle Application Server



2. List of all common actions that can be performed on the instances in a group.
Common actions on the group are as follows,

a. Create/delete a group
b. Start/stop a group
c. Delete/add instances to a group


3. Moving instances across groups and impact if any.
No there are no impact of moving OC4J instances across the groups.



4. Can we seperate OC4J and other components.

No this cannot be done in 10.1.3.x. You can remove these components from the list but these cannot be seperated. Each OC4J instance comes with the following components,

a. ascontrol -- Only one instance of ascontrol can be up and running for the entire application server home.
b. default application
b1. datatags
b2. javasso

5. Custom installation of release 3, without datatags,jsso etc.
No this is not possible, you cannot do a custom installation without datatags and jsso etc. You can manually remove these entries from server.xml under
ORACLE_HOME/j2ee//config.


6. Use of the ascontrol service across all instances.
Only one instance of ascontrol can be used across all OC4J instances. If you try to start an extra ascontrol available on a different OC4J instance then it will throw an error.


7. Configuring JSSO, JAAS.
Its better to know what is JSSO and JAAS before getting into configuration.

What is JAAS?
-------------
JAAS is part of the standard Java 2 Security Model security, which it
extends by defining a standard Pluggable Authentication Module (PAM)
framework. The provision of a standard framework allows the definition of
an applications security requirements (which users have access to which
facilities) to be fully divorced from the mechanisms that can be used to
authenticate their identity (for example username/password, PKI
certificate, smart card reader etc.).

What is JAZN?
-------------
Oracle Application Server provides allow a choice of how user communities
(usernames, passwords, group memberships and sets of privileges granted)
can be defined. For example, user communities can be defined through a
simple XML file or can be defined in an LDAP repository accessed through
the Oracle Internet Directory (OID) application server component.

JAZN is Oracle's implementation of a "JAAS Provider" which enforces the
security constraints defined for a J2EE application (both programmatic and
declarative) against the authentication, authorization, and delegation
services available in Oracle Application Server. In short it is the JAZN
implementation that integrates the security defined at the application
level to a concrete "user community" that defines the users and their
respective privileges.

- JAZN-XML
which integrates JAAS security with communities of user credentials
and privileges defined as an XML document

- JAZN-LDAP
which integrates JAAS security with communities of user credentials
and privileges defined as entries in an LDAP directory repository
maintained by an Oracle Internet Directory (OID) instance.

The OC4J 10.1.3.1 implementation packages an alternative Java single sign-on solution that does not rely on additional required infrastructure like other Oracle Application

Server single sign-on products. This Java SSO, based on the OracleAS JAAS Provider identity management framework, can be used across Web applications in any of the following

deployment scenarios:

* Web applications are deployed in the same application EAR file.
* Web applications are deployed in different application EAR files in the same OC4J instance.
* Web applications are deployed in different application EAR files in different OC4J instances, where the Web applications share a common security domain and cookie domain.
* A single application EAR file, including Web applications, is deployed into multiple OC4J instances within an OC4J cluster.

For configuration details Refer http://download.oracle.com/docs/cd/B31017_01/web.1013/b28957/javasso.htm#BABDCCGB


8. How to edit the HTTP port from the enterprise manager console.
This cannot be done using emconsole, this has to be done from the backend directly editing httpd.conf


9. Use of the Web Services option in an instance. How can we deploy web services using this option.
Refer to the link below for information on deploying webservices on 1013.

http://download.oracle.com/docs/cd/B31017_01/web.1013/b28974/toc.htm


10. Various options available in the deployment plan(while deploying the custom application) and impact. While deploying the application the option value for tld-cache was set to standard. However while running the application we faced an error saying “The deployment plan does not permit you to .... “. What could be the probable reason and solution.
Deployment plan which is a client-side aggregation of all the configuration data needed to deploy an archive into OC4J, as the final step of the deployment process. You can either create a new deployment plan for the application or reuse an existing plan, which is especially useful during redeployment. Deployment has certain values which can be saved for future deployments of custom applications.

Like other J2EE containers, OC4J utilizes a number of vendor-specific deployment descriptor files that extend the standard J2EE deployment descriptors. For example, the OC4J-specific orion-application.xml descriptor extends the J2EE standard application.xml descriptor with configuration data specific to OC4J.

When the archive is deployed, both the archive and the deployment plan are sent to the OC4J server. OC4J uses the contents of the deployment plan to generate the various OC4J-specific descriptors within the ORACLE_HOME/j2ee/instance/application-deployments directory.

For example, if an EAR containing a WAR and an EJB JAR is deployed, the deployment plan will contain the aggregated configuration data for each of these archives. Upon deployment, this data would be written to the orion-application.xml, orion-web.xml, and orion-ejb-jar.xml descriptors, respectively, generated by OC4J. Once created, a deployment plan can be saved as a file. It can then be reused for redeploying the component or for deploying other components. If an existing deployment plan is not applied to a component at the time of deployment, a new plan is created by default.



11. If the application server instance itself is restarted/stopped, then we are logged out of the admin console. Now to restart we have to do the manual process using OPMNCTL.
Is there any other way out.
Yes this is right, there is no seperate url or port to access enterprise manager as it is bundled with OC4J instance. This is exactly the same reason why an http server cannot be restarted/port cannot be changed using enterprise manager console.
No there is no way out other than starting the services from the command prompt.


12. Connection Pool Properties/Attributes and all other settings. Recommendations for the ideal settings.

Connections

The following table describes the attributes in the Connections section of the page. If you make no changes to this page, Enterprise Manager creates the conection pool using the values shown in the Default Setting column.

Attribute Description Default Setting
Initial size of Connection Cache

The size of the connection cache when the cache is initially created or reinitialized. When this property is set to a value greater than 0, that many connections are pre-created and are
ready for use.

This parameter is typically used to reduce the "ramp up" time in priming the cache to its optimal size.

Zero (0)
Minimum Number of Connections
The minimum number of connections that the connection pool will maintain. Zero (0)
Maximum Number of Connections

The maximum number of connections that the connection pool will maintain.

The default setting of -1 indicates that the maximum number of connections is limited only by the available memory.

-1
Connection Retry Interval (seconds)
The interval to wait (in seconds) before retrying a failed connection attempt. One (1)
Maximum Connection Attempts

The number of times to retry a failed connection. Three (3)
Maximum Number of Statements Cached

The maximum number of SQL statements that should be cached for each connection. Any value greater than zero automatically enables statement caching for the data source. Zero (0)
Lower Threshold Limit On Pool (%)

The lower threshold limit on the connection pool.

This attribute applies only when you are using an Oracle database as the data source.

20 percent (%) of the Maximum Number of Connections attribute
Validate Connection

Indicates whether or not a connection, when borrowed from the pool, will be validated against the database.

When this option is set to True, Enterprise Manager verifies that the connection is valid. A value of "false" means that no is performed.

False

Timeouts

The following table describes the attributes in the Timeouts section of the page.

Attribute Description Default Setting
Inactivity Timeout (seconds)
The amount of time (in seconds) that an unused connection is inactive before it is removed from the pool. 60 seconds
Wait For Used Connection Timeout (seconds)

The amount of time to wait (in seconds) for a used connection to be released by a client.

This applies only when the maximum number of connections has been retrieved from the data source and the retrieved connections are in use. In this case, when a client tries to borrow a connection from the pool and all connections are in use, the connection pool will wait for a connection to be released back to the pool.

0 (Not Enabled)
Max Active Time for a Used Connection (seconds)

The maximum time, in seconds, a used connection may be active. When this timeout expires, the used connection is unconditionally closed, the relevant statement handles canceled, and the connection is returned to the connection pool.

A value of –1 means that the feature is not enabled.

0 (Not enabled)
Abandoned Connection Timeout(seconds)

Similar to the Inactivity Timeout attribute, but on a logical connection. When set, JDBC monitors SQL database activity on this logical connection (connection borrowed from the cache by the user).

For example, when stmt.execute() is invoked on this connection, a heart beat is registered to convey that this connection is active. To lower the cost of monitoring, the heart beats are monitored only at places that result in database execute calls.

If a connection has been inactive for the specified amount of time, the underlying PooledConnection is reclaimed and returned to the cache for reuse.

This attribute applies only when you are using an Oracle database as the data source.

0 (Note enabled)
Enforce Timeout Limits Interval (seconds)

The time interval (in seconds) for the cache daemon thread to enforce the time out limits.

This attribute applies only when you are using an Oracle database as the data source.

900 seconds (15 minutes)


13. Tracing the number of connections in use and free at a given point of time.
This can be done only if the data source is managed.
Managed data sources are managed by OC4J. This means that OC4J provides critical system infrastructure such as global transaction management, connection pooling, and error handling. A managed data source is an OC4J-provided implementation of the javax.sql.DataSource interface that acts as a wrapper to a JDBC driver or data source. J2EE components access managed data sources using JNDI with no knowledge that the data source implementation is a wrapper.

Managed data sources differ from native data sources as follows:

* The connections retrieved from a managed data source can participate in global transactions.
* A managed data source uses OC4J's connection pool and statement cache.
* A connection returned from a managed data source is wrapped with an OC4J Connection proxy



14. Difference between managed and native datasources.
Refer previous answer.

15. Use of the Connection Factory Properties.
The element contains the URL that the JDBC driver uses to connect to the database plus an optional default user and password that can be used to get connections from the database. The factory-class attribute defines the implementation class provided by the JDBC driver that is used to get the connections. The implementation class must be an implementation of one of the following:

* java.sql.Driver
* javax.sql.DataSource
* javax.sql.XADataSource
* javax.sql.ConnectionPoolDataSource.

You can only add the following as connection factory properties.

TNSEntryName, URL, connectionCacheName, connectionCacheProperties, connectionCachingEnabled, connectionProperties, dataSourceName, databaseName, description, driverType, explicitCachingEnabled, fastConnectionFailoverEnabled, implicitCachingEnabled, logWriter, loginTimeout, maxStatements, networkProtocol, password, portNumber, serverName, serviceName, user

16. What is the default JDK version available with 10gR3
JDK 1.5

Comments

Anonymous said…
Genial dispatch and this enter helped me alot in my college assignement. Gratefulness you on your information.
ST said…
Hi Mithun,
I trying to create an RMD in opmn.xml. Once created this opmn.xml when is not able to reload. Kindly advise.
The rmd definition is shared below




=[Mon-Sun].00:45]]>
Mithun Ashok said…
Hi ST,


Sorry for the late response, was busy changing my job. What error do you see when configuring RMD.

Mithun

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
53687091200

$ getconf PAGE_SIZE
4096

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:
kernel.shmall=16777216

and

# sysctl -p

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

Answers for SUB Queries

1. SQL> select empno, ename from emp where deptno=(select deptno from dept where dname='RESEARCH');


2. SQL> select empno, ename from emp where deptno in (select deptno from dept where loc in ('NEW YORK','CHICAGO'));

3. SQL> select dname from dept where deptno in ( select deptno from emp where job ='ANALYST');

4. SQL> select empno, ename, mgr from emp where mgr = (select empno from emp where ename='JONES');

5. SQL> select empno, ename, mgr from emp where mgr = (select mgr from emp where ename='JONES')

6. SQL> select empno, ename, job from emp where deptno in ( select deptno from dept where dname in ('SALES','ACCOUNTING'))

7. SQL> select empno, ename, job from emp where deptno in ( select deptno from dept where dname in ('SALES','RESEARCH')) and empno in (select mgr from emp)

8. SQL> select empno, ename from emp where empno not in ( select mgr from emp where mgr is not null)

9. select…