1. Can you explain how can OS Authentication be connected with WebLogic jDriver for Oracle and Connection Pools?

The purpose of OS authentication in connection pool is to use the UserIds of the user to start the appropriate web logic server. OS authentication is the operating system service that is allowed to authenticate the login information of the user. The database security is one of the issues for the web logic servers, so OS authentication is a necessary feature in operating systems. The connection pool and the database can be accessed if the client connection is established. Oracle uses the process of OS authentication while the accessing of the database. The JDBC driver of web logic allows only the user to take control over the databases.

2. Do you know what are the steps in which Unicode codesets can be set with the WebLogic jDriver?

To allow the use of Unicode codesets certain changes has to be made within the web logic jDriver. The following steps allow the setup to be done:

1. Install the appropriate codeset with the installation of Oracle.
2. Define the environment variable and NLS_LANG variable in the environment to allow the synchronization happen between the JDBC driver and Oracle supported drivers or the codesets.
3. Assign proper codeset to NLS_LANG in the shell of the WebLogic Server.
4. Restart the database services and server services to check whether everything got properly installed. When installed use it according to the requirements.

3. Explain what are the transaction isolation levels supported by WebLogic jDriver?

The transaction isolation levels that are supported by the servlets application using the Oracle database include the BLOB fields. The web logic jDriver can be installed and used, but if due to some reason the code fails to execute then it shows an error message and also there are some levels in which the messages are divided and these are as follows:
SET TRANSACTION ISOLATION LEVEL READ COMMITTED
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
The Oracle database supports only these two levels of isolation. When used with Web logic's drivers it throws an exception for the drivers that are unsupported. There are some drivers that ignore the attempts to be set an unsupported isolation level.

4. Tell me what are the causes of having OCIW32.dll error in the database of web logic server?

The following error OCIW32.dll is received while using the Oracle with JDBC driver. The error states that the dynamic library couldn't be loaded in the system and this happens due to outdated OCIW32.dll driver that is residing the system. The program usually called as updater updates the program in the system directory and to installs it to run in the system. The error can be removed by removing the system directory. This is also due to the incompatibility of some drivers with the JDBC. The JDBC allows the connection of more than one database, so this might cause the error. eive this error.

5. Do you know how are multi-byte characters used with WebLogic jDriver?

The multi-byte character sets are not supported by the Web logic jDriver that in turn used for the Informix driver. But, the support for it is added in the codeset of web logic jDriver. The multi-byte characters are used in a multi-user environment application. This gets confirmed first and a check is made to see whether the file is corrupted or not. The command that is used to check is bcheck or secheck. These come as a utility. If the files integrity is being verified then the table is being formed consisting of the data that is required by the client. A lock can be provided for the use of multi-byte characters in the database and the table.

6. Explain what is the purpose of using MultiPools in web logic server?

The multi-pools are used to store the connection in 2 levels inside the pool and configure it accordingly. There are two ways in which the Multi-pools can be set up:
1. The multi-pool can be made as a backup if the connection to the database event fails.
2. The multi-pool can be setup as a load balancing server that will allow the server to give away some load to alternative server to balance the work and give higher performance. The multi-pools are used in the configuration of Web logic JDBC features and allow it to be chosen according to the requirements of the server from time to time.

7. Can you explain what are the ways to avoid ResourceExceptions when sending requests for databaseconnections?

The problem with the servers is to have few resources or the database connection in the connection pool to decrease the work load. The servers need to increase the maximum number of connections in the connection pool and utilize it to balance the overall load on the server. The server needs to be optimally designed to allow the connection pool to execute few threads and get the work done. The application should be designed to find out whether there are connections available or not. If there are connections available then it shows the message of NoResourceException. This is shown by the example:
try{
// your statement
} catch(Exception handleEx) {
// your statement
} finally {
try{ conn.close();
}catch (Exception ignore){} // this returns the connection pool
}

8. Explain what is the purpose of stub in web-logic server cluster?

The purpose of the stub is to contain the object of the server and use it to connect it to the Web-logic server cluster. The cluster consists of more than one object that is residing on the server and consists of the replica of the object. The stub consists of the available server instances that is used to host the implementation of the objects and used to run the web-logic server as well. The stub also consists of the information that is related to loading of the server and load balancing of it. This load balancing allows the server to distribute the load among its host servers so that it never fails to provide data to the users.

9. Do you know what is the meaning of ClassFormatErrors used with the applet?

ClassFormatErrors are used in the applet when the setup is not being properly set or the path to which the file is pointed is incorrect.
<APPLET
CODEBASE=http://your_server/webz/ns-home/classes
CODE=applets.myapp.class>

