0% found this document useful (0 votes)
15 views5 pages

APEX Performance Debugging Techniques

Uploaded by

gaurav.dbalounge
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views5 pages

APEX Performance Debugging Techniques

Uploaded by

gaurav.dbalounge
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

 APEX TOPICS:

If there is performance issue in the query, how and where you will start debugging to
find the root cause
 What do you know about the Commands COMMIT, ROLLBACK, and
SAVEPOINT?
 importance of %TYPE and %ROWTYPE data types in PL/SQL

Explain the difference between Triggers and Constraints


 PL/SQL script to display the following series of numbers: 99,96,93……9,6,3?

ques 1 practical -> Show dept name in first column, and employee count in 2nd column in
each department.

ques 2 practical -> Display top five salary records from employee table/
suppose you have a table named employee and there are 4 columns in that table which says
employee number, employee name, salary and date of joining.
write a query where we can get all those employee names who are getting the top five salaries
in the in this table.

ques 3 practical -> Display all employees those who were joined in year 1981

ques 4 practical - Suppose I have a drop down which consists of, uh numbers such as 5 10
15. Once I select on that drop down, I want uh that for example I select five, then five
dynamic textbooks should be shown on the page.

If I select 10 then 10 dynamic textbooks should be shown on page.

If I send it 15 then 15 dynamic textbooks should be shown on page.

Can this be done in apex and how?

Ques 5 practical - I want you to change the authentication of the application to no


authentication so that public users can view this application. On the home page, I want you to
create an interactive grid on EMP table.
All the columns of interactive grid to be non editable except Salary columns. So only salary
columns should be editable, and put a validation that salary should not be less than ₹1000.

Ques 6 practical – create an interactive grid on EMP table.


There should be two date pickers from and two date and on the click of the button there
should be a validation that two date cannot be greater than from date.

Ques 7 practical - How can you get a value of an application item? In JavaScript, write the
syntax.

 If I have a slow running query which is running slowly on my apex page, I suppose it
is loading in about 20 seconds. What fix you will do to the query and what will be a
process which will be followed for that fix?
 Use of Analytical Functions like Lead. Lag, Dense Rank

if we want to change the template of an interactive grid, can we do that


 How can you pass the values between different pages in Oracle apex
 Practical scenario of using apex collections
 What are database links used for?
 package/procedure/function
 debug in procedure
 Dynamic SQL
 Ref cursor
 What is reflow report
 Features and advantages of reflow report
 Interactive grids, features of interactive grid over interactive report
 Why cursor is used
 Practical senerio where u used collection
 Can you update a collection in mid session
 What is plsql table
 Difference between trigger n constraints
 Exp on working unix and Linux
 Exp on working rest api
 How to create an API in apex

Exp on working on Apex collections

Difference between authentication and Authorization. Experience on setting up


authentication. Which authentication are using and what is the process?

 on the page 0, the global page, can we create HTML regions


 So in dynamic actions there are two conditions server side condition and client side
condition. What is the difference between the conditions?
 How to create a custom process for the interactive grid?

 So when we create an interactive grid, first of all, if we turn on the edit mode in
attributes, Apex gives us a automatic process, So can we customize that process?
How?
 What is Apex row status
 we can also create validations in apex processing.
 What is ajax callbacks

 If you slow running page on apex, how will debug and find solution
 Triggers , Mutation Trigger, Uses of triggers, different types of triggers

 Knowledge on Fusion REST API and XDO BI Reporting


 Knowledge on Fusion Sandbox configuration
 Migration of all Fusion components
 EBS-OIC integration using adaptor/agents
 OCI-OIC-EBS monitoring with concurrent jobs
 Logging and Analysing Business Events in EBS
 Monitoring and Logging Analytics in OCI-OIC through OIC Console
 Roles required for enabling services required
 PL/SQL Capability to develop/study code
 What is Page Zero in Oracle APEX?
 What are Collections in APEX? Could you give some usage examples?
 What would you call APEX Items in APEX, in PL/SQL, and in JS?
 Have you used APEX Dynamic Actions?
 Have you ever used plug-ins in APEX? Which ones and for what purpose?
 difference between a foreign key and a primary key? in primary key can I have
