Oracle Apps Functional Online Training
Enroll for Oracle Apps Functional Online Training Course to become a specialist as an Oracle Apps Functional Consultant. Throughout this course, you will be gaining practical exposure to operation and business suite with live use cases
KITS Online Training Institute provides best Oracle APPS Functional Online Training course by our highly professional certified trainers. We are delighted to be one of the best leading IT online training with best experienced IT professionals and skilled resources. We have been offering courses to to consultants, companies so that they can meet all the challenges in their respective technologies. We also provide other related courses.
Self-Paced
Learn when and where it's convenient for you.Utilise the course's practical exposure through high-quality videos.Real-Time Instructors Will Guide You Through The Course From Basic to Advanced Levels
Online
Receive A Live Demonstration Of Each Subject From Our Skilled Faculty Obtain LMS Access Following Course Completion Acquire Materials for Certification
Corporate
The Class Mode Of Training, Or Attend An Online Training Lecture At Your Facility From A Subject Matter Expert With discussions, exercises, and real-world use cases, learn for a full day.Create Your Curriculum Using the Project Requirements
Click here to Login to add a review.
Best place to learn from the basics. Satisfied with the money paid.
- Ashok
100% Online Course
Flexible Schedule
Beginner Level To Advance Level
Real-Time Scenarios With Projects
LMS Access
Interview Questions & Resume Guidelines Access
Related

Data Guard Online Training
Get the practical knowledge to manage the Data Guard Environment from the Oracle Data Guard Architecture, fundamentals, features, and other administrative tasks with practical use cases at Data Guard

IBM Data Power Training
Enroll today for the KITS DataPower Online Training Course and get the essential skills necessary to configure and manage the web service on IBM Data Power Gateways by live industry experts with pract

MySQL Online Training
Kits MQSQL Certification Training trains you the basic and advanced concepts of MYSQL Database with real-world use cases and makes you proficient in creating and managing the MYSQL Databases

MySQL Admin Online Training
MYSQL DBA Certification Training trains you the core and advanced techniques to store and manage the MySQL database by live experts with practical use cases and make you master in MySQL Databases

OBIEE Online Training
Get real-time exposure of data analysis in creating the interactive dashboards, ad-hoc queries, notifications, and alerts, enterprise and financial reporting, score and strategy management taught by r

Oracle Apps Functional Online Training Course
Enroll for Oracle Apps Functional Online Training Course to become a specialist as an Oracle Apps Functional Consultant. Throughout this course, you will be gaining practical exposure to operation a

Oracle Apps Technical Online Training
Enroll today for the best Oracle Apps Technical training o to involve in the application programming of the oracle corporation. By the end of the course, you will acquire practical exposure to oracl

Oracle BPM 12C Online Training
Get hands-on exposure in the creation of genuine Oracle Business Process Management applications with Oracle BPM by real-time experts. By the end of this training, you will get practical exposure to d

Oracle 11g RAC Online Training
Enroll for the best Oracle 11g RAC Online Training conducted by live experts to acquire to hands-on experience on Oracle Database architecture,RAC databases, Cluster Ware, ASM, back up and recovery wi

Oracle Access Manager Online Training
Get real-time exposure of installation, configuration, and implementation of Oracle Access manager by experts at Oracle Access Manager Training. By the end of this course, you will get practical expos

Oracle ADF Online Training Course
Get real-time exposure of data analysis in creating the interactive dashboards, ad-hoc queries, notifications, and alerts, enterprise and financial reporting, score and strategy management taught by r

Oracle Apps Functional Online Training
Enroll for Oracle Apps Functional Online Training Course to become a specialist as an Oracle Apps Functional Consultant. Throughout this course, you will be gaining practical exposure to operation and

Oracle Apps Technical Course
Enroll today for the best Oracle Apps Technical training o to involve in the application programming of the oracle corporation. By the end of the course, you will acquire practical exposure to oracle

Oracle BPM Online Training
Get hands-on exposure in the creation of genuine Oracle Business Process Management applications with Oracle BPM by real-time experts. By the end of this training, you will get practical exposure to d

Oracle Cloud Administration Training
Start here to learn Oracle Cloud Administration by real-time experts with practical use-cases at Oracle Cloud Administrator Online Training from beginner to the advanced level and become a king of Ora

Oracle Data Integrator Online Training
Get hands-on experience of various techniques and methods of data integrations from KITS Oracle Data Integrator online training course through real-world use cases

Oracle DBA Online Training
KITS Oracle DBA Online Training imparts you to gain the skills and the knowledge required to install, configure, and administer the Oracle Databases. Through this course, you will master in creating a

Oracle Enterprise Manager 12C Online Training
Get job oriented training from the beginner to the advanced level on Oracle Enterprise manager cloud and acquire hands-on experience on modern requirement management, test management, live traceabilit

Oracle Enterprise Manager Online Training
Get job oriented training from the beginner to the advanced level on Oracle Enterprise manager cloud and acquire hands-on experience on modern requirement management, test management, live traceabilit

Oracle Exadata Online Training
Kits Oracle Exadata Online Training Course explain you the various features and configurations of the Exadata database presented by the Exadata Storage Server with real-world use cases

Oracle Fusion Order Management Online Training
Get job oriented training from the beginner to the advanced level on Oracle Enterprises manager cloud and acquire hands-on experience on modern requirement management, test management, live traceabili

Oracle Golden Gate Online Training
Get hands-on experience of Oracle Fusion Order management in developing and managing the application using Oracle supply chain management cloud. By the end of this course, you will get practical expos

Oracle Identity Manager Online Training
Join at KITS Oracle Identity Manager Online Training Course, to learn the utilization of Oracle Identity Manager from basics to the advanced level taught by experience real-time working professionals.

Oracle Performance Tunning Online Training
Acquire hands-on experience in ensuring fast, reliable, and easy to manage performance on applications in optimizing database workloads, lowering IT Cost and deliver a high quality of service by live

Oracle RAC Online Training
Enroll for the best Oracle RAC Online Training conducted by live experts to acquire to hands-on experience on Oracle Database architecture, RAC databases, Cluster Ware, ASM, back up and recovery with

Oracle SCM Online Training
Make your dream come true as an Oracle SCM Functional Consultant by enrolling at Oracle SCM Training taught by live experts and get a better understanding of the Oracle SCM domain and learn the workin

Oracle SOA Online Training
Hurry up to enroll for the demo session to become a certified Oracle SOA professional through KITS Oracle SOA Online Training Course taught by real-time industry experts with practical use-cases and

Oracle SQL PLSQL Online Training
Become an Oracle Database Pl/SQL Certified Professional by enrolling through KITS Oracle PL/SQL Online Training Course. Our real-time professionals make you master PL/SQL Advanced features with practi

Oracle Web Logic Online Training
Get hands-on experience in implementing web server solutions through KITS Oracle Web logic Online Training Course. This training will enhance your knowledge in installing, configuring, and administeri

OSB Online Training
Get hands-on experience of Oracle Service Bus and enhance your knowledge on transforming architectures through combining and managing interactions between various services and applications across the

OTM Online Training
Acquire hands-on experience of Oracle Transportation and management through enhancing the skills on client administration and usage, streamlining, transportation arrangement, and cargo installment str

Shareplex Online Training
Get practical exposure for data replication on the oracle databases taught by industry professionals with high availability taught by real-time professionals through the KITS shareplex Online Training