This happens due to change in the file format of CODEBASE in the Weblogic server. The Codebase tag should point to the HTTP server and not on the weblogic server. The path that is referenced by the CODEBASE tag is should not be the absolute directory path that is on the HTTP server and it should be configured properly to the Document root of the HTTP server. The above code should be changed with the code given below:
<APPLET
CODEBASE=http://your_server/classes
CODE=applets.myapp.class>

10. Do you know what are the steps required to modify config.xml file of web logic server?

The safest way to modify config.xml is to do it from the Web-logic server administration console. While doing from this also the things that has to be kept in mind is that:
• Save a copy of the config.xml before making any modification to the original file. If there is any modification that causes error then it can prevent the web logic server also to start up. There is a possibility to revert back to the saved version of the file.
• Manually editing of the config.xml file, for a particular domain when, it is not active. If any changes are being made when the file is under use then those will be overwritten by the system. Any invalid XML or attribute value will be detected and the server won't be able to boot. The information will be stored in this file.

Download Interview PDF

11. Tell me what can happen when stub can't to connect to web-logic server instances?

In case of any failure that is occurring in the stub then the stub doesn't have any information and it faces the difficulty to connect it to the web-logic servers also. The stub remains in connection with the server instances and allow it to be started during the booting of the system. The stub consists of the server instances list as well that allow the server to communicate with one another. If there are no servers that in communication then the stub uses DNS to find the running server and obtain the list of running instances of the server. The stub refreshes itself to obtain the list and take advantage of the new server that is attached to the cluster.

12. Tell me how does a server find out server unavailability?

The web-logic servers use two different mechanisms to find out the unavailability of the servers. The servers that are unavailable won't be having any use and it is a good practice to find out and neglect them. These mechanisms are as follows:
1. Weblogic server instance gets stored in a cluster and uses multicast to broadcast the messages over the server and send a message to the main server for its availability. The main server monitors the messages of the server instances if any of the servers fails to respond.
2. Weblogic server monitors the errors that is corresponding to the socket on which the server is communicating and try to determine the availability from there. If the socket is open then the server sends the message to the main server and the communication happens. If there is no message and the socket gets closed unexpectedly then the server is assumed to be offline.

13. Can you explain what are the ways in which the DNS request of failed servers handled?

The DNS request is made to the failed servers also. When the main server send the request to all the servers to notify their availability then the client looks the server instance using the JNDI lookup and search by using the object reference. This allows the user to find out the new server instance and it will then be passed to the stub that monitors the cluster and the list of the clusters gets updated and it shows the availability of the servers as well. If the request is made to the server that is failed then it can be handled by using the third party load balancer like Resonate, BigIP, etc. These products are used to mask multiple addresses in a single address and return the result. This helps in keeping the track of all the servers.

14. Tell me how are the notifications generated when a server is added to a cluster?

The two mechanism of the server that it uses to find out the unavailability of the server, in the same way it uses the same mechanism to find out the new added server in the cluster. The web-logic server broadcasts a message to all the servers that are available and the servers in return respond to the message to show their availability to the server. If any new server is added then it also sends a message, a check is made to check the list of all the available server instances and if there is no result found then the server is made available in the list. There always remain stubs that monitor the cluster periodically and update the list of available server instances.

15. Web Logic Server job interview questions part One!

What are crossdomainconnectors in reference to web logic servers?
How is a domain template created?
Can struck threads be killed manually?
What is the difference between Txdatasource and Datasource?
Define the functions of T3 in the web logic server?
What are stubs and how do they function in a web logic cluster?
What elements make up the administration console?
Define the toolbar elements.
What does the connected to element in the toolbar signify?
What is the tree view pane in the web logic server?

16. Web Logic Server job interview questions part Two!

What is the difference between Dynamic and Non-dynamic changes in the console?
Define the purpose of the SerializedSystemini.dat file?
In what ways can a web logic servers performance be improved upon?
What is WLST in web logic?
What are the different modules of WLST? Explain?
Explain briefly what is the NM?
What are the different versions of NM?
How can the NM be made to work with web logic? Explain?
What are the different groups under web logic security?.
What is the role of a deployer?

17. Web Logic Server job interview questions part three!

In web logic what is the MSI code?
What is the format of a log message in a web logic server?
What is the format of the Log message out to standard out?
Name the various message severity levels in web logic?
What is a trace in relation to web logic server?
What is the emergency log message?
Arrange in order the various message severity levels?
How is the logging implementation specified in web logic?
What are log filters and what are their purpose?
How can domain configuration lock be enabled and disabled?

18. Web Logic Server job interview questions part four!