multiple columns?

Oracle PL/SQL :

Advantages of collection
 What are table joints
 Use of left outer joints
 If there is no matching record from the left side table then what will column will we
have
 Diff between inner joints n left joints
 Diff between procedure and functions
 Can we use all type of functions in a sql query
 Worked in Unix? Do you know basic commands?
 Use of CAT command ?
 Use of analytical functions in PHp code
 How to write dense rank?
Partition questions
 Created Schema, Tables, Constraints, Indexes, Privileges, Roles, DB directories,
Sequences, External table, Synonyms and SQL Loader.
 Cursor, Triggers, Procedure, Function and Package
 Extremely used of the latest features to optimize performance like Bulk Collect,
Dynamic SQL, Ref. Cursor & Collections.
 Extreme Use of PRAGMA for handling AUTONOMUS TRANSCATION and
exception handling methods along with EXCEPTION_INIT to associate our own
created exception names.
 Hands on experience on XML, JSON and Web Services functions.
 Analytical Function
 Dynamic SQL
 What is the deference b/w procedure and function?
 what parameter we can pass in procedure and function
 can we write dml function in procedure and function
 how you call a function out side a shell
 what is curse attribute?
 what is the index?

Other Topics to cover:


 Warehouse management
 high level functionality of this warehouse management system?
 how can you start a development so anyone will give you the requirement who who
will give you the requirement to to start a different.
 experience working with any users to do any tests?
 Can you give me an example of one of the development you've done? What's the
requirement and what have you done?
 what is the requirement on on this task? I mean can can you name one of the example
for us say what requirement you have got and what have you done all the different.
 what was the answer you got from the client?
 Can you let me know that do you or do you have any experience to do some query
tooling to improve the performance?
 do you have any experience to do some query tooling to improve the performance?
 How would you solve performance issues on APEX Page?
 there is some performance issue on an apex [Link] will you do to deal with this
scenario?
 we have performance issue on apex function. how will you handle and resolve
 the regarding to the performance issue question like how would you normally debug a
page in apex?
 how would you normally set the value of a page item?
 Say suppose the page is having 3-4 regions OK and E3 GN is having its own query
and how? How do you normally drill down to the particular region query which is
having the performance issue. So how would you normally find it out?
 how would you normally set the value of a page item either in JavaScript or jQuery?
 in PL SQL block either in package or procedure. How would you set the value of a
pair apex page item?
 how would you populate the apex collection? is there any method for populating the
apex collection?
 Apex collection dot create query create apex collection dot create collection from
QDB there is a method right? Do you aware of it?
 have you worked on APL sequel packages, functions and procedures.
 Apex collection dot create query create apex collection dot create collection from
QDB there is a method right? Do you aware of it?
 have you worked on APL sequel packages, functions and procedures.
 in a function there is a in and out and in node parameters, right? So
 Can you tell me how we can use the output parameter?
 Have you done bulk collect or bulk processing?
 In output parameters there is an option for no copy. So what is that no copy mean?
 So during a bulk collect, how would you catch the exceptions during bulk collect?
 Suppose there is a DML issue when you are doing the bulk update or bulk insert. So
how would you capture the exception?
 so in sql, have you written any advanced sql functions? Any XML or Jason tables?
 Experience on restful api
 where is this API? This API is in as system that you are working or I mean this API is
different by you or is different by another system.
 we are developing that APE system right in case if there is another system that
develop an API call so another system had profile true and API call and how would
we call this API in APIs.
 what is Apex web service Restful service package.
 in what case you use the JavaScript to to apply JavaScript in your Code?
 what's the difference Oracle forms and Oracle apex
 What is the version that you are using on the apex?

Common questions

Powered by AI

PL/SQL tables, also known as associative arrays, are used for internal storage of data within code blocks and procedures, allowing for fast, in-memory data manipulation. APEX collections, on the other hand, provide temporary storage for session-specific data and can be manipulated without needing to commit to the database, useful in web applications for data persistence across page requests. The limitations of PL/SQL tables include their session persistence and memory usage, whereas APEX collections are limited by the session scope and are not suitable for long-term data storage. These distinctions make each option better suited to different scenarios based on persistence requirements and data manipulation needs .