What is Oracle SOA?
An application can be developed in multiple ways. For instance, in some cases, an application can be developed using a different platform as per the requirement of the client. Even though the application development on different platforms produces the same result the cost of the development varies. Moreover, the add-ons to the application on different variations in different parameters like cost, time, execution completion, and so on. Additionally, code reusability is also a deciding factor to execute an application on that particular platform. This code reusability is useful for any kind of front (or) backend application. Today the need to integrate with different cloud platforms, mobile-enabled the existing applications, and the initiation of latest trends by connecting the Internet of Things (IoT) to the current infrastructure is the main focus of any organization. Hence Oracle SOA is the perfect platform to integrate the on-premises and cloud deployments for ensuring the perfect flexibility of the organization Hence let us start our discussion with What is Oracle SOA? Oracle SOA Suite enables developers to build services and manage them. The services here can be applied to the business process and the composite applications. Today the organizations can easily extend and evolve the architectures with hot-pluggable components from the oracle suite. Moreover, with the utilization of Oracle SOA, the replacement of existing requirements will not be required. Here the oracle corporation will share the product strategy, product details, as well as customer experience relating to the Oracle Suite. This Oracle SOA Suite was initially started in June 2014 and 12C is the latest version. The development of the Oracle SOA suite was done to cope up the goals of infrastructure flexibility, business integration, increased applications, and the reduced costs. Why SOA? The Oracle corporation has brought SOA due to the following reasons: Today IT firms should be able to take the challenge of interacting with an array of software systems that may not be compactable under all the circumstances. Hence IT firms need to face the demands by putting forward with a wide array of customers. Here the customers are accessing the products and services through online interfaces that are a part of supply chain management, where the cost and the time of production need to be decreased. Hence IT Companies were looking for solutions to meet the demands. The main reason for the implementation of SOA is to have a standard for the representation of software products. Even though SOA is not a completely new concept but it has many standard setups by the internet like HTTP and HTML. Today the businesses that have a mandatory need for the internet were using similar principles to get the computer systems linked. Would you like to get a more practical explanation on Oracle SOA visit Oracle SOA Online Training Reasons to use Oracle SOA: The following are the reasons to use Oracle SOA. Re-use of Service costs involved in testing and developments can be lowered by the utilization of existing server modules when compared to the new ones. And this would ensure the low maintenance cost and better savings. Messaging: The use of messaging would enable services to move among the computer systems inside the enterprise. Moreover, the externally provided services were easy to use. Here the messages handled by the services can be changed to meet the new demands else the performance can be tuned. Message Security: It involves data integrity with the addition of cryptographic integrity check fields and data confidentiality with the encryption of messages. Complex event processing: It offers various fields like Ability to adapt to different scenarios: Here the focus needs to put on the logic that connects the scenarios to the business events. Simplification of Complex Architecture: It involves removing the business functionalities from the business software that are not related Improvement of Security and management: Here the security event detection and performance measurement were the keys How SOA Influences technology? Even though SOA is not a technical concept, this idea has been adopted by most of the technologist. Moreover, the concept of software services has been established through SOA. And the concept is established by a software program. Here the SOA efforts offer value to the people (or) the organization that consumes software products. Here the services on the web could have virtual interfaces. And the internal network of enterprises can also be used for delivering the software devices. The below are the major benefits in the utilization of service are as follows: a)The larger application was much like information silos where a ready exchange of information is often not possible. b)Fine-grained software services offer a better and the refined flow of information among the companies. c)In terms of integration, Oracle SOA proves to be inexpensive while the major application moves to be costly. d)If the internal software is organized as the services exposing the functionality externally is easier. Here the increased visibility will offer the business value. Hence this helps in increasing customer satisfaction and also reduces the cost. e) Here the supporting software makes the businesses rely on them. Here the large and the singular programs can be hard to change as a lack of modularity where it is difficult for the enterprises to meet the changes. f) In some cases, it might even lead to the inability to take the advantage of new opportunities. A software architecture based on the service is easy to change as it offers better organizational benefits and helps to avoid penalties. What are the features of SOA? This platform helps to integrate with other platforms. Here the unified platforms meet the growing demands of faster business integration. Moreover, the suite is capable of supporting all the technology trends today. Moreover, the adapter was classified into different categories like enterprise application, CDC and mainframe, cloud, and the Oracle SOA suite adapters depending on the systems and the applications. The features of Oracle SOA are as below: Cloud Integration Adapters: One of the most exciting features of cloud integration adapters is that it offers simplified connectivity and Saas application through processing options and design time wizards. Besides, it contains room for requirements that requires the architecture for web services and cloud adaptor configuration wizard. Besides the SDK allows users to use new SaaS applications as a part of the business process of the companies. Here the SDK offers the run time and the design-time components. The run time API includes security API, Session API as well as transformation API. On the other hand, design-time components include metadata browsing, connection API, artifact generation, and connection support. Unified Run time and Design-time Environments: The Oracle WebLogic server offers a platform for the Oracle suite. Here the integrating components offer a reliable integration. Here oracle allows the deployments of more applications on the server that reduces the hardware and the energy cost as well as the software licensing. End to end Monitoring: It is very important to keep a note of what is happening in the application servers, occupant applicants, and the application scaling, whenever necessary for managing the integration. Here the SOA management plugin and the Oracle Enterprise manage offer the capabilities in the web console. The users here can browse the applications, servers as well as service engines to troubleshoot the runtime problems in SOA. Likewise, there are many features of Oracle SOA. You people can get practical exposure to Oracle SOA from beginner to the advanced level through the Oracle SOA Online Course. In the upcoming post, I'll be sharing the benefits of Oracle SOA. Meanwhile, have a look at our Oracle SOA Interview Questions
Continue reading
Oracle Identity Manager Interview Questions
Q.What is an Identity? Ans: An identity is the virtual representation of an enterprise resource user including employees, customers, partners and vendors. Identity Management shows the rights and relationships the user has when interacting with a company’s network. Q.What are the benefits of Identity Management? Ans: Centralized auditing and reporting – Know who did what and report on system usage. Reduce IT operating costs – Immediate return on investment is realized by eliminating the use of paper forms, phone calls and wait time for new account generation and enabling user self service and password management. Minimize Security Risk – Control access to the network and instantaneously update accounts in a complex enterprise environment including: layoffs, acquisitions, partner changes, temporary and contract workers. Improved quality of IT services Legal compliance – Many government mandates require secure control of access. Q.How does Identity Management (IDM) work? Ans:The process involves creating user accounts that are able to be modified, disabled or deleted. Delegated workflows, rules and policies are applied to the users account. A user profile will tell the company: who they are, what they are entitled to do, when they are allowed to perform specific functions, where they are allowed to perform functions from and why they have been granted permissions. Q.How are Identity Management Solutions Implemented? Ans: Step One: Inventory and assess current investments and processes. Clean and consolidate identity data stores. Create virtual identities for enterprise users. Step Two: Design and deploy identity infrastructure components. Create identity provisioning and deploy password management, user self-service, and regulatory compliance. Step Three: Deliver applications and services. Access management deployed to a clean environment. Leverage federated identity for improving supply chain and employee efficiencies. Q.Explain the Architecture of Oracle identity Manager? Ans: The Oracle Identity Manager architecture consists of three tiers Tier 1: Client: The Oracle Identity Manager application GUI component reside in this tier. Users log in by using the Oracle Identity Manager client.The Oracle Identity Manager client interacts with the Oracle Identity Manager server, providing it with the user's login credentials. Tier 2: Application Server: The second tier implements the business logic, which resides in the Java Data Objects that are managed by the supported J2EE application server (JBoss application server, BEA WebLogic, and IBM WebSphere). The Java Data Objects implement the business logic of the Oracle Identity Manager application, however, they are not exposed to any methods from the outside world. Therefore, to access the business functionality of Oracle Identity Manager, you can use the API layer within the J2EE infrastructure, which provides the lookup and communication mechanism. Tier 3: Database: The third tier consists of the database. This is the layer that is responsible for managing the storage of data within Oracle Identity Manager. Q.What is purpose of Reconciliation Manager? Ans:You can look here for recon data once reconciliation is complete. You can determine whether event received and linked for not. Q.What is Application Server and Web server? Ans: A Web server exclusively handles HTTP requests, whereas an application server serves business logic to application programs through any number of protocols. Webserver mainly handles the Http requests but app server can be used to handle the http, rmi, TCP/IP and many more protocols. Webserver just handles the requests of the webpage – means suppose, a html page(presentation layer) requests a data - here script is written containing the business logic , then it just give the response with the required data from the database. Then the html page with script is used to show the retrieved information. In case of application server, it does the same thing, of getting and gives the response but it can process the requests. i.e. in this case, instead of script know how to fetch the data, the script is simply used to call the applications server's lookup service to retrieve and process the data. i.e here, application server is used for processing/applying logic. The web server can be considered as the subset of app server The basic difference between a web server and an application server is WebServer can execute only web applications i.e. servlets and JSPs and has only a single container known as Web container which is used to interpret/execute web applications Application server can execute Enterprise application, i,e (servlets, jsps, and EJBs) it is having two containers 1. WebContainer (for interpreting/executing servlets and jsps) EJB container (for executing EJBs). It can perform operations like load balancing , transaction demarcation etc Q.What is the purpose of rule designer? Ans: Use this form to create rules that can be applied to password policy selection, automatic group membership, provisioning process selection, task assignment, and prepopulating adapters General Process Determination Task Assignment Pre-Populate Q.What is Adapter? What Adapters available in OIM? Ans: An adapter is a Java class that is created by an Oracle Identity Manager user through the Adapter Factory. Process Tasks adapters - automate completion of a process task and are attached to a Process Definition Form ( AD user, OID User, etc) Entity Adapter- automatically populates a field on the OIM User form or custom User Form on pre-update, pre-delete, pre-insert, post-insert, post-update, or post-delete Pre-Populate Adapter- specific type of rule generator attached to a user-created form field that can automatically generate data to the form but does not save that data to the OIM database but does send that information to appropriate directory user object. The data can come from manual entry on a form or from automated entry from the OIM defined forms. Rule Generator- can populate fields automatically on an OIM form or a user-created form and save to the OIM database based on business rules Task Assignment Adapter- automates the assignment of a process task to a user or group contact for more on Oracle Identity Manager Online Training
Continue reading
Oracle Performance Tuning Interview Questions
Q.What are the major focuses of Performance tuning? Ans: Performance tuning focuses primarily on writing efficient SQL, allocating appropriate computing resources, and analyzing wait events and contention in a system. Q.How does Oracle aid performance tuning? Ans: Oracle provides several options to aid performance tuning, such as partitoning lar tables, using materialized views, storing plan outlines, using tools like Automatic Optimizer statistics collection feature, ckages like DBMS_STATS, SQL Tuning Advisor to tune SQL statements,etc. Q.Why is performance tuning a menacing area for DBA’s? Ans: Like many other features of Oracle like exp/imp,backu recovery this field can’t be automated. This is one area that requires a lot of detective work on the part of application programmers and DBA’s to see w some process is running slower than expected, why can’t we scale applications to a larger number of users without problems like performance degradation etc.This is a area where our technical knowledge must be used along with constant experimentation and observation. Q.What are the approaches towards performance tuning? Ans: We can follow either a systematic approach or a reactive approach for performance tuning. What is a systematic approach to performance tuning? It is mandatory to design the database properly at initial stages to avoid potential problems. It is mandatory to know the nature of application that a database is going to support. With a clear idea on the application’s nature database can be optimally created by allocating appropriate resources to avoid problems when the application is moved to production. Most production moves cause problem because of the scalability problems with the applications.So, oracle recommends to tune database at inception stage. this is systematic approach to performance tuning. Q.What are the Oracle’s suggestions towards systematic tuning? Ans: Oracle suggests a specific design approach with the following steps.This is a top down approach: 1) Design the application correctly 2) Tune the application SQL code 3) Tune memory 4) Tune I/O 5) Tune contention and other issues Q.What are the effects of poor database design? Ans: A poor database design results in poor application performance. We have to tune the application code and some database resources such as memory,CPU,I/O owing to performance degradation. An applications performs well in development and testing. Will there be any performance problem when it is moved to production? Production moves may cause problems due to scalability.We can’t simulate the original load in test and development. So problems may crop up at times as the application may be performing poor due to scalability problems. Q.What is reactive performace tuning? Ans: Performance tuning is an iterative process. We as a DBA may have to tune applications which is designed and implemented in production.The performance tuning at htis stage is referred to as reactive performance tuning. Q.Which is useful – systematic or reactive tuning? Ans: The performance tuning steps to improve the performance of a database depends on the stage at which we get the input and on the nature of the application. DBA’s can assist the developers to write optimal code that is scalable based on systematic approach. Mostly the real life problems that are encountered after production moves have to be solved by reactive performance tuning. Q.We have an application whose code can’t be changed.Can we improve its performance? Ans: We can improve the application performance without changing base SQL code by optimizing the SQL performance. Oracle has come up with SQL Advisor tool that helps SQL performance. We can make use of SQL Advisor tools’ SQL Profiles to improve performance,though we can’t touch the underlying SQL. Q.What is the use of SQL over procedural languages? Ans: SQL isn’t a procedural language in which we have to specify the steps to be followed to achieve the statement goal.We don’t have to specify how to accomplish a task(say data retrival) using SQL,rather we can specify as to what needs to be done. Q.What is query processing? Ans: When a user starts a data retrieval operation, the user’s SQL statement goes through several sequential steps that together constitute query processing.Query processing is the transformation of the SQL statement into efficient execution plan to return the requested data from the database. Q.What is query optimization? Ans: Query optimization is the process of choosing the most efficient execution plan.The goal is to achieve the result with least cost in terms of resource usage.Resources include I/O and CPU usage on the server where the dat/abase is running.This is a means to reduce the execution times of the query,which is the sum of the execution times of the all component operations of the query. Q.What are the techniques used for query optimization? Ans: Cost-based optimization, heuristic strategy are used for query optimization. Q.What are the phases of a SQL statement processing? Ans: An user’s SQL statement goes through the parsing,optimizing, and execution stages.If the SQL statement is a query(SELECT),data has to be retrived so there’s an additional fetch stage before the SQL processing is complete. Q.What is Parsing? Ans: Parsing primarily consists of checking the syntax and semantics of the SQL statements. The end product of the parse stage of query compilation is the creation of a parse tree,which represents the query structure.The parse tree is then sent to the logical query plan generation stage. Mention the steps in the creation of a parse tree:- 1) The SQL statement is decomposed into relational algebra query that ‘s analyzed to see whether it’s syntactically correct. 2) The query then undergoes semantic checking. 3) The data dictionary is consulted to ensure that the tables and the individual columns that are referenced in the query do exist,as well as all the object privileges. 4) The column types are checked to ensure that the data matches the column definition. 5) The statement is normalized so that it can be processed more efficiently 6) The query is rejected if it is incorrectly formulated 7) Once the parse tree passes all the syntactic and semantic checks,it is considered a valid parse tree,and it’s sent to the logical query plan generation stage. Q.Where does the parse tree generation take place? Ans: The parse tree generation takes place in the library cahce portion of the SGA(system global Area)./ What is Optimization/what happens during optimization phase? During the optimization phase,Oracle uses its optimizer(CBO(cost-based optimizer)) to choose the best access method for retriving data for the tables and indexes referred to in the query. Q.How does a CBO generate an optimal execution plan for the SQL statement? Ans: Using the statistics we provide and the hints specified in the SQL queries, the CBO produces an optimal execution plan for the SQL statement. What are the parts of an optimizer phase? An optimizer phase can be divided into two distinct parts: the query rewrite phase and the physical execution plan generation phase. Q.What is query rewrite phase? Ans: In this phase ,the parse tree is converted into an abstract logical query plan. This is an initial pass at an actual query plan, and it contains only a general algebraic reformulation of the initial query. The various nodes and branches of the parse tree are replaced by operators of relational algebra. Q.What is execution plan generation phase/physical execution plan execution plan generation phase? Ans: During this phase,Oracle transforms the logical query plan into a physical query plan. The optimizer may be faced with a choice of several algorithms to solve a query. It needs to choose the most efficient algorithm to answer a query,and it needs to determine the most efficient way to implement the operations.The optimizer determines the order in which it will perform the steps. Q.What are the factors considered by a physical query/execution plan? Ans: Following factors are considered by a physical query or an execution plan: 1) The various operations(eg:joins) to be performed during the query 2) The order in which the operations are performed 3) The algorithm to be used for performing each operation 4) The best way to retrieve data from disk or memory 5) The best way to pass data from one operation to another during the query Q.Which generates the query plan/what is generated by optimizer? Ans: The optimizer generates several valid physical query plans.All the physical query plans are potential execution plans. Q.How does the optimizer choose the query plan/what is cost-based query optimization?/ Ans: The optimizer generates several physical query plans that are potential execution plans. The optimizer then chooses among them by estimating the cost of each possible physical plan based on the table and index statistics available to it,and selecting the plan with the lowest estimated cost. This evaluation of the possible physical query plans is called cost-based query optimization. Q.What are the factors affecting the cost of a execution plan? Ans: The cost of executing a plan is directly proportional to the amount of resources such as I/O,memory and CPU necessary to execute the proposed plan. Q.What happens after choosing the low-cost physical query plan? Ans: The optimizer passes the low-cost physical query plan to the Oracle’s query execution engine. Q.What is a heuristic strategy? Ans: The database uses a less systematic query optimiation technique known as the heuristic strategy. Q.What are unary and binary operations? Ans: A join operation is called a binary operation, an operation like selection is called a unary operation. Q.What is an optimal operation processing strategy? Ans: In general an optimal strategy is to perform unary operations first so the more complex and time-consuming binary operations use smaller operands. Performing as many of the possible unary operations first reduces the row sources of the join operations. Q.What are the heuristic-processing strategies? Ans: 1) Perform selection operation early so that we can eliminate a majority of the candidate rows early in the operation. If we leave most rows in until the end, we’re going to do needless comparisons with the rows we’re going to get rid of later 2) Perform projection operations early so that we limit the number of columns we have to deal with 3) If we need to perform consecutive join operation,perform the operations that produce the smaller join first 4) Compute common expressions once and save the results Q.What is query execution? Ans: During the final stage of a query processing, the optimized query(the physical query plan that has been selected) is executed. If it’s a SELECT statement the rows are returned to the user.If it’s an INSERT,UPDATE or DELETE statement ,the rows are modified. The SQL execution engine takes the execution plan provided by the optimization phase and executes it. Q.What is the crucial step in SQL statement processing? Ans: Of the three steps involved in the SQL statement processing, the optimization process is the crucial one because it determines the all important question of how fast our data will be retrived./ Q.What is the job of an optimizer? Ans: The job of an optimizer is to find the optimal/best plan to execute our DML statements such as SELECT,INSERT,UPDATE and DELETE.Oracle uses CBO to help determine efficient methods to execute queries. Q.What is an index? Ans: An index is a data structure that takes the value of one or more columns of a table(the key) and returns all rows/requested-columns in a row quickly. Q.Why is an index efficient? Ans: The efficiency of an index comes from the fact that it lets us find necessary rows without having to scan all the rows of a table.They need a fewer disk I/O’s than if we had to scan the table and hence are efficient. Q.When do we need to index tables? Ans: We need to index tables only when the queries will be selecting a small portion of the table.If our query is retriving rows that are greater than 10 or 15 percent of the total rows in the table,we may not need an index. Q.Why does an index traverses a table’s row faster? Ans: Indexes prevent a full table scan,so it is inherently a faster means to traverse a table’s row Q.A tablespace has a table with 30 extents in it. Is this bad? Why or why not? Ans: Multiple extents in and of themselves aren’t bad. However if you also have chained rows this can hurt performance. Q.How do you set up tablespaces during an Oracle installation? Ans: You should always attempt to use the Oracle Flexible Architecture standard or another partitioning scheme to ensure proper separation of SYSTEM, ROLLBACK, REDO LOG, DATA, TEMPORARY and INDEX segments. Q.You see multiple fragments in the SYSTEM tablespace, what should you check first? Ans: Ensure that users don’t have the SYSTEM tablespace as their TEMPORARY or DEFAULT tablespace assignment by checking the DBA_USERS view. Q.What are some indications that you need to increase the SHARED_POOL_SIZE parameter? Ans: Poor data dictionary or library cache hit ratios, getting error ORA-04031. Another indication is steadily decreasing performance with all other tuning parameters the same. Q.What is the general guideline for sizing db_block_size and db_multi_block_read for an application that does many full table scans? Ans: Oracle almost always reads in 64k chunks. The two should have a product equal to 64 or a multiple of 64. Q.What is the fastest query method for a table? Ans: Fetch by rowid Q.Explain the use of TKPROF? What initialization parameter should be turned on to get full TKPROF output? Ans: The tkprof tool is a tuning tool used to determine cpu and execution times for SQL statements. You use it by first setting timed_statistics to true in the initialization file and then turning on tracing for either the entire database via the sql_trace parameter or for the session using the ALTER SESSION command. Once the trace file is generated you run the tkprof tool against the trace file and then look at the output from the tkprof tool. This can also be used to generate explain plan output. Q.When looking at v$sysstat you see that sorts (disk) is high. Is this bad or good? If bad, how do you correct it? Ans: If you get excessive disk sorts this is bad. This indicates you need to tune the sort area parameters in the initialization files. The major sort are parameter is the SORT_AREA_SIZE parameter. Q.When should you increase copy latches? What parameters control copy latches? Ans: When you get excessive contention for the copy latches as shown by the “redo copy” latch hit ratio. You can increase copy latches via the initialization parameter LOG_SIMULTANEOUS_COPIES to twice the number of CPUs on your system. Q.Where can you get a list of all initialization parameters for your instance? How about an indication if they are default settings or have been changed? Ans: You can look in the init.ora file for an indication of manually set parameters. For all parameters, their value ad whether or not the current value is the default value, look in the v$parameter view. Q.Describe hit ratio as it pertains to the database buffers. What is the difference between instantaneous and total hit ratio; which should be used for tuning? Ans: Hit ratio is a measure of how many times the database was able to read a value from the buffers verses how many times it had to re-read a data value from the disks. A value greater than 80-90% is good, less could indicate problems. If you take the ratio of existing parameters this will be a ***ulative value since the database started. If you do a comparison between pairs of readings based on some arbitrary time span, this is the instantaneous ratio for that time span. Generally speaking an instantaneous reading gives more valuable data since it will tell you what your instance is doing for the time it was generated over. Q.Discuss row chaining, how does it happen? How can you reduce it? How do you correct it? Ans: Row chaining occurs when a VARCHAR2 value is updated and the length of the new value is longer than the old value and won’t fit in the remaining block space. This results in the row chaining to another block. It can be reduced by setting the storage parameters on the table to appropriate values. It can be corrected by export and import of the effected table. Q.When looking at the estat events report you see that you are getting busy buffer waits. Is this bad? How can you find what is causing it? Ans: Buffer busy waits may indicate contention in redo, rollback or data blocks. You need to check the v$waitstat view to see what areas are causing the problem. The value of the “count” column tells where the problem is, the “class” column tells you with what. UNDO is rollback segments, DATA is data base buffers. Q.If you see contention for library caches how can you fix it? Ans: Increase the size of the shared pool. Q.If you see statistics that deal with “undo” what are they really talking about? Ans: Rollback segments and associated structures. Q.If a tablespace has a default pctincrease of zero what will this cause (in relationship to the smon process)? Ans: The SMON process won’t automatically coalesce its free space fragments. Q.If a tablespace shows excessive fragmentation what are some methods to defragment the tablespace? (7.1,7.2 and 7.3 only) Ans: In Oracle 7.0 to 7.2 The use of the ‘alter session set events ‘immediate trace name coalesce level ts#’;’ command is the easiest way to defragment contiguous free space fragmentation. The ts# parameter corresponds to the ts# value found in the ts$ SYS table. In version 7.3 the ‘alter tablespace coalesce;’ is best. If free space isn’t contiguous then export, drop and import of the tablespace contents may be the only way to reclaim non-contiguous free space. Q.How can you tell if a tablespace has excessive fragmentation? Ans: If a select against the dba_free_space table shows that the count of a tablespaces extents is greater than the count of its data files, then it is fragmented. Q.You see the following on a status report: redo log space requests 23 redo log space wait time 0 Is this something to worry about? What if redo log space wait time is high? How can you fix this? Ans: Since wait time is zero, no. If wait time was high it might indicate a need for more or larger redo logs. Q.What can cause a high value for recursive calls? How can this be fixed? Ans: A high value for recursive calls is cause by improper cursor usage, excessive dynamic space management actions, and or excessive statement re-parses. You need to determine the cause and correct it By either relinking applications to hold cursors, use proper space management techniques (proper storage and sizing) or ensure repeat queries are placed in packages for proper reuse. Q.If you see a pin hit ratio of less than 0.8 in the estat library cache report is this a problem? If so, how do you fix it? Ans: This indicates that the shared pool may be too small. Increase the shared pool size. Q.If you see the value for reloads is high in the estat library cache report is this a matter for concern? Ans: Yes, you should strive for zero reloads if possible. If you see excessive reloads then increase the size of the shared pool. Q.You look at the dba_rollback_segs view and see that there is a large number of shrinks and they are of relatively small size, is this a problem? How can it be fixed if it is a problem? Ans: A large number of small shrinks indicates a need to increase the size of the rollback segment extents. Ideally you should have no shrinks or a small number of large shrinks. To fix this just increase the size of the extents and adjust optimal accordingly. Q.You look at the dba_rollback_segs view and see that you have a large number of wraps is this a problem? Ans: A large number of wraps indicates that your extent size for your rollback segments are probably too small. Increase the size of your extents to reduce the number of wraps. You can look at the average transaction size in the same view to get the information on transaction size. Q.In a system with an average of 40 concurrent users you get the following from a query on rollback extents: Ans: ROLLBACK CUR EXTENTS ——————— ————————– R01 11 R02 8 R03 12 R04 9 SYSTEM 4 Q.You have room for each to grow by 20 more extents each. Is there a problem? Should you take any action? Ans: No there is not a problem. You have 40 extents showing and an average of 40 concurrent users. Since there is plenty of room to grow no action is needed. Q.You see multiple extents in the temporary tablespace. Is this a problem? Ans: As long as they are all the same size this isn’t a problem. In fact, it can even improve performance since Oracle won’t have to create a new extent when a user needs one. contact for more on Oracle Performance Tuning Online Training
Continue reading
Oracle Service Bus Interview Questions
Q.What Is Oracle Service Bus (osb)? Ans: Oracle Service Bus allows you to manage Web services and deliver authentic message brokering through the configuration of proxy services in the Oracle Service Bus design-time environment. The underlying concepts of Oracle Service Bus are briefly described in this section. Oracle Service Bus manages the routing and transformation of messages in an enterprise system to promote seamless application integration. Oracle Service Bus is a market-leading enterprise service bus built from the ground up for Service Oriented Architecture (SOA) life cycle management. It provides foundation capabilities for service discovery and intermediation, rapid service provisioning and deployment, and governance. This service-infrastructure software adheres to the SOA principles of building coarse-grained, loosely coupled, and standards-based services, creating a neutral container in which business functions may connect service consumers and back-end business services, regardless of underlying infrastructure. Q. Explain Some Scenarios Briefly Where Oracle Service Bus (osb) Can Be Used? Ans: Oracle Service Bus provides the following examples: Routing a Loan Application : A primary mortgage company uses Oracle Service Bus to route loan applications to appropriate business services based on the interest rate requested by the customer. An application containing a request for a rate less than 5% requires management approval and is routed to an appropriate business service for processing. All other loan applications are routed to another business service for processing. The target business service responds, indicating whether the loan application is approved or rejected. Transforming a Loan Application : A primary mortgage company uses Oracle Service Bus to identify and re-route loan applications that are easy to sell to secondary mortgage companies. A loan application with a principal request of $25,000,000.00 can be sold to a secondary mortgage company. For such a loan application, a Web service lookup is performed to retrieve the customer's credit rating. The credit rating information is added to the loan application and the application is then forwarded to the secondary mortgage company's Web service to be processed. All other loan applications are routed to another business service for processing. The target business service responds indicating whether the loan application is approved or rejected. Validating a Loan Application : A primary mortgage company uses Oracle Service Bus to route loan applications to appropriate business services and to validate the loan applications. When an application is invalid (due to missing or incorrect data), an error message is returned to the client and the error is reported in the Oracle Service Bus Console. A complete application is routed to a selected business service for review. If approved, the business service returns a message indicating whether the loan is accepted or rejected. Q. What Is Proxy Services And Business Services In Oracle Service Bus (osb) ? Ans: Oracle Service Bus provides intelligent message brokering between business services (such as enterprise services and databases) and service clients (such as presentation applications or other business services) through proxy services that you can configure using Oracle Service Bus development and run-time tooling. Proxy services are Oracle Service Bus definitions of intermediary Web services that Oracle Service Bus implements locally on Oracle WebLogic Server. With Oracle Service Bus message brokering, service clients exchange messages with an intermediary proxy service rather than working directly with a business service. Oracle Service Bus lets you implement proxy services independently and configure them dynamically, as driven by your business needs, without requiring costly infrastructure development and re-deployment efforts. The configuration functions are separated from the management functions in Oracle Service Bus. A proxy service can route messages to multiple business services; you can choose to configure a proxy service with an interface that is independent of the business services with which the proxy service communicates. In such cases, you can configure a proxy service message flow definition to route a message to the appropriate business service and map the message data into the format required by the business service interface. Business services are Oracle Service Bus definitions of the enterprise services that exchange messages during business processes. A business service and its interface can be defined and configured using the Oracle Service Bus design-time tooling. To configure a business service, you must specify its interface, the type of transport it uses, its security requirements, and other characteristics. A business service definition is similar to that of a proxy service, but it does not have pipelines (a message flow). Q. Explain The Concept Of Message Flow And Pipelines In Osb? Ans: In Oracle Service Bus, a message flow is the implementation of a proxy service. You configure the logic for the manipulation of messages using proxy service message flow definitions. This logic includes such activities as transformation, publishing, and reporting, which are implemented as individual actions within the stages of a pipeline. Pipelines are one-way processing paths that include no branching. A pipeline is a named sequence of stages containing actions, representing a non-branching one-way processing path. It is used to specify the message flow for service requests and responses. A stage is a user-configured processing step. Messages fed into the pipelines are accompanied by a set of message context variables that contain the message contents. They can be accessed or modified by actions in the pipeline stages. Q. Explain Pipeline Pairs? Ans: Pipeline pairs are request and response pipelines. The request pipeline definition specifies the actions that Oracle Service Bus performs on request messages to the proxy service before invoking a business service or another proxy service. The response pipeline definition specifies the processing that Oracle Service Bus performs on responses from the business or proxy service that the proxy service invokes before returning a response to a client. Each pipeline consists of a sequence of stages, each stage containing actions. However, a single service-level request pipeline might optionally branch out into operational pipelines (you can configure one default operational pipeline at most one per operation). The determination of the operation is done through user-selected criteria. The response processing starts with the relevant operation pipeline which then joins into a single service-level response pipeline. Q. How Can You Start Oracle Service Bus (osb)? Ans: You can start Oracle Service Bus using one of the following methods: On Windows systems, from the Windows Start menu in the Oracle WebLogic > User Projects group, or running startWebLogic.cmd in the new domain. On UNIX systems, run startWebLogic.sh from the root of the new domain. Q. What Is Oracle Service Bus Console? Ans: Oracle Service Bus Console is a Web services management dashboard that allows you to monitor Web services and servers and perform service management tasks. The console enables you to perform operational tasks such as configuring proxy and business services, setting up security, managing resources, and capturing data for tracking or regulatory auditing. It provides views to monitor current state and health of the Oracle Service Bus environment by displaying detailed statistics about servers, services, and alerts. The Oracle Service Bus Console also enables you respond rapidly and effectively to changes in your service-oriented environment. Q. Explain The Procedure Of Log In To Oracle Service Bus Console? Ans: Open a browser window and enter the following URL to open the Oracle Service Bus Console for the ServiceBusTutorial domain: http://localhost:7001/sbconsole Log in if necessary with Oracle Service Bus Console the user name and password that you specified when you created the domain. Q. What Is Project? Explain Both Types Of Project Deployment Techniques Used For Deploying Osb Applications? Ans: The typical unit of deployment is called a project. There are two types of project deployment: Complete - The entire project is deployed Incremental - Only changes to the project since the last deployment or some explicitly selected subset of resources are deployed. Incremental deployment is additive only new and updated resources are deployed on the target system. Note that any resource that is deleted in the project is not deleted from the target system. However, deleted project resources are also deleted from the target system during a complete project deployment. Note: This behavior may be customized at import time. For example, alert destinations are defined in the production system by the production system operator, but these alerts do not exist in the development system. In such a scenario, you may not want to delete these alert destinations when you do a complete deployment of the project. Q. Explain All Types Of Deployment Roles? Ans: Export, import and environmental customizations may be done by a deployer, operator or Administrator depending on the system and depending on the enterprises policy. Export from the development system is typically done by a deployer. The Administrator, operator, or deployer may be responsible for exporting and importing resources from the stage system to the production system. Exporting and importing resources can be done using Oracle Service Bus Console or via a script or program (which can be written by a developer). If an operator is responsible for exporting resources from a system, a pre-defined automated script or program can be executed to export either the complete project or specific resources in the project. Similarly, if an operator is responsible for importing resources into a system, a pre-defined automated script or program can be executed to do the import. Q. What Is Customization File? Ans: Customization files are XML files and you can open these files in any editor and substitute the required environment values. In addition, you can search for specific environment values (that are not complex XML types) in Oracle Service Bus Console or in a customization file and replace them with the new values. You can fine-tune the scope of the search by filtering these environment values based on variable type or project. An Administrator uses customization files to make changes to environment values as well as to change references within resources. Customization files can include customizations for all the environment values found in the selected resources, including complex environment values types defined inside the EnvValueTypes class. In addition, it includes a reference customization type for changing resource references inside resources with dependencies. The customization schema (Customization.xsd) which describes the customization types is available at the following location in your Oracle Service Bus installation: BEA_HOME modulescom.bea.common.configfwk_1.2.0.0.jar You can create sample customization files from Oracle Service Bus Console. The scope of a customization file can be a project or individual resources in a project. The created sample customization file may be used as a starting point for making desired modifications by specifying the actual values for an environment during the export or import process. Q. What Are Environment Values? Ans: As part of deployment, environment values in resources in source systems must be changed as part of the export process or the import process to reflect the values that are application in the target system. Environment values are certain pre-defined fields in the configuration data whose values are very likely to change when you move your configuration from one domain to another (for example, from test to production). Environment values represent entities such as URLs, URIs, file and directory names, server names, e-mails, and such. Also, environment values can be found in Alert Destinations, proxy services, business services, SMTP Server and JNDI Provider resources, and UDDI Registry entries. Certain environment values are complex XML objects that cannot be found and replaced using the Find and Replace option from Oracle Service Bus Console. However, you can still set these environment values directly by using the ALSBConfigurationMBean from a script. For detailed information about ALSBConfigurationMBean, see the Javadocs for Oracle Service Bus Classes. In addition to setting them through the API, you can set complex type environment values using customization files. Q. Summary Of Recommended Best Practices For Deployment Of Oracle Service Bus Resources? Ans: Avoid project renames. If projects need to be renamed, do so concurrently across development, QA, stage and production systems before the next deployment. Operations on environment specific resources are best filtered out at import time. Administrators may define these resources (referenced in the import file) in the target system before starting the import process. Alternatively, new environment-specific resources may be deployed and customized for the environment after the import. Operational resources controlled by the operator should not be impacted by the import. A naming convention or a dedicated folder could be used to identify such resources during import. When the customization file contains the customizations of all project resources in a single file, apply customizations only to resources that are imported. An alternative is to preserve environment values on import and only apply customizations to resources that are added during import. At export-time, the exporter needs to know if resources have been deleted, renamed, or moved; and if there have been project reorganizations of artifacts since the last export. If yes, complete deployment should be done. If no, the exporter can select only those resources that need to be exported and an incremental deployment can be done. Q.What Are Uddi Deployment Topologies? Development-only registry Production-only registry Development and production time registry Registry per individual domain Q.Explain Uddi Deployment Topologies? Ans: Development-Only Registry : The simplest deployment of UDDI is having a single development (design) time registry where the resources are both published and discovered. This registry is used for governance using approval control. However, you can also have separate design time publish registry and discovery registry. After the design time publish registry is approved, it can be promoted to the discovery registry. Production-Only Registry : In this production time registry topology, a single production UDDI registry contains all the production business services and proxy services, and their locations (URL). The production registry can be used to discover all production services. However, you can also have separate production time publish registry and discovery registry. After the production time publish registry is approved, it can be promoted to the production discovery registry. Typically, proxy services are automatically published to the publish registry. If the approval step in UDDI results in a reject of the service, the UDDI approver manually notifies the developer and the developer has to make the appropriate changes and re-export the services through the stage and production systems. Development and Production Registry : An alternative approach is to have a separate development and production UDDI registry. In this topology, the approval step can take place in the development registry. So, the extra development UDDI registry ensures that approvals are done earlier in the cycle. Registry per Individual Domain : Sometimes, the proxy service does a dynamic search of the UDDI registry with a POJO callout to select the service meeting the desired search criteria and retrieve the URL for dynamic routing. In this scenario, a dummy service is defined in Oracle Service Bus with a dummy URL and the URL is dynamically replaced with the actual value after the lookup. In this scenario, a UDDI registry is needed for each environment. Also, the dummy business service in Oracle Service Bus is not linked to any UDDI service. There is an impact on performance and availability in this scenario. So, the preferred approach is to enable automatic synchronization of a business service into Oracle Service Bus with a routing table XQuery resource that can be used for dynamic routing. Q. What Are Recommended Best Practices For Working With Services Deployed In Uddi Registries? Ans: Organize business services associated with a particular UDDI registry in a specific folder to make it easy to identify these resources during import. Use the same UDDI server resource name in all systems using that UDDI registry. When there is a separate development and production UDDI registry, use the same resource name for the development and production instances of the UDDI registry. This ensures that references to the server by services are automatically resolved during import. The same service in development and production may not have the same keys when two registries are used. However, the recommended approach is to preserve the same keys. Create a new UDDI service with the new shape when the shape of a business service changes. Q.What Are Two Wsdl Entities That Are Used By Oracle Service Bus For Defining Proxy Services And Business Services? Ans: Oracle Service Bus defines proxy services and business services in terms of two WSDL entities: The abstract WSDL interface, which defines the operations in that interface and the types of message parts in the operation signature The binding WSDL interface, which defines the binding of the message parts to the message (packaging), and the binding of the message to the transport WSDLs can be imported into the WSDL repository using the Oracle Service Bus Administration Console. The Oracle Service Bus Administration Console can also be used to resolve the references in the WSDLs, to ensure all schemas and WSDLs are linked correctly. After WSDLs are stored in the repository, they are available for use when adding proxy services and business services. Oracle Service Bus uses its own representation of the interface for messaging services. Q. What Is Jars? Ans: A JAR (Java ARchive) is a zipped file that contains a set of Java classes. It is used to store compiled Java classes and associated metadata that can constitute a program. A JAR acts like a callable program library for Java code elements (so that a single compilation link provides access to multiple elements, rather than requiring bindings for each element individually). JAR files can be registered as reusable Oracle Service Bus resources. They are used in Java callout actions that provide a Java exit mechanism, EJB-based business services, and Tuxedo-based business services. Q. What Is Transformation Maps? Ans: Transformation maps describe the mapping between two disparate data types of different source and destination services. Oracle Service Bus supports data mapping using either XQuery or the eXtensible Stylesheet Language Transformation (XSLT) standard. In addition, MFL described data is automatically converted to the equivalent XML for transformation with XQuery or XSLT. The resulting XML is automatically converted to MFL if the target service requires it. Q. Explain All Messaging Model Used By Oracle Service Bus? Ans: Oracle Service Bus accommodates multiple messaging paradigms and supports the following types of communication: Synchronous request/response Asynchronous publish one-one Asynchronous publish one-many Asynchronous request/response (synchronous-to-asynchronous bridging). In sync-async bridging, a synchronous client issues a request to an asynchronous provider. For this pattern, Oracle Service Bus provides the capability to publish a message on one JMS queue and configure a second JMS queue for the response, with a timeout value for listening for the response. This type of service appears as a synchronous service to the service consumer. Using asynchronous request/response messages has these advantages: No blocking by the request thread, removing thread management issues that can occur when numerous blocking request/response invocations are made. More reliable messaging Q.What Are Different Messaging Formats Used In Oracle Service Bus? Ans: Oracle Service Bus supports the following message formats: E-mail with or without attachments JMS with headers MFL (Message Format Language) Raw Data. (Raw data is opaque non-XML data with no known schema (no MFL file) Text SOAP and SOAP with attachments (SOAP described or not described by a WSDL) XML and XML with attachments (XML described or not described by a WSDL or a schema) Q.What Is Message Context? Ans: All messages sent to and received by the proxy service are defined internally in the proxy service by a set of properties that holds the message data and meta-data related to that message. This set of properties is known as the Message Context (context) and is implemented using Context Variables. It is defined by an XML schema. Each Context Variable relates to a different property. Some Context Variables are predefined and others are user defined. The heart of the proxy service is the Message context. For a complete description of the Message Context and context variables used in the message flow. Predefined context variables contain information about the message, transport headers, security principals, metadata for the current proxy service, and metadata for the primary routing and publish services invoked by the proxy service. You typically use an XQuery expression to manipulate context variables in a message flow. You can also modify context variables using transformation and in-place update actions. The message-related context variables $header, $body, and $attachments represent the canonical format of the message in the message flow. These are wrapper variables that contain the SOAP header elements, the SOAP body element, and the MIME attachments, respectively. The context gives the impression that all messages are SOAP messages, and non-SOAP messages are mapped to this paradigm. In the case of attachments, $attachments contains the following for each attachment: attachment, if the attachment is XML a reference XML, if the attachment is binary text, if the attachment is text Q.Explain The Concept Of Content Types? Ans: To support interoperability with heterogeneous end points, Oracle Service Bus lets service configurations control the content type, JMS type, and encoding used. It does not make assumptions about what the external client or service needs, but instead uses the service-definition information that has been configured for this purpose. Oracle Service Bus derives the content type for outbound messages from the service type and interface and uses the following specifications: XML or SOAP (with or without a WSDL), the content type is text/XML Messaging and the interface is MFL or binary, the content type is binary/octet-stream Messaging and the interface is text, the content type is text/plain Messaging and the interface is XML, the content type is text/XML. The content type can be overridden in the outbound context variable ($outbound) for proxy services invoking a service, and in the inbound context variable ($inbound) for a proxy service response. Additionally, there is a JMS type (byte or text) which can be configured when the service is defined in the Administration Console. Encoding is also explicitly configured in the service definition for all outbound messages. Q.Explain Use Of Jca Binding And Smtp Server In Oracle Service Bus.? Ans: JCA Binding resources in Oracle Service Bus let you create business and proxy services that interact with external services through Oracle SOA Suite JCA adapters. A JCA Binding is made up of a service WSDL and a corresponding .jca file created in Oracle JDeveloper. SMTP Server resources specify the address of SMTP servers corresponding to E-mail destinations, port numbers, and, if required, authentication credentials. They are global resources that are used in Alert Destination resources across projects in an Oracle Service Bus domain. Q.Explain Web Services Policy (ws-policy)? Also Explain Both Types Of Ws-policy Statements That Are Recognized By Weblogic Web Services Runtime Environment? Ans: Web Services Policy (WS-Policy) is a standards-based framework for defining a Web services security constraints and requirements. It expresses security constraints and requirements in a collection of XML statements called policies, each of which contains one or more assertions. In Oracle Service Bus, WS-Policy assertions are used to specify a Web services requirements for digital signatures and encryption, along with the security algorithms and authentication mechanisms that it requires. WS-Policy policies may be included directly in a WSDL document or included by reference, and a WSDL document may import other WSDL documents that contain or refer to WS-Policy policies. An XML file that contains these policies can be used by multiple proxy services or business services. The WebLogic Web Services runtime environment recognizes two types of WS-Policy statements: Concrete WS-Policy statements: specify the security tokens that are used for authentication, encryption, and digital signatures. These WS-Policy statements are created if the type of authentication required (such as using X.509 or SAML tokens), multiple private key and certificate pairs from the keystore used for encryption and digital signatures, are known at run-time. Abstract WS-Policy statements: that do not specify security tokens. Q.What Security Features Are Provided By Oracle Service Bus? Ans: Oracle Service Bus provides the following types of security features: Authentication Identity assertion Authorization Auditing Credential mapping Q.What Is Inbound Security? List All Inbound Security Checks That Can Be Configured For Each Proxy Service? Ans: Transport-level security: applies security checks as part of establishing a connection between a client and a proxy service. The security requirements that you can impose through transport-level security depend on the protocol that you configure the proxy service to use. For information about configuring transport-level security for each supported protocol, see Configuring Transport-Level Security. Custom Authentication: for message-level security and client-specified custom authentication credentials for inbound transport- and message-level requests. The custom authentication credentials can be in the form of a custom token, or a username and password. Message-level security: for proxy services that are Web Services. This is part of the WS-Security specification. It applies security checks before processing a SOAP message or specific parts of a SOAP message. Q.What Is Outbound Security? Ans: Outbound security secures communication between a proxy service and a business service. Most of the tasks involve configuring proxy services to comply with the transport-level or message-level security requirements that business services specify. If a business service requires the use of PKI technology for digital signatures, or SSL authentication, a service key provider is created, which provides private keys paired with certificates. Q.Define Security Roles. List All Default Roles To Which Oracle Service Bus Users Can Be Assigned? Ans: A security role is an identity that can be dynamically conferred upon a user or group based on conditions that are evaluated at runtime. The following is a list of default roles to which Oracle Service Bus users can be assigned: IntegrationAdmin IntegrationDeployer IntegrationMonitor IntegrationOperator Q.Explain Types Of Client Authentication Required For Http(s) Proxy Services Or Business Services . Also List Down All Transports Other Than Http That Are Supported In Oracle Service Bus? Ans: Oracle Service Bus supports transport-level confidentiality, message integrity, and client authentication for one-way requests or request/response transactions (from clients to Oracle Service Bus) over HTTPS. It allows HTTP(S) proxy services or business services to be configured to require one of the following types of client authentication: BASIC (username/password) client authentication CLIENT CERT (two-way SSL) client authentication No client authentication When a proxy service is activated, Oracle Service Bus generates and deploys a thin Web application. Oracle Service Bus relies on Oracle WebLogic Server for server-side SSL support, including session management, client certificate validation and authentication, trust management and server SSL key/certificate manipulation. Transport security for transports other than HTTP is supported in Oracle Service Bus as follows: For the E-mail and FTP transports, security is provided using credentials to connect to a FTP or E-mail server. For the file transport, security is provided using a login control to the machine on which the files are located. Q.How Osb Does Provide Message-level Security? Ans: WSS defines a framework for message confidentiality, integrity, and sender authentication for SOAP messages. Using WSS, Oracle Service Bus provides support for securing messages using digital signatures, encryption, or both. Though it is not a substitute for transport-level security, WSS is ideal for end-to-end message confidentiality and integrity. It is more flexible than SSL since individual parts of the SOAP envelope can be signed, encrypted or both, while other parts are neither signed nor encrypted. This is a powerful feature when combined with the ability of Oracle Service Bus to make routing decisions and perform transformations on the data based on the message content. Oracle Service Bus currently supports WSS over HTTP/S and JMS. Q.What Is Uddi ? Ans: Universal Description, Discovery and Integration (UDDI) registries are used in an enterprise to share Web Services. UDDI provides a framework in which to classify your business, its services, and the technical details about the services you want to expose. Publishing a service to a registry requires knowledge of the service type and the data structure representing that service in the registry. A registry entry has certain properties associated with it and these property types are defined when the registry is created. You can publish your service to a registry and make it available for other organizations to discover and use. Proxy services developed in Oracle Service Bus can be published to a UDDI registry. Oracle Service Bus can interact with any UDDI version 3.0-compliant registry. Q. What Is Uddi Registries? Ans: UDDI registries are used in an enterprise to share Web services. Using UDDI services helps companies organize and catalog these Web services for sharing and reuse in the enterprise or with trusted external partners. UDDI registries are based on this specification, which provides details on how to publish and locate information about Web services using UDDI. The specification does not define run-time aspects of the services (it is only a directory of the services). UDDI provides a framework in which to classify your business, its services, and the technical details about the services you want to expose. Publishing a service to a registry requires knowledge of the service type and the data structure representing that service in the registry. A registry entry has certain properties associated with it and these property types are defined when the registry is created. You can publish your service to a registry and make it available for other organizations to discover and use. Proxy services developed in Oracle Service Bus can be published to a UDDI registry. Oracle Service Bus can interact with any UDDI 3.0 compliant registry including Oracle Service Registry. Q. List Down Some Advantages Of Uddi Registry? Ans: UDDI also provides benefits to developers, including the following: UDDI improves infrastructure management by publishing information about proxy services to the registry and categorizes the services for discovery. Thus growing a portfolio of services making it easier to understand and manage relationships among services, component versioning, and dependencies. UDDI services can be imported from a registry to configure the parameters required to invoke the Web service and the necessary transport and security protocols. UDDI promotes the use of standards-based Web services and business services development in business applications and provides a link to a library of resources for Web services developers. This decreasing the development life cycle and improves productivity. It also increases the prospect of interoperability between business applications by sharing standards-based resources. UDDI provides a user friendly interface for searching and discovering Web services. You can search on criteria specified by you. Q.What Is A Pipeline? What Are Three Categories Of Pipeline? Ans: A pipeline is a named sequence of stages, representing a non-branching one-way processing path. It is used to specify the message flow for service requests and responses. Pipelines fall into one of the following three categories: Request Pipelines:used for processing the request path of the message flow Response Pipelines:used for processing the response path of the message flow Error Pipelines:used as error handlers Q.Explain Operational Pipeline? Ans: A single service level request pipeline in a stage might optionally branch out into operational pipelines (at most one per operation, and optionally a default operational pipeline). The operation is determined by user-selected criteria. The response processing starts with the relevant operation pipeline which then merges into a single service-level response pipeline. The following figure shows an example of operation pipelines in a proxy service. For one-way operations, the response pipeline is executed with an empty message. This permits a response to be constructed for the proxy service, enabling bridging between request/response and one-way operations. The bridging mechanism means that proxy service input can be one-way while its output is request/response or vice versa. The proxy service either absorbs the response from the invoked service or generates one for the client. Actions in the response flow may also be used to do post processing on the message after it has been routed to the business service or the proxy service. Q.What Are Branch Nodes And Route Nodes? Ans: A branch node allows processing to proceed down exactly one of several possible paths. Branching is driven by a simple lookup table with each branch tagged with a simple but unique string value. A variable in the message context is designated as the lookup variable for that node, and its value is used to determine which branch to follow. If no branch matches the value of the lookup variable, then a default branch is followed. The value of the lookup variable must be set before reaching the branch node. This approach ensures that exceptions do not occur within the branch node itself. A branch node may have several descendants in the message flow tree: one for each branch including the default branch. The route node is used to perform request and response communication with another service. It represents the boundary between request and response processing for the proxy service, and therefore, cannot have any descendants in the message flow tree. When the route node dispatches a request message, request processing is considered finished. When the route node receives a response message, response processing begins. The route node is very flexible in its specification and supports conditional routing as well as outbound and response transformations. It allows if structures and case structures to be combined (and nested) to define a single endpoint and operation to route the message. Q.What Is Use Of Pipeline Pair Node? Ans: To create the request and response paths, request and response pipelines are paired together and organized into a single-rooted tree structure. A branch node allows these pipeline pairs to be executed conditionally, and route nodes at the ends of the branches perform the request and response dispatching. A pipeline tree chains together instance of the following top-level components: pipeline pair node branch node route node or echo node. A pipeline pair node ties together a single request and a single response pipeline into one top-level element. Only the request pipeline is executed during request processing, and only the response pipeline is executed when reversing the path for response processing. Q. What Is Use Of Service Callouts Action? Ans: Oracle Service Bus provides a service callout action that offers greater flexibility for more sophisticated message flows. Service Callouts are message processing request actions from one message flow, that invoke other services registered within Oracle Service Bus. This action is generally used in response to decisions made in complex dynamic-routing processing, or to perform message enrichment. The service callout action is used inside a message flow routing stage, to call on the destination service to perform some action on the message. The destination service returns a response to the message flow, which gets assigned to a local variable. The variable may be used within the current message flow for conditional branching. Service callouts allow custom Java code to be invoked from within proxy services. Oracle Service Bus supports a Java exit mechanism via a Java Callout action that allows call out to a Plain Old Java Object (POJO). Static methods can be accessed from any POJO. The POJO and its parameters are visible in the Oracle Service Bus Administration Console at design time; the parameters can be mapped to message context variables. Q. What Is Message Manipulation? What Are Different Actions Available To Transform A Message? Message manipulation is a kind of transformation in which the contents of a message, rather than its whole structure, are manipulated to make the message compatible with the destination service. This is performed by adding, replacing or removing actions to the request or response pipelines of the message flow. The different actions available to transform a message through content manipulation are as follows: Insert :Inserts a data element into the message. This insertion may occur anywhere within the message context as specified during configuration. Delete :Deletes a data element in the message. This is used when the target destination does not expect a specific data element in the message. Replace :Replaces a series of text within the message with a different series. This can be used, for example, to replace the namespace of a message. Q.What Are Different Ways Of Error Handling Available In Oracle Service Bus? Ans: Oracle Service Bus provides robust and flexible error handling for configured services. It can handle errors in the following ways: Testing whether an assertion is true and sending a reply with failure in the request or response pipeline. Configuring the service to catch and handle the error at multiple levels including the stage, route node, pipeline, or service levels. The level configured to catch the error depends on the service behavior desired. Letting the default system error handler handle the error. Q.What Is Message Validation? Ans: Oracle Service Bus provides the capability for incoming or outgoing messages to be validated against a WSDL or XML schema with a validation action. This action can occur at any time within the message flow and ensures that the incoming or outgoing message is in the format expected by the destination services consumer or provider. Messages that fail validation can log the failure or create an error. In the latter case, an error stage can be used to apply alternative actions. Message validation can be used for service versioning to validate messages against different versions of a schema or WSDL. This is to ensure the message is routed to the proper version of the service end point, or to check whether transformation must be applied prior to sending the message. Q.What Is Error Handler? How Does Error Pipeline Allows You To Handle The Error ? Ans: An error handler is a pipeline that allows various actions such as logging, transformation, and publishing to be performed to handle errors appropriately. If an error occurs within a stage a sequence of steps are executed. This sequence of steps constitutes an error pipeline for that stage. The error pipeline allows you to handle the error in the following ways: Publish the original message to an alternate endpoint Formulate an error response message to be returned to the invoker of the proxy service Log the message Continue processing the message through the pipeline after modifying the context Raise an exception. Raising an exception transfers control to the next higher scoped error pipeline. Errors can occur during message flow processing for various reasons. For example, security errors occur if a username is not correctly validated or authorized; transformation errors occur if Oracle Service Bus is unable to successfully transform or validate a message; a routing error is raised if a routing service is unavailable, and so on. Typically, these errors originate from a specific stage, route node or from the proxy service, as this is where most of the message flow logic is implemented. Each stage can have a sequence of steps to execute if an error occurs in that stage. This sequence of steps constitute an error pipeline for that stage. In addition, an error pipeline can be defined for a pipeline (request or response) or for an entire proxy service. The lowest scoped error pipeline that exists is invoked on an error. Q.What Is Content-based Routing ? Ans: Oracle Service Bus mediates service request and response messages between disparate heterogeneous service endpoints and intelligently routes messages between them. Content-based routing is a mediation capability supported by Oracle Service Bus based on conditional message processing and transformation capabilities. This routing capability allows loose coupling of SOA endpoints and is particularly useful and allows service enrichment and reuse by combining transformation and routing functions. Q. How Oracle Service Bus Performs Dynamic Message Routing? Ans: Oracle Service Bus performs dynamic message routing based on a message content, for cases when services or responses need to be directed to multiple destination service and in scenarios where different versions of a service have to be provisioned based upon business service requests. Dynamic routing is useful when business requirements dictate that certain conditions of a request define where it should be processed. For example, a financial institutions request for a credit report on a customer may use any of several credit services based on where the customer or organization resides. In dynamic routing, a message is analyzed using conditional checks in conditional branching statements, to retrieve the value of a data element or multiple data elements that determine the routing logic. Different business service destinations are assigned to different value combinations resulting from this conditional check. The message is dynamically routed to one of multiple destination business services based on the data element value. Transformations may be applied to the response message going to one or more of these destinations depending on business-service requirements. Q. How Will You Return A Boolean True Value From Xquery ? Ans: By using the true() function. Q. How Will You Iterate Over The Child Nodes Of An Xml Node In Xquery? Ans: By using the for expression. Q.How Can You Remove Multiple Newline ,space And Tab Characters From A String ? Ans: By using the normalize-space xquery function Q.How Can You Concatenate Strings In Xquery ? Ans: By using the concat xquery function Q.How Can You Avoid Getting Xquery Transformation Errors? Ans: By doing data validation before invoking the core xquery functions/constructs. Q.What Does The Xquery Expression "element Xyz{abc}" Result Into? Ans: It will result into xml element abc. Q.How Can You Find Out The Tag Name Of An Xml Element Excluding The Namespace? Ans: By using the local-name() Xpath function example: For the Xml node Request xmlns:ns0=blah blah>abc local-name function will return Request. Q.What Does Flwor In Xquery Terminology Stand For ? Ans: For, Let, Order By, Where and Return are keywords for writing XQuery Expressions. FLWOR stands for these key words . Q.How Can You End A Proxy Flow Without Using If Then Else Logic ? Ans: By using the Reply action. Q.How Can You Jump Control From One Stage To Next Stage Without Using If Then Else Logic? Ans: Use the Skip action. Q.What Purpose Do The Stage Components Serve In Service Bus? Ans: They are the containers for actions. A stage is the smallest group to have its error handling Q.For A Proxy Service Listening To A Jms Queue How Can You Ensure That The Jms Message Is Retried If An Error Occurs During Processing? Ans:Use an XA JMS Connection factory in the jms url. Q.How Can You Interact Transaction Ally With Multiple Eis Such As Jms Ejb And Db In Service Bus? Ans: Invoke the Business Services and xquery (for DB) representing the different EIS in the request pipeline. Q.Can You Interact Directly With Database From Service Bus? Ans: Yes, by using the BEA XQuery method execute-sql Q.How Can You Invoke An Ejb Method From Oracle Service Bus? Ans: EJBs can be invoked as Web Services by first registering a Business Service with EJB transport and then getting the WSDL from the Business Service. Contact for more on OSB Online Training
Continue reading
Oracle SOA Interview Questions
Q.What are the main benefits of SOA ? Ans: SOA helps create greater alignment between IT and line of business while generating more flexibility - IT flexibility to support greater business flexibility. Your business processes are changing faster and faster and global competition requires the flexibility that SOA can provide. SOA can help you get better reuse out of your existing IT investments as well as the new services you're developing today. SOA makes integration of your IT investments easier by making use of well-defined interfaces between services. SOA also provides an architectural model for integrating business partners’, customers’ and suppliers’ services into an enterprise’s business processes. This reduces cost and improves customer satisfaction Q.What is a reusable Service? Ans: It is an autonomous, reusable, discoverable, stateless functionality that has the necessary granularity, and can be part of a composite application or a composite service. A reusable service should be identified with a business activity described by the service specifications (design-time contract). A service's constraints, including security, QoS, SLA, usage policies, may be defined by multiple run-time contracts, multiple interfaces (the WSDL for a SOAP Web Service), and multiple implementations (the code). A reusable service should be governed at the enterprise level throughout its entire lifecycle, from design-time through run-time. Its reuse should be promoted through a prescriptive process, and that reuse should be measured. Q.Talking about Service identification, which approach between top-down and bottom-up methodologies encourages re-use and mantainance ? Ans: Since the top-down approach is business-driven it can be practical to separate the different concerns of business and IT on different plans, providing a common ground in between. So in most situations it the most appropriate if you want to improve reuse and ROI in the medium/long term. Anyway Q.How can you achieve loose coupling in a soa ? Ans: One strategy for achieving loose coupling is to use the service interface (the WSDL for a SOAP Web Service) to limit this dependency, hiding the service implementation from the consumer. Loose coupling can be addressed by encapsulating the service functionalities in a manner that limits the impact of changes to the implementation on the service interface. However, at some point you will need to change the interface and manage versioning without impacting service consumers, in addition to managing multiple security constraints, multiple transports, and other considerations Q.Do you recall any pattern which could be use to leverage loose coupling ? Ans: The Mediation pattern, using an enterprise service bus (ESB), will help in achieving this. Mediation will take loose coupling to the highest level. It will establish independence between consumers and providers on all levels, including message formats, message types (including SOAP, REST, XML, binary) and transport protocols (including HTTP, HTTPS, JMS). Architecturally speaking this means the separation of concerns between consumers and providers on the transport, message type, and message format levels. Q.The Service of a SOA should be engineered as stateless or stateful ? Ans: Service should be stateless. It may have a context within its stateless execution, but it will not have an intermediary state waiting for an event or a call-back. The retention of state-related data must not extend beyond a request/response on a service. This is because state management consumes a lot of resources, and this can affect the scalability and availability that are required for a reusable service. Q.What is composition of a Service ? Ans: Composition is the process by which services are combined to produce composite applications or composite services. A composite application consists of the aggregation of services to produce an enterprise portal or enterprise process. A composite service consists of an aggregation of services that produces another reusable service. It's just like combining electronic components to create a computer motherboard, and then using that motherboard in a computer. Think of the motherboard as a reusable composite service that is a component of the computer, and of the computer as the composite application. Q.How do I integrate my Legacy applications with SOA ? Ans: Legacy applications are frequently at the core of your IT environment. With the right skills and tools, you need to identify discrete elements within your legacy applications and "wrap" them in standards-based interfaces and use them as services within your SOA. Q.How does the ESB fits in this picture ? Ans: The Enterprise Service Bus is a core element of any SOA. ESBs provide the "any to any" connectivity between services within your own company, and beyond your business to connect to your trading partners. But SOA does not stop at just implementing an ESB. Depending on what your goals are, you may want to use an ESB to connect other services within your SOA such as information services, interaction services and business process management services. Additionally, you will need to consider development services and IT service management services. The SOA reference architecture can help you lay out an SOA environment that meets your needs and priorities. The ESB is part of this reference architecture and provides the backbone of an SOA but it should not be considered an SOA by itself. Q.What are the common pitfalls of SOA ? Ans: One of the most common pitfalls is to view SOA as an end, rather than a means to an end. Developers who focus on building an SOA solution rather than solving a specific business problem are more likely to create complex, unmanageable, and unnecessary interconnections between IT resources. Another common pitfall is to try to solve multiple problems at once, rather than solving small pieces of the problem. Taking a top-down approach—starting with major organization-wide infrastructure investments—often fails either to show results in a relevant timeframe or to offer a compelling return on investment. Q.What's the difference between services and components? Ans: Services are logical grouping of components to achieve business functionality. Components are implementation approaches to make a service. The components can be in JAVA, C#, C++ but the services will be exposed in a general format like Web Services. Q.What are ends, contract, address, and bindings? Ans: These three terminologies on which SOA service stands. Every service must expose one or more ends by which the service can be available to the client. End consists of three important things where, what and how:- Contract is an agreement between two or more parties. It defines the protocol how client should communicate with your service. Technically, it describes parameters and return values for a method. An Address indicates where we can find this service. Address is a URL, which points to the location of the service. Bindings determine how this end can be accessed. It determines how communications is done. For instance, you expose your service, which can be accessed using SOAP over HTTP or BINARY over TCP. So for each of these communications medium two bindings will be created. Below figure, show the three main components of end. You can see the stock ticker is the service class, which has an end hosted on www.soa.com with HTTP and TCP binding support and using Stock Ticker interface type. contact for more on Oracle SOA Online Training
Continue reading
Oracle Sql Plsql Interview Questions
Q.What are the components of physical database structure of Oracle database? Answer: Oracle database is comprised of three types of files. One or more datafiles, two are more redo log files, and one or more control files. Q.What are the components of logical database structure of Oracle database? Answer: There are tablespaces and database's schema objects. Q.What is a tablespace? Answer: A database is divided into Logical Storage Unit called tablespaces. A tablespace is used to grouped related logical structures together. Q.What is SYSTEM tablespace and when is it created? Answer: Every Oracle database contains a tablespace named SYSTEM, which is automatically created when the database is created. The SYSTEM tablespace always contains the data dictionary tables for the entire database. Q.Explain the relationship among database, tablespace and data file. Answer: Each databases logically divided into one or more tablespaces one or more data files are explicitly created for each tablespace. Q.What is schema? Answer: A schema is collection of database objects of a user. Q.What are Schema Objects? Schema objects are the logical structures that directly refer to the database's data. Schema objects include tables, views, sequences, synonyms, indexes, clusters, database triggers, procedures, functions packages and database links. Q.Can objects of the same schema reside in different tablespaces? Yes. Q.Can a tablespace hold objects from different schemes? Yes. Q.What is Oracle table? Answer: A table is the basic unit of data storage in an Oracle database. The tables of a database hold all of the user accessible data. Table data is stored in rows and columns. Q.What is an Oracle view? Answer: A view is a virtual table. Every view has a query attached to it. (The query is a SELECT statement that identifies the columns and rows of the table(s) the view uses.) Q.What is Partial Backup ? Answer: A Partial Backup is any operating system backup short of a full backup, taken while the database is open or shut down. Q.What is Mirrored on-line Redo Log ? Answer: A mirrored on-line redo log consists of copies of on-line redo log files physically located on separate disks, changes made to one member of the group are made to all members. Q.What is Full Backup ? Answer: A full backup is an operating system backup of all data files, on-line redo log files and control file that constitute ORACLE database and the parameter. Q.Can a View based on another View ? Answer: Yes. Q.Can a Tablespace hold objects from different Schemes ? Answer: Yes. Q.Can objects of the same Schema reside in different tablespaces.? Answer: Yes. Q.What is the use of Control File ? Answer: When an instance of an ORACLE database is started, its control file is used to identify the database and redo log files that must be opened for database operation to proceed. It is also used in database recovery. Q.Do View contain Data ? Answer: Views do not contain or store data. Q.What are the Referential actions supported by FOREIGN KEY integrity constraint ? UPDATE and DELETE Restrict - A referential integrity rule that disallows the update or deletion of referenced data. DELETE Cascade - When a referenced row is deleted all associated dependent rows are deleted. Q.What are the type of Synonyms? Answer: There are two types of Synonyms Private and Public. Q.What is a Redo Log ? Answer: The set of Redo Log files YSDATE,UID,USER or USERENV SQL functions, or the pseudo columns LEVEL or ROWNUM. Q.What is an Index Segment ? Answer: Each Index has an Index segment that stores all of its data. Q.Explain the relationship among Database, Tablespace and Data file.? Answer: Each databases logically divided into one or more tablespaces one or more data files are explicitly created for each tablespace Q.What are the different type of Segments ? Answer: Data Segment, Index Segment, Rollback Segment and Temporary Segment. Q.What are Clusters ? Answer: Clusters are groups of one or more tables physically stores together to share common columns and are often used together. Q.What is an Integrity Constrains ? Answer: An integrity constraint is a declarative way to define a business rule for a column of a table. Q.What is an Index ? Answer: An Index is an optional structure associated with a table to have direct access to rows, which can be created to increase the performance of data retrieval. Index can be created on one or more columns of a table. Q.What is an Extent ? Answer: An Extent is a specific number of contiguous data blocks, obtained in a single allocation, and used to store a specific type of information. Q.What is a View ? Answer: A view is a virtual table. Every view has a Query attached to it. (The Query is a SELECT statement that identifies the columns and rows of the table(s) the view uses.) Q.What is Table ? Answer: A table is the basic unit of data storage in an ORACLE database. The tables of a database hold all of the user accessible data. Table data is stored in rows and columns. Q.Can a view based on another view? Answer: Yes. Q.What are the advantages of views? Answer: - Provide an additional level of table security, by restricting access to a predetermined set of rows and columns of a table. - Hide data complexity. - Simplify commands for the user. - Present the data in a different perspective from that of the base table. - Store complex queries. Q.What is an Oracle sequence? Answer: A sequence generates a serial list of unique numbers for numerical columns of a database's tables. Q.What is a synonym? Answer: A synonym is an alias for a table, view, sequence or program unit. Q.What are the types of synonyms? Answer: There are two types of synonyms private and public. Q.What is a private synonym? Answer: Only its owner can access a private synonym. Q.What is a public synonym? Answer: Any database user can access a public synonym. Q.What are synonyms used for? Answer: - Mask the real name and owner of an object. - Provide public access to an object - Provide location transparency for tables, views or program units of a remote database. - Simplify the SQL statements for database users. Q.What is an Oracle index? Answer: An index is an optional structure associated with a table to have direct access to rows, which can be created to increase the performance of data retrieval. Index can be created on one or more columns of a table. Q.How are the index updates? Answer: Indexes are automatically maintained and used by Oracle. Changes to table data are automatically incorporated into all relevant indexes. Q.What is a Tablespace? Answer: A database is divided into Logical Storage Unit called tablespaces. A tablespace is used to grouped related logical structures together Q.What is Rollback Segment ? Answer: A Database contains one or more Rollback Segments to temporarily store "undo" information. Q.What are the Characteristics of Data Files ? Answer: A data file can be associated with only one database. Once created a data file can't change size. One or more data files form a logical unit of database storage called a tablespace. Q.How to define Data Block size ? Answer: A data block size is specified for each ORACLE database when the database is created. A database users and allocated free database space in ORACLE datablocks. Block size is specified in INIT.ORA file and can’t be changed latter. Q.What does a Control file Contain ? Answer: A Control file records the physical structure of the database. It contains the following information. Database Name Names and locations of a database's files and redolog files. Time stamp of database creation. Q.What is difference between UNIQUE constraint and PRIMARY KEY constraint ? Answer: A column defined as UNIQUE can contain Nulls while a column defined as PRIMARY KEY can't contain Nulls. Q.What is Index Cluster ? Answer: A Cluster with an index on the Cluster Key Q.When does a Transaction end ? Answer: When it is committed or Rollbacked. Q.What is the effect of setting the value "ALL_ROWS" for OPTIMIZER_GOAL parameter of the ALTER SESSION command ? What are the factors that affect OPTIMIZER in choosing an Optimization approach ? Answer: Answer The OPTIMIZER_MODE initialization parameter Statistics in the Data Dictionary the OPTIMIZER_GOAL parameter of the ALTER SESSION command hints in the statement. Q.What is the effect of setting the value "CHOOSE" for OPTIMIZER_GOAL, parameter of the ALTER SESSION Command ? Answer: The Optimizer chooses Cost_based approach and optimizes with the goal of best throughput if statistics for atleast one of the tables accessed by the SQL statement exist in the data dictionary. Otherwise the OPTIMIZER chooses RULE_based approach. Q.How does one create a new database? (for DBA) Answer: One can create and modify Oracle databases using the Oracle "dbca" (Database Configuration Assistant) utility. The dbca utility is located in the $ORACLE_HOME/bin directory. The Oracle Universal Installer (oui) normally starts it after installing the database server software. One can also create databases manually using scripts. This option, however, is falling out of fashion, as it is quite involved and error prone. Look at this example for creating and Oracle 9i database: CONNECT SYS AS SYSDBA ALTER SYSTEM SET DB_CREATE_FILE_DEST='/u01/oradata/'; ALTER SYSTEM SET DB_CREATE_ONLINE_LOG_DEST_1='/u02/oradata/'; ALTER SYSTEM SET DB_CREATE_ONLINE_LOG_DEST_2='/u03/oradata/'; CREATE DATABASE; Q.what database block size should I use? (for DBA) Answer: Oracle recommends that your database block size match, or be multiples of your operating system block size. One can use smaller block sizes, but the performance cost is significant. Your choice should depend on the type of application you are running. If you have many small transactions as with OLTP, use a smaller block size. With fewer but larger transactions, as with a DSS application, use a larger block size. If you are using a volume manager, consider your "operating system block size" to be 8K. This is because volume manager products use 8K blocks (and this is not configurable). Q.What are the different approaches used by Optimizer in choosing an execution plan ? Answer: Rule-based and Cost-based. Q.What does ROLLBACK do ? Answer: ROLLBACK retracts any of the changes resulting from the SQL statements in the transaction. Q.What is difference between varchar and varchar2? Answer: Varchar means fixed length char varchar2 means variable length char Q.What is Pro*C? What is OCI? Answer: Pro *C The Pro* c/C++ precompiler takes the SQL statement that embedded in C/C++ code convert into standard C/C++ code. When successfully precompile this code, the result is a C or C++ program that we compile and used to build the application that access the Oracle Application. OCI: - OCI refer to Oracle Call interface is set of Low Level API (Application Program Interface Call) used to interact with Oracle Database. By OCI one can use the operation such as Logon, Fatch, parse, execute etc. Generally these are written in C/C++. Q.What is the difference between "NULL in C" and "NULL in Oracle? Answer: The NULL in C treated as Zero or void. but in SQL NULL value is Non or blank represented it can't manipulated Q.In Oracle varchar2 takes dynamic space for storage then why char is still in oracle? Answer: The major difference between varchar2 and char is fixed length and variable length. Varchar2 have variable length mean if we declare as 20 space and its use only 5 space the memory assign only 5. But in char takes daclare space while use any number space less than declare Q.what are the difference between and constraints and triggers? Answer: Constraints are used to maintain the integrity and atomicity of database .in other words it can be said they are used to prevent invalid data entry. The main 5 constraints are NOT NULL, PRIMARY KEY, FOREIGN KEY, UNIQUE KEY and CHECK Triggers are basically stored procedures, which automatically fired when any insert, update or delete is issued on table Another most imp. Diff. is that trigger effected only those row after which trigger applied but constraint effected all row of table. Q.what is normalization? What is the advantage of normalization (briefly) Answer: 1.The process of separating data into distinct, unique sets is called normalization. This is implemented to improve the performance of the RDBMS, such as reduces redundancy of data and data inconsistency. 2.Normalization is the process of removing redundant data from your tables in order to improve storage efficiency, data integrity and scalability. 3.Database normalization is a series of steps followed to obtain a database design that allows for consistent storage and efficient access of data in a relational database. These steps reduce data redundancy and the risk of data becoming inconsistent. 4.Normalization is the process used to reduce the unnecessary repetition of data i.e., redundant data. It is performed on the data, which is redundant and makes the data in a normalized format. It is of step-by-step process IstNotmal, FormIIndNormal, formIIIrdNormal, formIVthNormal form or Boyce odd Normal form By performing this we will get the data in the Normalized formati.,e from DBMS to RDBMS. Q.How the logs are escalated? Answer: There are different types are logs which are logged by Oracle Database Engine. A DBA has to look in for alter log which exist background dump dust. The seviourity of the problem are analysed and escalated based on the information provided by the alter log. Q.What is structure of Database? Answer: 1.Oracle database usually contains one database and a single instance. But, Oracle 9i, 10g RAC (Real Application Clusters) can have multiple instances to interact with a single database for high availability. Instance is non-persistent, memory based background processes and structures. Database is persistent, disk based, data and control files 2.Physical Structure of Database: One or more data files, control file(s), Redo log file(s) and init.ora file Logical Structure of Database: Table spaces, segments, extents, blocks Q.what is the difference between primary key, unique key, and surrogate key? Answer: Primary Key: A column in a table whose values uniquely identify the rows in the table. A primary key value cannot be NULL. Unique Key: Unique Keys are used to uniquely identify each row in an Oracle table. There can be one and only one row for each unique key value. Surrogate Key: A system generated key with no business value. Usually implemented with database-generated sequences. Primary Key Unique key 1.There is only one 1. There may be more than 1 Primary key for I table Unique Key in table 2.It can contain Null Value 2. It can contain Null Value Q.what are the diffrent file types that are supported by SQL*Loader? Answer: a.direct method (skips dbcache, no redo generation) conventional method (just opposite of direct load) Q.How to find how many database reside in Oracle server in query? Answer: select count(*) from v$database; Q.What spfile/init.ora file parameter exists to force the CBO to make the execution path of a given statement use an index, even if the index scan may appear to be calculated as more costly? Answer: CBO (Cost Based Optimizer): Generates an execution plan for a SQL statement Optimizer_index_cost_adj parameter can be set to help CBO to decide an execution plan, which affects the speed of SQL query. We can also make necessary changes to the following parameters to effect CBO performance: Optimizer_search_limit & optimizer_max_permutations Q.How many memory layers are in the shared pool? Answer: The shared pool portion of the SGA contains three major areas: library cache, dictionary cache, buffers for parallel execution messages, and control structures. Q.What are the attributes of the Virtual Indexes? These are permanent and continue to exist unless we drop them. Their creation will not affect existing and new sessions. Only sessions marked for Virtual Index usage will become aware of their existence. Such indexes will be used only when the hidden parameter "_use_nosegment_indexes" is set to true. The Rule based optimizer did not recognize Virtual Indexes when I Tested, however, CBO recognizes them. In all of my examples, I have used CBO. However, I did not carry out intensive testing in RBO and you may come across exceptions to this view. Dictionary view DBA_SEGMENTS will not show an entry for Virtual Indexes. The table DBA_INDEXES and DBA_OBJECTS will have an entry for them in Oracle 8i; in Oracle 9i onwards, DBA_INDEXES no longer show Virtual Indexes. Virtual Indexes cannot be altered and throw a "fake index" error! Virtual Indexes can be analyzed, using the ANALYZE command or DBMS_STATS package, but the statistics cannot be viewed (in Oracle 8i, DBA_INDEXES will not show this either). Oracle may be generating artificial statistics and storing it somewhere for referring it later. Creating Virtual Index Creating a Virtual Index can be achieved by using the NOSEGMENT clause with the CREATE INDEX command. Q.What is meant by Virtual Indexes in Oracle? Answer: Virtual Indexes are another undocumented feature used by Oracle. Virtual indexes, as the name suggests are pseudo-indexes that will not behave the same way that normal indexes behave, and are meant for a very specific purpose. A virtual index is created in a slightly different manner than the normal indexes. A virtual index has no segment pegged to it, i.e., the DBA_SEGMENTS view will not show an entry for this. Oracle handles such indexes internally and few required dictionary tables are updated so that the optimizer can be made aware of its presence and generate an execution plan considering such indexes. As per Oracle, this functionality is not intended for standalone usage. It is part of the Oracle Enterprise Manger Tuning Pack (Virtual Index Wizard). The virtual index wizard functionality allows the user to test a potential new index prior to actually building the new index in the database.It allows the CBO to evaluate the potential new index for a selected SQL statement by building an explain plan that is aware of the potential new index. This allows the user to determine if the optimizer would use the index, once implemented. Oracle Sql Plsql Interview Questions Oracle Sql Plsql Interview Questions and Answers Q.What are materialized views? When are they used? Answer: Materialized view is like a view but stores both definition of a view plus the rows resulting from execution of the view. It uses a query as the bases and the query is executated at the time the view is created and the results are stored in a table. You can define the Materialized view with the same storage parametes as any other table and place it in any tablespace of your choice. You can also index and partition the Materialized view table like other tables to improve performance of queries executed aginst them. Use of Meterialized view:- Expensive operations such as joins and aggregations do not need to be re executed. If the query is astisfied with data in a Meterialized view, the server transforms the query to reference the view rather than the base tables. Q.What is a functional index - explain? Function-based indexes can use any Function or Object method that is declared as repeatable. Queries using expressions can use the index. Ex: - CREATE INDEX sales_margin_inx ON sales (revenue - cost); Sql> SELECT ordid FROM sales WHERE (revenue - cost) > 1000; We have to enable Function-based indexes by enableing the following initialization parameters ALTER SESSION SET QUERY_REWRITE_ENABLED = TRUE; ALTER SESSION SET QUERY_REWRITE_INTEGRITY = TRUSTED; Q.Where we use bitmap index? Answer: a. Bitmap indexes are most appropriate for columns having low distinct values. We can use bitmap index where cardinality is very low like gender column or color column. Q.What is an extent? Answer: a. An extent is the smallest unit of storage allocation comprising collection of Blocks. Well an extent is a chunk of a space that is used by database segments when a segment is created it allocates extents. Q.How to you move from dedicated server Process to a Shared Server Process Answer: Use DBCA (DATABASE CONFIGUARATION ASSISTANT) toolYou will get the option to select shared server mode. Q.What are the components of physical database structure of Oracle database? Totally there are 6 files (components) of physical database structure.3 mandatory & 3 optional. Three mandatory files are 1> data file: store actual data 2> control file: stores structural & status information of database. 3> redo log file: stores changed/committed data Three optional files are 4>-parameter file: stores all size related parameters note: this file is mandatory for a1st time u create a database, and then it is optional. 5> archive log file: its offline copy of redo log files 6>-password file: used to make normal user to behave as a super user. Control files Init file Log files 4. Redo/archive log files data files Physical components of oracle database are control files, redo log files and datafiles. Control file: control file is read in the mount state of database. Control file is a small binary file, which records the physical structure of database, which includes Database name Names and locations of datafiles and online redo log files. Timestamp of database creation Checkpoint information current logs sequence number. Redo log files: This files saves all the changes that are made to the database as they occur. This plays a great role in the database recovery. Datafiles: datafiles are the physical files, which stores data of all logical structure. Q.What are the components of logical database structure of Oracle database Answer: Tablespace, segments, extents, data Blocks. A logical unit of storage of database is called Tablespace. A segment is a space allocated for a specific logical storage structure within a tablespace. Extents: Space allocated to a segments. Datablocks: Oracle server manage the storage space in the datafiles in units is called data blocks or oracle blocks. Q.What are the different types of segments? Answer: table segment, index segment, IOT, cluster, temp segment, data segment. Q.Can you name few DBMS packages and their use? Answer: DBMS_OUTPUT.PUT_LINE ('strings'); Print out the strings DBMS_UTILITY.get_time () get the current time DBMS_ALERT e.g begin dbms_alert.register('myregister'); end To register interst in a named alert Q.How can be determine the size of the log files. Answer: Select sum (bytes)/1024/1024 size_in_mb from v$log; Q.How can be determine the size of the database? Answer: A. Select sum (bytes)/1024/1024/1024 Size_in_GB from dba_data_files; Select sum (bytes)/1024/1024 from v_$datafile + select sum (bytes)/1024/1024 from v_$logfile will give u the total size of the database Select (select sum (bytes/1024/1024/1024) from v$datafile) +( select sum(bytes/1024/1024/1024) from v$tempfile) + (select sum(bytes/1024/1024/1024) from v$log) "Size of Database in GB" from dual. Q.How can you check which user has which Role. Answer: desc dba_tab_privs (OR) Can use ROLE_TAB_PRIVS also (OR) select * from dba_role_privs order by grantee; Q.Can you start a database without SPfile in oracle 9i? Answer: While starting database Oracle reads spfiledb.ora, spfile.ora, initdb.ora or init.ora file. Yes it is possible to start the database using init.ora file only. The main advantage of using the SPFILE.ora is only to make changes to the dynamic initialization parameters without restarting the database using the SCOPE option. The changes will be stored in the spfile only and if you start the database using "pfile" option those changes wont be applicable to the database. Q.Do a view contain data? Answer: A view does not contain any data of its own, but is like a window through which data from other tables can be viewed and changed The answer depends on the type of view. In case of normal view, the ans is NO it only contains query based on a base table but in case of materialized view, YES it does contain data and for the updated data in the base table, it needs to be refreshed. NO: Because view is for view one or more tables data like query. Q.What is Oracle table? Answer: A table is the most commonly used form of storing user data. A table is used to store the information in form of rows &columns in the database. Table is a segment (type of Segments), which is used to store user data. Tables can have partitions (value wise, date period wise) and each partition can have separate tablespace for better performance. The Collection of informations stored in the structured format that is called a table. Q.Can objects of the same schema reside in different tablespaces? Answer: Yes, it can. For example if you specify a different tablepace (B) for indexes, the indexes of the tables that the user create would be residing in B, and the table would reside in the user's default tablespace A. Yes: Schema objects can stored in different tablespace and a tablespace can contained one or more schema objects data. Q.What is an Oracle index? Answer: An Index is a tree structure that allows direct access to a row in a table. Indexes can be classified based on their logical design or on their physical implementation. The Logical classification groups indexes from an application perspective, while the physical classification is derived from the way the indexes are stored An index is a schema object that can speed up the retrieval of rows by using pointers. If you do not have an index, then a full table scan occurs. Its purpose is to reduce disk I/O by using an indexed path to locate data quickly. If a table is dropped, the corresponding indexes are also dropped. It is created in existing table to locate rows more quickly&efficiently. The users cannot see the indexes; they are just used to speed up the queries Q.Can we create index on long raw column? Answer: NO we can't create index on long raw column. Q.What is the basic element of base configuration of an Oracle database? Answer: It consists of - one or more data files - One or more control files - Two or more redo log files The database contains - Multiple users/schema's - One or more rollback segments - One or more tablespaces - Data dictionary tables. User objects (table, indexes, views etc.) Q.What are clusters? Answer: Groups of tables physically stored together because they share common columns and are often used together is called clusters. Q.What is the function of redo log? Answer: The primary function of the redo log is to record all changes made to data. Q.What are the characteristics of data files? Answer: Characterstics of Data File: - A Data file can be associated with only one database. - Once created, a data file cannot change is size. - One or more data files form a logical unit of database storage called a Tablespace. Datafile size can be change by using ALTER DATABASE .....RESIZE command. Q.How do you implement one-to-one, one-to-many and many-to-many relationships while designing tables? Answer: One-to-One relationship can be implemented as a single table and rarely as two tableswith primary and foreign key relationships. One-to-Many relationships are implemented by splitting the data into two tables with primary key and foreign key relationships. Many-to-Many relationships are implemented using a junction table with the keys from both the tables forming the composite primary key of the junction table. It will be a good idea to read up a database designing fundamentals text book. Q.What's the difference between a primary key and a unique key? Answer: Both primary key and unique enforce uniqueness of the column on which they are defined. But by default primary key creates a clustered index on the column, where are unique creates a nonclustered index by default. Another major difference is that, primary key doesn't allow NULLs, but nique key allows one NULL only. Q.What are user defined datatypes and when you should go for them? Answer: User defined datatypes let you extend the base SQL Server datatypes by providing a descriptive name, and format to the database. Take for example, in your database, there is a column called Flight_Num which appears in many tables. In all these tables it should be varchar(8). In this case you could create a user defined datatype called Flight_num_type of varchar(8) and use it across all your tables. Q.What is bit datatype and what's the information that can be stored inside a bit column? Answer: Bit datatype is used to store boolean information like 1 or 0 (true or false). Untill SQL Server 6.5 bit datatype could hold either a 1 or 0 and there was no support for NULL. But from SQL Server 7.0 onwards, bit datatype can represent a third state, which is NULL. Q.Define candidate key, alternate key, composite key Answer: A candidate key is one that can identify each row of a table uniquely. Generally a candidate key becomes the primary key of the table. If the table has more than one candidate key, one of them will become the primary key, and the rest are called alternate keys. A key formed by combining at least two or more columns is called composite key. Q.What are defaults? Is there a column to which a default can't be bound? Answer: A default is a value that will be used by a column, if no value is supplied to that column while inserting data. IDENTITY columns and timestamp columns can't have defaults bound to them. See CREATE DEFUALT in books online. Q.What is a transaction and what are ACID properties? Answer: A transaction is a logical unit of work in which, all the steps must be performed or none. ACID stands for Atomicity, Consistency, Isolation, Durability. These are the properties of a transaction. For more information and explanation of these properties, see SQL Server books online or any RDBMS fundamentals text book. Q.Explain different isolation levels Answer: An isolation level determines the degree of isolation of data between concurrent transactions. The default SQL Server isolation level is Read Committed. Here are the other isolation levels (in the ascending order of isolation): Read Uncommitted, Read Committed, Repeatable Read, Serializable. See SQL Server books online for an explanation of the isolation levels. Be sure to read about SET TRANSACTION ISOLATION LEVEL, which lets you customize the isolation level at the connection level. Q.CREATE INDEX myIndex ON myTable(myColumn) Answer: What type of Index will get created after executing the above statement? Non-clustered index. Important thing to note: By default a clustered index gets created on the primary key, unless specified otherwise. Q.What's the maximum size of a row? Answer: 8060 bytes. Don't be surprised with questions like 'what is the maximum number of columns per table'. Check out SQL Server books online for the page titled: "Maximum Capacity Specifications". Q.Explain Active/Active and Active/Passive cluster configurations Answer: Hopefully you have experience setting up cluster servers. But if you don't, at least be familiar with the way clustering works and the two clustering configurations Active/Active and Active/Passive. SQL Server books online has enough information on this topic and there is a good white paper available on Microsoft site. Q.Explain the architecture of SQL Server Answer: This is a very important question and you better be able to answer it if consider yourself a DBA. SQL Server books online is the best place to read about SQL Server architecture. Read up the chapter dedicated to SQL Server Architecture. Q.What is lock escalation? Answer: Lock escalation is the process of converting a lot of low level locks (like row locks, page locks) into higher level locks (like table locks). Every lock is a memory structure too many locks would mean, more memory being occupied by locks. To prevent this from happening, SQL Server escalates the many fine-grain locks to fewer coarse-grain locks. Lock escalation threshold was definable in SQL Server 6.5, but from SQL Server 7.0 onwards it's dynamically managed by SQL Server. Q.What's the difference between DELETE TABLE and TRUNCATE TABLE commands? Answer: DELETE TABLE is a logged operation, so the deletion of each row gets logged in the transaction log, which makes it slow. TRUNCATE TABLE also deletes all the rows in a table, but it won't log the deletion of each row, instead it logs the deallocation of the data pages of the table, which makes it faster. Of course, TRUNCATE TABLE can be rolled back. Q.Explain the storage models of OLAP Answer: Check out MOLAP, ROLAP and HOLAP in SQL Server books online for more infomation. Q.What are the new features introduced in SQL Server 2000 (or the latest release of SQL Server at the time of your interview)? What changed between the previous version of SQL Server and the current version? Answer: This question is generally asked to see how current is your knowledge. Generally there is a section in the beginning of the books online titled "What's New", which has all such information. Of course, reading just that is not enough, you should have tried those things to better answer the questions. Also check out the section titled "Backward Compatibility" in books online which talks about the changes that have taken place in the new version. Q.What are constraints? Explain different types of constraints Answer: Constraints enable the RDBMS enforce the integrity of the database automatically, without needing you to create triggers, rule or defaults. Types of constraints: NOT NULL, CHECK, UNIQUE, PRIMARY KEY, FOREIGN KEY For an explanation of these constraints see books online for the pages titled: "Constraints" and "CREATE TABLE", "ALTER TABLE" Q.What is an index? What are the types of indexes? How many clustered indexes can be created on a table? I create a separate index on each column of a table. what are the advantages and disadvantages of this approach? Answer: Indexes in SQL Server are similar to the indexes in books. They help SQL Server retrieve the data quicker. Indexes are of two types. Clustered indexes and non-clustered indexes. When you craete a clustered index on a table, all the rows in the table are stored in the order of the clustered index key. So, there can be only one clustered index per table. Non-clustered indexes have their own storage separate from the table data storage. Non-clustered indexes are stored as B-tree structures (so do clustered indexes), with the leaf level nodes having the index key and it's row locater. The row located could be the RID or the Clustered index key, depending up on the absence or presence of clustered index on the table. If you create an index on each column of a table, it improves the query performance, as the query optimizer can choose from all the existing indexes to come up with an efficient execution plan. At the same t ime, data modification operations (such as INSERT, UPDATE, DELETE) will become slow, as every time data changes in the table, all the indexes need to be updated. Another disadvantage is that, indexes need disk space, the more indexes you have, more disk space is used. Q.What is RAID and what are different types of RAID configurations? Answer: RAID stands for Redundant Array of Inexpensive Disks, used to provide fault tolerance to database servers. There are six RAID levels 0 through 5 offering different levels of performance, fault tolerance. MSDN has some information about RAID levels and for detailed information, check out the RAID advisory board's homepage. Q.What are the steps you will take to improve performance of a poor performing query? Answer: This is a very open ended question and there could be a lot of reasons behind the poor performance of a query. But some general issues that you could talk about would be: No indexes, table scans, missing or out of date statistics, blocking, excess recompilations of stored procedures, procedures and triggers without SET NOCOUNT ON, poorly written query with unnecessarily complicated joins, too much normalization, excess usage of cursors and temporary tables. Some of the tools/ways that help you troubleshooting performance problems are: SET SHOWPLAN_ALL ON, SET SHOWPLAN_TEXT ON, SET STATISTICS IO ON, SQL Server Profiler, Windows NT /2000 Performance monitor, Graphical execution plan in Query Analyzer. Download the white paper on performance tuning SQL Server from Microsoft web site. Don't forget to check out sql-server-performance.com Q.What are the steps you will take, if you are tasked with securing an SQL Server? Answer: Again this is another open ended question. Here are some things you could talk about: Preferring NT authentication, using server, database and application roles to control access to the data, securing the physical database files using NTFS permissions, using an unguessable SA password, restricting physical access to the SQL Server, renaming the Administrator account on the SQL Server computer, disabling the Guest account, enabling auditing, using multiprotocol encryption, setting up SSL, setting up firewalls, isolating SQL Server from the web server etc. Q.What is a deadlock and what is a live lock? How will you go about resolving deadlocks? Answer: Deadlock is a situation when two processes, each having a lock on one piece of data, attempt to acquire a lock on the other's piece. Each process would wait indefinitely for the other to release the lock, unless one of the user processes is terminated. SQL Server detects deadlocks and terminates one user's process. A livelock is one, where a request for an exclusive lock is repeatedly denied because a series of overlapping shared locks keeps interfering. SQL Server detects the situation after four denials and refuses further shared locks. A livelock also occurs when read transactions monopolize a table or page, forcing a write transaction to wait indefinitely. Q.What is blocking and how would you troubleshoot it? Answer: Blocking happens when one connection from an application holds a lock and a second connection requires a conflicting lock type. This forces the second connection to wait, blocked on the first. Read up the following topics in SQL Server books online: Understanding and avoiding blocking, Coding efficient transactions. Q.Explain CREATE DATABASE syntax Answer: Many of us are used to craeting databases from the Enterprise Manager or by just issuing the command: CREATE DATABAE MyDB. But what if you have to create a database with two filegroups, one on drive C and the other on drive D with log on drive E with an initial size of 600 MB and with a growth factor of 15%? That's why being a DBA you should be familiar with the CREATE DATABASE syntax. Check out SQL Server books online for more information. Q.How to restart SQL Server in single user mode? How to start SQL Server in minimal configuration mode? Answer: SQL Server can be started from command line, using the SQLSERVR.EXE. This EXE has some very important parameters with which a DBA should be familiar with. -m is used for starting SQL Server in single user mode and -f is used to start the SQL Server in minimal configuration mode. Check out SQL Server books online for more parameters and their explanations. Q.As a part of your job, what are the DBCC commands that you commonly use for database maintenance? Answer: DBCC CHECKDB, DBCC CHECKTABLE, DBCC CHECKCATALOG, DBCC CHECKALLOC, DBCC SHOWCONTIG, DBCC SHRINKDATABASE, DBCC SHRINKFILE etc. But there are a whole load of DBCC commands which are very useful for DBAs. Check out SQL Server books online for more information. Q.What are statistics, under what circumstances they go out of date, how do you update them? Answer: Statistics determine the selectivity of the indexes. If an indexed column has unique values then the selectivity of that index is more, as opposed to an index with non-unique values. Query optimizer uses these indexes in determining whether to choose an index or not while executing a query. Some situations under which you should update statistics: 1) If there is significant change in the key values in the index 2) If a large amount of data in an indexed column has been added, changed, or removed (that is, if the distribution of key values has changed), or the table has been truncated using the TRUNCATE TABLE statement and then repopulated 3) Database is upgraded from a previous version Look up SQL Server books online for the following commands: UPDATE STATISTICS, STATS_DATE, DBCC SHOW_STATISTICS, CREATE STATISTICS, DROP STATISTICS, sp_autostats, sp_createstats, sp_updatestats Q.What are the different ways of moving data/databases between servers and databases in SQL Server? Answer: There are lots of options available, you have to choose your option depending upon your requirements. Some of the options you have are: BACKUP/RESTORE, dettaching and attaching databases, replication, DTS, BCP, logshipping, INSERT...SELECT, SELECT...INTO, creating INSERT scripts to generate data. Q.Explain different types of BACKUPs available in SQL Server? Given a particular scenario, how would you go about choosing a backup plan? Answer: Types of backups you can create in SQL Sever 7.0+ are Full database backup, differential database backup, transaction log backup, filegroup backup. Check out the BACKUP and RESTORE commands in SQL Server books online. Be prepared to write the commands in your interview. Books online also has information on detailed backup/restore architecture and when one should go for a particular kind of backup. Q.What is database replication? What are the different types of replication you can set up in SQL Server? Answer: Replication is the process of copying/moving data between databases on the same or different servers. SQL Server supports the following types of replication scenarios: Snapshot replication Transactional replication (with immediate updating subscribers, with queued updating subscribers) Merge replication See SQL Server books online for indepth coverage on replication. Be prepared to explain how different replication agents function, what are the main system tables used in replication etc. Q.How to determine the service pack currently installed on SQL Server? Answer: The global variable @@Version stores the build number of the sqlservr.exe, which is used to determine the service pack installed. To know more about this process visit Q.What are cursors? Explain different types of cursors. What are the disadvantages of cursors? How can you avoid cursors? Answer: Cursors allow row-by-row processing of the resultsets. Types of cursors: Static, Dynamic, Forward-only, Keyset-driven. See books online for more information. Disadvantages of cursors: Each time you fetch a row from the cursor, it results in a network roundtrip, where as a normal SELECT query makes only one rowundtrip, however large the resultset is. Cursors are also costly because they require more resources and temporary storage (results in more IO operations). Furthere, there are restrictions on the SELECT statements that can be used with some types of cursors. Most of the times, set based operations can be used instead of cursors. Here is an example: If you have to give a flat hike to your employees using the following criteria: Salary between 30000 and 40000 -- 5000 hike Salary between 40000 and 55000 -- 7000 hike Salary between 55000 and 65000 -- 9000 hike In this situation many developers tend to use a cursor, determine each employee's salary and update his salary according to the above formula. But the same can be achieved by multiple update statements or can be combined in a single UPDATE statement as shown below: UPDATE tbl_emp SET salary = CASE WHEN salary BETWEEN 30000 AND 40000 THEN salary + 5000 WHEN salary BETWEEN 40000 AND 55000 THEN salary + 7000 WHEN salary BETWEEN 55000 AND 65000 THEN salary + 10000 END Another situation in which developers tend to use cursors: You need to call a stored procedure when a column in a particular row meets certain condition. You don't have to use cursors for this. This can be achieved using WHILE loop, as long as there is a unique key to identify each row. Q.Write down the general syntax for a SELECT statements covering all the options Answer: Here's the basic syntax: (Also checkout SELECT in books online for advanced syntax). SELECT select_list FROM table_source ] Q.What is a join and explain different types of joins Answer: Joins are used in queries to explain how different tables are related. Joins also let you select data from a table depending upon data from another table. Types of joins: INNER JOINs, OUTER JOINs, CROSS JOINs.OUTER JOINs are further classified as LEFT OUTER JOINS, RIGHT OUTER JOINS and FULL OUTER JOINS. Q.Can you have a nested transaction? Answer: Yes, very much. Check out BEGIN TRAN, COMMIT, ROLLBACK, SAVE TRAN and @@TRANCOUNT Q.What is an extended stored procedure? Can you instantiate a COM object by using T-SQL? Answer: An extended stored procedure is a function within a DLL (written in a programming language like C, C++ using Open Data Services (ODS) API) that can be called from T-SQL,just the way we call normal stored procedures using the EXEC statement. See books online to learn how to create extended stored procedures and how to add them to SQL Server. Yes, you can instantiate a COM (written in languages like VB, VC++) object from T-SQL by using sp_OACreate stored procedure. Also see books online for sp_OAMethod, sp_OAGetProperty, sp_OASetProperty, sp_OADestroy. Q.What is the system function to get the current user's user id? Answer: USER_ID().Also check out other system functions like USER_NAME(), SYSTEM_USER, SESSION_USER, CURRENT_USER, USER, SUSER_SID(), HOST_NAME(). Q.What are triggers? How many triggers you can have on a table? How to invoke a trigger on demand? Answer: Triggers are special kind of stored procedures that get executed automatically when an INSERT, UPDATE or DELETE operation takes place on a table. In SQL Server 6.5 you could define only 3 triggers per table, one for INSERT, one for UPDATE and one for DELETE. From SQL Server 7.0 onwards, this restriction is gone, and you could create multiple triggers per each action. But in 7.0 there's no way to control the order in which the triggers fire. In SQL Server 2000 you could specify which trigger fires first or fires last using sp_settriggerorder Triggers can't be invoked on demand. They get triggered only when an associated action (INSERT, UPDATE, DELETE) happens on the table on which they are defined. Triggers are generally used to implement business rules, auditing. Triggers can also be used to extend the referential integrity checks, but wherever possible, use constraints for this purpose, instead of triggers, as constraints are much faster. Till SQL Server 7.0, triggers fire only after the data modification operation happens. So in a way, they are called post triggers. But in SQL Server 2000 you could create pre triggers also. Search SQL Server 2000 books online for INSTEAD OF triggers. Q.There is a trigger defined for INSERT operations on a table, in an OLTP system. The trigger is written to instantiate a COM object and pass the newly insterted rows to it for some custom processing. What do you think of this implementation? Can this be implemented better? Answer: Instantiating COM objects is a time consuming process and since you are doing it from within a trigger, it slows down the data insertion process. Same is the case with sending emails from triggers. This scenario can be better implemented by logging all the necessary data into a separate table, and have a job which periodically checks this table and does the needful. Q.What is a self join? Explain it with an example Answer: Self join is just like any other join, except that two instances of the same table will be joined in the query. Here is an example: Employees table which contains rows for normal employees as well as managers. So, to find out the managers of all the employees, you need a self join. CREATE TABLE emp ( empid int, mgrid int, empname char(10) ) INSERT emp SELECT 1,2,'Vyas' INSERT emp SELECT 2,3,'Mohan' INSERT emp SELECT 3,NULL,'Shobha' INSERT emp SELECT 4,2,'Shridhar' INSERT emp SELECT 5,2,'Sourabh' SELECT t1.empname , t2.empname FROM emp t1, emp t2 WHERE t1.mgrid = t2.empid Here's an advanced query using a LEFT OUTER JOIN that even returns the employees without managers (super bosses) SELECT t1.empname , COALESCE(t2.empname, 'No manager') FROM emp t1 LEFT OUTER JOIN emp t2 ON t1.mgrid = t2.empid contact for more on Oracle Sql Plsql Online Training
Continue reading