How will a single machine run multiple web logic server instances?
In web logic how are new threads assigned?
Define the list of pre-configured queues?
Define managed servers?
What is an administration server?
What are application servers?
What are the advantages of using application servers?
What are middleware servers?
What are the uses of a middleware server?
What are class paths? how can they be set?

19. Web Logic Server job interview questions part five!

What are web logic servers?
What are servers?
What are the prerequisites of starting a server?
Explain briefly the client-server architecture.
Explain how a web logic server works?
In a web logic server what is the domain?
What are the common domain types?
Explain the tier architecture of a web logic server?
What are logics in reference to web logic servers?
What are the differences between a web logic server and a web server?

20. How to write a program to bind string values in a PreparedStatement?

The PreparedStatement class allow to bind the string values in the class. The setString() method that can be used with it won't work due to incompatibility. The example shows the usage of the PreparedStatement:

String pstmt = "select n_name from n_table where n_name LIKE '?%'";
PreparedStatement ps = conn.prepareStatement(pstmt);
ps.setString(1, "Rohit");
ResultSet rs = ps.executeQuery();

This PreparedStatement doesn't work due to the fact that the value needs to be specified in a string and not be embedded in quotes. The corrected statement that gets executed is as follows:
String matchvalue = "rohit%";
String pstmt = "select n_name from n_table where n_name LIKE ?";
PreparedStatement ps = conn.prepareStatement(pstmt);
ps.setString(1, matchvalue);
ResultSet rs = ps.executeQuery();

21. How to write a program to call the store procedure of Oracle that takes no parameter?

The stored procedure are the procedures that is called when a function need to use some internal variables. These variables are used to access the relational database system and used to play a big role in web logic server. The code that is given below shows the same:

CallableStatement cstmt = conn.prepareCall("Begin procName; END;");
cstmt.execute();
//procName is the name of an Oracle stored procedure.
//The above statement is the standard oracle statement that works with the Oracle DBMS. // The following syntax given below will call the stored procedure.
CallableStatement cstmt = conn.prepareCall("{call procName};");
cstmt.execute();
// This is the syntax which will work with all the database system.

22. Do you know what type of object is returned by ResultSet.getObject()?

Web logic jDriver for Oracle returns a Java object that includes the data and the information for retrieval. The object that is returned from ResultSet.getObject() is as follows:
• A double is returned for the column types of Number(n) and Number(m,n). If the precision that is defined is not accurate then it can be represented by using the BigDecimal as well.
• If the column type is a NUMBER then the Java type that has to be returned based on the actual value of each row. The values in this type may vary from one row to another row.
These are the type of objects that are returned by using the data variables in the Web logic server.

23. How to write a program of web logic server to get the connection pool attribute?

The connection pool attribute can be accessed using the administrative console of the connection pool. This includes the Web logic jDriver for Oracle and JDBC connection pool configuration for setting up the attribute for overall server system. The example that is given below show the attribute that is been accessed in the web logic server:
<JDBCConnectionPool
Name="userPool"
Targets= “userserver,server1"
DriverName="weblogic.jdbc.oci.Driver"
InitialCapacity="1"
MaxCapacity="10"
CapacityIncrement="2"
Properties="databaseName=userOracleDB"

24. Explain what are the steps required to setup the Oracle instance for OS Authentication?

To setup the Oracle instance of the OS Authentication feature. The steps that have to be followed are:
1. Open the INIT[sid].ORA file from the config directory of the web logic server.
2. Add the line OS_AUTHENT_PREFIX = OPS$ in the file INIT[sid].ORA file and as the statements are case sensitive so the statements should be written as it is.
3. Open the database of Oracle server by using the credentials of the SYSTEM.
4. Create a user using the name of OPS$userid, where userid is the name of operating system loginID. Grant the full privileges to the user for connection and using the resources on the server.
5. After setting up the connection with the made user then the Web logic jDriver for Oracle can be connected by using the “/” as the username property and “” as the password property. The example is given below:

$ java utils.dbping ORACLE "/" "" userserver
Properties props = new Properties();
props.put("user", "/");
props.put("password", "");
props.put("server", "userserver");
Class.forName("weblogic.jdbc.oci.Driver").newInstance();
Connection conn = myDriver.connect("jdbc:weblogic:oracle",props);

Download Interview PDF

25. Tell me what are the ways in which weblogic servers can run on multiple machines?

There are various configurations that have to be made to make the weblogic server run on multiple machines. The methods that are involved have their advantages and disadvantages. The Web logic server consists of no built-in limit for the number of instances it can have in a cluster, but it can consists of larger number of instances if it is having multiple clustered systems. The web logic servers are best deployed to use more than one server instance at a time. Multiple machine can have one cluster each and have a synchronization method to increase the distribution of server instances.