Dynamic SQL in PL/SQL allows the execution of SQL statements that are dynamically constructed at runtime. This approach can be advantageous in scenarios where operations need to be performed based on conditional schemas or when SQL statements cannot be hard-coded due to changing business logic or user inputs. For example, Dynamic SQL can be useful for generating reports based on user-selected parameters that determine which data is processed. However, it should be used cautiously as it may introduce risks like SQL injection if not properly handled .

APEX collections in Oracle APEX are used to temporarily store data retrieved from different sources in a session-specific way, allowing for manipulation and modification similar to how one might handle data in arrays. They are especially useful when dealing with web applications that require data manipulation before committing changes to the database. For instance, a developer might use an APEX collection to store user inputs across multiple pages in a wizard-style application, performing batch processing or validations before finalizing transactions .

Triggers are procedural database objects that automatically execute in response to certain events on a table or view, such as INSERT, UPDATE, or DELETE operations. They can be used to enforce complex business rules like logging or validation that aren't directly related to data integrity alone. Constraints, on the other hand, are declarative integrity constraints that ensure the integrity and validity of data within a database. Examples include PRIMARY KEY, FOREIGN KEY, UNIQUE, NOT NULL, and CHECK constraints. Constraints are preferred for performance reasons where applicable, as they are managed by the database system and often optimized for performance .

When debugging slow-running Oracle APEX pages, considerations include analyzing SQL query performance, network latency, and client-side processing times. Strategies to address bottlenecks include using APEX debug mode to trace execution paths, optimizing SQL queries with indexes and proper joins, reducing page complexity by minimizing unnecessary components, leveraging caching for static resources, and employing client-side processing techniques like AJAX to distribute workload more effectively. Ensuring optimized database connections and tuning underlying database processes are also crucial components in resolving performance issues .

AJAX callbacks in Oracle APEX allow for asynchronous data exchange between the web client and the server without reloading the entire page, enabling more responsive and dynamic applications. They can be used to update parts of the web interface in response to user actions without affecting the overall page state. Challenges in implementing AJAX callbacks include ensuring robust error handling, maintaining data consistency, and securing data transfers to prevent unauthorized access or manipulation. Proper design and testing are critical to address these challenges and harness the full potential of AJAX in APEX applications .

Interactive grids in Oracle APEX can be customized using dynamic actions, PL/SQL processes, and JavaScript to enforce specific user validations like format checks or range constraints. For example, custom validations can ensure data integrity or compliance with business rules directly within the grid environment. These validations are necessary to enhance user experience by providing immediate feedback and preventing erroneous data submissions, which might impact downstream processes or data quality .

The %TYPE attribute in PL/SQL is used to declare a variable that inherits the data type of a column in a table or a field of a record, ensuring that any data type changes in the database automatically reflect in the PL/SQL code without alterations. %ROWTYPE allows you to declare a record variable that represents the entire row of a table or a view, emulating its structure. These attributes enhance flexibility and maintainability by reducing explicit data type declarations, thereby minimizing type-related errors during execution .

Analytical functions like LEAD and LAG allow access to subsequent or prior row values within a result set without requiring self-joins or complex subqueries. They enhance query performance by reducing computational overhead and simplifying SQL code for calculations needing reference to adjacent rows, such as calculating differences across rows or performing cumulative totals. By providing these insights directly within a result set, analytical functions improve both performance and the interpretability of complex analytical queries .

Performance tuning in Oracle APEX involves optimizing both the user interface and the underlying database operations. Traditional query optimization focuses on improving SQL query performance using methods such as indexing, analyzing query execution plans, and rewriting inefficient SQL. In APEX, additional considerations include reducing page load times by minimizing server-side processes, optimizing interactive grid queries, and using Dynamic Actions and AJAX for client-side interactions to decrease page load dependencies. An understanding of the interactions between the server-side and client-side components is crucial for effective APEX page optimization .

You might also like