Oracle® HTML DB User's Guide Release 1.5 Part Number B10992-01 |
|
|
View PDF |
This section describes a number of approaches to debugging your application including viewing Debug Mode, enabling SQL tracing, viewing page reports, and how to manually remove a component to isolate a problem.
This section contains the following topics:
For applications having a large number of concurrent users, maintaining optimal performance is critical. To optimize your application's performance, remember to utilize the following Oracle HTML DB features:
Use bind variables within your application whenever possible. You can reference session state values using bind variable syntax in SQL queries and application logic such as processes and validations. Accessing session state using bind variables is the most efficient way to reference session state.
Include a #TIMING#
substitution string in the region footer so that you can view the timing of each region.
Many application are based on data contained within application items. For example, buttons may display conditionally based on a value stored in session state. You can view current session state for a page in your application by clicking the Session link on the Developer Toolbar.
Viewing a page in Debug Mode is effective way to track what the HTML DB engine is doing as it renders a page. You access Debug mode by clicking the Debug link in the Developer Toolbar.
Debug Mode displays time codes that correspond to specific HTML DB engine functions. This can be useful if you want to determine when the engine is setting session state. The bottom of the page displays an augmented version of the Page Definition. In addition to enabling you to link to page and component attributes, you can view additional details about item names and computation and processing points. To exit Debug mode, click No Debug in the Developer Toolbar.
You can also use f?p
syntax run a application in Debug mode. Simply call the page and set the Debug argument to YES
. For example:
f?p=100:1:&SESSION::YES
Tracing your session can be a very effective way to debug an application. From a database perspective, each page request is a single database session. If you enable SQL tracing, then Oracle HTML DB creates a temporary file you can then analyze using the TKPROF utility.
You enable SQL tracing in Oracle HTML DB by using f?p
syntax to set the argument p_trace=YES
. For example, to trace the display of page 1 in application 100 you would use the syntax:
http:/.../f?p=100:1&p_trace=YES
To use the TKPROF utility:
Navigate to the directory in which the trace file is created.
Type the following to view instructions about using TKPROF utility:
tkprof help=yes
See Also: Oracle Database Performance Tuning Guide for more information on using the TKPROF program or contact your database administrator |
You can monitor the resource use of Oracle HTML DB applications and pages by calling the built-in package DBMS_APPLICATION_INFO
. Whenever the HTML DB engine renders or processes a page, the module is set to HTML DB
and includes the application ID and page ID. Once set, you can use the V$SESSION
and V$SQLAREA
views to monitor transactions.
Every Page Definition includes a Page Reports list in the left navigation pane. Each report offers a different presentation of the components that define the page. In particular, the Page Detail Report describes all currently defined page components and processes.
To access the Page Detail Report:
Click the Build icon.
From the Available Applications list, select an application and click Go.
Navigate to the appropriate Page Definition.
Click Page Reports in the left navigation pane to expand the list.
Click Page Detail (popup page).
Once the Page Detail Report appears, you can select the following options at the top of the page to display or hide information:
All. Enabled by default. Displays detailed information about the current page including defined regions, items, buttons, processes, validations, branches, and computations.
Regions, Items, and Buttons. Displays detailed information of all items and buttons defined in each region of the page.
Processes. Displays details about defined processes including source code.
Validations. Displays any defined validations performed on the current page.
Branches. Displays information about branching performed on the current page.
Computations. Displays details about computations on the current page defined at the page or application level.
If your query does not seem to be running correctly, try running it in SQL Plus or in SQL Workshop. Either approach will test your query outside of the context of your application, making it easier to determine what the problem is.
If you have problems running a page, try removing components one at time. Using this approach, you can quickly determine which components may be the source of your problem. You can quickly disable a component by selecting the conditional display attribute NEVER.
To remove a component using conditional display attributes:
Click the Build icon.
From the Available Applications list, select an application and click Go.
Navigate to the appropriate Page Definition and then to the attributes page for the component you wish to disable.
Scroll down to the Conditional Display attribute and select NEVER.
Click Apply Changes and return to the Page Definition.
Try running the page again.
Continue to remove components until the page runs correctly.