Вы находитесь на странице: 1из 330

R11i, Applications System

Administration Diagnostics
and Troubleshooting Case
Study
Student Guide

Course Code 14822GC10


Edition 1.0
Month October 2000
Part Number MO-12366
Copyright © Oracle Corporation, 2000. All rights reserved.

This documentation contains proprietary information of Oracle Corporation. It is provided under a license
agreement containing restrictions on use and disclosure and is also protected by copyright law. Reverse
engineering of the software is prohibited. If this documentation is delivered to a U.S. Government Agency of the
Department of Defense, then it is delivered with Restricted Rights and the following legend is applicable:

Restricted Rights Legend

Use, duplication or disclosure by the Government is subject to restrictions for commercial computer software
and shall be deemed to be Restricted Rights software under Federal law, as set forth in subparagraph (c)(1)(ii)
of DFARS 252.227-7013, Rights in Technical Data and Computer Software (October 1988).

This material or any portion of it may not be copied in any form or by any means without the express prior
written permission of the Education Products group of Oracle Corporation. Any other copying is a violation of
copyright law and may result in civil and/or criminal penalties.

If this documentation is delivered to a U.S. Government Agency not within the Department of Defense, then it is
delivered with “Restricted Rights,” as defined in FAR 52.227-14, Rights in Data-General, including Alternate III
(June 1987).

The information in this document is subject to change without notice. If you find any problems in the
documentation, please report them in writing to Worldwide Education Services, Oracle Corporation, 500 Oracle
Parkway, Box SB-6, Redwood Shores, CA 94065. Oracle Corporation does not warrant that this document is
error-free.

Oracle and all references to Oracle Products are trademarks or registered trademarks of Oracle Corporation.

All other products or company names are used for identification purposes only, and may be trademarks of their
respective owners.

Author

Bill Sawyer

Technical Contributors and Reviewers

Paul Ferguson, Mike Skees, Claudius Jordan, Mike Mast, Ram Bhoopalam

This book was published using:

Oracle Tutor
Table of Contents

Introduction ...........................................................................................................................1-1
Introduction .........................................................................................................................1-2
Objective..............................................................................................................................1-3
Problem Solving .....................................................................................................................2-1
Problem Solving ..................................................................................................................2-2
Objectives ............................................................................................................................2-3
Problem Solving Framework ...............................................................................................2-4
Terminology of Problem Solving ........................................................................................2-6
Problem Solving Thinking Patterns .....................................................................................2-8
Summary..............................................................................................................................2-13
Reading and Understanding Entity Relationship Diagrams..............................................3-1
Reading and Understanding Entity Relationship Diagrams.................................................3-2
Objectives ............................................................................................................................3-3
Entity Relationship Diagrams (ERDs).................................................................................3-4
What is an Entity?................................................................................................................3-5
Entities and Instances ..........................................................................................................3-6
Attributes .............................................................................................................................3-7
Relationships .......................................................................................................................3-8
Drawing Entities in ERDs....................................................................................................3-10
Drawing Attributes in ERDs................................................................................................3-11
Drawing Relationships in ERDs ..........................................................................................3-12
Perspectives of Relationships in ERDs................................................................................3-13
Reading Relationships in ERDs...........................................................................................3-14
Elements of an Oracle Applications ERD............................................................................3-15
Summary..............................................................................................................................3-17
Basic Applications Diagnostics and Troubleshooting Tools...............................................4-1
Basic Applications Diagnostics and Troubleshooting Tools ...............................................4-2
Objectives ............................................................................................................................4-3
Basic Applications Tools.....................................................................................................4-4
Summary..............................................................................................................................4-8
Useful Scripts .........................................................................................................................5-1
Useful Scripts ......................................................................................................................5-2
Objectives ............................................................................................................................5-3
Diagnostic Database Scripts ................................................................................................5-4
Diagnostic Applications Scripts...........................................................................................5-10
Applications Configuration Files.........................................................................................5-25
Controlling Servers..............................................................................................................5-27
Summary..............................................................................................................................5-29
Diagnosing the Database .......................................................................................................6-1
Diagnosing the Database .....................................................................................................6-2
Objectives ............................................................................................................................6-3
Checking Certification.........................................................................................................6-4
Patching and Patch Sets .......................................................................................................6-9
Other Tasks..........................................................................................................................6-11
Summary..............................................................................................................................6-19
Diagnosing Oracle Forms......................................................................................................7-1
Diagnosing Oracle Forms ....................................................................................................7-2
Objectives ............................................................................................................................7-3

Copyright © Oracle Corporation, 2000. All rights reserved.

R11i, Applications System Administration Diagnostics and Troubleshooting Case Study Table of
Contents
i
Important Terms ..................................................................................................................7-4
Forms Architecture ..............................................................................................................7-9
Forms Connection Process...................................................................................................7-10
Determining Form Version..................................................................................................7-25
Latest Version of Form........................................................................................................7-27
Install Forms on Windows NT.............................................................................................7-31
Forms Troubleshooting Techniques ....................................................................................7-34
Useful Links ........................................................................................................................7-39
Summary..............................................................................................................................7-42
Diagnosing Oracle Reports ...................................................................................................8-1
Diagnosing Oracle Reports..................................................................................................8-2
Objectives ............................................................................................................................8-3
Concurrent Processing Architecture ....................................................................................8-4
Determining Report Version................................................................................................8-6
Latest Version of Report......................................................................................................8-8
Install Reports on Windows NT ..........................................................................................8-12
Reports Troubleshooting Techniques ..................................................................................8-13
Summary..............................................................................................................................8-18
System Administration Quick Reference: Security and User Tasks .................................9-1
System Administration Quick Reference Security and User Tasks .....................................9-2
Objectives ............................................................................................................................9-3
User and Security Tasks ......................................................................................................9-4
Running Security and User Reports.....................................................................................9-11
Summary..............................................................................................................................9-15
System Administration Quick Reference: Concurrent Processing Tasks.........................10-1
System Administration Quick Reference Concurrent Processing Tasks .............................10-2
Objectives ............................................................................................................................10-3
Concurrent Processing Components ....................................................................................10-4
Concurrent Processing Flow................................................................................................10-11
Concurrent Processing Tasks...............................................................................................10-13
Concurrent Processing Scripts .............................................................................................10-25
Summary..............................................................................................................................10-27
System Administration Quick Reference: Printing Tasks .................................................11-1
System Administration Quick Reference Printing Tasks.....................................................11-2
Objectives ............................................................................................................................11-3
Printing within Oracle Applications ....................................................................................11-4
Printing Within Oracle Applications ...................................................................................11-9
Summary..............................................................................................................................11-19
System Administration Quick Reference: Install and Set-up Tasks .................................12-1
System Administration Quick Reference Install and Set-up Tasks .....................................12-2
Objectives ............................................................................................................................12-3
Install and Set-up Tasks.......................................................................................................12-4
Summary..............................................................................................................................12-17
Using WebIV to Solve Issues.................................................................................................13-1
Using the Knowledge Repository to Solve Issues ...............................................................13-2
Objectives ............................................................................................................................13-3
The Knowledge Repository .................................................................................................13-4
Using WebIV.......................................................................................................................13-5
Using MetaLink ...................................................................................................................13-9
A Knowledge Repository.....................................................................................................13-11
Summary..............................................................................................................................13-13
Using BUG to Solve Issues ....................................................................................................14-1

Copyright © Oracle Corporation, 2000. All rights reserved.

R11i, Applications System Administration Diagnostics and Troubleshooting Case Study Table of
Contents
ii
Using BUG to Solve Issues .................................................................................................14-2
Objectives ............................................................................................................................14-3
Using BUG ..........................................................................................................................14-4
Summary..............................................................................................................................14-9
Using ARU to Solve Issues ....................................................................................................15-1
Using ARU to Solve Issues .................................................................................................15-2
Objectives ............................................................................................................................15-3
Using ARU ..........................................................................................................................15-4
Summary..............................................................................................................................15-9
Using Certify to Solve Issues.................................................................................................16-1
Using Certify to Solve Issues...............................................................................................16-2
Objectives ............................................................................................................................16-3
Using Certify .......................................................................................................................16-4
Summary..............................................................................................................................16-7
Using eTRM to Solve Issues..................................................................................................17-1
Using eTRM to Solve Issues ...............................................................................................17-2
Objectives ............................................................................................................................17-3
The BIG Picture...................................................................................................................17-4
Oracle Repository 6i ............................................................................................................17-7
eTRM...................................................................................................................................17-8
Summary..............................................................................................................................17-12
Basic Apache Administration Skills .....................................................................................18-1
Basic Apache Administration Skills ....................................................................................18-2
Objectives ............................................................................................................................18-3
Basic Apache Skills .............................................................................................................18-4
Summary..............................................................................................................................18-7
Basic Operating System Skills - UNIX and Windows NT ..................................................19-1
Basic Operating System Skills UNIX and Windows NT.....................................................19-2
Objectives ............................................................................................................................19-3
UNIX and Windows NT Resources.....................................................................................19-4
Summary..............................................................................................................................19-6
Basic Tracing Skills ...............................................................................................................20-1
Basic Tracing Skills.............................................................................................................20-2
Objectives ............................................................................................................................20-3
Basic Tracing Skills.............................................................................................................20-4
Summary..............................................................................................................................20-11

Copyright © Oracle Corporation, 2000. All rights reserved.

R11i, Applications System Administration Diagnostics and Troubleshooting Case Study Table of
Contents
iii
Preface
Profile
Before You Begin This Course

Before you begin this course, you should have the following qualifications:

• Thorough knowledge of Oracle Applications System Administration

• Working experience with UNIX, Windows NT, Oracle, Oracle Forms,


Oracle Reports, and ERDs.

Prerequisites

• There are no prerequisites for this course.

How This Course Is Organized

R11i, Applications System Administration Diagnostics and Troubleshooting Case


Study is an facilitated or self-directed course featuring lecture. Students are
expected to bring their own experiences to the course, and to explore new areas of
learning. As such, exercises are dependent upon the student, and part of the
learning is deciding upon appropriate exercises. Online demonstrations reinforce
the concepts and skills introduced.

Copyright © Oracle Corporation, 2000. All rights reserved.

R11i, Applications System Administration Diagnostics and Troubleshooting Case Study Table of
Contents
v
Related Publications
Oracle Publications

Title Part Number

Installing Oracle Applications, Release 11i A69409

Maintaining Oracle Applications, Release 11i A83525

Oracle Applications Concepts A82932

Upgrading Oracle Applications, Release 11i A69411

Oracle Applications Flexfields Guide A75393

Oracle Applications Messages Manual NA

Oracle Applications System Administrator's Guide A75396

Oracle Applications User's Guide A75394

Oracle Applications Developer's Guide A75545

Oracle Applications User Interface Standards for A75395

Forms-Based Products

Oracle Alert User's Guide A75398

Oracle Self-Service Web Applications A75399

Implementation Manual

Oracle Workflow Guide A75397

Additional Publications

• System release bulletins

• Installation and user’s guides

• read.me files

• Oracle Magazine

Copyright © Oracle Corporation, 2000. All rights reserved.

R11i, Applications System Administration Diagnostics and Troubleshooting Case Study Table of
Contents
vi
Typographic Conventions
Typographic Conventions in Text

Convention Element Example


Bold italic Glossary term (if The algorithm inserts the new key.
there is a glossary)

Caps and Buttons, Click the Executable button.


lowercase check boxes, Select the Can’t Delete Card check box.
triggers, Assign a When-Validate-Item trigger to the
windows ORD block.
Open the Master Schedule window.

Courier new, Code output, Code output: debug.set (‘I”, 300);


case sensitive directory names, Directory: bin (DOS), $FMHOME (UNIX)
(default is filenames, Filename: Locate the init.ora file.
lowercase) passwords, Password: User tiger as your password.
pathnames, Pathname: Open c:\my_docs\projects
URLs, URL: Go to http://www.oracle.com
user input,
User input: Enter 300
usernames
Username: Log on as scott

Initial cap Graphics labels Customer address (but Oracle Payables)


(unless the term is a
proper noun)

Italic Emphasized words Do not save changes to the database.


and phrases, For further information, see Oracle7 Server
titles of books and SQL Language Reference Manual.
courses, Enter user_id@us.oracle.com,
variables where user_id is the name of the user.
Quotation Interface elements Select “Include a reusable module component”
marks with long names and click Finish.
that have only
initial caps; This subject is covered in Unit II, Lesson 3,
lesson and chapter “Working with Objects.”
titles in cross-
references

Uppercase SQL column Use the SELECT command to view


names, commands, information stored in the LAST_NAME
functions, schemas, column of the EMP table.
table names

Convention Element Example

Copyright © Oracle Corporation, 2000. All rights reserved.

R11i, Applications System Administration Diagnostics and Troubleshooting Case Study Table of
Contents
vii
Arrow Menu paths Select File—> Save.
Brackets Key names Press [Enter].

Commas Key sequences Press and release keys one at a time:


[Alternate], [F], [D]
Plus signs Key combinations Press and hold these keys simultaneously:
[Ctrl]+[Alt]+[Del]

Typographic Conventions in Code

Convention Element Example


Caps and Oracle Forms When-Validate-Item
lowercase triggers
Lowercase Column names, SELECT last_name
table names FROM s_emp;

Passwords DROP USER scott


IDENTIFIED BY tiger;
PL/SQL objects OG_ACTIVATE_LAYER
(OG_GET_LAYER
(‘prod_pie_layer’))

Lowercase Syntax variables CREATE ROLE role


italic
Uppercase SQL commands and SELECT userid
functions FROM emp;

Typographic Conventions in Navigation Paths

This course uses simplified navigation paths, such as the following example, to
direct you through Oracle Applications.

(N) Invoice > Entry > Invoice Batches Summary (M) Query > Find (B) Approve

This simplified path translates to the following:

1. (N) From the Navigator window, select Invoice > Entry > Invoice Batches
Summary.

2. (M) From the menu, select Query > Find.

3. (B) Click the Approve button.

Notations :

(N) = Navigator

(M) = Menu

Copyright © Oracle Corporation, 2000. All rights reserved.

R11i, Applications System Administration Diagnostics and Troubleshooting Case Study Table of
Contents
viii
(T) = Tab

(I) = Icon

(H) = Hyperlink

(B) = Button

Typographical Conventions in Help System Paths

This course uses a “navigation path” convention to represent actions you perform
to find pertinent information in the Oracle Applications Help System.

The following help navigation path, for example—

(Help) General Ledger > Journals > Enter Journals

—represents the following sequence of actions:

1. In the navigation frame of the help system window, expand the General
Ledger entry.

2. Under the General Ledger entry, expand Journals.

3. Under Journals, select Enter Journals.

4. Review the Enter Journals topic that appears in the document frame of the
help system window.

Getting Help
Oracle Applications provides you with a complete online help facility.

Whenever you need assistance, simply choose an item from the Help menu to
pinpoint the type of information you want.

To display help for a current window:

1. Choose Window Help from the Help menu, click the Help button on the
toolbar, or hold down the Control key and type 'h'.

A web browser window appears, containing search and navigation frames on


the left, and a frame that displays help documents on the right.

The document frame provides information on the window containing the


cursor. The navigation frame displays the top-level topics for your
responsibility, arranged in a tree control.

Copyright © Oracle Corporation, 2000. All rights reserved.

R11i, Applications System Administration Diagnostics and Troubleshooting Case Study Table of
Contents
ix
2. If the document frame contains a list of topics associated with the window,
click on a topic of interest to display more detailed information.

3. You can navigate to other topics of interest in the help system, or choose
Close from your web browser's File menu to close help.

Searching for Help

You can perform a search to find the Oracle Applications help information you
want. Simply enter your query in the text field located in the top-left frame of the
browser window when viewing help, then click the adjacent Find button.

A list of titles, ranked by relevance and linked to the documents in question, is


returned from your search in the right-hand document frame. Click on whichever
title seems to best answer your needs to display the complete document in this
frame. If the document doesn't fully answer your questions, use your browser's
Back button to return to the list of titles and try another.

Copyright © Oracle Corporation, 2000. All rights reserved.

R11i, Applications System Administration Diagnostics and Troubleshooting Case Study Table of
Contents
x
Introduction
Chapter 1

Copyright © Oracle Corporation, 2000. All rights reserved.

Introduction
Chapter 1 - Page 1
Introduction

Introduction
Introduction

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Introduction
Chapter 1 - Page 2
Objective

Objective
Objective

After
After this
this course,
course, you
you should
should be
be able
able to:
to:
•• Diagnose
Diagnose and
and Troubleshoot
Troubleshoot any
any Oracle
Oracle
Applications problem.
Applications problem.

Copyright  Oracle Corporation, 2000. All rights reserved.

Welcome to the R11i Oracle Applications System Administration


Diagnostics and Troubleshooting Case Study. This course is
fundamentally different from majority of courses that are available. It
differs in three fundamental ways.

One, this courses differs in that no attempt is made to unite the various
units other than under the System Administration umbrella. In fact, unlike
many courses, this course can be taught in any unit order. I do hope that
you've done this unit, the Introduction, first. Otherwise, you are free to
work your way through the modules in any order you decide.

Two, this course differs is in its objectives. Or should I say objective?


This course has only one objective, but it is quite significant. By the time
you get through this course, you will have an outstanding toolbox of tools
and methods that you can use to diagnose and troubleshoot any Oracle
Applications problem.

Does that mean that you know everything? Far from it. Please note the
words, diagnose and troubleshoot. The word, diagnose, means to
analyze the cause or nature of. The word, troubleshoot, means to
discover why something does not work effectively. Neither of these words
mean that the problem is fixed. Of course, in computer terms, the

Copyright © Oracle Corporation, 2000. All rights reserved.

Introduction
Chapter 1 - Page 3
assumption is that once you can identify a cause that it can and will be
fixed.

However, it is obvious that it is not intended or implied that you will be the
one to fix it. Might you have the skills to fix it? Maybe. But those are
skills that are outside of the scope of this course. Any overlap in the skills
should not be perceived as a ability to proceed into the arena of fixing
problems.

Three, this course differs in the use of lectures and course materials. The
lectures are intended merely as the starting points for discussion. I will
talk through the major points, and demonstrate many tools and
techniques. From there, I will leave you with hands-on exercises to
reinforce the real learning of the unit.

The tools and methods you get from this course will come as skills. Skills
must be practiced to become useful. You will become better at any given
skill the more you practice it. You, as the student, then have to decide
how much of your time you can and will invest in the learning of these
skills.

Here are some housekeeping notes that will help you as you go through
this course.

1. Sequence is unimportant. Go through these modules in


the order they interest you, or in the order you need them.
The order that I have picked, as the Curriculum Developer,
should not be considered as final. If you don't have an
opinion or need, feel free to use my sequencing.
2. Timing is unimportant. Use as much time on any module
as you need to master the skills. Also, for those skills you
may have already mastered, feel free to speed through the
module or skip it entirely.
3. Refer to the manual frequently. Your student guide has
been designed to be used as a quick reference. There
are no style points for this course, and there is no final
exam. You are encouraged to actively use the manual in
your day-to-day activities.
4. Be prepared to fail. Diagnostics and troubleshooting tools
methods are not guaranteed to work for you in every
circumstance. But remember, even if a tool or method

Copyright © Oracle Corporation, 2000. All rights reserved.

Introduction
Chapter 1 - Page 4
fails to pinpoint a problem, you have at the very least
learned where the problem is not. A failure to succeed
is not a failure to learn something.

Copyright © Oracle Corporation, 2000. All rights reserved.

Introduction
Chapter 1 - Page 5
Copyright © Oracle Corporation, 2000. All rights reserved.

Introduction
Chapter 1 - Page 6
Problem Solving
Chapter 2

Copyright © Oracle Corporation, 2000. All rights reserved.

Problem Solving
Chapter 2 - Page 1
Problem Solving

Problem
Problem Solving
Solving

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Problem Solving
Chapter 2 - Page 2
Objectives

Objectives
Objectives

After
After this
this unit,
unit, you
you should
should be
be able
able to:
to:
•• Define
Define aa problem
problem solving
solving framework
framework
•• Define
Define and
and understand
understand 1414 problem
problem solving
solving
thinking
thinking patterns
patterns
•• Begin
Begin to
to define
define your
your personal
personal problem
problem solving
solving
style
style

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Problem Solving
Chapter 2 - Page 3
Problem Solving Framework

Problem
Problem Solving
Solving Framework
Framework

•• PLAN
PLAN
•• DO
DO
•• CHECK
CHECK
•• ACT
ACT

Copyright  Oracle Corporation, 2000. All rights reserved.

Plan … Do … Check … Act … or PDCA, may seem like a simple


framework. It is! Why? Problem solving is not necessarily logical or
rational. Creativity and flexibility are important aspects of problem solving.
Any framework has to be little more than a rough stretched circle within
which you might find something useful. Or, with which, you can reform the
framework to fit any circumstance. PDCA is just such a framework.

Each of the 4 steps of PDCA is quite simple.

Step 1 is PLAN. You will establish a plan for improvement based upon a
study, preferrably data-based, of the current situation.

Step 2 is DO. You test the plan on a small scale. In the Oracle world, this
implies a test system or something similar.

Step 3 is CHECK. You check to see if the trial produced the expected
results. Have you obtained the results you expected? Have you
pinpointed the problem? Has the problem been solved?

Step 4 is ACT. You reflect on what has been learned to decide what you
will continue doing. If it has solved the problem, will you roll this out to the

Copyright © Oracle Corporation, 2000. All rights reserved.

Problem Solving
Chapter 2 - Page 4
production systems? If it has pinpointed the problem, do you have
enough information to log a bug?

Copyright © Oracle Corporation, 2000. All rights reserved.

Problem Solving
Chapter 2 - Page 5
Terminology of Problem Solving

Terminology
Terminology of
of Problem
Problem Solving
Solving

•• Purpose
Purpose
•• Situation
Situation
•• Problem
Problem
•• Cause
Cause
•• Solvable
Solvable Cause
Cause
•• Issue
Issue
•• Solution
Solution

Copyright  Oracle Corporation, 2000. All rights reserved.

Purpose

Purpose is what we want to do. The first step of problem solving is to


confirm purpose.

Situation

Situation is a statement of "what is." Situation is neither good nor bad.


We must try to accurately capture the situation without bias towards a
problem. If we assume that a situation is a problem, our problem solving
will be hampered.

Problem

A problem is a part of a situation which is not doing what we want (i.e., not
realizing its purpose.)

Cause

Cause is what makes a problem. Causes are the specific facts behind a
problem.

Copyright © Oracle Corporation, 2000. All rights reserved.

Problem Solving
Chapter 2 - Page 6
Solvable Cause

Solvable causes are a subset of causes. If we don't limit our problem


solving to solvable causes, we will waste time. However, the problem
solver should be careful in deciding solvability. It should be the last
decision to be made in the process.

Issue

Issue is a positive expression, and is the opposite of a problem. If the


problem is that we have a flat tire, the issue is that we fix the flat tire.
Problems should be negative expressions, and issues should be positive
expressions.

Solution

Solution is a specific action to solve a problem.

Copyright © Oracle Corporation, 2000. All rights reserved.

Problem Solving
Chapter 2 - Page 7
Problem Solving Thinking Patterns

Problem
Problem Solving
Solving Thinking
Thinking Patterns
Patterns

•• Strategic
Strategic thinking
thinking
•• Emotional
Emotional thinking
thinking
•• Realistic
Realistic thinking
thinking
•• Empirical
Empirical thinking
thinking
•• Rational
Rational thinking
thinking
•• Systems
Systems thinking
thinking
•• Cause
Cause &
& effect
effect thinking
thinking
•• Contingent
Contingent thinking
thinking
•• Five
Five times
times why
why

Copyright  Oracle Corporation, 2000. All rights reserved.

I'd like to give you a single problem solving method, and tell you to use
that for every problem. More importantly, I'd like to be able to tell you that
the method I gave you was 100% successful in solving any Oracle
problem. I'd like to give you all of this, but I can't.

Problem solving, as regards Oracle problems, is not necessarily a rational


process. No two of us are going to think alike. Nor, would it suit us to
enforce a rigid methodology of thinking (like some math teachers have
tried). Rather, we will embrace multiple thought processes, and make us
all aware of their existence.

Some of these processes will work faster than others in some situations.
In differing situations, those same successful processes will lead you into
dead-ends. The more processes you have for working through a process,
the more likely you are to be successful.

We are going to call the processes for solving problems, thinking patterns.
As you read through these thinking patterns, keep in mind that some may
be more readily applicable to your typical problems than others. However,
all of these thinking patterns are useful additions to your problem solving
toolbox.

Copyright © Oracle Corporation, 2000. All rights reserved.

Problem Solving
Chapter 2 - Page 8
The first four thinking patterns will help you evaluate if your thinking is right
or wrong. We will call these Judgement Thinking Patterns.

Strategic thinking

Judging a situation to be good or bad based on whether it is focused or


not. Something is focused if the situation can be clearly perceived. A
strategy is not necessarily strategic.

Emotional thinking

Judging a situation to be good or bad based on the emotional commitment


of the participants. If the participants are positive in a situation, the
situation is good.

Realistic thinking

1. Start from what we can do


2. Fix the essential problem first

In thinking about the essential problem, remember the 80/20 rule. 80% of
the problems are caused by 20% of the causes.

Empirical thinking

Judging a situation to be good or bad based on our past experiences.

Rational thinking

Judging a problem and its solution by working through a consistent


method.

1. Define the ideal situation


2. Define the current situation
3. Compare the ideal situation to the current situation, and
identify the problem.
4. Identify the causes of the problem.
5. Define possible solutions to the problem.
6. Evaluate the choices of solutions, and pick one to implement.
7. Implement the solution.

Copyright © Oracle Corporation, 2000. All rights reserved.

Problem Solving
Chapter 2 - Page 9
Next, we want to look at methods of thinking. While not perfect, these
methods may be used to reduce the frustration and dead-ends of problem
solving without a methodology. We will call these Process Thinking
Patterns.

Systems thinking

Judging a problem and its solutions by analyzing them based on systems'


functions.

System
Purpose
Input
Output
Function
Inside cause (Solvable cause)
Outside cause (Unsolvable cause)
Result

This may also be called a blackbox approach. You define the inputs to the
system and outputs from the system. From those definitions, you can
define the function of the system.

Cause & effect thinking

Cause and effect relationships are amongst the most basic problem
solving methods.

Contingent thinking

Juding a problem and its solution by thinking about as many situations as


possible, and then preparing solutions for each of those situations. Game
theory is a common example.

Five times why.

Judging a problem and its solution by consecutively asking "Why?" at


least five time to identify a cause. This method breaks down causes into
very specific facts.

Copyright © Oracle Corporation, 2000. All rights reserved.

Problem Solving
Chapter 2 - Page 10
Problem Solving Thinking Patterns

Problem
Problem Solving
Solving Thinking
Thinking Patterns
Patterns

•• Hypothesis
Hypothesis thinking
thinking
•• Conception
Conception thinking
thinking
•• Structure
Structure thinking
thinking
•• Convergence
Convergence & & divergence
divergence thinking
thinking
•• Time
Time order
order thinking
thinking

Copyright  Oracle Corporation, 2000. All rights reserved.

In order to arrive at solutions to our problems in a most efficient manner,


there are thinking patterns that will assist you. We will call these Efficient
Thinking Patterns.

Hypothesis thinking

Working through a problem and its solution by developing a hypothesis


based on the available information. We then collect a minimum of
information to support our hypothesis. If we are right, we don't have to
collect any more information. If we are wrong, we develop a new
hypothesis, and we continue through the cycle. This method is useful
because it eliminate collecting more information than you need to solve a
problem.

Conception thinking

Problem solving may not be rational or logical, and may need a healthy
dose of creativity. Conception thinking taps into the creative aspects of
our thought process by uses the following skills.

1. DRAW the parts of the problem (typically on cards)


2. LABEL what you think

Copyright © Oracle Corporation, 2000. All rights reserved.

Problem Solving
Chapter 2 - Page 11
3. DEFINE what you know or don't know.
4. ARRANGE the problem (i.e., cards) in many ways to change
positions, forms, viewpoints, etc.
5. SOLVE the problem

Structure thinking

Use a structure, like a tree or circle, to define a situation and its complex
interrelations. High-level structures should be abstract, and low-level
structures should be more concrete.

Contrast and Compare thinking

This is a very basic thinking method. We should use care to make certain
that we are only use 1 or the other at any given time. If we try to contrast
and compare at the same time, problem solving will become inefficient.

Time order thinking

Thinking about what happened to a system at any given moment in time.


Thinking about a complex problem from the past to the present can add
significant clarity.

Copyright © Oracle Corporation, 2000. All rights reserved.

Problem Solving
Chapter 2 - Page 12
Summary

Summary
Summary

You
You should
should feel
feel comfortable
comfortable with
with the
the following
following
statements
statements about
about your
your knowledge:
knowledge:
•• II know
know and
and can
can use
use the
the PDCA
PDCA framework
framework forfor
problem solving.
problem solving.
•• II know
know the
the basic
basic terminology
terminology of
of problem
problem solving.
solving.
•• II know
know 14
14 patterns
patterns for
for thinking.
thinking.
•• II have
have begun
begun toto develop
develop mymy own
own methodology
methodology for
for
problem solving.
problem solving.

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Problem Solving
Chapter 2 - Page 13
Copyright © Oracle Corporation, 2000. All rights reserved.

Problem Solving
Chapter 2 - Page 14
Reading and Understanding
Entity Relationship Diagrams
Chapter 3

Copyright © Oracle Corporation, 2000. All rights reserved.

Reading and Understanding Entity Relationship Diagrams


Chapter 3 - Page 1
Reading and Understanding Entity Relationship
Diagrams

Reading
Reading and
and Understanding
Understanding
Entity
Entity Relationship
Relationship Diagrams
Diagrams

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Reading and Understanding Entity Relationship Diagrams


Chapter 3 - Page 2
Objectives

Objectives
Objectives

After
After this
this unit,
unit, you
you should
should be
be able
able to:
to:
•• Read
Read and
and understand
understand Entity
Entity Relationship
Relationship
Diagrams (ERDs).
Diagrams (ERDs).
•• Read
Read and
and understand
understand the
the Oracle
Oracle Applications
Applications
Technology
Technology ERDs.
ERDs.

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Reading and Understanding Entity Relationship Diagrams


Chapter 3 - Page 3
Entity Relationship Diagrams (ERDs)

Entity
Entity Relationship
Relationship Diagrams
Diagrams (ERDs)
(ERDs)

•• ItIt describes
describes exactly
exactly the
the information
information needs
needs of
of the
the
business.
business.
•• ItIt facilitates
facilitates discussion.
discussion.
•• ItIt helps
helps to
to prevent
prevent mistakes,
mistakes, misunderstanding.
misunderstanding.
•• ItIt forms
forms important
important “Technical
“Technical Reference”
Reference”
documentation.
documentation.
•• ItIt is
is the
the basis
basis for
for the
the physical
physical creation
creation of
of database
database
objects within the Oracle Applications database.
objects within the Oracle Applications database.

Copyright  Oracle Corporation, 2000. All rights reserved.

Entity Relationship Diagrams, or ERDs, emerged from the work of Dr.


Peter Chen and others during the 1970s. They were looking for a means
to simplify the representation of large and complex data storage concepts.

ERDs are conceptual models that show entities and relationships. While it
really is that simple, we should answer the question, why?

Copyright © Oracle Corporation, 2000. All rights reserved.

Reading and Understanding Entity Relationship Diagrams


Chapter 3 - Page 4
What is an Entity?

What
What is
is an
an Entity?
Entity?

•• An
An Entity
Entity is:
is:
–– “Something”
“Something” of of significance
significance to
to the
the business
business
about which data must be
about which data must be known.known.
–– A
A name
name forfor the
the things
things that
that you
you can
can list.
list.
–– Usually
Usually aa noun.
noun.
•• Examples:
Examples: objects,
objects, events
events
•• Entities
Entities have
have instances.
instances.

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Reading and Understanding Entity Relationship Diagrams


Chapter 3 - Page 5
Entities and Instances

Entities
Entities and
and Instances
Instances

PERSON
PERSON Mahatma
Mahatma Gandhi
Gandhi
PRODUCT
PRODUCT 2.5
2.5 x 35 mm copper
x 35 mm copper nail
nail
PRODUCT
PRODUCT TYPE
TYPE nail
nail
EMPLOYMENT
EMPLOYMENT CONTRACT
CONTRACT my
my previous
previous contract
contract
JOB
JOB violinist
violinist
SKILL
SKILL LEVEL
LEVEL fluent
fluent
TICKET
TICKET RESERVATION
RESERVATION tonight:
tonight: Hamlet
Hamlet in
in the
the Royal
Royal
PURCHASE
PURCHASE the
the CD
CD II bought
bought yesterday
yesterday
ELECTION
ELECTION for
for parliament
parliament next
next fall
fall
PRINTER
PRINTER PREFERENCE
PREFERENCE …

DOCUMENT
DOCUMENT VERSION
VERSION ...
...
®

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Reading and Understanding Entity Relationship Diagrams


Chapter 3 - Page 6
Attributes

Attributes
Attributes

•• Also
Also represents
represents something
something ofof significance
significance to
to the
the
business
business
•• Is
Is aa single
single valued
valued property
property detail
detail of
of an
an entity
entity
•• Is
Is aa specific
specific piece
piece of
of information
information that:
that:
–– Describes
Describes
–– Quantifies
Quantifies
–– Qualifies
Qualifies
–– Classifies
Classifies
–– Specifies
Specifies
an
an entity.
entity.
®

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Reading and Understanding Entity Relationship Diagrams


Chapter 3 - Page 7
Relationships

Relationships
Relationships

•• Also
Also represent
represent something
something ofof significance
significance to
to the
the
business
business
•• Express
Express how
how entities
entities are
are mutually
mutually related
related
•• Always
Always exist
exist between
between two
two entities
entities (or
(or one
one entity
entity
twice)
twice)
•• Always
Always have
have two
two perspectives
perspectives
•• Are
Are named
named at
at both
both ends
ends

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Reading and Understanding Entity Relationship Diagrams


Chapter 3 - Page 8
Relationships

Relationships
Relationships
JOB manager
EMPLOYEE cook
Shintaro waitress
dish washer
Jill financial controller
Adam
Ahmed porter
waiter
Maria
piano player

Numerical
Numerical observation:
observation:
•• All
All EMPLOYEES
EMPLOYEES have
have aa JOB
JOB
•• No
No EMPLOYEE
EMPLOYEE hashas more
more than
than one
one JOB
JOB
•• Not
Not all
all JOBS
JOBS are
are held
held by
by an
an EMPLOYEE
EMPLOYEE
•• Some
Some JOBS
JOBS are
are held
held by
by more
more than
than one
one EMPLOYEE
EMPLOYEE
®

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Reading and Understanding Entity Relationship Diagrams


Chapter 3 - Page 9
Drawing Entities in ERDs

Drawing
Drawing Entities
Entities in
in ERDs
ERDs

•• Drawn
Drawn as
as aa “softbox”
“softbox”
•• Name
Name singular
singular
EMPLOYEE JOB
•• Name
Name inside
inside

ELECTION
•• Neither
Neither size,
size,
nor
nor position
position
has
has aa special
special TICKET
meaning
meaning ORDER
RESERVATION

JOB ASSIGNMENT

During design, entities usually lead to tables.


®

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Reading and Understanding Entity Relationship Diagrams


Chapter 3 - Page 10
Drawing Attributes in ERDs

Drawing
Drawing Attributes
Attributes in
in ERDs
ERDs

EMPLOYEE JOB
* Family Name * Title
* Address o Description
o Birth Date
o Shoe Size
o Email

Mandatory attribute, that is, known and


* available for every instance
o Optional attribute, that is, unknown or
unimportant to know for some instances

During design, attributes lead to columns.


®

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Reading and Understanding Entity Relationship Diagrams


Chapter 3 - Page 11
Drawing Relationships in ERDs

Drawing
Drawing Relationships
Relationships in
in ERDs
ERDs

An employee has exactly one job

EMPLOYEE JOB
has
held by

Jobs are held by one or more employees

During design, relationships lead to foreign keys.


®

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Reading and Understanding Entity Relationship Diagrams


Chapter 3 - Page 12
Perspectives of Relationships in ERDs

Perspectives
Perspectives of
of Relationships
Relationships in
in ERDs
ERDs

mandatory:
mandatory: optional:
optional:

EMPLOYEE has JOB

held by

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Reading and Understanding Entity Relationship Diagrams


Chapter 3 - Page 13
Reading Relationships in ERDs

Reading
Reading Relationships
Relationships in
in ERDs
ERDs

P split into Q
part of

“Each P may be split into one or more Qs”

“Each Q must be part of exactly one P”


®

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Reading and Understanding Entity Relationship Diagrams


Chapter 3 - Page 14
Elements of an Oracle Applications ERD

Elements
Elements of
of an
an Oracle
Oracle Applications
Applications ERD
ERD

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Reading and Understanding Entity Relationship Diagrams


Chapter 3 - Page 15
Copyright © Oracle Corporation, 2000. All rights reserved.

Reading and Understanding Entity Relationship Diagrams


Chapter 3 - Page 16
Summary

Summary
Summary

You
You should
should feel
feel comfortable
comfortable with
with the
the following
following
statements
statements about
about your
your knowledge
knowledge ofof Entity
Entity
Relationship
Relationship Diagrams:
Diagrams:
•• II can
can read
read and
and understand
understand Entity
Entity Relationship
Relationship
Diagrams (ERDs)
Diagrams (ERDs)
•• II can
can read
read and
and understand
understand the
the Oracle
Oracle Applications
Applications
Technology
Technology ERDs.
ERDs.

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Reading and Understanding Entity Relationship Diagrams


Chapter 3 - Page 17
Copyright © Oracle Corporation, 2000. All rights reserved.

Reading and Understanding Entity Relationship Diagrams


Chapter 3 - Page 18
Basic Applications
Diagnostics and
Troubleshooting Tools
Chapter 4

Copyright © Oracle Corporation, 2000. All rights reserved.

Basic Applications Diagnostics and Troubleshooting Tools


Chapter 4 - Page 1
Basic Applications Diagnostics and Troubleshooting
Tools

Basic
Basic Applications
Applications Diagnostics
Diagnostics and
and
Troubleshooting
Troubleshooting Tools
Tools

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Basic Applications Diagnostics and Troubleshooting Tools


Chapter 4 - Page 2
Objectives

Objectives
Objectives

After
After this
this lesson,
lesson, you
you should
should bebe able
able to:
to:
•• Use
Use the
the basic
basic tools
tools built-in
built-in to
to Oracle
Oracle Applications
Applications
for diagnostics and troubleshooting
for diagnostics and troubleshooting

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Basic Applications Diagnostics and Troubleshooting Tools


Chapter 4 - Page 3
Basic Applications Tools

Basic
Basic Applications
Applications Tools
Tools

•• (Help)
(Help) About
About Oracle
Oracle Applications
Applications
•• (Help)
(Help) Record
Record History
History
•• (Help) Diagnostics è
(Help) Diagnostics è Examine
Examine
•• (Help) Diagnostics è
(Help) Diagnostics è Examine
Examine …
… choose
choose
$DESCRIPTIVE_FLEXFIELD$
$DESCRIPTIVE_FLEXFIELD$ block
block
•• (Help) Diagnostics è
(Help) Diagnostics è Examine
Examine …
… choose
choose
$ENVIRONMENT$ block
$ENVIRONMENT$ block
•• (Help) Diagnostics è
(Help) Diagnostics è Examine
Examine …
… choose
choose
$PROFILES$
$PROFILES$ block
block
•• (Help) Diagnostics è
(Help) Diagnostics è Examine
Examine …
… choose
choose
$PROFILES$ block
$PROFILES$ block

Copyright  Oracle Corporation, 2000. All rights reserved.

Basic Applications Tools

As a refresher, you may have forgotten some of the simple diagnostic and
probing tools built directly into Oracle Applications.

1. From the menu … (Help) About Oracle Applications


Prime Use: Shows Applications version, Form shortname, Form
version

2. From the menu … (Help) Record History


Prime Use: Shows primary table/view form is using

3. From the menu … (Help) Diagnostics -> Examine


Prime Use: Shows values of fields not visible on form

4. From the menu … (Help) Diagnostics -> Examine … choose


$DESCRIPTIVE_FLEXFIELD$ block
Prime Use: Shows user-friendly names of Descriptive Flexfields

5. From the menu … (Help) Diagnostics -> Examine … choose

Copyright © Oracle Corporation, 2000. All rights reserved.

Basic Applications Diagnostics and Troubleshooting Tools


Chapter 4 - Page 4
$ENVIRONMENT$ block
Prime Use: Shows values of primary environment variables

6. From the menu … (Help) Diagnostics -> Examine … choose


$PROFILES$ block
Prime Use: Shows value in effect for any given profile option for
that user.

7. From the menu … (Help) Diagnostics -> Examine … choose


SYSTEM block and LAST_QUERY field.
Prime Use: Shows the SELECT statement that was last
executed by your form.
Note: Should also mention the FORM_STATUS and
ERROR_ITEM fields in this block.

Copyright © Oracle Corporation, 2000. All rights reserved.

Basic Applications Diagnostics and Troubleshooting Tools


Chapter 4 - Page 5
Basic Applications Tools

Basic
Basic Applications
Applications Tools
Tools

•• (Help) Diagnostics è
(Help) Diagnostics è Display
Display Database
Database Error
Error
•• (Help) Diagnostics è
(Help) Diagnostics Properties è
è Properties èItem
Item
•• (Help) Diagnostics è
(Help) Diagnostics è Trace
Trace (checkbox)
(checkbox)
•• (Navigate) Concurrent è
(Navigate) Concurrent Program è
è Program èDefine
Define
•• Utilities:
Utilities: SQL
SQL Trace
Trace profile
profile option
option
•• Application
Application Developer
Developer responsibility
responsibility

Copyright  Oracle Corporation, 2000. All rights reserved.

8. From the menu … (Help) Diagnostics -> Display Database Error


Prime Use: Shows any database error message

9. From the menu … (Help) Diagnostics -> Properties -> Item


Prime Use: Shows forms canvas to which a field belongs

10. From the menu … (Help) Diagnostics -> Trace (checkbox)


Prime Use: Turning on/off forms tracing. Trace file (*.trc) is put
into user_dump_dest. If user does not know value of
user_dump_dest, they can look at the init.ora file
($ORACLE_HOME/dbs) or run this statement.

select name, value from v$parameter


where name = ‘user_dump_dest’;

11. (Navigate) Concurrent -> Program -> Define


Prime Use: You can do two things here. You can check the
"Enable Trace" checkbox. This will turn on SQL tracing at
the session level for the program. For Oracle Reports, you
can also put the line "TRACEOPTS=TRACE_ALL" into the

Copyright © Oracle Corporation, 2000. All rights reserved.

Basic Applications Diagnostics and Troubleshooting Tools


Chapter 4 - Page 6
"Options" field. This will do Reports runtime tracing.

12. Set the “Utilities: SQL Trace” profile option. This profile option
can only be set by the System Administrator.

13. Log on as Applications Developer responsibility,


A. (Navigate) Concurrent -> Programs
to see all concurrent programs
B. (Navigate) Application -> Form
to see all forms
C. (Navigate) Application -> Messages
to see Apps. Error messages
D. (Navigate) Application -> Database -> Tables
to see all tables
E. (Navigate) Application -> Database -> Sequence
to see all sequences
F. (Navigate) Application -> Database -> View
to see all views

Copyright © Oracle Corporation, 2000. All rights reserved.

Basic Applications Diagnostics and Troubleshooting Tools


Chapter 4 - Page 7
Summary

Summary
Summary

You
You should
should feel
feel comfortable
comfortable with
with the
the following
following
statements
statements about
about your
your knowledge:
knowledge:
•• II can
can use
use the
the basic
basic tools
tools built-in
built-in to
to Oracle
Oracle
Applications
Applications for diagnostics and troubleshooting.
for diagnostics and troubleshooting.

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Basic Applications Diagnostics and Troubleshooting Tools


Chapter 4 - Page 8
Useful Scripts
Chapter 5

Copyright © Oracle Corporation, 2000. All rights reserved.

Useful Scripts
Chapter 5 - Page 1
Useful Scripts

Useful
Useful Scripts
Scripts

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Useful Scripts
Chapter 5 - Page 2
Objectives

Objectives
Objectives

After
After this
this lesson,
lesson, you
you should
should be
be able
able to:
to:
•• Run
Run and
and understand
understand Oracle
Oracle SQL
SQL scripts
scripts that
that probe
probe
Oracle database objects.
Oracle database objects.
•• Identify
Identify and
and understand
understand the
the major
major configuration
configuration
files
files used
used with
with Oracle
Oracle Applications.
Applications.
•• Run
Run and
and understand
understand Oracle
Oracle Applications
Applications server
server
control
control scripts.
scripts.

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Useful Scripts
Chapter 5 - Page 3
Diagnostic Database Scripts

Diagnostic
Diagnostic Database
Database Scripts
Scripts

•• Describe
Describe Database
Database Space
Space
•• Describe
Describe Data
Data Files
Files
•• Describe
Describe aa Database
Database Object
Object
•• Count
Count Database
Database Objects
Objects by
by Type
Type
•• Table
Table Definitions
Definitions
•• Describe
Describe Tablespace
Tablespace
•• Describe
Describe Database
Database Users
Users

Copyright  Oracle Corporation, 2000. All rights reserved.

There are numerous scripts that one could run to explore and probe the
database objects contained within an Oracle Applications database. This
section covers a few of the more important scripts. Appendix A provides
you with a more detailed listing, and a link to where those scripts can be
downloaded.

In addition to these custom scripts, there are many scripts that Oracle has
provided to the customers that are shipped with Oracle Applications.
These scripts are kept in the $AD_TOP/sql directory, and are discussed in
this section as well.

SCRIPT = Describe Database Space filename = ddbspace.sql

rem ddbspace.sql
rem
ttitle 'Database Size and Free Space'
rem
col tablespace_name format a15 heading 'TABLESPACE'
col file_id format 999 heading 'ID'
col file_bytes format 999,999,999 heading 'FILE SIZE|(K)'
col free_extents format 9,999 heading 'FREE|EXTENT'
col free_bytes format 999,999,999 heading 'FREE SIZE|(K)'
col free_pct format 999 heading 'FREE|PCT'

Copyright © Oracle Corporation, 2000. All rights reserved.

Useful Scripts
Chapter 5 - Page 4
col free_blocks format 9,999,999 heading 'FREE|BLOCKS'
col max_free_blocks format 9,999,999 heading 'MAX FREE|BLOCKS'
rem
break on report on tablespace_name skip 1
compute sum of file_bytes free_extents free_bytes free_blocks -
on report tablespace_name
compute count of file_id on report
rem
select df.tablespace_name, df.file_id,
df.bytes/1024 file_bytes,
count(fs.file_id) free_extents,
sum(fs.bytes)/1024 free_bytes,
sum(fs.bytes) * 100 / df.bytes free_pct,
sum(fs.blocks) free_blocks,
max(fs.blocks) max_free_blocks
from sys.dba_free_space fs, sys.dba_data_files df
where df.file_id = fs.file_id(+)
and df.tablespace_name like upper('&tablespace')
group by df.tablespace_name, df.file_id, df.bytes
order by df.tablespace_name, df.file_id;

SCRIPT = Describe Data Files filename = dfile.sql

rem dfile.sql
rem
set linesize 132
rem
ttitle 'Data Files by Tablespace'
rem
col tablespace_name format a15 heading 'TABLESPACE'
col file_id format 9999 heading 'ID'
col bytes format 9,999,999,999,999 heading 'BYTES'
col blocks format 9,999,999 heading 'BLOCKS'
col status format a9 heading 'STATUS'
col file_name format a65 heading 'FILE NAME'
rem
break on report on tablespace_name skip 1
compute sum of bytes blocks on report tablespace_name
rem
select tablespace_name, file_id, bytes, blocks, status,
file_name
from sys.dba_data_files
order by tablespace_name, file_id;
rem
set linesize 80

Copyright © Oracle Corporation, 2000. All rights reserved.

Useful Scripts
Chapter 5 - Page 5
SCRIPT = Describe a Database Objectfilename = dobject.sql

rem dobject.sql
rem
ttitle 'Database Objects'
rem
col owner format a12 heading 'OWNER'
col object_name format a30 heading 'OBJECT NAME'
rem col object_id format 99999 heading 'ID'
col object_type format a13 heading 'OBJECT TYPE'
col created format a9 heading 'CREATED'
col modified format a9 heading 'MODIFIED'
col status format a1 heading 'S'
rem
break on owner skip 1
rem
select owner, object_name, object_type, created,
decode( last_ddl_time, created, null, last_ddl_time ) modified,
decode( status, 'VALID', null, 'INVALID', 'I', '?' ) status
from sys.dba_objects
where owner like upper('&owner')
and object_type like upper('&type')
and object_name like upper('&object')
order by owner, object_name;

SCRIPT = Count Db Objs by Type filename = dobjcnts.sql

rem dobjcnts.sql
rem
set linesize 132
rem
ttitle 'Data Dictionary Object Summary by Owner/Type'
rem
col owner format a12 heading 'OWNER'
col total_count format 999999 heading 'TOTAL'
col cluster_count format 99 heading 'CLU'
col table_count format 99999 heading 'TABLE'
col index_count format 99999 heading 'INDEX'
col view_count format 99999 heading 'VIEW'
col synonym_count format 999999 heading 'SYNONYM'
col sequence_count format 9999 heading 'SEQ'
col dblink_count format 999 heading 'DB|LINK'
col trigger_count format 9999 heading 'TRIG'
col procedure_count format 9999 heading 'PROC'

Copyright © Oracle Corporation, 2000. All rights reserved.

Useful Scripts
Chapter 5 - Page 6
col function_count format 9999 heading 'FUNC'
col package_count format 99999 heading 'PACK'
col package_body_count format 99999 heading 'PACK|BODY'
col type_count format 999 heading 'TYPE'
col type_body_count format 999 heading 'TYPE|BODY'
col library_count format 99 heading 'LIB'
col undefined_count format 99 heading 'UND'
rem
break on report
compute count sum -
of total_count undefined_count cluster_count table_count
index_count -
view_count synonym_count sequence_count dblink_count
trigger_count -
procedure_count function_count package_body_count
package_count -
type_count type_body_count library_count -
on report
rem
select owner, count(*) total_count,
sum(decode( object_type, 'UNDEFINED', 1 )) undefined_count,
sum(decode( object_type, 'CLUSTER', 1 )) cluster_count,
sum(decode( object_type, 'TABLE', 1 )) table_count,
sum(decode( object_type, 'INDEX', 1 )) index_count,
sum(decode( object_type, 'VIEW', 1 )) view_count,
sum(decode( object_type, 'SYNONYM', 1 )) synonym_count,
sum(decode( object_type, 'SEQUENCE', 1 )) sequence_count,
sum(decode( object_type, 'DATABASE LINK', 1 )) dblink_count,
sum(decode( object_type, 'TRIGGER', 1 )) trigger_count,
sum(decode( object_type, 'PROCEDURE', 1 )) procedure_count,
sum(decode( object_type, 'FUNCTION', 1 )) function_count,
sum(decode( object_type, 'PACKAGE', 1 )) package_count,
sum(decode( object_type, 'PACKAGE BODY', 1 ))
package_body_count,
sum(decode( object_type, 'TYPE', 1 )) type_count,
sum(decode( object_type, 'TYPE BODY', 1 )) type_body_count,
sum(decode( object_type, 'LIBRARY', 1 )) library_count
from sys.dba_objects
where owner like upper('&owner')
group by owner;
rem
set linesize 80

SCRIPT = Table Definitions filename = dtcol80.sql

Copyright © Oracle Corporation, 2000. All rights reserved.

Useful Scripts
Chapter 5 - Page 7
rem dtcol80.sql
rem
ttitle 'Table Definitions'
col owner format a8 heading 'OWNER'
col table_name format a24 heading 'TABLE NAME'
col column_id format 999 heading 'ID'
col nullable format a1 heading 'N'
col column_name format a24 heading 'COLUMN NAME'
col data_type format a14 heading 'DATA TYPE'
rem
break on owner on table_name skip 1
rem
select owner, table_name, column_id,
decode( nullable, 'N', 'N', null ) nullable,
column_name, data_type ||
decode( data_type,
'VARCHAR2', '(' || to_char(data_length) || ')',
'DATE', null,
'NUMBER', decode( data_precision, null, null,
'(' || to_char(data_precision) ||
decode( data_scale, null, null, 0, null,
',' || to_char(data_scale) ) || ')' ),
'CHAR', '(' || to_char(data_length) || ')',
'VARCHAR', '(' || to_char(data_length) || ')',
'RAW', '(' || to_char(data_length) || ')'
) data_type
from sys.dba_tab_columns
where owner like upper('&owner')
and table_name like upper('&table')
and column_name like upper('&column')
order by owner, table_name, column_id;

SCRIPT = Describe Tablespace filename = dtspace.sql

rem dtspace.sql
rem
ttitle 'Tablespace Definitions'
col contents format a9 heading 'CONTENTS'
col status format a9 heading 'STATUS'
col tablespace_name format a25 heading 'TABLESPACE'
col initial_extent format 999,999 heading 'INITIAL|EXTENT|(K)'
col next_extent format 999,999 heading 'NEXT|EXTENT|(K)'
col min_extents format 99 heading 'MIN|EXT'
col max_extents format 999999 heading 'MAX|EXT'
col pct_increase format 999 heading 'PCT|INC'

Copyright © Oracle Corporation, 2000. All rights reserved.

Useful Scripts
Chapter 5 - Page 8
rem
select decode( contents, 'PERMANENT', null, contents ) contents,
decode( status, 'ONLINE', null, status ) status,
tablespace_name,
initial_extent/1024 initial_extent,
next_extent/1024 next_extent,
min_extents,
max_extents,
pct_increase
from sys.dba_tablespaces
where tablespace_name like upper('&tablespace')
order by tablespace_name;

SCRIPT = Descibe Database Users filename = duser.sql

rem duser.sql
rem
ttitle 'Database Users'
rem
col user_id format 9990 heading 'ID'
col username format a12 heading 'USERNAME'
col dt format a1 heading ''
col default_tablespace format a15 heading 'DEFAULT'
col tt format a1 heading ''
col temporary_tablespace format a12 heading 'TEMPORARY'
col profile format a18 heading 'PROFILE'
col created format a9 heading 'CREATED'
rem
select user_id, username,
decode( default_tablespace, 'SYSTEM', '*', null ) dt,
default_tablespace,
decode( temporary_tablespace, 'SYSTEM', '*', null ) tt,
temporary_tablespace,
profile, created
from sys.dba_users
where username like upper('&user')
order by username;

Copyright © Oracle Corporation, 2000. All rights reserved.

Useful Scripts
Chapter 5 - Page 9
Diagnostic Applications Scripts

Diagnostic
Diagnostic Applications
Applications Scripts
Scripts

•• Check
Check and
and List
List Compilation
Compilation Errors
Errors
•• List
List Job
Job Timing
Timing Information
Information
•• Count
Count Objects
Objects by
by Type
Type
•• Applications
Applications Configuration
Configuration Script
Script
•• List
List Product
Product Dependencies
Dependencies
•• List
List Pinned
Pinned Objects
Objects
•• Report
Report Database
Database Configuration
Configuration
•• Report
Report Table
Table Sizes
Sizes
•• Show
Show Imminent
Imminent Extent
Extent Failure
Failure
•• Show
Show User
User Space
Space
®

Copyright  Oracle Corporation, 2000. All rights reserved.

In addition to the SQL Scripts shown in the previous section, there are
numerous scripts that are shipped with the Application. These scripts are
stored in the $AD_TOP/sql directory.

SCRIPT = Check and List Compilation Errors filename = aderrch2.sql

REM $Header: aderrch2.sql 115.0 1998/04/24 16:42:06 appldev ship $


REM +======================================================================+
REM | Copyright (c) 1995 Oracle Corporation Redwood Shores, California, USA|
REM | All rights reserved. |
REM +======================================================================+
REM NAME
REM aderrch2.sql
REM
REM DESCRIPTION
REM Just report all compilation errors for a given schema.
REM See also aderrchk.sql which reports and then fails if errors.
REM
REM ARGUMENTS
REM 1 - Schema to run in
REM 2 - Password for schema
REM 3 - Check errors for objects starting with #3
REM +======================================================================+

WHENEVER SQLERROR EXIT FAILURE;


column object format a33 word_wrap
column line format 9999

Copyright © Oracle Corporation, 2000. All rights reserved.

Useful Scripts
Chapter 5 - Page 10
column error format a38
set arraysize 1
set pagesize 60
set linesize 79
set verify off
break on object
connect &1/&2

REM ================================================================
REM The select below is equivalent to
REM "show errors <object type> <object name>"
REM
REM Note that we only show errors for enabled triggers. If there
REM are disabled triggers with errors, we ignore them.
REM ================================================================

select e.type||' '||e.name object, e.line, e.text error


from user_errors e
where e.name like upper('&&3%')
and e.type != 'TRIGGER'
UNION ALL
select e.type||' '||e.name object, e.line, e.text error
from user_errors e, user_triggers t
where e.name like upper('&&3%')
and e.type = 'TRIGGER'
and e.name = t.trigger_name
and t.status = 'ENABLED'
order by 1, 2
/
exit;

SCRIPT = List Job Timing Information filename = adtimdet.sql

--
-- Copyright (c) 2000 Oracle Corporation Redwood Shores, California, USA
-- All rights reserved.
--
-- FILENAME
-- adtimdet.sql
--
-- RCS HEADER
-- $Header: adtimdet.sql 115.0 2000/04/27 20:35:45 rlotero ship $
--
-- DESCRIPTION
-- Script to list timing information for all jobs in a given phase.
--
-- NOTES
--
-- sqlplus <APPS username>/<APPS password> @adtimdet.sql \
-- <SESSION_ID> <PHASE_NUMBER> <OUTPUT FILE>
--
-- where SESSION_ID : Identifier for the session
-- PHASE_NUMBER : Number identifying the phase
-- OUTPUT_FILE : Output file name

Copyright © Oracle Corporation, 2000. All rights reserved.

Useful Scripts
Chapter 5 - Page 11
--
-- See output of adtimrpt.sql for list of phase numbers and for the session
-- identifier for the session you are interesed in.
--
-- If you specify PHASE_NUMBER = -1, the report will list all phases.
--
-- HISTORY
--
--

WHENEVER SQLERROR EXIT FAILURE ROLLBACK;


WHENEVER OSERROR EXIT FAILURE ROLLBACK;

set pages 10000


set lines 78
set verify off

column elapsed_time_str format a10 heading " Time|HH24:MM:SS"


column redo format a5 heading "ReDo|Count"

spool &&3

select lpad(to_char(phase),3)||' '||phase_name "Phase Number and Name",


substr(product,1,5) "Prod",
substr(job_name,1,20) "Filename",
lpad(floor(elapsed_time*24), 4)||':'||
lpad(floor((elapsed_time*24-floor(elapsed_time*24))*60), 2, '0')||':'||
lpad(mod(round(elapsed_time*86400), 60), 2, '0') elapsed_time_str,
substr(restart_count,1,4) redo
from ad_task_timing
where session_id = &&1
and phase = decode(&&2,-1,phase,&&2)
order by 1, 4 desc, 2, 3;

spool off

commit;
exit;

SCRIPT = Count Objects by Type filename = adutcobj.sql

REM $Header: adutcobj.sql 115.1 1999/03/17 19:46:52 wdgreene ship $


REM +======================================================================+
REM | Copyright (c) 1996 Oracle Corporation Redwood Shores, California, USA|
REM | All rights reserved. |
REM +======================================================================+
REM NAME
REM adutcobj.sql
REM DESCRIPTION
REM Count objects by object type in schema
REM +======================================================================+

select to_char(sysdate,'DD-MM-YYYY HH24:MI:SS') from sys.dual;

Copyright © Oracle Corporation, 2000. All rights reserved.

Useful Scripts
Chapter 5 - Page 12
break on report
compute sum of objcnt on report

select object_type, status, count(*) objcnt


from user_objects
group by object_type, status;

SCRIPT = Applications Configuration Script filename = adutconf.sql

REM $Header: adutconf.sql 115.11 2000/03/07 22:22:08 rlotero ship $


REM +======================================================================+
REM | Copyright (c) 1996 Oracle Corporation Redwood Shores, California, USA|
REM | All rights reserved. |
REM +======================================================================+
REM NAME
REM adutconf.sql
REM DESCRIPTION
REM Utility script to display configuration of Applications
REM +======================================================================+

spool adutconf.lst

set verify off


set pages 9999
set lines 79

col application_id format 99990 heading "ID"


col application_name format a40 heading "Name"
col application_prefix format a6 heading "Prefix"
col application_short_name format a10 heading "Short name"
col apps format a8 heading "Product"
col basepath format a8 heading "Basepath"
col crby format 99990 heading "By"
col creation format a11 heading "Created"
col current_size format 999999990 heading "Size (K)"
col data_group_id format 99990 heading "ID"
col data_group_name format a29 heading "Data Group Name"
col default_group_flag format a4 heading "Dflt"
col in_dba_users format a13 heading "In DBA_USERS?"
col initial_extent format 9999990 heading "Initial (K)"
col index_tablespace format a12 heading "Index TS"
col install_group_num format 90 heading "IGN"
col installed_flag format a9 heading "Type"
col language_code format a4 heading "Code"
col luby format 99990 heading "By"
col next_extent format 9999990 heading "Next (K)"
col nls_language format a30 heading "NLS Language"
col number_of_extents format 9999990 heading "Num Extents"
col max_extents format 9999990 heading "Max X"
col min_extents format 9999990 heading "Min X"
col module_db_status format a9 heading "DB Status"
col module_short_name format a8 heading "Module"
col module_version format a8 heading "Version"
col oracle_id format 99990 heading "ID"

Copyright © Oracle Corporation, 2000. All rights reserved.

Useful Scripts
Chapter 5 - Page 13
col oracle_username format a12 heading "Schema"
col owner format a10 heading "Owner"
col product_group_id format 990 heading "ID"
col product_group_name format a28 heading "Product Group Name"
col product_group_type format a10 heading "Type"
col product_version format a8 heading "Version"
col argument1 format a20 heading "Arguments"
col release_name format a12 heading "Release"
col read_only_flag format a4 heading "Type"
col sizing_factor format 99990 heading "Size%"
col segment_name format a10 heading "Name"
col status format a9 heading "Status"
col tablespace format a12 heading "Main TS"
col tablespace_name format a10 heading "Tablespace"
col temporary_tablespace format a12 heading "Temp TS"
col default_tablespace format a12 heading "Default TS"
col updated format a11 heading "Updated"

prompt
prompt Oracle Applications Database Configuration Report
prompt
prompt
prompt All dates are shown in DD-MM-YYYY format
prompt

set head off


select 'Report Date : '||to_char(sysdate,'DD-MM-YYYY HH24:MI:SS')
, 'Database name: '||value database
from v$parameter where name='db_name';
set head on

prompt --> Sql*Plus PAUSE setting


prompt

show pause

prompt
prompt --> Sql*Plus NEWPAGE setting
prompt

show newpage

prompt
prompt --> Rollback Segment Information

select dr.segment_name, dr.owner, dr.tablespace_name,


dr.initial_extent/1024 initial_extent,
dr.next_extent/1024 next_extent,
dr.min_extents, dr.max_extents,
dr.status
from dba_rollback_segs dr
order by 1;

prompt --> Rollback Segment Sizes

Copyright © Oracle Corporation, 2000. All rights reserved.

Useful Scripts
Chapter 5 - Page 14
select ext.segment_name, ext.owner, ext.tablespace_name,
sum(ext.bytes)/1024 current_size,
count(*) number_of_extents
from dba_extents ext
where ext.segment_type = 'ROLLBACK'
group by ext.segment_name, ext.owner, ext.tablespace_name
order by 1;

prompt
prompt --> Start of Application Information Gathering
prompt

prompt --> Product Group Information

select product_group_id, product_group_name, release_name,


product_group_type, argument1
from fnd_product_groups;

prompt --> Multi-Org enabled?

set head off


select decode(multi_org_flag,'N','No','Y','Yes','No')
from fnd_product_groups;
set head on

prompt --> Existing Operating Units

select ORGANIZATION_ID, NAME


from hr_operating_units
order by ORGANIZATION_ID;

prompt --> Multi-Currency enabled?

set head off


select decode(multi_currency_flag,'N','No','Y','Yes','No')
from fnd_product_groups;
set head on

prompt --> Registered Applications

select application_id, application_short_name, basepath


from fnd_application
order by application_id
/

prompt --> Registered ORACLE Schemas

select fou.oracle_id, fou.oracle_username


, fou.install_group_num, fou.read_only_flag
, decode(nvl(du.username,' X '),' X ','No','Yes') in_dba_users
, nvl(du.default_tablespace,'Unknown') default_tablespace
, nvl(du.temporary_tablespace,'Unknown') temporary_tablespace
from dba_users du, fnd_oracle_userid fou

Copyright © Oracle Corporation, 2000. All rights reserved.

Useful Scripts
Chapter 5 - Page 15
where du.username(+) = fou.oracle_username
order by 1
/

prompt --> Product Installation Status and other product information

select decode(nvl(a.APPLICATION_short_name,'Not Found'),


'SQLAP','AP','SQLGL','GL','OFA','FA',
'Not Found','id '||to_char(fpi.application_id),
a.APPLICATION_short_name) apps,
decode(nvl(o.ORACLE_username,'Not Found'),
'Not Found','id '||to_char(fpi.oracle_id),
o.ORACLE_username) ORACLE_username,
decode(fpi.status,'I','Installed','S','Shared',
'N','Inactive',fpi.status) status,
fpi.db_status, fpi.install_group_num,
fpi.product_version, fpi.sizing_factor,
fpi.tablespace, fpi.index_tablespace
from fnd_oracle_userid o, fnd_application a, fnd_product_installations fpi
where fpi.application_id = a.application_id(+)
and fpi.oracle_id = o.oracle_id(+)
order by 1,2
/

prompt --> Localization Module Information

select decode(a.APPLICATION_short_name,
'SQLAP','AP','SQLGL','GL','OFA','FA',
a.APPLICATION_short_name) apps
, o.ORACLE_username
, fmi.module_short_name
, fmi.module_version
, decode(fmi.status,'I','Installed','S','Shared',
'N','Inactive',fmi.status) status
, decode(fmi.db_status,'I','Installed',
'N','Inactive',db_status) module_db_status
from fnd_oracle_userid o, fnd_application a, fnd_module_installations fmi
where fmi.application_id = a.application_id(+)
and fmi.oracle_id = o.oracle_id(+)
order by 1,2,3
/

prompt --> Registered Data Groups

select data_group_id,
data_group_name
, decode(default_group_flag,'N','No','Y','Yes',
default_group_flag) default_group_flag
, to_char(creation_date,'DD-MM-YYYY') creation, created_by crby
, to_char(last_update_date,'DD-MM-YYYY') updated, last_updated_by luby
from fnd_data_groups
order by data_group_id
/

Copyright © Oracle Corporation, 2000. All rights reserved.

Useful Scripts
Chapter 5 - Page 16
prompt --> Base language and other Installed languages

select decode(installed_flag,'I','Installed','B','Base','Unknown')
installed_flag, language_code, nls_language from fnd_languages
where installed_flag in ('I','B')
order by installed_flag;

prompt --> Setting of NLS_NCHAR_CHARACTERSET'

set head off


select VALUE NLS_NCHAR_CHARACTERSET from V$NLS_PARAMETERS
WHERE PARAMETER = 'NLS_NCHAR_CHARACTERSET';
set head on

prompt --> Setting of NLS_CHARACTERSET

set head off


select VALUE NLS_CHARACTERSET from V$NLS_PARAMETERS
where PARAMETER = 'NLS_CHARACTERSET';
set head on

prompt --> Setting of NLS_DATE_FORMAT

set head off


select VALUE NLS_DATE_FORMAT from V$NLS_PARAMETERS
where PARAMETER = 'NLS_DATE_FORMAT';
set head on

prompt --> Setting of NLS_NUMERIC_CHARACTERS

set head off


select VALUE NLS_NUMERIC_CHARACTERS from V$NLS_PARAMETERS
where PARAMETER = 'NLS_NUMERIC_CHARACTERS';
set head on

prompt --> Setting of NLS_LANGUAGE

set head off


select VALUE NLS_LANGUAGE from V$NLS_PARAMETERS
where PARAMETER = 'NLS_LANGUAGE';
set head on

prompt --> Setting of NLS_SORT

set head off


select VALUE NLS_SORT from V$NLS_PARAMETERS
where PARAMETER = 'NLS_SORT';
set head on

prompt --> Replication Package Installed?

set head off


select decode(count(*), 0, ' Not Installed ', ' Yes, Installed ')
from all_objects

Copyright © Oracle Corporation, 2000. All rights reserved.

Useful Scripts
Chapter 5 - Page 17
where object_name in ( 'REPCOLUMN');
set head on

prompt
prompt --> End of Application Information Gathering

spool off
exit;

SCRIPT = List Product Dependencies filename = adutfpd.sq

REM $Header: adutfpd.sql 115.0 1998/04/24 16:41:20 appldev ship $


REM +======================================================================+
REM | Copyright (c) 1996 Oracle Corporation Redwood Shores, California, USA|
REM | All rights reserved. |
REM +======================================================================+
REM NAME
REM adutfpd.sql
REM DESCRIPTION
REM Utility script to display product dependency information
REM SEE ALSO
REM adutconf.sql
REM +======================================================================+

col Application format a38


col Requires format a38

spool adutfpd.lst

select o1.oracle_username||'.'||a1.application_short_name Application


, o2.oracle_username||'.'||a2.application_short_name Requires
from fnd_application a2, fnd_application a1
, fnd_oracle_userid o2, fnd_oracle_userid o1
, fnd_product_dependencies fpd
where a2.application_id=fpd.required_application_id
and a1.application_id=fpd.application_id
and o2.oracle_id=fpd.required_oracle_id
and o1.oracle_id=fpd.oracle_id
order by 1,2
/

spool off

SCRIPT = List Pinned Objects filename = ADXCKPIN.sql

REM $Header: ADXCKPIN.sql 115.0 1998/04/24 16:39:06 appldev ship $


REM +======================================================================+
REM | Copyright (c) 1994 Oracle Corporation Redwood Shores, California, USA|
REM | All rights reserved. |
REM +======================================================================+
REM
REM NAME
REM ADXCKPIN.sql - Query the SGA to determine pinned PL/SQL objects
REM

Copyright © Oracle Corporation, 2000. All rights reserved.

Useful Scripts
Chapter 5 - Page 18
REM DESCRIPTION
REM Query the shared_pool area to determine space used by PL/SQL objects
REM and whether they have been pinned.
REM
REM NOTES
REM This script can be run at any time to determine what PL/SQL objects
REM are in the SGA, and the total space consumed. It should be run
REM from the system user.
REM PROCEDURES cannot be pinned.
REM +======================================================================+

set lines 79
column type format a12
column OBJECT format a36
column loads format 99990
column execs format 9999990
column kept format a4
column "TOTAL SPACE (K)" format a20

spool ADXCKPIN.lst

select owner || '.' || name OBJECT , type


, to_char(sharable_mem/1024,'9,999.9') "SPACE(K)"
, loads
, executions execs
, kept
from v$db_object_cache
where type in ('FUNCTION','PACKAGE','PACKAGE BODY','PROCEDURE')
and owner not in ('SYS')
order by owner, name
/

select to_char(sum(sharable_mem)/1024,'9,999,999.9') "TOTAL SPACE (K)"


from v$db_object_cache
where type in ('FUNCTION','PACKAGE','PACKAGE BODY','PROCEDURE')
and owner not in ('SYS')
/

spool off

exit;

SCRIPT = Report Database Configuration filename = ADXRCSDC.sql

REM +=======================================================================+
REM | Copyright (c) 1990 Oracle Corporation, Redwood Shores, CA, USA |
REM | All rights reserved. |
REM +=======================================================================+
REM | $Header: ADXRCSDC.sql 115.0 1998/04/24 16:40:34 appldev ship $
REM
REM FILENAME
REM ADXRCSDC.sql - Report Configuration, Show Database Configuration
REM formerly, config.sql
REM

Copyright © Oracle Corporation, 2000. All rights reserved.

Useful Scripts
Chapter 5 - Page 19
REM DESCRIPTION
REM Report configuration of:
REM rollback segments
REM tablespaces
REM data files
REM
REM NOTES
REM Usage: sqlplus SYSTEM/<SYSTEM_password> @ADXRCSDC.sql
REM
REM HISTORY
REM 05/24/90 L Doo Created
REM
REM +=======================================================================+

set heading on
set pages 1000
set linesize 78

column segment_name format a12


column TSPACE format a10
column INITIAL format 99999999
column NEXT format 99999999
column MIN format 999999
column MAX format 999999
column PCT format 990
column status format a10
column bytes format 999999999
column file_name format a37
column ID format 99

break on TSPACE
ttitle 'Overall Database Configuration'
set heading off
select ' Rollback Segments' from sys.dual;
set heading on
ttitle off

select segment_name, tablespace_name TSPACE,


initial_extent "INITIAL", next_extent "NEXT",
min_extents MIN, max_extents MAX, pct_increase PCT,
status
from dba_rollback_segs
order by tablespace_name, segment_name;

set heading off


select ' Tablespaces' from sys.dual;
set heading on

select tablespace_name TSPACE,


initial_extent "INITIAL", next_extent "NEXT",
min_extents MIN, max_extents MAX, pct_increase PCT,
status
from dba_tablespaces
order by tablespace_name;

Copyright © Oracle Corporation, 2000. All rights reserved.

Useful Scripts
Chapter 5 - Page 20
set heading off
select ' Datafiles' from sys.dual;
set heading on

select tablespace_name TSPACE, file_name, file_id "ID", bytes, status


from dba_data_files
order by tablespace_name;

EXIT;

SCRIPT = Report Table Sizes filename = ADXRSFTS.sql

REM +=======================================================================+
REM | Copyright (c) 1990 Oracle Corporation, Redwood Shores, CA, USA |
REM | All rights reserved. |
REM +=======================================================================+
REM | $Header: ADXRSFTS.sql 115.0 1998/04/24 16:41:10 appldev ship $
REM
REM FILENAME
REM ADXRSFTS.sql - Report State, Find Table Size
REM formerly, tabsize.sql
REM
REM DESCRIPTION
REM Find the size (blocks, extents, extpct) of the given table.
REM
REM NOTES
REM Usage:
REM sqlplus SYSTEM/<SYSTEM_password> @ADXRSFTS.sql <username> <tablename>
REM
REM HISTORY
REM 05/14/90 L Doo Created.
REM
REM +=======================================================================+
set heading on
set verify off
ttitle 'Size for Table &&1..&&2'

select blocks, extents, extpct


from sys.seg$
where (file#, block#) = (
select file#, block#
from sys.tab$
where obj# = (
select obj#
from sys.obj$
where name = upper('&&2')
and owner# = (
select user#
from sys.user$
where name = upper('&&1')
)
)
);

Copyright © Oracle Corporation, 2000. All rights reserved.

Useful Scripts
Chapter 5 - Page 21
EXIT

SCRIPT = Show Imminent Extent Failure filename = ADXRSSIE.sql

REM +=======================================================================+
REM | Copyright (c) 1989 Oracle Corporation, Redwood Shores, CA, USA |
REM | All rights reserved. |
REM +=======================================================================+
REM | $Header: ADXRSSIE.sql 115.1 1998/05/11 10:14:07 schadala ship $
REM
REM FILENAME
REM ADXRSSIE.sql - Report State, Show Imminent next-Extent failure
REM formerly, blowup.sql
REM
REM DESCRIPTION
REM Generate a list of tables and indexes whose next extent to be grabbed
REM would be too large to be allocated in their corresponding tablespaces.
REM
REM NOTES
REM Usage: sqlplus SYSTEM/<SYSTEM_password> @ADXRSSIE.sql
REM
REM HISTORY
REM 12/12/89 L. Doo Created.
REM 12/18/89 L. Doo Added the absolute path for blowup_table.sql
REM and blowup_ind.sql.
REM 07/21/92 A. Chang Converted to use straight SQL, not PL/SQL
REM
REM +=======================================================================+

set heading on
ttitle "NEXT EXTENT BLOWUP REPORT"
set pagesize 67
column tablespace heading "Tablespace" format a10
column type heading "Object Type" format a11
column name heading "Object Name" format a30
column partition_name heading "Partition" format a10
column next_extent heading "Next Extent (b)" format 9,999,999,999
break on tablespace

select dbas.tablespace_name tablespace,


decode(
dbas.segment_type,
'TABLE PARTITION', 'TABLE',
'INDEX PARTITION', 'INDEX',
dbas.segment_type) type,
dbas.segment_name name,
nvl(dbas.partition_name, 'N/A') partition_name,
dbas.next_extent next_extent
from
dba_segments dbas,
dba_free_space dbafs
where dbas.segment_type in ('TABLE', 'INDEX',
'TABLE PARTITION',

Copyright © Oracle Corporation, 2000. All rights reserved.

Useful Scripts
Chapter 5 - Page 22
'INDEX PARTITION')
and dbafs.tablespace_name = dbas.tablespace_name
group by dbas.tablespace_name, dbas.segment_type, dbas.segment_name,
dbas.partition_name, dbas.next_extent
having max(dbafs.bytes) < dbas.next_extent
order by 1,2,3,4;

EXIT

SCRIPT = Show User Space filename = ADXRSSUS.sql

REM +=======================================================================+
REM | Copyright (c) 1990 Oracle Corporation, Redwood Shores, CA, USA |
REM | All rights reserved. |
REM +=======================================================================+
REM | $Header: ADXRSSUS.sql 115.0 1998/04/24 16:41:48 appldev ship $
REM
REM FILENAME
REM ADXRSSUS.sql - Report State, Show User Space
REM formerly, byuser.sql
REM
REM DESCRIPTION
REM Report how much space each user has.
REM
REM NOTES
REM Usage: sqlplus SYSTEM/<SYSTEM_password> @ADXRSSUS.sql
REM
REM HISTORY
REM 01/16/90 D Touw Created
REM
REM +=======================================================================+

set heading on
set pages 122
set linesize 79
set newpage 0

ttitle 'Use Vs. Allocation of Database Space by Tablespace and User'

break on tablespace skip 1

column tablespace format a15


column username format a15
column usage format 999,999,999
column quota format 999,999,999
column percent format 9,999.9

compute sum of usage on tablespace


compute sum of quota on tablespace

select dbatq.tablespace_name TABLESPACE, dbatq.username,


dbatq.bytes USAGE, dbatq.max_bytes QUOTA
from dba_ts_quotas dbatq, dba_users dbau, dba_tablespaces dbat
where dbau.username = dbatq.username

Copyright © Oracle Corporation, 2000. All rights reserved.

Useful Scripts
Chapter 5 - Page 23
and dbat.tablespace_name = dbatq.tablespace_name
and dbat.status = 'ONLINE'
and (dbatq.bytes > 0 or dbatq.max_bytes > 0)
order by dbatq.tablespace_name, dbatq.username;

EXIT

Copyright © Oracle Corporation, 2000. All rights reserved.

Useful Scripts
Chapter 5 - Page 24
Applications Configuration Files

Applications
Applications Configuration
Configuration Files
Files

•• adconfig.txt
adconfig.txt
•• def.txt
def.txt
•• applprod.txt
applprod.txt
•• applterr.txt
applterr.txt
•• applora.txt
applora.txt
•• APPLSYS.env
APPLSYS.env
•• adovars.env
adovars.env

Copyright  Oracle Corporation, 2000. All rights reserved.

Oracle Applications uses multiple configuration files to setup and maintain


the Application. Those files are listed and discussed here.

adconfig.txt The main configuration file, created by


AutoUpgrade and located in $APPL_TOP/admin or
in %APPL_TOP%\admin on NT. This file contains
environment information for all of Applications and is
used by all AD Utilities. Do not update this file
manually. If you need to modify this file, delete the
existing one and rerun AutoUpgrade to create a new
adconfig.txt.

def.txt The file that contains the defaults used by AutoPatch


and AD Administration when operating in non-
interactive mode. The actual name of the file is
determined when you create it. Must be created in
$APPL_TOP/admin/<dbname>. In NT, it must be in
%APPL_TOP%\admin\<dbname>. Refer to AD
Administration in Chapter 2 and AutoPatch in
Chapter 4 for more information.

Copyright © Oracle Corporation, 2000. All rights reserved.

Useful Scripts
Chapter 5 - Page 25
applprod.txt The AutoUpgrade product description file,
which is used to identify all products and product
dependencies. It is located in the admin directory
under APPL_TOP.

applterr.txt The AutoUpgrade territory description file, located in


the admin directory under APPL_TOP. It contains
information on all territories and localizations that are
supported.

applora.txt Contains information for parameter defaults stored in


V$PARAMETER. Located in the admin directory
under APPL_TOP.

APPLSYS.env The main environment file used to configure the


environment to run Applications. It is created by
Rapid Install, but can be recreated by AutoUpgrade
or AD Administration. Located directly under
APPL_TOP. APPLSYS.env is the default name,
however, other names may be substituted.

adovars.env Called by the main environment file and is used to


set environment variables for Java and HTML. It is
located in the admin directory under APPL_TOP.

Copyright © Oracle Corporation, 2000. All rights reserved.

Useful Scripts
Chapter 5 - Page 26
Controlling Servers

Controlling
Controlling Servers
Servers

•• Stopping
Stopping servers
servers
•• Starting
Starting servers
servers

Copyright  Oracle Corporation, 2000. All rights reserved.

Controlling Servers:

It may be necessary in the course of fixing a problem to "bounce" a server.


"Bounce" or "bouncing" is a generic term that means to stop and re-start
the server. We can "bounce" many things, including the database server.

While it is relatively trivial to "bounce" the database server, the following


reference is a complete guide to "bouncing" the multitude of servers that
may be available in your Oracle Applications instance.

Script UNIX name NT Name


WebDB 2.5 Listener adwdbctl.sh adwdbctl.cmd
WebDB 2.2 Listener adwlnctl.sh adfroctl.cmd
Forms Server Listener adfroctl.sh adfroctl.cmd
Forms Metrics Server adfmsctl.sh adfmsctl.cmd
Forms Metrics Client adfmcctl.sh adfmcctl.cmd
Report Review Agent adalnctl.sh adalnctl.cmd
Reports Server adrepctl.sh adrepctl.cmd
TCF SocketServer adtcfctl.sh adtcfctl.cmd
Concurrent Managers adcmctl.sh adcmctl.cmd
Net8 Listener addlnctl.sh addlnctl.cmd

Copyright © Oracle Corporation, 2000. All rights reserved.

Useful Scripts
Chapter 5 - Page 27
Apache Listener adapcctl.sh adapcctl.cmd
Oracle 8i database server addbctl.sh addbctl.cmd

Note: If you need to manually start Windows NT control scripts, use the
NT Service Control Panel. The .cmd name is shown to here only to
illustrate consistency across platforms.

Copyright © Oracle Corporation, 2000. All rights reserved.

Useful Scripts
Chapter 5 - Page 28
Summary

Summary
Summary

You
You should
should feel
feel comfortable
comfortable with
with the
the following
following
statements
statements about
about your
your knowledge:
knowledge:
•• II can
can run
run and
and understand
understand Oracle
Oracle SQL
SQL scripts
scripts that
that
probe Oracle database objects.
probe Oracle database objects.
•• II can
can identify
identify and
and understand
understand thethe major
major
configuration
configuration files
files used
used with
with Oracle
Oracle Applications.
Applications.
•• II can
can run
run and
and understand
understand Oracle
Oracle Applications
Applications
scripts
scripts that
that control
control the
the various
various servers
servers within
within an
an
Oracle Applications install.
Oracle Applications install.

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Useful Scripts
Chapter 5 - Page 29
Copyright © Oracle Corporation, 2000. All rights reserved.

Useful Scripts
Chapter 5 - Page 30
Diagnosing the Database
Chapter 6

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing the Database


Chapter 6 - Page 1
Diagnosing the Database

Diagnosing
Diagnosing the
the Database
Database

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing the Database


Chapter 6 - Page 2
Objectives

Objectives
Objectives

After
After this
this unit,
unit, you
you should
should be be able
able to:
to:
•• Check
Check to to see
see that
that aa properly
properly certified
certified database
database
version is being used.
version is being used.
•• Confirm
Confirm thatthat the
the database
database is is patched
patched toto the
the proper
proper
level.
level.
•• Patch
Patch the
the database
database ifif itit is
is not
not patched
patched toto the
the
proper
proper level.
level.
•• Relink
Relink the
the database.
database.
•• Stop
Stop and re-start the
and re-start the database.
database.
•• Check
Check the
the database
database to
to see
see that
that itit is
is properly
properly
configured
configured for
for Oracle
Oracle Applications.
Applications.
®

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing the Database


Chapter 6 - Page 3
Checking Certification

Checking
Checking Certification
Certification

•• MetaLink
MetaLink (External):
(External):
http://metalink.oracle.com/
http://metalink.oracle.com/

•• Certify
Certify -- Oracle's
Oracle's Certification
Certification Matrix
Matrix (Internal):
(Internal):
http://certify.us.oracle.com/
http://certify.us.oracle.com/

•• Certify
Certify User's
User's Guide
Guide (Internal):
(Internal):
http://certify.us.oracle.com/certifyuserguide.pdf
http://certify.us.oracle.com/certifyuserguide.pdf

•• Certify
Certify FAQ
FAQ (Internal):
(Internal):
http://certify.us.oracle.com/certfaq.html
http://certify.us.oracle.com/certfaq.html

Copyright  Oracle Corporation, 2000. All rights reserved.

Certify was a tool initially created for Oracle Applications. Because Oracle
Applications is a complex stack of products, it was critical for Application's
Support Analysts and Customers to have access to this information.

Over time, Certify has made two important moves. One, Certify has
become the central repository for certification information for all Oracle
products. Two, Certify has been made available to Oracle's customer
through MetaLink.

TO ACCESS CERTIFY FROM METALINK:

1. Go to the MetaLink URL (http://metalink.oracle.com).


2. If you do not have a MetaLink account, you can do one of
the following actions. For external customers, you can
register for MetaLink accounts by clicking on the
REGISTRATION link. For internal users, you can register
for a MetaLink account by going to the following URL:
http://metalink.us.oracle.com/employee-registration.html.
3. Choose the server to login to. Typically, this would be the
Americas Server.
4. Enter your username and password. For internal user,

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing the Database


Chapter 6 - Page 4
please remember that your username is your user id
follow by _<country-code> (e.g., _us or _uk). After you
enter a proper username and password, you will be
signed-on to MetaLink.
5. There is a menu bar on the left side of the screen. One
of the entries on the menu bar should read "Product
Lifecycle". Click that entry. When you do, the main
window will change.
6. At the top of the main window, there should be a row of
buttons. Those buttons will most likely read, Product
Availability, Certification, Desupport Notices, and Alerts.
Click on Certification. When you do, the main window
will change.
7. The screen you are now looking at in your main window
is the first screen of Certify. To see intructions on using
Certify, see Using Certify below.

TO ACCESS CERTIFY INTERNALLY:


1. Go to the Certify URL (http://certify.us.oracle.com).
2. Click the link marked, Access Certify.
3. The screen you are now looking is the first screen of
Certify. To see intructions on using Certify, see
Using Certify below.

USING CERTIFY:

If you have followed the instructions for accessing certify, whether


externally or internally, you should now be looking at the first screen of
Certify. There should be two links on this screen.

1. View Certifications by Product


2. View Certifications by Platform

Ultimately, both of these links will get you exactly the same information. It
is simply a different method of starting to drill-down through the matrix.
Your choice is a matter of style. For demonstration, I will choose, View
Certifications by Product.

Step 1: Click View Certifications by Product link.

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing the Database


Chapter 6 - Page 5
You are now looking at a select box that reads, Select one of the
Product Groups listed below:. For demonstration, I will choose,
Applications.

Step 2: Click Applications, and then click the SUBMIT button.

You are now looking at a select box that reads, Select one of the
products listed below:. For demonstration, I will choose, Applications.
NOTE: It is a planned change for Applications to be changed to
Enterprise Resource Planning (ERP). The date of that change is
uncertain, but Enterprise Resource Planning (ERP) can be used in place
of Applications with no change.

Step 3: Click Applications, and then click the SUBMIT button.

You are now looking at a screen labeled, General Notes For


Applications:. It is very easy to overlook the information presented on
this screen. However, when dealing with certifications, the details are
critically important. This is MANDATORY information, and it changes
frequently. The user, internal or external, must read all of this information
to insure that they are complying with all the applicable details.

After you have read the General Notes For Applications:, you will need
to select the platform that you are running for Oracle Applications.

NOTE: The user MUST be aware of the complex nature of R11i


Applications. R11i is a three-tier architecture that allows for a multitude of
heterogeneous set-ups. For example, your browsers may be running on
Windows 95 and Windows NT clients. Your middle tier (i.e., forms server)
may be running on a HP/UX server. And, your database server may be
running on a Sun Sparc Solaris server. (This is a simple example.)
Because of this, you must check Certify for the platform that you are using
for your database server.

For demonstration, I will choose Sun Solaris V2 Sparc.

Step 4: Click Sun Solaris V2 Sparc, and then click the


SUBMIT button.

You are now looking at a screen labeled, General Notes For


Applications On Sun Solaris V2 Sparc:. It is very easy to overlook the
information presented on this screen. However, when dealing with
certifications, the details are critically important. This is MANDATORY

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing the Database


Chapter 6 - Page 6
information, and it changes frequently. The user, internal or external,
must read all of this information to insure that they are complying with all
the applicable details.

After reading the General Notes, you will notice three columns of
checkboxes at the bottom of the screen. The columns are labeled,
Applications Version(s), Oracle Server Version(s), and Certified
combinations only.

At the very least, you should turn on (i.e., check) the Certified
combinations only checkbox. For demonstration, I will also turn on the
11.5.1 (11i) checkbox under the Applications Version(s) column.

Step 5: Click the 11.5.1 (11i) checkbox under the Applications


Version(s) column. Click the Certified combinations
only checkbox. Click on the SUBMIT button.

What you are looking at now is the Certification matrix for Oracle
Applications (ERP) running on a Sun Solaris Sparc platform for Oracle
Applications Release 11i (11.5.1).

Notice the two tiers listed, the Applications Tier and the Database Tier.
We are concerned with the Database Tier at this point. Notice that in the
matrix there are several columns whose labels are OS, Higher, Product,
Server, Status, Addtl. Info., Components, Other, Issues. The last four (4)
columns, Addtl. Info., Components, Other, Issues, may be links.

The columns are as follows:


OS The version of the Operating System certified.
Higher Does this certification apply to the next higher
release of the Operating System?
Product What version of the product is certified? In our
demonstration, it is Oracle Applications 11.5.1.
Server What version of the database (i.e.,
ORACLE_HOME) is expected with the version
of the product? In our demonstration, Oracle
Applications 11i (11.5.1) requires Oracle
Database Server 8i (8.1.6) on the Database Tier.
Status In our demonstration (and because we selected
the Certified combinations only checkbox), we
will only see rows in our matrix that are Certified.

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing the Database


Chapter 6 - Page 7
Addtl Info This column provides product version and
certification-specific notes.
Components This column lists all components for the
selected product and version, with a link to
additional component issues (i.e., bugs and
issues).
Other Sometimes there are additional notes specific
to a required product within a certification. If
there are additiona notes, this column will
contain a link to that information.
Issues This column contains a listing of common issues,
related to a product, platform, component, or
installation. These listings include common
errors, workarounds, and bugs. This does not
contain every single issue, but is intended to
include the major and high-priority issues.

You may also see (depending upon the criteria you use for your
checkboxes) other listings including Client Certifications, Server
Certifications, and Server Partitioned Certifications. Client Certifications
are for the browser-based tier of R11i, and include the Java JDK
(Appletviewer) and jInitiator. Server and Server Partitioned Certifications
are for R10.7 and R11 Applications.

Finally, for more detailed information on using Certify, you can use the
Certify User's Guide at:

http://certify.us.oracle.com/certifyuserguide.pdf

or the Certify FAQ at:

http://certify.us.oracle.com/certfaq.html

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing the Database


Chapter 6 - Page 8
Patching and Patch Sets

Patching
Patching and
and Patch
Patch Sets
Sets

•• What
What is
is aa Patch
Patch Set?
Set?
•• What
What is
is an
an Interoperability
Interoperability Patch?
Patch?
•• What
What does
does this
this all
all mean
mean for
for Applications?
Applications?

•• RDBMS
RDBMS Patch
Patch Set
Set Tracking
Tracking System:
System:
http://ess30.us.oracle.com:8002/
http://ess30.us.oracle.com:8002/

•• Interoperability
Interoperability Patches:
Patches:
http://sac.us.oracle.com/download/index.html
http://sac.us.oracle.com/download/index.html

Copyright  Oracle Corporation, 2000. All rights reserved.

There is the potential for confusion as regards the database in conjunction


with Oracle Applications. The customer, the Support Analyst, and anyone
else working on the database, must remember that Oracle Applications is
a complex stack of products. The database works in conjunction with the
other components. Sometimes you may need to apply Patch Sets and/or
Interoperability Patches to allow Oracle Applications to prooperly function.
To make this clear, let's define some terms.

A Patch Set is a collection of critical bug fixes, delivered to customers as a


single code bundle, fully tested and guaranteed not to break product
certification. Typically, a Patch Set is designated by the 4th digit in an
Oracle Release number, i.e., 8.1.6.2 is Patch Set Two for Oracle 8.1.6, or,
just "8.1.6.2". Many Oracle Products, such as RDBMS and Languages,
prefer this mechanism of fix delivery over one-off backports, which can be
unreliable and very costly to produce. Unlike these individual backports, all
fixes included in Patch Sets undergo full regression and integration
testing.

In most cases, you can safely install any RDBMS Patch Set. Please read
the platform-specific notes regarding RDBMS patch set certifications
before applying the latest RDBMS patch set. If no patch set notes exist for
your platform, then you may apply the latest patch set.

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing the Database


Chapter 6 - Page 9
An Interoperability Patch is a collection of critical bug fixes produced for
Oracle Applications. Because of the nature of Oracle Applications, many
products, including Oracle Applications itself, may need fixes that are
relevant only with given combinations of the database and Application.
These Interoperability Patches may make changes in the database, the
Application, or both. There may also be Interoperability Patches for other
products than simply the database.

To find the latest RDBMS Patch Sets, visit the Patch Set Tracking System
at:

http://ess30.us.oracle.com:8002/

To find Interoperability Patches, you can find them at:

http://sac.us.oracle.com/download/index.html

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing the Database


Chapter 6 - Page 10
Other Tasks

Other
Other Tasks
Tasks

•• Relinking
Relinking the
the database
database
•• Stopping
Stopping the
the database
database
•• Starting
Starting the
the database
database
•• Checking
Checking the
the configuration
configuration of
of the
the database
database

Copyright  Oracle Corporation, 2000. All rights reserved.

Relinking:

On UNIX systems, the database and other programs are patched by


changing only part of the program, and then recreating the executable by
a process called, relinking. Knowing how to relink the database is a useful
skill. Here are the details.

From Oracle8i version 8.1.5, there is a user friendly tool to relink the
products. It is a new tool in $ORACLE_HOME/bin under the name
"relink".

Relink is a shell script which would relink the necessary products. The
options available for relinking are given when relink is executed as follows:

$ relink

usage: relink <parameter>


accepted values for parameter: all, oracle, network, client, client_sharedlib
interMedia, precomp, utilities, oemagent

The parameter descriptions:

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing the Database


Chapter 6 - Page 11
all everything which has been installed
oracle oracle database executable only
network net_client, net_server, cman, cnames
client net_client, otrace, plsql
client_sharedlib interMedia
ctx, ordimg, ordaud, ordvir, md
precomp all precompilers which have been installed
utilities utilities
oemagent oemagent, odg

To relink the Oracle RDBMS, you would execute:


$ relink oracle

Requirements:
1. $ORACLE_HOME has to be set correctly or the script exits.
2. The appropriate product makefiles has to exist for the
specified product or the script displays appropriate error
message and exits.

Bouncing Servers:

It may be necessary in the course of fixing a problem to "bounce" the


database server. "Bounce" or "bouncing" is a generic term that means to
stop and re-start the server. We can "bounce" many things, including the
database server.

While it is relatively trivial to "bounce" the database server, the following


reference is a complete guide to "bouncing" the multitude of servers that
may be available in your Oracle Applications instance.

Script UNIX name NT Name


WebDB 2.5 Listener adwdbctl.sh adwdbctl.cmd
WebDB 2.2 Listener adwlnctl.sh adfroctl.cmd
Forms Server Listener adfroctl.sh adfroctl.cmd
Forms Metrics Server adfmsctl.sh adfmsctl.cmd
Forms Metrics Client adfmcctl.sh adfmcctl.cmd
Report Review Agent adalnctl.sh adalnctl.cmd
Reports Server adrepctl.sh adrepctl.cmd
TCF SocketServer adtcfctl.sh adtcfctl.cmd
Concurrent Managers adcmctl.sh adcmctl.cmd

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing the Database


Chapter 6 - Page 12
Net8 Listener addlnctl.sh addlnctl.cmd
Apache Listener adapcctl.sh adapcctl.cmd
Oracle 8i database server addbctl.sh addbctl.cmd

Note: If you need to manually start Windows NT control scripts, use the
NT Service Control Panel. The .cmd name is shown to here only to
illustrate consistency across platforms.

Checking the Database Configuration:

When you database is run, the configuration parameters from your init.ora
file are used to configure the database's run-time characteristics. Oracle
Applications needs very specific values in the init.ora file.

First, you must find your init.ora. Oracle Applications places the init.ora
file into your ORACLE_HOME/dbs directory, and gives it the default name
of init<SID>.ora.

There is no inherent way, inside of the database, to obtain the name and
location of your init.ora. There are ways to implement this at the customer
site, and there are ways to implement this via Oracle Enterprise Manager
(OEM). But, there is nothing from inside the database that will inherently
provide this information.

After you have found the proper init.ora, check its parameters as follows:

Parameter Suggested Value


db_name suggest that this matches you SID
name.

control_files suggest at least 2 control files on


different devices, prefer 3.

compatible 8.1.6, or higher

row_locking always, MANDATORY

nls_date_format DD-MON-RR, MANDATORY

nls_numeric_characters
".," OR ",." suggested

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing the Database


Chapter 6 - Page 13
nls_sort binary, suggested to not
change

nls_language american, default

nls_territory america, default

audit_trail true, default is false …


set to true if you want
to enable audit trail.

max_enabled_roles 40, or higher

user_dump_dest ?/rdbms/log … as setup

background_dump_dest ?/rdbms/log … as setup

core_dump_dest ?/rdbms/log … as setup

max_dump_file_size 10240, this value should


be kept small. It can be
changed at session level.

timed_statistics true … suggested

_trace_files_public true … suggested

rollback_segments = example …
(rbs1, rbs2, rbs3, rbs4,
rbs5, rbs6, rbs7, rbs8,
rbs9)
6 to 12 rollback segments
is standard with some
basic rules as follows:
1. 1 rbs per 25 users
2. 1 rbs per conc. Mgr.
The extent size should be
1MB, and the minimum size

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing the Database


Chapter 6 - Page 14
should be 60MB.

utl_file_dir example … sqlcom/out,


set as needed. Note: The
Applications environment
variable, APPLPTMP, needs
to be set to one of the
directories listed here.
If this isn’t done, PL/SQL
procedures listed as
concurrent programs may not
run.

aq_tm_processes 1, MANDATORY

log_archive_start true, needed if you want


automatic archiving

event These are not needed, and


should only be set on
the advice of Support or
Development. Specifically,
the following events,
which may have been set
for historical reasons,
are not needed.
10210
10211
10235
7267
3106
10076

Processes 75, should be set to max.


number of users x 2, as
minimum

db_files 500, represents the max.


number of database files,

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing the Database


Chapter 6 - Page 15
and is the minimum

dml_locks 500, at a minimum

open_cursors 300, should be set to this,


unless using MTS

enqueue_resources 5000, should be set to max.


number of concurrent
database locks, and is a
minimum

db_block_buffers 5000, at a minimum

log_checkpoint_timeout
72000, suggested value
to checkpoint at least
every 20 minutes

log_checkpoint_interval
100000, suggested

log_buffer 1048576, suggested, and


must be a multiple of 512
and <= 5MB

sort_area_size 256000, suggested and


recommended between 256KB
and 2MB

shared_pool_size 300000000, or larger

shared_pool_reserved_size
30000000, or larger, and
recommended as 10% of
shared_pool_size

_shared_pool_reserved_min_alloc
4100 OR 5000, suggested,

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing the Database


Chapter 6 - Page 16
4100 can help with PL/SQL
allocations

java_pool_size 50000000, or larger, used


for products using
JSPs

large_pool_size 50000000, or larger, used


for products using
JSPs

optimizer_features_enable
8.1.6, MANDATORY

optimizer_mode choose, MANDATORY

_optimizer_undo_changes
false, suggested, and will
be removed in future
versions

_optimizer_mode_force true, MANDATORY

db_file_multiblock_read_count
8, recommended as optimal
for CBO, but 16 or 32 is
still OK

optimizer_max_permutations
79000, or less, as the
default of 80000 can
cause excessive parsing
times

_complex_view_merging true, MANDATORY

_push_join_predicate true, MANDATORY

_sort_elimination_cost_ratio

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing the Database


Chapter 6 - Page 17
5, MANDATORY

_use_column_stats_for_function
true, MANDATORY

_like_with_bind_as_equality
true, MANDATORY

_or_expand_nvl_predicate
true, MANDATORY

_push_join_union_view true, MANDATORY

_table_scan_cost_plus_one
true, MANDATORY

_fast_full_scan_enabled
false, MANDATORY

_ordered_nested_loop true, MANDATORY

optimizer_percent_parallel
0, MANDATORY

query_rewrite_enabled true, MANDATORY

NOTE: A complete discussion of these parameters is included in the


manual, Maintaining Oracle Applications, Release 11i, part number
A83525. The information is in Chapter 6, in the section titled, Database
Initialization Parameters.

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing the Database


Chapter 6 - Page 18
Summary

Summary
Summary

You
You should
should feel
feel comfortable
comfortable withwith the
the following
following
statements
statements about
about your
your knowledge:
knowledge:
•• II can
can check
check toto see
see that
that aa customer
customer is is running
running aa
properly certified version of the database.
properly certified version of the database.
•• II understand
understand what
what Patch
Patch Sets
Sets and
and Interoperability
Interoperability
Patches
Patches are.
are.
•• II can
can relink
relink the
the Oracle
Oracle database
database in in UNIX.
UNIX.
•• II can
can stop
stop and
and re-start
re-start aa number
number of
of Oracle
Oracle Servers,
Servers,
including the database.
including the database.
•• II can
can check
check the
the configuration
configuration ofof an
an Oracle
Oracle
database
database toto ensure
ensure itit meets
meets Applications
Applications needs.
needs.
®

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing the Database


Chapter 6 - Page 19
Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing the Database


Chapter 6 - Page 20
Diagnosing Oracle Forms
Chapter 7

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Forms


Chapter 7 - Page 1
Diagnosing Oracle Forms

Diagnosing
Diagnosing Oracle
Oracle Forms
Forms

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Forms


Chapter 7 - Page 2
Objectives

Objectives
Objectives

After
After this
this unit,
unit, you
you should
should be
be able
able to:
to:
•• Discuss
Discuss the
the forms
forms server
server architecture
architecture
•• Determine
Determine thethe form
form and
and version
version of
of the
the form
form
•• Determine
Determine thethe latest
latest version
version of
of the
the form
form that
that has
has
been
been completed
completed and and the
the latest
latest available
available version
version
•• Install
Install the
the Forms
Forms Builder
Builder on
on Windows
Windows NT NT
•• Explore
Explore forms
forms from
from inside
inside Forms
Forms Builder
Builder
•• Use
Use Forms
Forms troubleshooting
troubleshooting techniques
techniques
•• List
List available
available sites
sites for
for additional
additional information
information

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Forms


Chapter 7 - Page 3
Important Terms

Important
Important Terms
Terms

•• HTTP
HTTP
•• HTTPS
HTTPS
•• SSL
SSL
•• SOCKET
SOCKET
•• TCP/IP
TCP/IP
•• UDP
UDP
•• HTML
HTML
•• XML
XML

Copyright  Oracle Corporation, 2000. All rights reserved.

HTTP:

HyperText Transfer Protocol: The transfer protocol of the World Wide


Web. Currently, there are 2 versions of HTTP. Version 1.0 of HTTP is a
non-persistent protocol. Each page, graphic, movie, or embedded object
requires the browser to open, get the object, and close the connection.
Version 1.1 of HTTP allows persistent connections which greatly improves
performance. The default port for HTTP traffic is 80.

HTTP, and many other web standards, are defined and maintained by the
Internet Engineering Task Force (http://www.ietf.org). Specifically, HTTP
Version 1.1 is defined in RFC 2616 at:
http://www.ietf.org/rfc/rfc2616.txt?number=2616

HTTPS:

HyperText Transfer Protocol Secure: HTTPS is a variant of HTTP,


proposed by Netscape, which uses SSL to encrypt network traffic to
ensure privacy and security. The default port for HTTPS traffic is 443.

HTTPS is defined and maintained by Netscape, and can be found at:


http://developer.netscape.com/tech/security/basics/index.html

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Forms


Chapter 7 - Page 4
SSL:

Secure Socket Layer: SSL uses public-key encryption. The browser and
the server will exchange a session key which is used to encrypt all HTTP
traffic. Each transaction that requires security will require a new session
key. Because there are session keys, and not the private key to the
Server, each transaction would have to be encrypted individually.

SSL browsers and servers do encryption using either 40-bit or 128-bit


encryption. By saying we have X-bit encryption, we mean that the secret
key has 2^X possible combinations(i.e., 2^40 or 2^128). 128-bit
encryption is seen as stronger. 40-bit encryption was broken using a
brute force attack (i.e., trying every possible combination, 2^40), but it still
took over a week to do this. The limitation of 128-bit encryption is U.S.
export controls which prohibit its wide-spread distribution. However, this
restriction is expect to change.

SSL 3.0 is the latest version of the standard, and can be found at:
http://home.netscape.com/eng/ssl3/ssl-toc.html.

TLS is the replacement for SSL, and offers backward-compatibility with


SSL 3.0. This standard is defined and maintained by the Internet
Engineering Task Force, and can be found at:
http://www.ietf.org/rfc/rfc2246.txt?number=2246

SOCKET:

A socket is a software constructs that allows programmers to


send/receive network traffic by simply opening a socket, reading/writing
data to/from the socket, and closing the socket when done. This removes
all the details of actually transmitting the data from the programmer's
domain which is a vast simplication from the alternative.

There are two types of sockets, streams (bi-directional traffic) and


datagrams (fixed-length, destination-addressed messages). Each socket,
regardless of type, will, once opened, have a socket address which is a
port number and its host's network address.

TCP/IP:

Transmission Control Protocol/Internet Protocol: TCP is a persistent


connection based protocol that runs on top of IP. TCP/IP is actually a

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Forms


Chapter 7 - Page 5
collection of communication protocols that was originally built into the
UNIX operating system, but is now the most widely used communication
protocol. It is the de facto standard for the Internet.

TCP/IP is defined and maintained by the Internet Engineering Task Force.


A great tutorial on TCP/IP is available at:
http://www.ietf.org/rfc/rfc1180.txt?number=1180

TCP/IP is defined in RFC 793 at:


http://www.ietf.org/rfc/rfc0793.txt?number=793

UDP:

User Datagram Protocol: UDP is a non-persistent connectionless protocol


that runs on top of IP. UDP does not care if traffic arrives at its
destination. It only cares that it was sent. UDP is primarily used to
broadcasting messages over networks.

UDP is defined and maintained by the Internet Engineering Task Force,


and is defined in RFC 768 at:
http://www.ietf.org/rfc/rfc0768.txt?number=768

HTML:

HyperText Markup Language: HTML is the document format standard for


the World Wide Web. HTML documents are built with HTML tags. HTML
defines the structure and layout of the document. HTML is not a
programming language. If anything, you can consider it a presentation
language. HTML is a subset of SGML, Standard Generalized Markup
Language.

The HTML standard is defined and maintained the World Wide Web
Consortium (http://www.w3c.org). The current recommended version of
HTML is XHTML 1.0. You can find this at:
http://www.w3.org/TR/xhtml1/

XHTML 1.0 follows earlier work on HTML 4.01, HTML 4.0, HTML 3.2 and
HTML 2.0.

XML:

Extensible Markup Language:


Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Forms


Chapter 7 - Page 6
Important Terms

Important
Important Terms
Terms

•• CGI
CGI SCRIPT
SCRIPT
•• JAVA
JAVA SERVER
SERVER PAGES
PAGES (JSP)
(JSP)
•• JAVA
JAVA
•• JAVASCRIPT
JAVASCRIPT
•• JAVA
JAVA VIRTUAL
VIRTUAL MACHINE
MACHINE

Copyright  Oracle Corporation, 2000. All rights reserved.

CGI SCRIPT:

Common Gateway Interface (CGI) is a method by which HTML pages can


be dynamically generated by pulling content from any source available to
the web server.

JAVA SERVER PAGES:

Java Server Pages (JSPs) are another method for dynamic generation of
HTML pages.

JAVA:

Java is a full-featured programming language that allows for programs to


be written once and run on any compatible platform. This cross-platform
portability is Java's biggest advantage.

JAVASCRIPT:

Originally called, LiveScript, JavaScript was Netscape's attempt to


capitalize on the "Java" name. Javascript adds simple scripting to HTML

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Forms


Chapter 7 - Page 7
pages. Typically, these uses of Javascript are categorized under the
name of dynamic HTML. Javascript is in no way, other than name, related
to Java.

JAVA VIRTUAL MACHINE:

The JVM is the program that allows Java programs to be run on numerous
platforms. Each platform that can run Java needs a JVM.

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Forms


Chapter 7 - Page 8
Forms Architecture

Forms
Forms Architecture
Architecture

Client
Client Tier
Tier Middle
Middle Tier
Tier Database
Database
Browser
Browser Forms
Forms Server
Server Tier
Tier

Sockets,
Sockets, SQL*Net
SQL*Net
HTTP,
HTTP, or
or
HTTPS
HTTPS

Copyright  Oracle Corporation, 2000. All rights reserved.

The Forms Architecture includes 3 tiers. The Client Tier which is where
the browser runs. When a user runs a Forms session, a thin (100% pure
Java applet) client downloads from the Middle Tier (Forms Server). The
thin client handles the interface to the Middle Tier, and the basic tasks of
the user interface (i.e., navigation, interaction, visual feedback like
checked boxes or clicked buttons).

The Middle Tier (Forms Server) runs the same code that would be run by
the Client in a Client/Server model. The Forms Server runs the Server
Runtime Engine which passes all user interface to the thin client. It also
maintains a database connection for the thin client.

The Database Tier stores all the data that is accessed by the Forms
Server for the thin client.

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Forms


Chapter 7 - Page 9
Forms Connection Process

Forms
Forms Connection
Connection Process
Process

Client
Client Tier
Tier Middle
Middle Tier
Tier
Browser
Browser Web
Web Server
Server

Step
Step 1:
1:
Browser
Browser sends
sends request
request (URL)
(URL)
to
to HTTP
HTTP Listener
Listener (Apache).
(Apache).

Copyright  Oracle Corporation, 2000. All rights reserved.

The user "send" the URL in many ways. One, they can choose a link from
a Web Page (Personal Home Page - PHP). Two, they can type the URL
directly into the browser. Three, they can pass the URL as an argument
to the JVM (jInitiator).

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Forms


Chapter 7 - Page 10
Forms Connection Process

Forms
Forms Connection
Connection Process
Process

Client
Client Tier
Tier Middle
Middle Tier
Tier
Browser
Browser Web
Web Server
Server

Step
Step 2:
2:
HTML
HTML page
page is
is
retrieved
retrieved (static)
(static)
or
or generated
generated
(dynamic)
(dynamic)
®

Copyright  Oracle Corporation, 2000. All rights reserved.

When the Web Server receives the URL, it with interpret it. If the URL
points to a static file, the file will be retrieved from storage. If the URL
points to a CGI script, the file will essentially be the same as the static
version, but some pieces of that file will be dynamically generated by the
CGI script.

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Forms


Chapter 7 - Page 11
Forms Connection Process

Forms
Forms Connection
Connection Process
Process

Client
Client Tier
Tier Middle
Middle Tier
Tier
Browser
Browser Web
Web Server
Server

Step
Step 2A:
2A:
IfIf dynamic,
dynamic, CGI
CGI
Script
Script asks
asks Load
Load
Balancing
Balancing Server
Server
for
for Least
Least Loaded
Loaded
®

Copyright  Oracle Corporation, 2000. All rights reserved.

If the URL points to a CGI script, the CGI script will poll the Load
Balancing Server.

The Load Balancing Server is a process that monitors loading on all of the
Forms Servers. Each of the Forms Servers runs a Load Balancing Client
which keeps the Load Balancing Server appraised of its load.

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Forms


Chapter 7 - Page 12
Forms Connection Process

Forms
Forms Connection
Connection Process
Process

Client
Client Tier
Tier Middle
Middle Tier
Tier
Browser
Browser Web
Web Server
Server

Step
Step 2B:
2B:
IfIf dynamic,
dynamic, HTML
HTML
file
file is
is generated
generated
pointing
pointing to
to Least
Least
Loaded
Loaded
®

Copyright  Oracle Corporation, 2000. All rights reserved.

The CGI script asks the Load Balancing Server for the Least Loaded
Forms Server. The Load Balancing Server returns the answer, and that
answer is used in the generation of the HTML file returned to the browser.

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Forms


Chapter 7 - Page 13
Forms Connection Process

Forms
Forms Connection
Connection Process
Process

Client
Client Tier
Tier Middle
Middle Tier
Tier
Browser
Browser Web
Web Server
Server

Step
Step 3:
3:
HTTP
HTTP Listener
Listener sends
sends HTML
HTML
page
page back
back to
to browser.
browser.

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Forms


Chapter 7 - Page 14
Forms Connection Process

Forms
Forms Connection
Connection Process
Process

Client
Client Tier
Tier Middle
Middle Tier
Tier
Browser
Browser Web
Web Server
Server

Step
Step 4:
4:
Browser
Browser decodes
decodes HTML
HTML page,
page,
and
and detects
detects the
the <APPLET>
<APPLET>
tag,
tag, indicating
indicating aa Java
Java applet.
applet.
®

Copyright  Oracle Corporation, 2000. All rights reserved.

As the browser decodes the HTML file returned by the Web Server, it
detects the <APPLET> tag. This is the designator that indicates a Java
applet. Specifically, this is the thin client that will connect to the Forms
Server.

The <APPLET> tag contains the name applet, along with numerous
parameters including a) the name of the form to run, b) the name of the
Forms Server to use, c) login information, and d) any other parameters
you need to pass to your Forms session.

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Forms


Chapter 7 - Page 15
Forms Connection Process

Forms
Forms Connection
Connection Process
Process

Client
Client Tier
Tier Middle
Middle Tier
Tier
Browser
Browser Web
Web Server
Server

Step
Step 5:
5:
Browser
Browser sends
sends request
request (URL)
(URL)
to
to HTTP
HTTP Listener
Listener for
for Java
Java Applet
Applet

Copyright  Oracle Corporation, 2000. All rights reserved.

The browser asks the Web Server to send it the Java applet. Java applets
are stored in .class or ,jar (Java Archive) files. We use .jar files for
Applications. .JAR files are compressed archives that contain multiple
.class files. We use .jar files because they speed up the downloading of
the Java applet. There are many .jar files that Applications must
download to run.

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Forms


Chapter 7 - Page 16
Forms Connection Process

Forms
Forms Connection
Connection Process
Process

Client
Client Tier
Tier Middle
Middle Tier
Tier
Browser
Browser Web
Web Server
Server

Step
Step 6:
6:
HTTP
HTTP Listener
Listener returns
returns Applet
Applet
(.jar
(.jar files)
files) to
to browser
browser

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Forms


Chapter 7 - Page 17
Forms Connection Process

Forms
Forms Connection
Connection Process
Process

Client
Client Tier
Tier Middle
Middle Tier
Tier
Browser
Browser Web
Web Server
Server

Step
Step 7:
7:
Browser
Browser receives
receives Java
Java applet
applet
(.jar
(.jar files),
files), and
and begins
begins to
to run
run
them
them in
in its
its JVM
JVM (jInitiator)
(jInitiator)
®

Copyright  Oracle Corporation, 2000. All rights reserved.

The JVM, jInitiator, checks the version of the files being sent. If the
version of the .jar files is newer than the version cached on the client,
jInitiator will continue the download. If the version is the same or older,
jInitiator will begin to run the cached Java files.

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Forms


Chapter 7 - Page 18
Forms Connection Process

Forms
Forms Connection
Connection Process
Process

Client
Client Tier
Tier Middle
Middle Tier
Tier
JVM
JVM Forms
Forms Listener
Listener

Step
Step 8:
8:
Java
Java applet
applet is
is now
now running
running
in
in the
the JVM.
JVM. Browser
Browser is
is no
no
longer
longer part
part of
of the
the equation
equation
®

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Forms


Chapter 7 - Page 19
Forms Connection Process

Forms
Forms Connection
Connection Process
Process

Client
Client Tier
Tier Middle
Middle Tier
Tier
JVM
JVM Forms
Forms Listener
Listener

Step
Step 9:
9:
Java
Java applet
applet connects
connects to
to
Forms
Forms Listener
Listener

Copyright  Oracle Corporation, 2000. All rights reserved.

The Java thin client connects to the Forms Listener via a TCP/IP socket or
an HTTP port. The Forms Listener is already started, and listens for these
requests.

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Forms


Chapter 7 - Page 20
Forms Connection Process

Forms
Forms Connection
Connection Process
Process

Client
Client Tier
Tier Middle
Middle Tier
Tier
Browser
Browser Forms
Forms RT
RT Eng.
Eng.

Step
Step 10:
10:
Forms
Forms Listener
Listener
allocates
allocates aa
Forms
Forms Runtime
Runtime
Engine
Engine
®

Copyright  Oracle Corporation, 2000. All rights reserved.

When the Forms Listeners gets the request, it starts a new Forms
Runtime Engine for this thin client. This started Forms Runtime Engine
can either be a newly spawned process, or it can be an allocation of an
already running process (which greatly speeds up the connection
process).

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Forms


Chapter 7 - Page 21
Forms Connection Process

Forms
Forms Connection
Connection Process
Process

Client
Client Tier
Tier Middle
Middle Tier
Tier
Browser
Browser Forms
Forms RT
RT Eng.
Eng.

Step
Step 11:
11:
Java
Java applet
applet connection
connection is
is
passed
passed from
from Forms
Forms Listener
Listener
to
to Forms
Forms Runtime
Runtime Engine
Engine

Copyright  Oracle Corporation, 2000. All rights reserved.

The Forms Listeners hands-off the connection to the thin client, and then
has no further role in the process.

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Forms


Chapter 7 - Page 22
Forms Connection Process

Forms
Forms Connection
Connection Process
Process

Client
Client Tier
Tier Middle
Middle Tier
Tier
Browser
Browser Forms
Forms RT
RT Eng.
Eng.

Step
Step 12:
12:
Forms
Forms RT
RT Engine
Engine
loads
loads module(s)
module(s)
needed
needed to
to run
run the
the
requested
requested form
form
®

Copyright  Oracle Corporation, 2000. All rights reserved.

When the thin client connected, it passed an parameter entry, serverArgs.


In that parameter entry, there was a name of a form to run. At this point,
the Forms Runtime Engine, loads the form and any libraries and/or menus
required by that form.

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Forms


Chapter 7 - Page 23
Forms Connection Process

Forms
Forms Connection
Connection Process
Process

Middle
Middle Tier
Tier Database
Database
Forms
Forms RT
RT Eng.
Eng. Tier
Tier

Step
Step 13:
13:
Forms
Forms Runtime
Runtime Engine
Engine opens
opens
aa connection
connection to
to the
the database
database

Copyright  Oracle Corporation, 2000. All rights reserved.

The details of this connection depend on whether the Forms Runtime


Engine is a newly spawned process, or if it was allocated from a pool of
already running processes.

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Forms


Chapter 7 - Page 24
Determining Form Version

Determining
Determining Form
Form Version
Version

•• Within
Within Applications
Applications
Help è
–– Help è About
About Oracle
Oracle Applications
Applications
•• At
At Operating
Operating System
System Level
Level
–– adident
adident Header
Header <file1>
<file1> [[ <file
<file 2>
2> <file
<file 3>
3> .. .. .. ]]

Copyright  Oracle Corporation, 2000. All rights reserved.

AD File Identification (adident)

With AD File Identification, you can identify the version of one or more
Oracle Applications files. This information is used by AutoPatch to
determine whether a file in a patch is newer than the on-site version. This
utility is also useful for collecting information about your site when
contacting Oracle Support Services.

Use the following command to run the program:

For UNIX users:


$ adident Header <file 1> [ <file 2> <file 3> ... ]

For NT users:
C:\> adident Header <file 1> [ <file 2> <file 3> ... ]

The <file n> arguments should be the name of any Applications text file,
binary object file (extension .o for UNIX and .obj for NT), library file
(extension .a for UNIX and .lib for NT), dynamic link library (.dll for NT), or
executable program (.exe for NT). You may provide any number of file
names as arguments. When you give adident the name of a library file or

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Forms


Chapter 7 - Page 25
executable, it lists all of the files that comprise the library or executable
and their respective versions. For example:

For UNIX users:


$ adident Header $FND_TOP/lib/wfload.o $FND_TOP/lib/libfnd.a
wfload.o:
wfload.oc 115.5.1100.3
libfnd.a:
fdacon.lc 115.0
fdatat.lc 115.0
fdastr.lc 115.0
fdaupd.lc 115.0.1100.2
fdahmi.lc 115.0.1100.2
fdacv.lc 115.0
fdfutl.lc 115.4
....

For NT users:
C:\> adident Header %FND_TOP%\lib\wfload.obj
%FND_TOP%\lib\fndst.lib
wfload.obj:
wfload.oc 115.5.1100.3
fndst.lib:
fdacon.lc 115.0
fdatat.lc 115.0
fdastr.lc 115.0
fdaupd.lc 115.0.1100.2
fdahmi.lc 115.0.1100.2
fdacv.lc 115.0
fdfutl.lc 115.4
....

You can also use a ’*’ to identify all files in a directory (e.g. *.sql to identify
all SQL scripts).

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Forms


Chapter 7 - Page 26
Latest Version of Form

Latest
Latest Version
Version of
of Form
Form

•• Latest
Latest Version
Version of
of Form
Form
•• Latest
Latest Available
Available Version
Version of
of Form
Form

Copyright  Oracle Corporation, 2000. All rights reserved.

While the two bullets, shown above, may appear to be the same. They
are actually two quite different things. There are three ways that a fix to
Applications can be released. One, an individual patch for an individual
problem can be released. This will only be done for Severity 1 issues.
Two, a collection of fixes will be released in a tested set called a mini-
pack. Three, a collection of mini-packs will be released, and it is called a
maintenance pack or a release (e.g., 11.5.0 to 11.5.1 to 11.5.2).

Finding the Latest Version of the Form may or may not give you the latest
available version. But, it will provide you with significant information on
the upcoming fixes to Applications if it is not the latest available version.
To find this information, go to ARU:

http://aru.us.oracle.com/

The nice feature of the ARU website is that much of the information is
accessible without a username/password. To find the latest version, do
the following:

1. Go to the ARU website. http://aru.us.oracle.com/


2. Click the "Bugfix Details" tab at the top of the screen.
3. Click the "File History" button

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Forms


Chapter 7 - Page 27
4. Click the "Release" field, and change its value to "11i".
5. In the "Filename" field, type the name of your form (in all
upper case) with .fmb (in lower case) into the field. For
example, type FNDSCAUS.fmb
6. Click the "Search" button.

After clicking "Search", you will see the results. They will look something
like the following:

Release File Version Event


Product Directory
11i FNDSCAUS.fmb 115.14 1354512 AU In Progress Patchset *
fnd forms/US/ 115.14 1346110 FND Obsoleted Standalone
115.14 1344802 FND In Progress Patchset *
115.14 1343602 FND In Progress Candidate
115.14 1341517 FND Obsoleted Candidate
115.14 1314321 FND Released Standalone
115.13 11i Baseline

Total: 7
* Indicates that the checkin includes the file
via another included checkin.

Each bugfix checkin in ARU has a patch type associated with it. The patch
type determines whether the customer will receive the bugfix as a part of a
standalone patch or a mini-pack. The patch types and their descriptions
are listed below.

Standard Checkin
1. will be available to customers as a standalone patch when
released.
2. will be included in your product's current open mini-pack when
released.
3. will have a test patch built automatically.

Patchset Candidate Checkin


1. will not be available to customers as a standalone patch (the
patch will be available through your product's mini-pack).
2. will be included in your product's current open mini-pack
immediately, not when it is released.
3. will not have a test patch built. The checkin will be tested

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Forms


Chapter 7 - Page 28
when your current open mini-pack is closed for testing.
4. will be released automatically when the current open
mini-pack is released. You will not be able to release it
manually.

A Standalone Checkin

1. will be available to customers as a standalone patch when


released.
2. will not be included in your product's current open mini-pack.
3. will have a test patch built automatically.

A Patchset Checkin

1. will be available to customers as a standalone patch when


released.
2. is the mini-pack. It consolidates all the bug fixes in the
mini-pack into one patch.
3. will have a test patch built automatically.
4. can not be checked in like any other bugfix. It is created
when you "Close a Patchset" through the ARU Checkin
application.

A Debug Checkin

1. will not be available to customers through the normal support


channels. You are responsibile for sending the completed
patch to support for final delivery to the customer.
2. will not be included in your product's current open mini-pack.

While this information is critical, it is not always obvious, given the


numerous statuses, whether or not a given version is available.

The easiest method for getting the latest available version is through
MetaLink. To obtain the latest available version, do the following:

1. Go to MetaLink. http://metalink.oracle.com/
2. Login to your appropriate server location.
3. Click the button in the left frame that is labelled, "Patches".

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Forms


Chapter 7 - Page 29
4. Click the link that is titled as follows:
"==> NEW! Click here for ALL Applications Product Patches"
This link takes you to a special version of ARU. This
version is simpler, and will give you just the things you need.
5. In the "Includes File" field, type "FNDSCAUS". You do not
need extensions from this form.
6. Click the "SUBMIT" button.

From there, you will have a screen that describes the patch or patches
that meet your criteria. You can read the README files associated with
the patch, and you can download the patch if needed.

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Forms


Chapter 7 - Page 30
Install Forms on Windows NT

Install
Install Forms
Forms on
on Windows
Windows NT
NT

•• Download
Download Oracle
Oracle Forms
Forms forfor Windows
Windows NT.
NT.
•• Download
Download auxilliary
auxilliary files
files needed
needed by
by Applications.
Applications.
•• Make
Make necessary
necessary registry
registry changes.
changes.
•• Download
Download form
form you
you wish
wish to
to examine.
examine.
•• Download
Download needed
needed related
related forms
forms and
and libraries.
libraries.

Copyright  Oracle Corporation, 2000. All rights reserved.

Download Oracle Forms:

You can obtain the Windows NT version of Oracle Forms from the
following source:

http://www-dev2k.us.oracle.com/whitepapers/6icollateral.html

Download Auxilliary Files for Applications:

You will also need some related files that Applications needs in order to
run. You can download these files from the following source:

http://atgorl.us.oracle.com/wsawyer/FormsFiles.zip

When you unzip these files, do so into a new directory. You will need the
path to this directory for a later step.

While the files contained in this are good starters, they may not be the
latest versions. You should check each file against the version on your
Application, and download any files which are different.

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Forms


Chapter 7 - Page 31
There is one exception to this. The appstand.fmb file has a special fix for
Windows NT. If you are running Oracle Forms version 6.0.8.8, you MUST
keep the appstand.fmb file that was included in the ZIP. If you are using
Oracle Forms 6.0.8.10 or higher, you can use the newer appstand.fmb
that you can download from your system.

Make Registry Changes:

In Windows NT run the Registry Editor. To do the needed changes, do


the following:

1. Start Registry Editor . . . START - RUN - regedt32


2. Choose the HKEY_LOCAL_MACHINE window.
3. Open the SOFTWARE tab (double-click the + sign).
4. Click (single NOT double) the ORACLE tab.
5. Find the entry in the list on the right that reads
FORMS60_PATH. When you do, double-click it to open it.
This registry value points to the path for special files
that forms will need to open a given form. This is where
you need the path for where you downloaded your
auxilliary files in the process above.
6. Add the path to your auxilliary files by adding a ; (semicolon)
followed by the path to your auxilliary files. For example:
;c:\Forms\
7. When done, click the "OK" button.
8. You also need to add a new registry variable.
9. From the Registry Editor menu, choose EDIT … ADD VALUE.
10. The Value Name is ORACLE_APPLICATIONS.
11. The Data Type is REG_EXPAND_SZ.
12. Click "OK" button when you are done.
13. You can now exit the Registry Editor.

Download Form:

You can now download the form you wish to examine from your
Applications server. Remember two important items. One, download the
.fmb file. Two, if you use FTP to transfer the file, remember to do the
transfer in BINARY mode.

Download the Needed Forms and Libraries:

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Forms


Chapter 7 - Page 32
After download a form, you may receive an error or warning indicting while
trying to open the form in the Forms Builder. You may see the following:

FRM-18108: Failed to load the following objects:

What follows is the object or list of objects that your form needs in order to
load. These can be either other forms or PL/SQL libraries (.pll's). Write
down the name(s), and exit the Forms Builder without saving. Download
all the forms or libraries to your directory. You can find these files in
AU_TOP/forms/US/ and AU_TOP/resource/. Repeat the
opening/download process until all the FRM-18108 problems are resolved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Forms


Chapter 7 - Page 33
Forms Troubleshooting Techniques

Forms
Forms Troubleshooting
Troubleshooting Techniques
Techniques

•• Forms
Forms Debugger
Debugger
•• Forms
Forms Runtime
Runtime Debugger
Debugger
•• Tracing
Tracing Forms
Forms

Copyright  Oracle Corporation, 2000. All rights reserved.

There are three primary means of debugging forms. One is to use the
debugger built-in to Forms Builder. Two is to use the Forms Runtime
Debugger built-in to the Forms Server. Three is to use the SQL Tracing
function to monitor your form's database interactions.

Forms debugging is not trivial. It requires skill, knowledge, and


experience. You will acquire these attributes with time using the tools.

A full discussion of these tools Also, these are major topics, and are well
outside the scope of this unit. This unit is only meant to make you aware
of these tools. If you need to learn more, there are numerous links that
you can use to learn more (see the Useful Links pages in this unit).

For an excellent discussion of Forms Debugging Techniques, view the


following:

http://crweb.us.oracle.com/cgi-bin/crguest/getfile?275764

Forms Debugger:

The Forms Debugger is a simple interface which allows the developer a


high degree of control in debugging applications. You can not only view

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Forms


Chapter 7 - Page 34
values of variables, but you can actually change them at runtime to
explore how various values affect results. You can step through code and
even modify it for that debugger session, if desired. With Forms 5.0 and
above, you can debug server-side code, view values of PL/SQL tables,
and see which row a cursor is processing. The Forms Debugger provides
a comprehensive set of tools for debugging Oracle Forms, and its primary
features are quite easy to use.

INVOKING THE FORMS DEBUGGER

The simplest way to invoke the Forms Debugger is by clicking the debug
icon in the Form Builder, which appears in both the object navigator and
the canvas layout editor. In Forms 6.0, this runs the form in debug mode.

You can also run the Forms Debugger by specifying “debug=yes” on the
command line. To do this, you must use the debug executable, rather than
the normal runform executable, AND the form must have been generated
in debug mode. For example, to run in debug mode on Windows
platforms:

c:\orant\bin\ifdbg60.exe module=myform userid=scott/tiger debug=yes

A third method of invoking the form in debug mode is to check “Run in


Debug Mode” in the runform window. If you run your form in debug mode
and find that you are not able to see your program unit code, it is because
you did not generate the form in debug mode. Running the form in debug
mode from the Form Builder automatically generates it in debug mode.

If you are not able to see server-side code in Forms 5.0 and above, you
may need to recompile that code on the server to include debug
information:

ALTER PROCEDURE procname COMPILE DEBUG;

This recompilation should enable you to step through server-side code


with the Forms debugger and 5.0 or above. When the form is running in
debug mode, the debugger window will be displayed when the form first
comes up, and also whenever a debug action (discussed below) is
encountered. You can also manually bring up the debugger window while
the form is running in debug mode by selecting Help -> Debug from the
menu.

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Forms


Chapter 7 - Page 35
For a deeper explanation of using the Forms Debugger, view the
following:

http://crweb.us.oracle.com/cgi-bin/crguest/getfile?275198

Forms Runtime Debugger:

The Forms Runtime Debugger (FRD) is a runtime event-based logging


system intended to aid in the debugging of Forms applications. When a
form is run with FRD enabled, a combination of external user-application
interactions and internal Forms processing events are written in
chronological order to a log on the file system. These events can then be
analyzed by both application developers, and Oracle support staff. FRD is
not intended to be used as a performance benchmarking tool or as a
mechanism for gauging code coverage.

Using Forms Runtime Diagnostics

1. Initiating FRD - To initiate data collection, provide the string


"collect" to the runtime argument "record" as follows:

f45runm module=foo userid=scott/tiger@hockey record=collect

This will create a file in the current working directory with


name: collect_<process ID>. In order to choose the name
of the file yourself, provide the string as the value of the
"log=" argument:

f45runm module=foo userid=scott/tiger@hockey


record=collect log=my_file

2. Instrumented Events
The following data is collected by FRD:
A. Trigger firing: includes name and hierarchical location.
B. Built-in Execution: includes name and IN and OUT
parameter types and values.
C. Messages: includes message numbers and text
D. FMX/MMX file opens.
E. Unhandled exceptions: includes error message if
available, otherwise only error numbers.

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Forms


Chapter 7 - Page 36
F. All external user events via normal RT recording
mechanism

3. Expected Output
The following output for each of the instrumented events
described above can be expected from FRD:
A. Triggers - Place any type of trigger at any level in the
object hierarchy. Upon firing, it should be logged as
follows:

<trigger_name> Trigger Fired:


Form: <form_name>
Block: <block_name>
Item: <item_name>

The level of the trigger corresponds to the last item


in the list. A trigger on Form level, therefore, would
have only the form name listed below the trigger
name. A "State Delta" should be written to the log
following a trigger fire. A State Delta is a dump of all
internal state information that has changed since the
occurrence of the previous state delta. The first state
delta will dump the entire forms state to the log. The
delta mechanism has been used to decrease the
size of the output file.

B. Built-ins - When a PL/SQL Forms built-in is executed,


the diagnostic output should appear as follows:

Executing <built-in name> Built-In:


In Argument 0 - Type: <type> Value: <value>
In Argument 1 - Type: <type> Value: <value>
...
Out Argument 0 - Type: <type> Value: <value>
...

Parameter types to be tested include the following:


String, Number, Integer, Float, Oracle Number, Date.
Out argument 0 generally represents the function

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Forms


Chapter 7 - Page 37
return value.

Tracing Forms:

You can use the built-in capability of Oracle Forms to create a SQL Trace
of you form. The trace file will be kept in the user_dump_dest location
pointed to by your init.ora file. The default name of the file will be as
follows:

<SID>_ora_<DB PID>.trc

To determine the values of <SID> and <DB PID>, do the following:

1. Do (Help) About Oracle Applications from within Oracle


Applications.
2. Scroll down to look at the field labelled, Oracle SID, which
is your <SID> value.
3. The field labelled, Database process, is your <DB PID> value.

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Forms


Chapter 7 - Page 38
Useful Links

Useful
Useful Links
Links

•• Download
Download Oracle
Oracle Forms
Forms for
for Windows
Windows NT
NT
http://developer.us.oracle.com/
http://developer.us.oracle.com/
•• Download
Download other
other Oracle
Oracle Applications
Applications Software:
Software:
http://sac.us.oracle.com/download/
http://sac.us.oracle.com/download/
•• Forms
Forms Debugging:
Debugging:
http://crweb.us.oracle.com/cgi-bin/crguest/getfile?275764
http://crweb.us.oracle.com/cgi-bin/crguest/getfile?275764
•• Forms
Forms Troubleshooting:
Troubleshooting:
http://crweb.us.oracle.com/cgi-bin/crguest/getfile?275198
http://crweb.us.oracle.com/cgi-bin/crguest/getfile?275198
•• Auxilliary
Auxilliary Files
Files for
for Applications
Applications Forms:
Forms:
http://atgorl.us.oracle.com/wsawyer/FormsFiles.zip
http://atgorl.us.oracle.com/wsawyer/FormsFiles.zip

Copyright  Oracle Corporation, 2000. All rights reserved.

These links are for software downloads and debugging guides.

Download Oracle Forms for Windows NT


http://developer.us.oracle.com/

Download other Oracle Applications Software:


http://sac.us.oracle.com/download/

Forms Debugging:
http://crweb.us.oracle.com/cgi-bin/crguest/getfile?275764

Forms Troubleshooting:
http://crweb.us.oracle.com/cgi-bin/crguest/getfile?275198

Auxilliary Files for Applications Forms:


http://atgorl.us.oracle.com/wsawyer/FormsFiles.zip

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Forms


Chapter 7 - Page 39
Useful Links

Useful
Useful Links
Links

•• Oracle
Oracle SQL
SQL Reference:
Reference:
http://st-doc.us.oracle.com/8.0/816/server.816/a76989.pdf
http://st-doc.us.oracle.com/8.0/816/server.816/a76989.pdf
•• Oracle
Oracle PL/SQL
PL/SQL Reference:
Reference:
http://st-doc.us.oracle.com/8.0/816/appdev.816/a77069.pdf
http://st-doc.us.oracle.com/8.0/816/appdev.816/a77069.pdf
•• Javascript
Javascript Reference:
Reference:
http://www.javascript.com/
http://www.javascript.com/
•• Java
Java Reference:
Reference:
http://java.sun.com/
http://java.sun.com/
•• HTML
HTML Reference:
Reference:
http://www.w3c.org/
http://www.w3c.org/
•• XML
XML Reference:
Reference:
http://www.w3c.org/
http://www.w3c.org/
®

Copyright  Oracle Corporation, 2000. All rights reserved.

There are numerous skills that will be of significant value when it comes to
understanding Oracle Forms. These are a few that you might find useful.

Oracle SQL Reference:


http://st-doc.us.oracle.com/8.0/816/server.816/a76989.pdf

Oracle PL/SQL Reference:


http://st-doc.us.oracle.com/8.0/816/appdev.816/a77069.pdf

Javascript Reference:
http://www.javascript.com/

Java Reference:
http://java.sun.com/

HTML Reference:
http://www.w3c.org/

XML Reference:
http://www.w3c.org/

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Forms


Chapter 7 - Page 40
Useful Links

Useful
Useful Links
Links

•• JSP
JSP Reference:
Reference:
http://java.sun.com/products/jsp/
http://java.sun.com/products/jsp/
•• Oracle
Oracle Forms:
Forms:
http://developer.us.oracle.com/whitepapers/6icollateral.html
http://developer.us.oracle.com/whitepapers/6icollateral.html
•• Oracle
Oracle JDeveloper
JDeveloper Reference:
Reference:
http://jdeveloper.us.oracle.com/
http://jdeveloper.us.oracle.com/
•• Oracle
Oracle Applications
Applications Coding
Coding Standards:
Standards:
http://www-apps.us.oracle.com/atg/standards/codestan.html
http://www-apps.us.oracle.com/atg/standards/codestan.html
•• Oracle
Oracle Applications
Applications UI
UI Standards:
Standards:
http://
http://www-apps.us.oracle.com/atg/standards/uistan.html
www-apps.us.oracle.com/atg/standards/uistan.html
•• Oracle
Oracle Applications
Applications Developer's
Developer's Guide:
Guide:
http://
http://www-apps.us.oracle.com/docdev/acrobat/11i/115devg.pdf
www-apps.us.oracle.com/docdev/acrobat/11i/115devg.pdf
®

Copyright  Oracle Corporation, 2000. All rights reserved.

There are numerous skills that will be of significant value when it comes to
understanding Oracle Forms. These are a few that you might find useful.

JSP Reference:
http://java.sun.com/products/jsp/

Oracle Forms:
http://developer.us.oracle.com/whitepapers/6icollateral.html

Oracle JDeveloper Reference:


http://jdeveloper.us.oracle.com/

Oracle Applications Coding Standards:


http://www-apps.us.oracle.com/atg/standards/codestan.html

Oracle Applications UI Standards:


http://www-apps.us.oracle.com/atg/standards/uistan.html

Oracle Applications Developer's Guide:


http://www-apps.us.oracle.com/docdev/acrobat/11i/115devg.pdf

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Forms


Chapter 7 - Page 41
Summary

Summary
Summary

You
You should
should feel
feel comfortable
comfortable with
with the
the following
following
statements
statements about
about your
your knowledge:
knowledge:
•• II can
can discuss
discuss the
the forms
forms server
server architecture.
architecture.
•• II can
can determine
determine the
the form
form and
and version
version of
of the
the form.
form.
•• II can
can determine
determine the
the latest
latest version
version and
and latest
latest
available
available version
version of
of the
the form.
form.
•• II can
can install
install Forms
Forms Builder
Builder on on Windows
Windows NT.NT.
•• II can
can explore
explore forms
forms from
from inside
inside Forms
Forms Builder.
Builder.
•• II can
can use
use Forms
Forms troubleshooting
troubleshooting techniques.
techniques.
•• II know
know some
some sites
sites for
for additional
additional information.
information.
®

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Forms


Chapter 7 - Page 42
Diagnosing Oracle Reports
Chapter 8

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Reports


Chapter 8 - Page 1
Diagnosing Oracle Reports

Diagnosing
Diagnosing Oracle
Oracle Reports
Reports

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Reports


Chapter 8 - Page 2
Objectives

Objectives
Objectives

After
After this
this unit,
unit, you
you should
should be
be able
able to:
to:
•• Discuss
Discuss the
the concurrent
concurrent processing
processing architecture
architecture
•• Determine
Determine thethe report
report and
and version
version of
of the
the form
form
•• Determine
Determine thethe latest
latest version
version of
of the
the report
report that
that has
has
been
been completed
completed and and the
the latest
latest available
available version
version
•• Install
Install the
the Reports
Reports Builder
Builder on
on Windows
Windows NT NT
•• Explore
Explore reports
reports from
from inside
inside Reports
Reports Builder
Builder
•• Use
Use Reports
Reports troubleshooting
troubleshooting techniques
techniques
•• List
List available
available sites
sites for
for additional
additional information
information

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Reports


Chapter 8 - Page 3
Concurrent Processing Architecture

Concurrent
Concurrent Processing
Processing Architecture
Architecture

•• Concurrent
Concurrent Processing
Processing
•• 2-tier
2-tier Concurrent
Concurrent Processing
Processing
•• Parallel
Parallel Concurrent
Concurrent Processing
Processing

Copyright  Oracle Corporation, 2000. All rights reserved.

Oracle Applications allows for users to run reports from the forms-based
Applications, and it allows for users using the Business Intelligence
System (BIS) products to run ad hoc reports. The forms-based products
run their reports through Oracle Application's Concurrent Processing
facilities. The BIS products run their reports through the Reports Server.

The vast majority of reports are done through the forms-based products.
This unit deals with reports requests through the forms-based products.

There are three architectures for Concurrent Processing. The most


common architecture for Concurrent Processing is for the Concurrent
Processing Server to be installed on the same machine with the Database
Server. Why?

1. Simplified administration
2. Reduced Complexity

In the 2-tier Concurrent Processing architecture, the Concurrent


Processing Server is run on a machine other than the Database Server.

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Reports


Chapter 8 - Page 4
In Parallel Concurrent Processing, there are multiple Concurrent
Processing Servers running on multiple machines. This architecture has
some advantages.

1. High performance . . . the ability to run concurrent processes


on multiple nodes to improve concurrent processing
throughput.
2. Fault Tolerance . . . the ability to continue running concurrent
processes on available nodes even when one or more nodes
fails.
3. Adaptability. . . the ability to integrate with platform–specific
batch queue and load–balancing systems to maximize
concurrent processing performance on a particular platform.
4. Single Point of Control . . . the ability to administer concurrent
managers running on multiple nodes from any node in a
cluster, massively parallel, or homogeneous networked
environment.

For more information on this, see the unit on Concurrent Processing.

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Reports


Chapter 8 - Page 5
Determining Report Version

Determining
Determining Report
Report Version
Version

•• Within
Within Applications
Applications
–– (Menu) View è
(Menu) View è Requests
Requests
•• At
At Operating
Operating System
System Level
Level
–– adident
adident Header
Header <file1>
<file1> [[ <file
<file 2>
2> <file
<file 3>
3> .. .. .. ]]

Copyright  Oracle Corporation, 2000. All rights reserved.

Unlike Forms, to find a Report version, you will actually need to do steps
inside the Applications and at the Operating System.

STEP 1:

A. Choose (Menu) View -> Request


B. Select the "ALL MY REQUESTS" radio button.
C. Click the "FIND" button.
D. Click the "VIEW LOG" button.
E. When you click the "VIEW LOG" button, you will see
like the following:

+---------------------------------------------------------------------------+
Application Object Library: Version : 11.5.0 - Development

Copyright (c) 1979, 1999, Oracle Corporation. All rights reserved.

FNDSCURS module: Active Users


+---------------------------------------------------------------------------+

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Reports


Chapter 8 - Page 6
F. The Report shortname, in this case, is FNDSCURS.rdf.
Report files end in the extension .rdf.

STEP 2:

A. Use the following commands to determine the version:

For UNIX users:


$ cd $<PROD>_TOP/$APPLREP/US
$ adident Header <file 1> [ <file 2> <file 3> ... ]

For NT users:
C:\> cd %APPL_TOP%\%APPLREP%\US
C:\> adident Header <file 1> [ <file 2> <file 3> ... ]

The <file n> arguments should be the name of any Applications text file,
binary object file (extension .o for UNIX and .obj for NT), library file
(extension .a for UNIX and .lib for NT), dynamic link library (.dll for NT), or
executable program (.exe for NT). You may provide any number of file
names as arguments.

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Reports


Chapter 8 - Page 7
Latest Version of Report

Latest
Latest Version
Version of
of Report
Report

•• Latest
Latest Version
Version of
of Report
Report
•• Latest
Latest Available
Available Version
Version of
of Report
Report

Copyright  Oracle Corporation, 2000. All rights reserved.

While the two bullets, shown above, may appear to be the same. They
are actually two quite different things. There are three ways that a fix to
Applications can be released. One, an individual patch for an individual
problem can be released. Two, a collection of fixes will be released in a
tested set called a mini-pack. Three, a collection of mini-packs will be
released, and it is called a maintenance pack or a release (e.g., 11.5.0 to
11.5.1 to 11.5.2).

Finding the Latest Version of the Report may or may not give you the
latest available version. But, it will provide you with significant information
on the upcoming fixes to Applications if it is not the latest available
version. To find this information, go to ARU:

http://aru.us.oracle.com/

The nice feature of the ARU website is that much of the information is
accessible without a username/password. To find the latest version, do
the following:

1. Go to the ARU website. http://aru.us.oracle.com/


2. Click the "Bugfix Details" tab at the top of the screen.
3. Click the "File History" button

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Reports


Chapter 8 - Page 8
4. Click the "Release" field, and change its value to "11i".
5. In the "Filename" field, type the shortname of your report
(in all upper case) with .rdf (in lower case) into the field. For
example, type FNDSCURS.rdf
6. Click the "Search" button.

After clicking "Search", you will see the results. They will look something
like the following:

Release File Version Event


Product Directory
11i FNDSCURS.rdf 115.4 11i Baseline
Fnd reports/US/

Total: 1

Each bugfix checkin in ARU has a patch type associated with it. The patch
type determines whether the customer will receive the bugfix as a part of a
standalone patch or a mini-pack. The patch types and their descriptions
are listed below.

Standard Checkin
1. will be available to customers as a standalone patch when
released.
2. will be included in your product's current open mini-pack when
released.
3. will have a test patch built automatically.

Patchset Candidate Checkin


1. will not be available to customers as a standalone patch (the
patch will be available through your product's mini-pack).
2. will be included in your product's current open mini-pack
immediately, not when it is released.
3. will not have a test patch built. The checkin will be tested
when your current open mini-pack is closed for testing.
4. will be released automatically when the current open
mini-pack is released. You will not be able to release it
manually.

A Standalone Checkin

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Reports


Chapter 8 - Page 9
1. will be available to customers as a standalone patch when
released.
2. will not be included in your product's current open mini-pack.
3. will have a test patch built automatically.

A Patchset Checkin

1. will be available to customers as a standalone patch when


released.
2. is the mini-pack. It consolidates all the bug fixes in the
mini-pack into one patch.
3. will have a test patch built automatically.
4. can not be checked in like any other bugfix. It is created
when you "Close a Patchset" through the ARU Checkin
application.

A Debug Checkin

1. will not be available to customers through the normal support


channels. You are responsibile for sending the completed
patch to support for final delivery to the customer.
2. will not be included in your product's current open mini-pack.

While this information is critical, it is not always obvious, given the


numerous statuses, whether or not a given version is available.

The easiest method for getting the latest available version is through
MetaLink. To obtain the latest available version, do the following:

1. Go to MetaLink. http://metalink.oracle.com/
2. Login to your appropriate server location.
3. Click the button in the left frame that is labelled, "Patches".
4. Click the link that is titled as follows:
"==> NEW! Click here for ALL Applications Product Patches"
This link takes you to a special version of ARU. This
version is simpler, and will give you just the things you need.
5. In the "Includes File" field, type "FNDSCURS". You do not
need extensions from this form.
6. Click the "SUBMIT" button.

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Reports


Chapter 8 - Page 10
From there, you will have a screen that describes the patch or patches
that meet your criteria. You can read the README files associated with
the patch, and you can download the patch if needed.

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Reports


Chapter 8 - Page 11
Install Reports on Windows NT

Install
Install Reports
Reports on
on Windows
Windows NT
NT

•• Download
Download Oracle
Oracle Reports
Reports for
for Windows
Windows NT.
NT.
•• Download
Download report
report you
you wish
wish to
to examine.
examine.

Copyright  Oracle Corporation, 2000. All rights reserved.

Download Oracle Reports:

You can obtain the Windows NT version of Oracle Reports from the
following source:

http://www-dev2k.us.oracle.com/whitepapers/6icollateral.html

Download Report:

You can now download the report you wish to examine from your
Applications server. Remember two important items. One, download the
.rdf file. Two, if you use FTP to transfer the file, remember to do the
transfer in BINARY mode.

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Reports


Chapter 8 - Page 12
Reports Troubleshooting Techniques

Reports
Reports Troubleshooting
Troubleshooting Techniques
Techniques

•• Simple
Simple Reports
Reports Troubleshooting
Troubleshooting
•• Reports
Reports Runtime
Runtime Tracing
Tracing
•• SQL
SQL Tracing
Tracing Reports
Reports

Copyright  Oracle Corporation, 2000. All rights reserved.

Simple Report Troubleshooting:

There are two simple things you can do to troubleshoot reports. One, you
can check the environment variables associated with Oracle Reports to
ensure that they are properly set.

REPORTS60_PATH This environment variable points Oracle


Reports to where it can find the reports,
graphs, and PL/SQL libraries it needs to
run. It should include AU_TOP/plsql,
AU_TOP/graphs, AU_TOP/reports, and
FND_TOP/reports

REPORTS60_TMP This is a path for temporary files that


Oracle Reports might need to create.

Two, the other simple troubleshooting technique is to run the report from
the Operating System.

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Reports


Chapter 8 - Page 13
(NOTE: Most reports pass parameters during startup. In order to see
what these parameters are, you can look at the LOG file created for the
report within Oracle Applications.)

To run the report, issue the ar60runb command from the Operating
System. The syntax of the command is as follows:

Usage: ar60runb report [[keyword=]value ... ]

Valid Keywords:

module Report name (report= also valid)


userid Database username/password@node
paramform Show parameter form (Default: YES)
cmdfile File containing argument set
arraysize Array interface size (Default: 10 (KBytes))
destype Destination type (Default: <report def>)
desname File name or spool device (Default: <report def>)
desformat Printer description file (Default: <report def>)
copies Number of copies to print (Default: <report def>)
Currency Currency symbol (Default: <report def>)
thousands Thousands separator (Default: <report def>)
decimal Decimal indicator (Default: <report def>)
readonly Read consistency without locks (Default: NO)
buffers Size of virtual memory cache (Default: 640 (KBytes))
batch Suppress terminal input/output (Default: NO)
pagesize Page size <width>x<height> (Default: <report def>)
profile Profiler output file
rundebug Runtime error checking (Default: NO)
onsuccess RDBMS action on successful run
(Default: NOACTION)
onfailure RDBMS action on failed run (Default: NOACTION)
errfile Error file
longchunk Size of a long chunk of data (Default: 10 (KBytes))
orientation Output orientation (Default: <report def>)
background Print report in background (Default: <report def>)
mode Mode in which to run report (Default: <report def>)
printjob Display print job dialog (Default: <report def>)
tracefile Trace output file

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Reports


Chapter 8 - Page 14
tracemode Append to or Replace tracefile
(Default: TRACE_APPEND)
traceopts Objects to trace (Default: TRACE_ALL)
autocommit Auto Commit (Default: No)
nonblocksql Non-blocking SQL (Default: Yes)
role Database rolename/password
blankpages Print blank pages (Default: Yes)
showlogo Show Reports logo in output (Default: No)
maximize Maximize Runtime Previewer (Default: No)
disableprint Disable printing from Runtime (Default: No)
disablemail Disable mailing from Runtime (Default: No)
disablefile Disable generating file from Runtime (Default: No)
disablenew Disable New Previewer from Runtime (Default: No)
desuserid InterOffice username/password@server
cachelob Cache LOB values on disk (Default: Yes)
<param> Assign value to parameter (Default: <report def>)

Reports Runtime Tracing:

Oracle Reports has an excellent runtime tracing facility. You can enable
runtime tracing within Applications or at the Operating System. To use it
at the Operating System, you must add the TRACEOPTS= option to your
command line (shown below).

To enable runtime tracing within Applications, do the following:

1. Change to the System Administrator responsibility.


2. (Navigate) Concurrent -> Program -> Define
3. (Menu) View -> Query By Example -> Enter
4. In the "Short Name" field, enter the shortname of your report.
5. (Menu) View -> Query By Example -> Run
6. In the "Options" field, add the appropriate TRACEOPTS=
command (shown below).
7. Commit the changes.
8. Run the report.

TRACEOPTS=

[TRACEOPTS=] {TRACE_ERR | TRACE_PRF | TRACE_APP |

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Reports


Chapter 8 - Page 15
TRACE_PLS | TRACE_SQL | TRACE_TMS |
TRACE_DST | TRACE_ALL | (opt1, opt2, ...) }

TRACE_ALL means log all possible trace information in the trace


file.
TRACE_APP means log trace information on all the report objects
in the trace file.
TRACE_BRK means list breakpoints in the trace file.
TRACE_DST means list distribution lists in the trace file. You can
use this information to determine which section was
sent to which destination. The trace file format is
very similar to the .DST file format, so you can cut
and past to generate a .DST file from the trace file.
TRACE_ERR means list error messages and warnings in the trace
file. TRACE_PLS means log trace information on all
the PL/SQL objects in the trace file.
TRACE_PRF means log performance statistics in the trace file.
TRACE_SQL means log trace information on all the SQL in the
trace file.
TRACE_TMS means enter a timestamp for each entry in the trace
file.
Default TRACE_ALL

SQL Tracing Reports:

To create a SQL Trace (.trc) file for your report, do the following:

1. Change to the System Administrator responsibility.


2. (Navigate) Concurrent -> Program -> Define
3. (Menu) View -> Query By Example -> Enter
4. In the "Short Name" field, enter the shortname of your report.
5. (Menu) View -> Query By Example -> Run
6. Check the "Enable Trace" checkbox.
7. Commit the changes.
8. Run the report.

When you run the report, a SQL Trace (.trc) file will be created for you in
the USER_DUMP_DEST location specified by the database.

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Reports


Chapter 8 - Page 16
Identifying the Trace File:

Trace files are typically named, <sid>_ora_<DB process id>.trc. This can
seemingly lead to confusion as to which trace file belongs to your request.
If you run the following SQL script, it will tell you the <DB Process ID> of
your concurrent request.

SELECT ORACLE_PROCESS_ID
FROM FND_CONCURRENT_REQUESTS
WHERE REQUEST_ID = <Your Concurrent Request ID>;

From there, you should be able to readily identify your trace file.

Additional Information:

I’d also suggest the Oracle Reports Interface and Diagnostics page at:

http://www-apps.us.oracle.com/atg/srw/aol_or_interface.html

You’ll find this slightly out-of-date, but still useful.

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Reports


Chapter 8 - Page 17
Summary

Summary
Summary

You
You should
should feel
feel comfortable
comfortable with
with the
the following
following
statements
statements about
about your
your knowledge:
knowledge:
•• II can
can discuss
discuss the
the conc.
conc. processing
processing architecture.
architecture.
•• II can
can determine
determine the
the report
report and
and version
version of
of the
the
report.
report.
•• II can
can determine
determine the
the latest
latest version
version and
and latest
latest
available
available version
version ofof the
the report.
report.
•• II can
can install
install Reports
Reports Builder
Builder on
on Windows
Windows NT.NT.
•• II can explore reports from inside Reports Builder.
can explore reports from inside Reports Builder.
•• II can
can use
use Reports
Reports troubleshooting
troubleshooting techniques.
techniques.

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Diagnosing Oracle Reports


Chapter 8 - Page 18
System Administration Quick
Reference: Security and User
Tasks
Chapter 9

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Security and User Tasks


Chapter 9 - Page 1
System Administration Quick Reference Security and
User Tasks

System
System Administration
Administration Quick
Quick Reference
Reference
Security
Security and
and User
User Tasks
Tasks

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Security and User Tasks


Chapter 9 - Page 2
Objectives

Objectives
Objectives

After
After this
this unit,
unit, you
you should
should bebe able
able to:
to:
•• Quickly
Quickly create
create aa test
test user,
user, responsibility,
responsibility, menu,
menu,
request group and other security related
request group and other security related itemsitems
•• Quickly
Quickly run
run user
user and
and security
security reports
reports

Copyright  Oracle Corporation, 2000. All rights reserved.

The Quick References, of which this unit is one, are meant to provide you
with quick keystroke references that you can use to test the Oracle
Applications System Administration features.

These Quick References are not the definitive source of everything you
could possibly want to do. They are simply the minimum steps that need
to be completed to set something up for testing.

For more complete information, please refer to the Oracle Applications


System Administrator’s Guide. This guide is available on-line in an Adoba
Acrobat file at:

http://pkm.us.oracle.com/%7Egseiden/11idoc/acrobat/115saug.pdf

You can also reference the R11i, Applications System Administration


course available through Oracle University. The course materials for this
course are available in Adobe Acrobat format at:

http://atgorl.us.oracle.com/wsawyer/

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Security and User Tasks


Chapter 9 - Page 3
User and Security Tasks

User
User and
and Security
Security Tasks
Tasks

•• Create
Create aa test
test User
User
•• Create
Create aa test
test Responsibility
Responsibility
•• Create
Create aa test
test Application
Application
•• Create
Create aa test
test Data
Data Group
Group
•• Create
Create aa test
test Oracle
Oracle ID
ID
•• Create
Create aa test
test Request
Request Group
Group
•• Create
Create aa test
test Form
Form
•• Create
Create aa test
test Form
Form Function
Function
•• Create
Create aa test
test Menu
Menu
•• Set
Set Signon
Signon Audit
Audit profile
profile option
option
®

Copyright  Oracle Corporation, 2000. All rights reserved.

Create a test User:

1. Signon or switch to the System Administrator responsibility


2. (Navigate) Security -> User -> Define
3. Type in a value in the "User Name" field. This must be unique.
4. Go to the "Password" field, and type in a password. When
you hit the tab key, you will have to re-type the password you
typed to confirm it.
5. Go to the first row of "Responsibility" field, type in "System
Administrator" for the "System Administration" product.
Press the tab key when done.
6. Go to the second row of "Responsibility" field, type in "System
Administration". Press the tab key when done.
7. Commit the record by clicking the SAVE icon, or doing (Menu)
File -> Save.
8. Close the USERS form.
9. Choose (Menu) File -> Log on as a Different User
10. Log on as your new user with your password.
11. A dialog box will appear. It will say, "Your password has
expired." Click the OK button or press the enter key.

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Security and User Tasks


Chapter 9 - Page 4
12. In the "Old password" field, type in your password. Type
the tab key when done.
13. In the "New password" field, type in a new password. It
can not be the same as the old password. Type the tab
key when done.
14. In the "Re-enter new password" field, re-type the password
you just entered in the "New password" field. Click the OK
button when done.
15. You will be signed-on to the Application as your test user.
If you followed the above example, you will be automatically
put into the System Administrator responsibility. It was the
only forms-based responsibility that you picked. If you have
other forms-based responsibilities defined, you will see the
list of your responsibility choices.

Create a test Responsibility:

1. Signon or switch to the System Administrator responsibility


2. (Navigate) Security -> Responsibility -> Define
3. Type in a value in the "Responsibility Name" field. This must
be unique.
4. Go to the "Application Name" field, and type in "System
Administration".
5. Go to the "Responsibility Key" field, and type in
"FND_<something>". The Responsibility Key must be
unique.
6. Go to the Data Group region "Name" field, type
"Standard".
7. Go to the Data Group region "Application" field, type
"System Administration".
8. Go to the "Menu" field, type "Navigator Menu - System
Administrator GUI".
9. Go to the Request Group region "Name" field, type
"System Administrator Reports".
10. Commit the record by clicking the SAVE icon, or doing (Menu)
File -> Save.
11. Close the RESPONSIBILITY form.
12. Go to the USERS form ((Navigate) Security -> User ->
Define). Query your user. Add your new Responsibility to

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Security and User Tasks


Chapter 9 - Page 5
your user.
13. Log on as your user, and choose your new responsibility.

Create a test Application:

1. Signon or switch to the System Administrator responsibility


2. (Navigate) Application -> Register
3. Go to the "Application" field. Enter a name for your test
application. It must be unique.
4. Go to the "Short name" field. Enter a name for your test
application's shortname. It must be unique.
5. Go to the "Basepath" field. Enter a name for your test
application's basepath environment variable. Typically, this
will be <SHORTNAME>_TOP.
6. Commit the record by clicking the SAVE icon, or doing (Menu)
File -> Save.

(NOTE: Creating an Application does not doing anything in the database


or the file system. If the System Administrator wanted to actually use this
new application, many additional things would need to occur. This is
simply the "registration" process.)

Create a test Data Group:

1. Signon or switch to the System Administrator responsibility


2. (Navigate) Security -> Oracle -> DataGroup
3. Go to the "Data Group" field, type a Data Group name. This
must be unique.
4. Click the "COPY APPLICATIONS FROM" button.
5. Choose "Standard" from the list of Data Groups.
6. Insert a new entry for your new application by clicking
the "New Record" icon or (Menu) File -> New.
7. In the "Application" field, type the name of your application.
8. In the "Oracle ID" field, type "APPS" or the name of your
Oracle ID (see Create a test Oracle ID below).
9. Commit the record by clicking the SAVE icon, or doing (Menu)
File -> Save.

Create a test Oracle ID:

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Security and User Tasks


Chapter 9 - Page 6
1. Signon or switch to the System Administrator responsibility
2. (Navigate) Security -> Oracle -> Register
3. Go to the "Database User Name" field, type an Oracle
database user name. This must be unique.
4. Go to the "Password" field, type the database password
for the Oracle database user name.
5. Go to the "Privilege" field, type "Enabled".
6. Go to the "Install Group" field, type "1".
7. Commit the record by clicking the SAVE icon, or doing (Menu)
File -> Save.

Create a test Request Group:

1. Signon or switch to the System Administrator responsibility


2. (Navigate) Security -> Responsibility -> Request
3. Go to the "Group" field, type in a Group Name. This must
be unique.
5. Go to the "Application" field, type in "System
Administration".
6. Go to the Request region. The "Type" field should have a
pre-populated value of "Program".
7. Go to the "Name" field, type in "Active Users". Type the tab key
twice to get to the next record.
8. Go to the "Name" field of the second record, type in "Active
Responsibilities".
9. Commit the record by clicking the SAVE icon, or doing (Menu)
File -> Save.

Create a test Form:

Optional File System Steps:


1. Logon to your Forms Server.
2. Change to the directory FND_TOP/forms/US/.
3. Copy the form named FNDSCAUS.fmx to a new name
(e.g., FNDSCAUX.fmx).

Oracle Applications Steps:


4. Signon or switch to the Application Developer responsibility

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Security and User Tasks


Chapter 9 - Page 7
5. (Navigate) Application -> Form
6. Go to the "Form" field, and put in the name of the form you
just copied (e.g., FNDSCAUX.fmb).
7. Go to the "Application" field, type "System Administration".
8. Go to the "User Form Name" field, type "Query User".
9. Commit the record by clicking the SAVE icon, or doing (Menu)
File -> Save.

(NOTE: Creating an Form does not actually create a new form in the file
system. If a new form was to actually be created, it would have to be
done within the Forms Builder. This is simply the "registration" process.)

Create a test Form Function:

1. Before you create a Form Function, you must have an


exising Form (see Create a test Form above).
2. Signon or switch to the Application Developer responsibility
3. (Navigate) Application -> Function
4. You will see a form with multiple tabs. One of those tabs
be labelled "Description". Click that tab to make it the one
on top (if it isn't already).
5. Go to the "Function" field, type a function name
(e.g., FND_FNDSCAUX). Typically function names are
the product shortname + _ + form name. This must be
unique.
6. Go to the "User Function Name" field, type a descriptive
name for your function.
7. Go to the "Type" field, type "FORM".
8. Click the "FORM" tab at the top of the form.
9. Go to the "Form" field, type the form name. This field
matches the value of the "User Form Name" field in the
Create a test Form process (see above).
10. Go to the "Parameters" field, type "QUERY_ONLY="YES"".
11. Commit the record by clicking the SAVE icon, or doing (Menu)
File -> Save.

(NOTE: Creating an Form Function does not actually create a new form
function in a given form. If a new form function was to actually be created,
it would have to be done within the Forms Builder. This is simply the
"registration" process.)

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Security and User Tasks


Chapter 9 - Page 8
Create a test Menu:

1. Signon or switch to the System Administrator responsibility


2. (Navigate) Application -> Menu
3. Go to the "Menu" field, type a Menu name. This must be
unique.
4. Go to the "User Menu Name" field, type a User Menu name.
This must be unique.
5. Go to the "Seq" field on the first row, type "1".
6. Go to the "Navigator Prompt" field, type "SysAdmin".
7. Go to the "Submenu" field, type "Navigator Menu -
System Administrator GUI".
8. Go to the "Seq" field on the first row, type "2".
9. Go to the "Navigator Prompt" field, type "AppDev".
10. Go to the "Submenu" field, type "Navigator Menu -
Application Developer GUI".
11. Commit the record by clicking the SAVE icon, or doing (Menu)
File -> Save.

(NOTE: If you intend to use this menu, you must assign it to an existing
responsibility or create a new responsibility with it as its menu.)

Set Signon Audit profile option:

In order to enable User Monitoring, you must set a profile option,


Sign-On: Audit Level.

1. Signon or switch to the System Administrator responsibility


2. (Navigate) Profile -> System
3. The "Find System Profile Values" find window will appear.
4. Go to the "Profile" field, type "Sign-On:Audit Level".
5. Click the "FIND" button.
6. You will be taken to the "System Profile Values" form, and
you will see the currently assigned Site-level value for your
profile option. It can be set to "NONE", "USER",
"RESPONSIBILITY", or "FORM". "FORM" is the level that
provides the most comprehensive information.
7. Set the value as desired.

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Security and User Tasks


Chapter 9 - Page 9
8. Commit the record by clicking the SAVE icon, or doing (Menu)
File -> Save.

To see User Monitoring:

9. (Navigate) Security -> User -> Monitor


10. Do a blind query ((Menu) View -> Query By Example -> Run)
or CTRL-F11).

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Security and User Tasks


Chapter 9 - Page 10
Running Security and User Reports

Running
Running Security
Security and
and User
User Reports
Reports

•• Function
Function Security
Security Menu
Menu Report
Report
•• Function
Function Security
Security Navigator
Navigator Report
Report
•• Function
Function Security
Security Function
Function Report
Report
•• Active
Active Users
Users Report
Report
•• Active
Active Responsibilities
Responsibilities Report
Report
•• Report
Report Group
Group Responsibilities
Responsibilities Report
Report
•• Reports
Reports and
and Sets
Sets by
by Responsibility
Responsibility Report
Report
•• Users
Users of
of aa Responsibility
Responsibility Report
Report

Copyright  Oracle Corporation, 2000. All rights reserved.

NOTE: In versions of the Applications prior to 11i, the FUNCTION


SECURITY reports were accessible from the System Administrator
responsibility. In R11i, these reports and the associated report set have
been moved to the Application Developer responsibility.

Function Security Function Report


Specify a responsibility when submitting the report. The report output lists
the functions accessible by the specified responsibility. The report does
not include items excluded by function security rules.

Function Security Menu Report


Specify a responsibility when submitting the report. The report output lists
the complete menu of the responsibility, including all submenus and
functions. The report indicates any excluded menu items with the rule that
excluded it.

Function Security Navigator Report


Specify a responsibility when submitting the report. The report output lists
the menu as it appears in the navigator for the responsibility specified.
This report does not include items excluded by function security rules, or
non–form functions that do not appear in the navigator.

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Security and User Tasks


Chapter 9 - Page 11
Active Users Report
This report shows all the usernames that are both currently active and
have at least one active responsibility. It also displays all the
responsibilities that users can access, and the start and end dates when
they can access each responsibility.

Active Responsibilities Report


This report shows all the responsibilities that are currently active, the
users who can currently access each responsibility, and the start and end
dates when they can access the responsibility.

Report Group Responsibilities Report


This report lists those responsibilities which have access to a report or a
request set. Use this report when granting access privileges to reports and
request sets, either by assigning reports and request sets to request
security groups, or when assigning owners to a request set.

Reports and Sets by Responsibility Report


This report identifies which reports (and other concurrent programs) and
report sets are included in the request security groups available to any
given responsibility. Use this report when defining or editing
responsibilities.

Users of a Responsibility Report


This report documents who is using a given responsibility. Use this report
when defining or editing application users.

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Security and User Tasks


Chapter 9 - Page 12
Running Security and User Reports

Running
Running Security
Security and
and User
User Reports
Reports

•• Sign-On
Sign-On Audit
Audit Forms
Forms Report
Report
•• Sign-On
Sign-On Audit
Audit Users
Users Report
Report
•• Sign-On
Sign-On Audit
Audit Responsibilities
Responsibilities Report
Report
•• Sign-On
Sign-On Audit
Audit Unsuccessful
Unsuccessful Logins
Logins Report
Report
•• Sign-On
Sign-On Audit
Audit Concurrent
Concurrent Requests
Requests Report
Report

Copyright  Oracle Corporation, 2000. All rights reserved.

Signon Audit Forms Report


Use this report to view who is navigating to what form and when they do it.
Attention: You can only generate a Signon Audit Forms Report for those
users you are auditing.

Signon Audit Users Report


Use this report to view who signs on and for how long. Attention: You
can only generate Signon Audit Users Reports for those users you are
auditing.

Signon Audit Responsibilities Report


Use this report to view who is selecting what responsibility and when they
do it. Attention: You can only generate Signon Audit Responsibilities
Reports for those users you are auditing.

Signon Audit Unsuccessful Logins Report


Use this report to view who unsuccessfully attempted to sign on to Oracle
Applications as another user. An unsuccessful login occurs when a user
enters a correct username but an incorrect password. You can generate
Signon Audit Unsuccessful Logins Reports for any users, regardless of
whom you are auditing.

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Security and User Tasks


Chapter 9 - Page 13
Signon Audit Concurrent Requests Report
Use this report to view information about who is requesting what
concurrent requests and from which responsibilities and forms.
Attention: You can only generate Signon Audit Concurrent Requests
Reports for those users you are auditing.

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Security and User Tasks


Chapter 9 - Page 14
Summary

Summary
Summary

You
You should
should feel
feel comfortable
comfortable with
with the
the following
following
statements
statements about
about your
your knowledge:
knowledge:
•• II can
can quickly
quickly create
create aa test
test user,
user, responsibility,
responsibility,
menu,
menu, request group and other security
request group and other security related
related
items.
items.
•• II can
can quickly
quickly run
run user
user and
and security
security reports.
reports.

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Security and User Tasks


Chapter 9 - Page 15
Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Security and User Tasks


Chapter 9 - Page 16
System Administration Quick
Reference: Concurrent
Processing Tasks
Chapter 10

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Concurrent Processing Tasks


Chapter 10 - Page 1
System Administration Quick Reference Concurrent
Processing Tasks

System
System Administration
Administration Quick
Quick Reference
Reference
Concurrent
Concurrent Processing
Processing Tasks
Tasks

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Concurrent Processing Tasks


Chapter 10 - Page 2
Objectives

Objectives
Objectives

After
After this
this unit,
unit, you
you should
should be
be able
able to:
to:
•• Describe
Describe thethe concurrent
concurrent processing
processing flow
flow within
within
Oracle Applications
Oracle Applications
•• Quickly
Quickly create
create aa request
request set,
set, concurrent
concurrent manager,
manager,
and
and other
other concurrent
concurrent processing
processing related
related items
items
•• Quickly
Quickly perform
perform numerous
numerous system
system administration
administration
tasks
tasks related
related to
to concurrent
concurrent processing
processing

Copyright  Oracle Corporation, 2000. All rights reserved.

The Quick References, of which this unit is one, are meant to provide you
with quick keystroke references that you can use to test the Oracle
Applications System Administration features.

These Quick References are not the definitive source of everything you
could possibly want to do. They are simply the minimum steps that need
to be completed to set something up for testing or to administer some
function within the Application.

For more complete information, please refer to the Oracle Applications


System Administrator’s Guide. This guide is available on-line in an Adoba
Acrobat file at:

http://pkm.us.oracle.com/%7Egseiden/11idoc/acrobat/115saug.pdf

You can also reference the R11i, Applications System Administration


course available through Oracle University. The course materials for this
course are available in Adobe Acrobat format at:

http://atgorl.us.oracle.com/wsawyer/

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Concurrent Processing Tasks


Chapter 10 - Page 3
Concurrent Processing Components

Concurrent
Concurrent Processing
Processing Components
Components

•• Internal
Internal Concurrent
Concurrent Manager
Manager
•• Parallel
Parallel Concurrent
Concurrent Processing
Processing
•• Internal
Internal Monitor
Monitor
•• Conflict
Conflict Resolution
Resolution Manager
Manager
•• Scheduler
Scheduler
•• Concurrent
Concurrent Managers
Managers
•• Transaction
Transaction Managers
Managers

Copyright  Oracle Corporation, 2000. All rights reserved.

Internal Concurrent Manager:

The Internal Concurrent Manager (ICM) is the "manager" of all concurrent


processing that occurs within Oracle Applications. ICM is an instance of
the program, FNDLIBR.

ICM has 3 cycles that it processes.

1. SLEEP - the SLEEP cycle is set by the sleep= parameter


when ICM is started. This cycle processes Queue Control
requests, such as to start, stop, deactivate, or verify a
concurrent manager. The value of the parameter is the
number of seconds between cycles. For example,
sleep=30 would cause a 30 second delay between the end
of one cycle and the beginning of the next.
2. PMON - the PMON cycle is set by the pmon= parameter
when ICM is started. This cycle checks the number of
processes running per concurrent manager (see note on
terminated processes and dead connection detection below).
The value of the parameter is the number of SLEEP cycles
before a PMON cycle. For example, sleep=30 and
Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Concurrent Processing Tasks


Chapter 10 - Page 4
pmon=2 would cause a PMON cycle after every other
SLEEP cycle (or approximately every 60 seconds).
3. QUESIZ - the QUESIZ cycle is set by the quesiz= parameter
when ICM is started. This cycle confirms the number of
processes for workshift definitions or after changes to the
manager definitions. The value of the parameter is the number
of PMON cycles before a QUESIZ cycle. For example,
sleep=30, pmon=2, and quesiz=2 would cause a QUESIZ
cycle after every other PMON cycle which is occurring every
other SLEEP cycle (or approximately every 120 seconds).

Terminated Processes and Dead Connections:

When a request is terminated, ICM kills the concurrent manager process


(i.e., parent). When it kills the parent, there is a distinct possibility that the
database shadow process for that concurrent manager can be left
“hanging”. The “hang” happens because the client (the concurrent
manager) terminates without the database shadow processes becoming
aware of its termination. There is a sqlnet.ora parameter,
SQLNET.EXPIRE_TIME, and an environment variable, FDCPTRW, that
will detect these dead connections and terminate them properly.

Additionally, after the ICM terminates a manager process, it does a PMON


cycle.

Additional Parameters:

$ startmgr \
sysmgr=”<APPS username>/<APPS password>” \
mgrname=”<name>” \
PRINTER=”<printer>” \
mailto=”<userid1 userid2...>” \
restart=”N|<minutes>” \
logfile=”<filename>” \
sleep=”<seconds>” \
pmon=”<cycles>” \
quesiz=”<cycles>” \
diag=”Y|N”

1. sysmgr - APPS schema name should be set to the APPS

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Concurrent Processing Tasks


Chapter 10 - Page 5
schema user ID and password. You will be prompted for the
password if you omit the parameter and use the default value.
The default value is $FNDNAM.
2. mgrname - Name of the internal concurrent manager
(alphanumeric characters only). The default value is std.
3. PRINTER - Name of the printer to which all concurrent
managers send request output if a user does not specify a
printer.
4. mailto - List of users who receive mail when the internal
concurrent manager stops running. The default value is the
user who starts managers.
5. restart - Number of minutes (integer) the internal concurrent
manager waits before attempting to restart after abnormal
termination. The default value is N. The default value prevents
the manager from restarting after abnormal termination.
6. logfile - The name of the internal concurrent manager’s log
file. The default value is <mgrname.mgr>.
7. sleep - The default value is 60.
8. pmon - The default value is 20.
9. quesiz - The default value is 1.
10. diag - tells all concurrent managers to produce diagnostic
output regularly. The default value diag=N prevents large log
files.

Parallel Concurrent Processing:

Parallel Concurrent Processing (PCP) is the ability to distribute concurrent


processing over multiple machines. This architecture has 4 advantages.

1. High performance
2. Fault Tolerance
3. Adaptability
4. Single Point of Control

The biggest advantage for PCP is fault tolerance. You will see slightly
higher performance. You will see the most improvement on concurrent
processing jobs that are compute-intensive. Data-intensive jobs will not
have as significant an improvement, except where PCP is combined with
Oracle Parallel Server (OPS).

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Concurrent Processing Tasks


Chapter 10 - Page 6
On UNIX systems, Oracle Applications accomplishes PCP by using
UNIX's RSH capability and use of the APPLDCP environment variable.
On the nodes, DCPSTART and DCPBATCH are used to control the start-
up of the concurrent managers. DCPSTART and DCPBATCH must be
individually configured for each node. The APPLDCP environment
variable is used to indicate whether PCP is on or off.

On Windows NT systems, Oracle Applications accomplishes PCP by


using the Oracle RPC capability.

Internal Monitor:

When you are using PCP, you must allow for the possibility that the
Internal Concurrent Manager on the master system can fail. If that
happens, what can you do? Well Oracle Applications uses a special
process, called the Internal Monitor (IM), that watches for just such an
event. If it happens, IM will attempt to start an ICM on its machine. That
ICM would then become the master.

When IM is running, it is running an instance of the program, FNDIMON.

Conflict Resolution Manager:

The Conflict Resolution Manager (CRM) is a running instance of the


program, FNDCRM. Its job is to remove a substantial burden from the
ICM, that is of resolving constrained processes.

All constrained processes are sensitive to the conflict domain which is the
logical database in which the request is run. Conflict domains can either
be static or dynamic, depending upon when they are evaluated, at start-up
or submit time. Conflict domains are kept in a memory cache. If you
change any concurrent program incompatibilities, you must VERIFY the
CRM in order to flush this cache.

There are 4 type of constraints, explicit incompatibilities, run-alones,


single-threaded, and user limit. Explicit incompatibilities are defined for
given concurrent programs, and specify other concurrent programs that
can not be running at the same time within the same conflict domain.
Run-alones are concurrent programs that must run by themselves within
their conflict domain (logical database).

Single-threaded and User Limit constraints are similar in effect. They


prohibit a user for having too many concurrently running requests. Single-

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Concurrent Processing Tasks


Chapter 10 - Page 7
threaded is controlled by the CONCURRENT: SEQUENTIAL REQUEST
profile option. It ensures that individual requests that have the single-
thread flag set can only run sequentially in the order they were submitted.
User Limit controls the number of running requests for a given user, and is
controlled by the CONCURRENT: ACTIVE REQUEST LIMIT profile
option.

NOTE: It must be noted that if you set the CONCURRENT: ACTIVE


REQUEST LIMIT at the site level, every request submitted for concurrent
processing will be considered constrained. Likewise, every request would
be considered constrained, if the CONCURRENT: SEQUENTIAL
REQUEST profile option was set for the site. This may not be the
behavior you are expecting, and should be carefully considered especially
if you do not have CRM running.

The CRM has two (2) parameters used during start-up that may be of
interest to you.

1. sleep - the sleep parameter sets the cycle time, in seconds,


before the next attempt to resolve constrained requests.
2. diag - setting diag works the same as for the ICM.

NOTE: on the sleep parameter there is a potential problem area. This


problem is documented in Bug 773648. It was caused when Request
Details were viewed on constrained requests. Because viewing Request
Details put a lock on the record, it would block CRM when it tried to run its
cycle. The solution to the problem was to modify the Request Details; so
that, requests are immediately put “on hold” when viewed by this form.
Requests that are “on hold” are ignored by CRM. However, this can still
cause unexpected delays.

Advanced Scheduler:

11i introduced a new type of scheduling to concurrent processing. Prior to


11i, and continuing into 11i, there is the basic concurrent scheduling of
requests (e.g., specifying a date and time for a request to run). 11i added
the capability for other characteristics to be "tested" in order for a request
to run. Currently, this Advanced Scheduling (SCH) is only being used the
the General Ledger team for usage with the financial calendar.

When SCH is running, it is an instance of the program, FNDSCH.

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Concurrent Processing Tasks


Chapter 10 - Page 8
The SCH has two (2) parameters used during start-up that may be of
interest to you.

1. sleep - the sleep parameter sets the cycle time, in seconds,


before the next attempt to resolve advanced schedule requests.
2. diag - setting diag works the same as for the ICM.

NOTE: If Advanced Scheduled requests do not run within their defined


time-frame, they are cancelled.

Concurrent Managers:

Concurrent Managers are the primary workhorse of the concurrent


processing system. Most concurrent managers run the standard
concurrent library called FNDLIBR. There are additional concurrent
libraries (e.g., INVLIBR, ARLIBR, PALIBR, etc.) and each of these share a
common core with FNDLIBR. The major differences are that these other
Concurrent Libraries don’t link in the ICM code, and FNDLIBR doesn’t link
in the code that these programs use to run their tasks in Immediate mode.

NOTE: Yes, concurrent managers and the ICM run the same program,
FNDLIBR.

NOTE: While the Applications allows for customers to create their own
concurrent libraries, there is little, if any, reason for the customer to do
this.

Concurrent managers inherit the "diag" flag status from ICM.

Each running concurrent manager, or concurrent worker if you prefer, is


an independent process. It's flow is as follows:

STEP
1 The concurrent manager checks its own status (i.e., should
I go down?) The CM checks FND_CONCURRENT_QUEUES
for MAX_PROCESSES and RUNNING_PROCESSES.
2 The CM queries concurrent requests. The CM will fill its
cache, based on cache size. The CM will only pickup
requests that are in PENDING, NORMAL.
3 The CM tries to lock a request.
4 If CM has read through all its cache, go to Step 7.

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Concurrent Processing Tasks


Chapter 10 - Page 9
5 If it can get the lock, it will run the request. When the request
is done, return to Step 3.
6 If it can not get a lock, return to Step 3.
7 If the CM did not work during its cycle, it will SLEEP (see ICM
parameters, sleep=). When sleep cycle is complete, return
to Step 1.
8 If the CM did work, return to Step 1.

Transaction Managers:

Transaction Managers (TMs) are the process by which Applications


handles synchronous tasks that can not afford to wait in the queue. An
example of a Transaction Manager occurs in Order Management. When
some enters an order, that order is checked against inventory, work in
process, orders, and several other systems to see if we can deliver this to
the customer when we promise. This check is called, available to
promise.

TMs are immediate concurrent programs that work only when signaled by
a client. Unlike CMs that continuously poll the system looking for work,
TMs wait until signaled. Also, the TMs do not establish on-going
connections with the client. Once the request has been sent to the TM,
the connection remains only long enough for the TM to obtain the answer
and return the result set.

TMs use database pipes for communication, with a series of TM listening


for the signal. At any given time, only 1 TM is listening. The process for
TMs is as follows:

STEP
1 The TM checks to see if it can exit.
2 The TM gets a token. This token allows it to have usage of
the database pipe, and it listens.
3 If the TM gets a request, it processes that request. It then
creates a new pipe for sending its result set back to the client.
It releases the token so that the next TM in line can pick up
the next request. When finished, the TM returns to Step 1.
4 If the TM doesn't get a request, it timesout. It releases the
token so that the next TM in line can pick up the next request.
When finished, the TM returns to Step 1.

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Concurrent Processing Tasks


Chapter 10 - Page 10
Concurrent Processing Flow

Concurrent
Concurrent Processing
Processing Flow
Flow

•• Submitting
Submitting aa concurrent
concurrent request
request
•• Processing
Processing aa simple
simple request
request
•• Processing
Processing aa constrained
constrained request
request

Copyright  Oracle Corporation, 2000. All rights reserved.

Submitting a concurrent request:

When the user submits a concurrent request, it is typically done through


the FNDRSRUN form. The form actually uses the PL/SQL API for
submitting the request into the queue.

There are 2 API's for inserting requests into the table,


FND_CONCURRENT_REQUEST. The C API, which uses the routine,
fdpscr(), and the PL/SQL API which uses
FND_REQUEST.SUBMIT_REQUEST (for single requests), and
FND_SUBMIT.SUBMIT_SET and FND_SUBMIT.SUBMIT_PROGRAM
(for request sets).

NOTE: Being aware of the two APIs should give you insight into why
testing of concurrent requests should occur in two places, from the
FNDRSRUN form (or other form that submits your request), and through
CONCSUB at the Operating System level. CONCSUB uses the C API.
With testing on both, you will gain valuable insight into your problem and
its cause.

The API takes the request, obtains all the parameters for the request, and
then stores the request into the table FND_CONCURRENT_REQUESTS.
If the request has more than 25 parameters, parameters 26-100 are

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Concurrent Processing Tasks


Chapter 10 - Page 11
written into the table FND_CONC_REQUEST_ARGUMENTS. The
sequence, FND_CONCURRENT_REQUESTS_S, is used to generate the
Request ID for a given concurrent request.

Processing a Simple Request:

A simple request occurs when a request is made, and that request has no
constraints. Unconstrained requests are immediately put into the queue
for the concurrent managers to pick up. Assuming that you do not have
an exceptionally large backlog of pending requests and that requests are
not getting bumped by higher priority requests, most of these requests will
begin running in short order.

Processing a Constrained Request:

Constrained requests fall into 1 of 4 categories, explicit incompatibilities,


run-alones, single-threaded, and user limit. It is the Conflict Resolution
Manager who evaluates these requests during each of its cycles.

Because of the constraints, it is possible for a constrained request to be in


Pending/Standby a long time before running. This is not an error. It is the
way that it is supposed to work. This may not be the way that the
customer expects it to work. That will be the source of your diagnostic
skill.

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Concurrent Processing Tasks


Chapter 10 - Page 12
Concurrent Processing Tasks

Concurrent
Concurrent Processing
Processing Tasks
Tasks

•• Submit
Submit an
an individual
individual concurrent
concurrent request
request
•• Submit
Submit aa concurrent
concurrent request
request set
set
•• Scheduling
Scheduling aa concurrent
concurrent request
request
•• Monitoring
Monitoring aa concurrent
concurrent request
request
•• Viewing
Viewing aa concurrent
concurrent request's
request's log
log file
file
•• Viewing
Viewing aa concurrent
concurrent request's
request's output
output
•• Purging
Purging the
the request
request table
table

Copyright  Oracle Corporation, 2000. All rights reserved.

Submit an individual concurrent request:

1. (Navigate) Requests -> Run


2. Choose "Single Request" radio button
3. Click the "OK" button
4. In the "Name" field, type the name of the concurrent program
report that you want to run. Or, click the "…" (List of Values)
indicator, to select from a list.
5. If the concurrent request needs parameters, you will need to
click on that field to open it up. NOTE: Parameters are a
special form of descriptive flexfield.
6. Click the "SUBMIT" button
7. When the request has been submitted, you will be taken to the
REQUESTS form where you can monitor your concurrent
request.
8. You should note the "REQUEST ID" in case you need to query
this request later.
9. Close the REQUESTS form when done.

Submit a concurrent request set:

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Concurrent Processing Tasks


Chapter 10 - Page 13
1. (Navigate) Requests -> Run
2. Choose "Request Set" radio button
3. Click the "OK" button
4. In the "Name" field, type the name of the request set that you
want to run. Or, click the "…" (List of Values) indicator, to
select from a list of available request sets.
5. If the request set needs parameters, you will need to click on
that field to open it up. NOTE: Parameters are a special form
of descriptive flexfield.
6. Click the "SUBMIT" button
7. When the set has been submitted, you will be taken to the
REQUESTS form where you can monitor your concurrent
request.
8. You should note the "REQUEST ID" in case you need to query
this request later.
9. Close the REQUESTS form when done.

Scheduling a concurrent request:

1. Depending upon whether you are scheduling an individual


request or a request set, complete one of the above
processes through Step 5 (i.e., just prior to clicking the
"SUBMIT" button).
2. Click the "SCEHDULE" button
3. In the Option Group labelled "Run the Job…", choose one of
the 5 options. Choose "As Soon as Possible" to run the job
immediately, with no scheduling. Choose "Once" to run the
job at some time and date in the future. Choose "Periodically"
to set the job up to run cyclically. Choose "On Specific Days"
to designate the job to run on specific calendar days or
days of the week. Currently "Advanced" is only used for
General Ledger jobs (see the General Ledger product
documentation for more details). If you choose an option
other than "As Soon as Possible", you will have additional
values to provide in order to schedule the request properly.
4. Click the "OK" button
5. Click the "SUBMIT" button
6. When the set has been submitted, you will be taken to the

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Concurrent Processing Tasks


Chapter 10 - Page 14
REQUESTS form where you can monitor your concurrent
request.
7. You should note the "REQUEST ID" in case you need to query
this request later.
8. Close the REQUESTS form when done.

Monitoring a concurrent request:

1. (Navigate) Requests -> View


2. Choose the "All My Requests" radio button or the "Specific
Request" radio button. If you choose "Specific Request",
type in the Request ID number in the field, "REQUEST ID".
3. Click the "FIND" button
4. Depending upon your choice in Step 2, you will either see
all of your requests or a specific request.

Viewing a concurrent request's log file:

1. Complete Steps 1 - 4 for "Monitoring a concurrent request".


2. Click on the record that is your concurrent request.
3. Click the "VIEW LOG" button

NOTE: If you get an error message or do not see your log file, see the
Unit on Printing for Instructions on setting up web viewing of your log and
output files.

Viewing a concurrent request's output:

1. Complete Steps 1 - 4 for "Monitoring a concurrent request".


2. Click on the record that is your concurrent request.
3. Click the "VIEW OUTPUT" button

NOTE: If you get an error message or do not see your log file, see the
Unit on Printing for Instructions on setting up web viewing of your log and
output files.

Purging the Requests Table:

After running concurrent processing for some time, the concurrent


requests and associated log and output files can consume significant

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Concurrent Processing Tasks


Chapter 10 - Page 15
resources (database and file system space). You'll want to clean up after
concurrent processing on a regular basis. The way to do this is to run a
special concurrent program, entitled "Purge Concurrent Request and/or
Manager Data". This is a concurrent program, and can be submitted like
any other request.

For more information, look to the Oracle Applications System


Administration Guide, 11i for more information on the parameters and
details of running this request.

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Concurrent Processing Tasks


Chapter 10 - Page 16
Concurrent Processing Tasks

Concurrent
Concurrent Processing
Processing Tasks
Tasks

•• Create
Create aa request
request set
set
•• Create
Create aa request
request group
group
•• Create
Create aa concurrent
concurrent executable
executable
•• Create
Create aa concurrent
concurrent program
program
•• Create
Create aa concurrent
concurrent manager
manager
•• Stop
Stop and
and restart
restart aa concurrent
concurrent manager
manager
•• Stop
Stop and
and restart
restart the
the ICM
ICM
•• Cancelling
Cancelling aa concurrent
concurrent request
request
•• Holding
Holding aa concurrent
concurrent request
request
•• Terminating
Terminating a concurrent request
a concurrent request

Copyright  Oracle Corporation, 2000. All rights reserved.

Create a request set:

1. (Navigate) Concurrent -> Set


2. Choose the "Request Set Wizard" button.
3. Choose your request set run characteristics. If you choose
"Sequentially", all the programs in the set will run one after the
other. If you choose "In Parallel", all the programs will run
together. If you want a mix of sequential and parallel, you can
modify this after the request set has been created with the
wizard.
4. Choose the "Next" button.
5. Choose your request set error characteristics. If you choose
"Abort", the request set will terminate if any program in the set
produces an error. If you choose "Continue Processing", the
request set will continue to run regardless of the status of
any given program. If you want a mix of abort and continue,
you can modify this after the request set has been created
with the wizard.
6. Choose the "Next" button.
7. In the "Set" field, give your request set a name.

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Concurrent Processing Tasks


Chapter 10 - Page 17
8. In the "Application" field, type the name of the application
to which your request set belongs, or choose the
application from the list of values (…).
9. In the "Description" field, type a descriptive note of the
purpose of your request set.
10. Choose the "Next" button.
11. Choose your request set print characteristics. If you choose
"After the Entire Set Has Completed", the printing of each
program in the request set will not occur until the whole set
is complete. If you choose "As Each Request in the Set
Completes", each program will print as it finishes.
12. Choose the "Next" button.
13. Choose the programs that you want to include in your request
set. As you type or choose (…) the programs you want in
your request set, it will fill in the Application to which they
belong.
14. Choose the "Finish" button to complete your request set.
15. At this point, you can make modifications to your request
set through the "Define Stages" and "Link Stages" buttons.
16. You can now run your request set. If you want to make it
available to others, you need to do two (2) things. One, you
need to remove the value in the "OWNER" field. Two, you
need to add this request set to the Request Group of the
additional users.

Create a request group:

1. (Navigate) Security -> Responsibility -> Request


2. In the "Group" field, type the name of your request group.
3. In the "Application" field, type or choose (…) the name of
the application to which your request group will belong.
4. The "Code" and "Description" fields are optional.
5. Choose the items that belong in your request group. The
"Type" field, allows you to choose 1 of 4 types of items to
be included in your group. Choose "Application" to include
all programs and request sets assigned to a particular
application. Choose "Program" or "Set" to include a
specific program or request set assigned to a particular
application. "Stage Function" is a special type of program

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Concurrent Processing Tasks


Chapter 10 - Page 18
that can be associated with a request set stage to evaluate
whether the stage should end in success, warning or
failure. This type is seldom if ever used.
6. In the "Name" field, type or choose (…) your item (i.e.,
Application, Program, Set, or Stage Function) that you want
to include in your group.
7. Commit your request group.
8. In order to use this request group, it must be assigned to
a responsibility. If you modified an existing group, the
user will have to logout/logon or change responsibilities to
effect the changes.

Create a concurrent executable:

1. (Navigate) Concurrent -> Program -> Executable


2. In the "Executable" field, type in the user friendly name of
your executable.
3. In the "Short Name" field, type the short name (8 characters
or less) for your executable.
4. In the "Application" field, type or choose (…) the application
to which your executable will belong.
5. The "Description" field is optional.
6. In the "Execution Method" field, choose the method by
which your executable will be executed. Your choices for
this are Host, Immediate, Java Stored Procedure,
Java Concurrent Program, Multi Language Function,
Oracle Reports, PL/SQL Stored Procedure,
Request Set Stage Function, Spawned, SQL*Loader, and
SQL*Plus.
7. In the "Execution File Name" field, type the actual O/S file
name or database name that will be executed.
8. Commit your concurrent executable.

Create a concurrent program:

1. (Navigate) Concurrent -> Program -> Define


2. In the "Program" field, type in the user friendly name of your
concurrent program.
3. Check the "Enabled" field checkbox, if you want your

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Concurrent Processing Tasks


Chapter 10 - Page 19
concurrent program to be useable.
4. In the "Short Name" field, type in the short name (8
characters or less) for your concurrent program.
5. In the "Application" field, type or choose (…) the name of
the application which will own your concurrent program.
6. The "Description" field is optional.
7. In the "Name" field of the EXECUTABLE region, type or
choose (…) the name of your concurrent executable (see
Create a concurrent executable).
8. The fields in the REQUEST region are optional.
9. In the "Format" field of the OUTPUT region, choose the
type of output you wish for your concurrent program. The
choices are BINARY, HTML, PDF, POSTSCRIPT, and
TEXT.
10. The remainder of the fields in the OUTPUT region are
optional
11. You have 3 buttons, "SESSION CONTROL",
"INCOMPATIBILITIES", and "PARAMETERS" that are
used to further define your concurrent program.
12. Commit your concurrent program.

NOTE: For more details on defining concurrent programs, refer to the


Oracle Applications System Administration's Guide, Release 11i.

NOTE: PDF documents can not be printed from within Oracle


Applications. Why? The output files that concurrent processing creates
end in .OUT. Adobe Acrobat expects files to end in .PDF. This causes
the problem.

Create a concurrent manager:

1. (Navigate) Concurrent -> Manager -> Define


2. In the "Manager" field, type the user friendly name of your
manager.
3. Check the "Enabled" checkbox, if you want your concurrent
manager to be run.
4. In the "Short Name" field, type the short name (8 characters
or less) for your concurrent manager.
5. In the "Application" field, type or choose (…) the name of
the application which owns your concurrent manager. The
Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Concurrent Processing Tasks


Chapter 10 - Page 20
"Application" field does not restrict which programs your
concurrent manager can run. The "Manager" and "Application"
fields are combined to produce the unique name of your
concurrent manager.
6. The "Description" field is optional.
7. In the "Type" field, choose the type of your concurrent
manager. The choices are Concurrent Manager, Transaction
Manager, and Internal Monitor.
8. The "Data Group" field is only used for Transaction Managers.
9. The "Consumer Group" field is optional.
10. The "Cache Size" field is only used for Concurrent Managers.
11. The fields in the PARALLEL CONCURRENT PROCESSING
DETAILS region are optional.
12. In the "Name" field of the PROGRAM LIBRARY region,
type or choose (…) the name of the concurrent library that
your concurrent manager will use. Concurrent Managers
used FNDLIBR. Transactions managers will use one of the
other libraries other than FNDLIBR.
13. Commit your concurrent manager.

Stop and restart a concurrent manager:

NOTE: There are many ways to stop and start a concurrent manager.
This quick reference lists just one. For more information, use the
Oracle Applications System Administrator's Guide, Release 11i.

1. (Navigate) Concurrent -> Manager -> Administer


2. At the bottom of the screen are context sensitive buttons. Not
every button will be enabled for every manager, and in some
cases the button will change depending upon the manager
you are examining.
3. The control buttons are "Terminate", "Deactivate", "Verify",
"Activate", "Restart", "Processes", and "Requests".
4. The "Terminate" control button is used to stop a concurrent
manager, and terminate any currently running requests. In
database terms, this would be a shutdown immediate.
5. The "Deactivate" control button is used to stop a
concurrent manager, and prohibit it from taking new jobs.
As the current jobs finish, those worker processes will be

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Concurrent Processing Tasks


Chapter 10 - Page 21
terminated.
6. The "Verify" control button causes the concurrent manager
(either ICM or CRM) to do a PMON cycle.
7. The "Restart" control button (on anything but ICM and CRM)
will do a "Deactivate" followed by an "Activate" on the
concurrent mnager.
8. The "Activate" control button will start a concurrent manager
that is currently not running (either Terminated or Deactivated).
9. The "Processes" control button gives the system administrator
information on the Operating System processes associated
with the Concurrent Manager.
10. The "Requests" control button shows the pending and
running requests assigned to a given manager.

Stop and restart the ICM:

NOTE: In keeping with stopping and starting concurrent managers, there


are many ways to accomplish this for ICM. This is one method. However,
it should be noted. IF you stop the ICM from inside the Applications, you
can not restart it there. ICM must be restarted from the Operating System
or Oracle Enterprise Manager/Applications Manager.

From the Operating System:

STARTMGR is used to start the ICM.


CONCSUB can be used to terminate or deactivate the ICM.

1. To stop the ICM, type the following:

UNIX:

CONCSUB <Username/Password> SYSADMIN


’System Administrator’ SYSADMIN CONCURRENT
FND DEACTIVATE

CONCSUB <Username/Password> SYSADMIN


’System Administrator’ SYSADMIN CONCURRENT
FND ABORT

WINDOWS NT:
Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Concurrent Processing Tasks


Chapter 10 - Page 22
To stop the ICM in Windows NT, you must go to the
Windows NT Control Panel Services application, and
you must stop the OracleConcMgr<APPL_CONFIG>
service. <APPL_CONFIG> is a variable that is defined
in the Registry.

2. To start the ICM, type the following:

UNIX:

startmgr \
sysmgr=”<APPS username>/<APPS password>” \
mgrname=”<name>” \
PRINTER=”<printer>” \
mailto=”<userid1 userid2...>” \
restart=”N|<minutes>” \
logfile=”<filename>” \
sleep=”<seconds>” \
pmon=”<cycles>” \
quesiz=”<cycles>” \
diag=”Y|N”

NOTE: To obtain the parameters used to start the


ICM during the last start, look at the ICM log file. The
ICM log file is named, <mgrname>.mgr or std.mgr (by
default).

WINDOWS NT:

To start the ICM in Windows NT, you must go to the


Windows NT Control Panel Services application, and
you must start the OracleConcMgr<APPL_CONFIG>
service. <APPL_CONFIG> is a variable that is defined
in the Registry.

NOTE: In Windows NT, the Concurrent Manager inherits


its privileges from the user who installs and starts it. You
must ensure that the user you use to start the ICM has the

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Concurrent Processing Tasks


Chapter 10 - Page 23
proper privileges.

Cancelling a concurrent request:

1. (Navigate) Concurrent -> Requests


2. Choose "Specific Requests" and in the "Name" field, type %.
3. Click the "FIND" button.
4. Choose the request you wish to cancel.
5. Click the "CANCEL REQUEST" button.

Holding a concurrent request:

1. (Navigate) Concurrent -> Requests


2. Choose "Specific Requests" and in the "Name" field, type %.
3. Click the "FIND" button.
4. Choose the request you wish to hold.
5. Click the "HOLD REQUEST" button.

NOTE: You can only hold pending requests.

Terminating a concurrent request:

1. (Navigate) Concurrent -> Requests


2. Choose "Specific Requests" and in the "Name" field, type %.
3. Click the "FIND" button.
4. Choose the request you wish to terminate.
5. Click the "CANCEL REQUEST" button.

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Concurrent Processing Tasks


Chapter 10 - Page 24
Concurrent Processing Scripts

Concurrent
Concurrent Processing
Processing Scripts
Scripts

•• Concurrent
Concurrent Processing
Processing diagnostics
diagnostics and
and listing
listing
script
script (CONCMAN)
(CONCMAN)
•• Analyze
Analyze aa concurrent
concurrent request
request
•• Analyze
Analyze all
all pending
pending concurrent
concurrent requests
requests
•• Clean
Clean the
the concurrent
concurrent manager
manager tables
tables
•• Retrieve
Retrieve all
all log
log files
files for
for aa concurrent
concurrent request
request
•• Get
Get aa concurrent
concurrent program’s
program’s incompatibilities
incompatibilities
•• List
List responsibilities
responsibilities that
that can
can run
run aa given
given
concurrent
concurrent program
program

Copyright  Oracle Corporation, 2000. All rights reserved.

Currently, some of the most useful scripts for diagnosing and understand
Concurrent Processing come from one of the developers. While these
scripts are not currently shipped with the Application, I understand that the
developer is working on checking them into the 11.5.3 release.

The developer is named Paul Ferguson, and his home page is located at:

http://ap9019pc.us.oracle.com/

Follow the link to scripts, and you will see an outstanding library of useful
scripts, including the above listed ones for Concurrent Processing.

Because of the size of these scripts, it is impractical to reproduce them


here. However, you should obtain copies of them, and study them in
some depth. What follows is a listing of the script and its file name.

Script Name File Name


CONCMAN concman.tar.Z
Analyze a concurrent request analyzereq.sql
Analyze all pending concurrent requests analyzepending.sql
Clean the concurrent manager tables cmclean.sql

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Concurrent Processing Tasks


Chapter 10 - Page 25
Retrieve all log files for a concurrent request cmlogs.sh
Get a concurrent program’s incompatibilities getinc.sql
List responsibility that can run a conc. prog. whocanrun.sql

I can not emphasize enough the importance of reading these scripts for
insights into the processing that occurs by Concurrent Processing. These
scripts will highlight important characteristics, and will be well worth your
investment of time.

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Concurrent Processing Tasks


Chapter 10 - Page 26
Summary

Summary
Summary

You
You should
should feel
feel comfortable
comfortable with
with the
the following
following
statements
statements about
about your
your knowledge:
knowledge:
•• II can
can describe
describe the
the concurrent
concurrent processing
processing flow
flow
within Oracle Applications.
within Oracle Applications.
•• II can
can quickly
quickly create
create aa request
request set,
set, concurrent
concurrent
manager,
manager, and
and other
other concurrent
concurrent processing
processing related
related
items.
items.
•• II can
can quickly
quickly perform
perform numerous
numerous system
system
administration tasks related to concurrent
administration tasks related to concurrent
processing.
processing.

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Concurrent Processing Tasks


Chapter 10 - Page 27
Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Concurrent Processing Tasks


Chapter 10 - Page 28
System Administration Quick
Reference: Printing Tasks
Chapter 11

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Printing Tasks


Chapter 11 - Page 1
System Administration Quick Reference Printing Tasks

System
System Administration
Administration Quick
Quick Reference
Reference
Printing
Printing Tasks
Tasks

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Printing Tasks


Chapter 11 - Page 2
Objectives

Objectives
Objectives

After
After this
this unit,
unit, you
you should
should be
be able
able to:
to:
•• Discuss
Discuss the
the printing
printing process
process within
within Oracle
Oracle
Applications
Applications
•• Set-up
Set-up aa printer
printer for
for use
use within
within Oracle
Oracle Applications
Applications

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Printing Tasks


Chapter 11 - Page 3
Printing within Oracle Applications

Printing
Printing within
within Oracle
Oracle Applications
Applications

Submit a Concurrent
request to run Manager
a report reads the
request

Copyright  Oracle Corporation, 2000. All rights reserved.

Via the Application, a user will submit a request to run a report. This is
most commonly done from the Submit Request Form (shortname =
FNDRSRUN).

The request is written into the concurrent queue/request table(s) (e.g.,


FND_CONCURRENT_REQUESTS). The concurrent manager who
eventually picks up the request will read the request and its definition from
the queue. From there, the concurrent manager will kick off Oracle
Reports.

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Printing Tasks


Chapter 11 - Page 4
Printing within Oracle Applications

Printing
Printing within
within Oracle
Oracle Applications
Applications
1

YES NO
Copies = 0?

Print Style SRW Print Driver SRW


used for bold, used for bold,
underline, and underline, and
page breaks page breaks

Print Style Print Style


defines rows / 2 defines rows /
columns columns
®

Copyright  Oracle Corporation, 2000. All rights reserved.

As Oracle Reports begins to run, it will look at a setting for how many
copies you want. If copies = 0, then Oracle Reports will look at the Print
Style definition for which SRW file to use. If copies > 0, then Oracle
Reports will look at the Print Driver definition for which SRW file to use.

In either case, Oracle Reports will look at the Print Style to determine the
rows and columns that are contained in the report. The Print Style rows
and columns overrides both the Print Style and Print Driver SRW files
(which contain rows and columns as well).

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Printing Tasks


Chapter 11 - Page 5
Printing within Oracle Applications

Printing
Printing within
within Oracle
Oracle Applications
Applications
2

Oracle Reports Print Driver init Concurrent Mgr


generates and reset looks at Print
output using strings added Driver method
appropriate to output
SRW file

3
®

Copyright  Oracle Corporation, 2000. All rights reserved.

After the file has been generated using the appropriate SRW file and
row/columns settings, the Concurrent Manager will prepend the
initialization string and append the reset string to the output.

As a general rule, the first component of the initialization string should be


the reset string. You should not assume that the printer has been properly
reset.

It is the responsibility of the System Administrator to properly configure the


initialization and reset strings. All of the seed data provided in Oracle
Applications is for a DEC LN03 printer. This seed data is provided as
example only. Chances are very good that your printers do not adhere to
the DEC LN03 standards.

There are numerous page description languages that are used to


communicate with printers. The Big 3 are HP's PCL 5, Adobe's Postscript,
and Microsoft's Windows GDI (Graphical Device Interface). Additionally,
here are some other page descriptions languages.

Kyocera PreScribe
Canon CaPSYL
Xerox XES

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Printing Tasks


Chapter 11 - Page 6
Xerox JDL and Metacode
Xerox Interpress
Oc? FOL
IBM 3812
IBM IPDS
DEC LN03 (DEC ANSI/Sixel)
Epson FX
Xerox Diablo 630
IBM ProPrinter
HPGL

It will be the responsibility of the System Administrator to put in any control


sequences for initialization or reset that are appropriate for the printer
being used. This information is obtained from the printer manaufacturer.
Oracle is not responsible for this information, and does not maintain any
resources for it.

Once the output has had the required initialization and reset strings added
to it, Oracle Reports will then look at the Print Driver to determine with
output method is being used.

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Printing Tasks


Chapter 11 - Page 7
Printing within Oracle Applications

Printing
Printing within
within Oracle
Oracle Applications
Applications
3

Command Program
Method?

Concurrent Mgr Concurrent Mgr


issues OS print calls Print
commands (if program
copies > 0, and
printer
specified)

Copyright  Oracle Corporation, 2000. All rights reserved.

Oracle Reports has 2 primary methods for sending output, Command, and
Program.

Most (>95%) of all reports are output via the Command method. The
command method says that Oracle Reports generates the output file.
After the file is generated, Oracle Reports uses Operating System
commands (e.g., lp in UNIX) to send the file to the printer.

The other method is Program. In the Program method, the output from
Oracle Reports is sent to a program/script that then make additional
changes to the file. Once the program is done, the program is responsible
for printing the report. This kind of processing is typically referred to as as
"filter".

The first course of action for any System Administrator trying to get
printing to work is to ensure that you can print from the machine. Also,
check to see that you can print from the servers. Setting up printers within
Oracle Applications assumes that printing has already been setup at the
Operating System level. If this hasn't been done, it will need to occur.
Oracle Applications does not control printers, and will not be able to set
them up.

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Printing Tasks


Chapter 11 - Page 8
Printing Within Oracle Applications

Printing
Printing Within
Within Oracle
Oracle Applications
Applications

•• Setting
Setting up
up Printing
Printing
•• Bit-mapped
Bit-mapped Printing
Printing
•• SRW
SRW Driver
Driver Files
Files
•• Initialization
Initialization and
and Reset
Reset Strings
Strings

Copyright  Oracle Corporation, 2000. All rights reserved.

Creating a Printer Type:


1. Logon to Applications as the System Administrator responsibilty.
2. (Navigate) Install > Printer > Types

There are 2 fields on the top of the form. For this step, we will
only use those fields.

3. In the "Type" field, put the type of the printer. We recommend


that you put types in as Manufacturer + Model
(e.g., HP Laserjet 5SI).
4. In the "Description" field, put any distinguishing information
that you might want to put about this type of printer.
5. Commit the record.

Registering a Printer:
1. Logon to Applications as the System Administrator responsibilty.
2. (Navigate) Install > Printer > Register
3. In the "Printer" field, put the Operating System name of the
printer. NOTE: You must have already defined the printer
to the Operating System. However, Applications has no

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Printing Tasks


Chapter 11 - Page 9
ability to validate the information you put in this field.
4. In the "Type" field, choose the Printer Type from the available
LOV.
5. In the "Description" field, put any distinguishing information
about this specific printer.
6. Commit the record.

Creating a Print Style:


NOTE: A Print Style is used to define the rows, columns, and orientation
of the report. It is also used to define which SRW file is used when the
number of copies = 0.
1. Logon to Applications as the System Administrator responsibilty.
2. (Navigate) Install > Printer > Style
3. In the "Style Name" field, type a unique name. NOTE: Once
you have created a style, it can not be deleted.
4. In the "Seq" field, type a unique number. This sequence
number is only used for display sequence when you query
Print Styles from this form.
5. In the "User Style" field, put the same value as the "Style
Name" field. This field is not used anywhere else but this
form.
6. In the "SRW Driver" field, put the name of the SRW file that
you expect Oracle Reports to use when the number of
copies = 0. NOTE: For information on what SRW file are
and how to create them, see the section below. NOTE:
At this point of creating the style, Applications will not
validate that the SRW file actually exists.
7. In the "Description" field, put any distinguishing information
about the style.
8. In the "Columns" field, put the number of character wide
for your style.
9. In the "Rows" field, put the number of lines long for your
style.
10. In the "Suppress Header" checkbox, select the checkbox
when you do not want Oracle Reports to print an identifier
header page prior to printing the report. This checkbox
would commonly be used when printing to pre-printed forms
and checks, as an example.
11. In the "Orientation" field, put either "Portrait" or "Landscape"

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Printing Tasks


Chapter 11 - Page 10
as appropriate for your style. NOTE: The "Orientation" field
will be used by bit-mapped reports (see section below on
bit-mapped reports).
12. Commit the record.

Creating a Print Driver:


NOTE: A Print Driver is used to define the initialization and reset strings
added to the output, and the method for sending that output to the printer.
It is also used to define which SRW file is used when the number of copies
> 0.
NOTE: The name, Print Driver, is easily misunderstood from other
applications. Oracle Applications assumes that your printer already is
installed and properly functioning at the Operating System level.
Typically, the program that allows the printer to communicate with the
Operating System is called a Print Driver. The Print Driver that you define
in Oracle Applications is not that kind of program. It simply allows you to
define characteristics of a printer that are important to Oracle Applications.
1. Logon to Applications as the System Administrator responsibilty.
2. (Navigate) Install > Printer > Driver
3. In the "Driver Name" field, put a name for your Print Driver.
The name of your Print Driver must be unique for a given
"Platform" (see "Platform" field below).
4. In the "User Driver" field, put the same name as your "Driver
Name". The field must be unique for a given "Platform".
5. In the "Description" field, put any additional information
specific to this Print Driver.
6. In the "SRW Driver" field, put the name of the SRW file that
you expect Oracle Reports to use when the number of
copies > 0. NOTE: For information on what SRW file are
and how to create them, see the section below. NOTE:
At this point of creating the Driver, Applications will not
validate that the SRW file actually exists.
7. In the "Platform" field, put the name of the platform being
used IF you have multiple drivers of the same name on
differing platforms. Otherwise, leave the field null. You
should also leave this null for Windows NT.
8. In the "Driver Method" option group, you can choose
Command, Program or Subroutine. Most of your reports
will use the Command method. The Command method
uses the Operating System command, described in the

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Printing Tasks


Chapter 11 - Page 11
field "Arguments", to output the file. The Program method
uses the program, described in the "Program Name" field,
to output the file. The Subroutine method is essentially
identical to the Command method in that it uses an
Operating System command to output the file. The
difference with the Command method is that it does not
spawn an Operating System shell to execute printing.
An example of this is using SYS$PRINT on a VMS
platform. This method is Operating System specific, and
may not be supported for your Operating System.
9. The "Spool File" checkbox is used when the Driver Method
is set to Program. When Method is Program and this is
checked, the program will create its own spool file.
10. The "Standard Input" checkbox should be unchecked when
the Driver Method is Program, unless the program accepts
Standard Input.
11. In the "Program Name" field, put the name of the program
if the Driver Method is Program, and the name of the
subroutine if the Driver Method is Subroutine.
12. In the "Arguments" field, put the full Operating System print
command and its arguments when Driver Method = Command.
(see Command Method Argument Parameters below). When
the Driver Method = Program, enter an arguments that you
would like to pass to the program.
13. In the "Initialization" field, put the initialization string that you
want pre-pended to the output. For more information, see
Initialization and Reset Strings in Print Driver below.
14. In the "Reset" field, put the reset string that you want
appended to the output. For more information, see
Initialization and Reset Strings in Print Driver below.
15. Commit the changes.

Assigning a Print Driver:


NOTE: You must have a registered printer, a style, and a driver to
complete this step.
1. Logon to Applications as the System Administrator responsibilty.
2. (Navigate) Install > Printer > Types
3. Query up your Printer Type.
4. Move to the Printer Drivers region, to the row-oriented fields

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Printing Tasks


Chapter 11 - Page 12
labelled "Style" and "Driver Name".
5. Insert a new row.
6. In the "Style" field, type or select (via the LOV) your style that
you want assigned to this printer.
7. In the "Driver Name" field, type or select (via the LOV) your
print driver that you want assigned to this printer.
8. Commit the changes.

Command Method Argument Parameters:


There are 4 different parameters you can pass in addition to the Operating
System command for printing. These parameters would be listed in the
"Arguments" field after the O/S command.
1. -d$PROFILES$.PRINTER
–d calls out the destination printer.
$PROFILES$.PRINTER retrieves the operating system name
of the printer associated with the request.
2. –n$PROFILES$.CONC_COPIES
–n calls out the number of copies to print.
$PROFILES$.CONC_COPIES retrieves the value of the profile
option Concurrent:Report Copies, unless this value is updated
at runtime.
3. –t”$PROFILES$.TITLE”
–t calls out the report title to print on a banner or header page.
”$PROFILES$.TITLE” retrieves the title of the output file,
typically titled as Application user-name. Request ID.
For example, if user John Smith ran a report whose concurrent
request ID was 64225, the title would be JSMITH.64225. This is
operating system dependent.
4. $PROFILES$.FILENAME
$PROFILES$.FILENAME calls out the filename of the report to
be printed. The value retrieved is the output file name, including
the path to the file.

NOTE: Here are the corresponding arguments for UNIX and Windows:

UNIX: lp -c -d$PROFILES$.PRINTER -
-n$PROFILES$.CONC_COPIES
-t "$PROFILES$.TITLE"
$PROFILES$.FILENAME

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Printing Tasks


Chapter 11 - Page 13
Windows: PRINT /D:$PROFILES$.PRINTER
$PROFILES$.FILENAME

Character-mode vs. Bit-mapped Oracle Reports:


Every report is defined to Oracle Applications as a Concurrent Program.
In that definition of the report, it is possible for the System Administrator to
decide on the output of the report. The choices are as follows:

1. Text
2. Postscript
3. HTML
4. PDF
5. Binary

NOTE: To view a concurrent program definition, from the System


Administrator responsibility, do (Navigate) Concurrent > Program >
Define.

If you run a report with the Output Format set to "Text", Oracle
Applications will run a program called, ar60run. If you choose any of the
other formats, Oracle Applications will run a program called, ar60runb.
The difference in the 2 programs is one handles character-mode reports
(ar60run) and the other handles bit-mapped reports (ar60runb).

In addition to an obvious different format, bit-mapped reports also differ in


significant ways from character-mode reports. Character-mode reports
take their dimensions (rows and columns) and orientation from the Print
Style. Bit-mapped reports take their dimensions and orientation from the
report definition, and can be overridden by the "Execution Options" field.

To override dimensions, put a value into the "Execution Options" field as


follows:
PAGESIZE= <width>x<height>

NOTE: In Oracle Reports, when defining a report the units and size of the
report are specified in the menu under Report–>Global Properties–>Unit
of Measurement. For bitmapped reports, <width>x<height> for
PAGESIZE is usually in inches; however, this depends on the particular
report definition.

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Printing Tasks


Chapter 11 - Page 14
To override orientation, put a value into the "Execution Options" field as
follows:
ORIENTATION=LANDSCAPE
ORIENTATION=PORTRAIT

NOTE: Text, Postscript, and HTML files each requirement different


Oracle Applications Print Drivers. Why? Well, especially as concerns
initialization and reset strings. If you pass these strings to Postscript or
HTML files, you will end up printing the Postscript or HTML source code
rather than the actual document.

Understanding and Modifying SRW Files:


SRW file are kept in $FND_TOP/$APPLREP. They end in .prt. There are
several predefined SRW files. Do not rely on any of these existing SRW
file meeting your needs. They should more properly be considered as
templates for creating your own SRW files.

To create a custom SRW file, do the following:


1. Copy an existing SRW file, and rename the copy to the name
you wish to use.
2. Edit the newly created copy in the text editor of your choice.
3. The SRW file is organized as follows:
01 printer "dec LN03 Portrait"
02
03 height 66
04 width 80
05
06 between pages control(L)
07
08 return ""
09 linefeed control(J)
10
11 code "bold on" esc "[1m"
12 code "bold off" esc "[0m"
13 code "underline on" esc "[4m"
14 code "underline off" esc "[0m"

NOTE: The line numbers are provided for reference only.


There are NO line numbers in actual SRW files.
4. Line 01 is the printer name. This is used for identification

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Printing Tasks


Chapter 11 - Page 15
purposes only. We recommend that it include the
Manufacturer + Model + Orientation (e.g. HP Laserjet 5SI
Portrait).
5. Line 02 is blank for cosmetic reasons only.
6. Line 03 sets the number of rows in the report. But, this value
is overridden by the ROWS value specified in the Print Style.
7. Line 04 sets the number of columns in the report. But, this
value is overridden by the ROWS value specified in the Print
Style.
8. Line 05 is blank for cosmetic reasons only.
9. Line 06 designates the Form Feed character. This is
typically Control(L) on most printers.
10. Line 07 is blank for cosmetic reasons only.
11. Line 08 designates the Return character. On most printer,
Return and Line Feed are equivalent. You should only pick
one. By default (for these cases), we leave Return set to
null ("").
12. Line 09 designates the Line Feed character. This is typically
Control(J) on most printers. Also, see #11 above for additional
information.
13. Line 10 is blank for cosmetic reasons only.
14. Lines 11 and 12 designate the characters for turning the
BOLD characteristic on and off. NOTE: The escape
character is represented by esc.
15. Lines 13 and 14 designate the characters for turning the
UNDERLINE characteristic on and off. NOTE: The escape
character is represented by esc.
16. To determine the proper value for Between Pages, Return,
Linefeed, Bold On, Bold Off, Underline On, and Underline Off,
you will have to reference information provided to you by
your printer manufacturer.
17. Save the SRW file.
18. Within Applications, change the Print Style, the Print Driver,
or both to begin utilizing your new SRW file.

Initialization and Reset Strings in Print Driver:


The Initialization String is pre-pended to the output file generated by
Oracle Reports. The Reset String is appended to that same output file.

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Printing Tasks


Chapter 11 - Page 16
The proper Initialization and Reset strings can only be determined by
referencing printer documentation provided by the Printer Manufacturer.

To enter an Initialization or Reset string, here are some rules.


1. The first piece of your Initialization string should be your
Reset string.
2. Use the Initialization and Reset strings to set and reset the
orientation, character set and line density for your printer.
3. A control character can be represented by “ ^ ” followed by
another character (e.g., ^L is Control+L).
4. An escape sequence can be identified by either “ /e ” or “ \e ”.
5. For non–printable characters, you may represent their value in
octal mode. For example, 0x26 is represented as /046.

What happens if you can’t seem to get the printing correct? One possible
solution is to do the following:

NOTE: The printing attempts must take place from the Server where you
are having the problems. If not, you would simply be testing that your
client machine can print. This is typically not a problem.

1. Take a known text file and print it. Did it work? If not, then
you have a set-up issue with your printer to your Operating
System.

2. Generate a file containing your initialization and reset strings.


Applications has provided a utility, FNDPRESC, that will take
your strings, and generate a file with them This is important
because escape sequences are only represented as /e. When
we actually send these to a printer, we must have “escape” as
the code. FNDPRESC works as follows:

$FND_TOP/bin/FNDPRESC “code string” > “output file”

There should be two (2) separate files. One holding each


of the strings.

3. Take your original known good text file, and prepend the
initialization string and append the reset string.

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Printing Tasks


Chapter 11 - Page 17
On Unix: cat <text file> >> <init file>
cat <reset file> >> <init file>
On Windows:copy <init file> + <text file> <init file>
copy <init file> + <reset file> <init file>

4. Print this new file. Did it work? If not, your initialization string
is wrong.

5. Regenerate your Applications output file without initialiation


or reset strings.

6. Repeat Step 3 using your new output file in place of the text
file.

7. Print this? Did it work? If not, something is wrong with your


output. Could be a bug. One last check … can you print
this file from the command line. If Yes, you probably have
a bug. If No, you still have a problem setting-up your
printer to the O/S.

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Printing Tasks


Chapter 11 - Page 18
Summary

Summary
Summary

You
You should
should feel
feel comfortable
comfortable with
with the
the following
following
statements
statements about
about your
your knowledge:
knowledge:
•• II can
can discuss
discuss the
the printing
printing process
process within
within Oracle
Oracle
Applications.
Applications.
•• II can
can set-up
set-up aa printer
printer for
for use
use within
within Oracle
Oracle
Applications.
Applications.

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Printing Tasks


Chapter 11 - Page 19
Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Printing Tasks


Chapter 11 - Page 20
System Administration Quick
Reference: Install and Set-up
Tasks
Chapter 12

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Install and Set-up Tasks


Chapter 12 - Page 1
System Administration Quick Reference Install and Set-
up Tasks

System
System Administration
Administration Quick
Quick Reference
Reference
Install
Install and
and Set-up
Set-up Tasks
Tasks

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Install and Set-up Tasks


Chapter 12 - Page 2
Objectives

Objectives
Objectives

After
After this
this unit,
unit, you
you should
should be
be able
able to:
to:
•• Configure
Configure Web
Web Listener
Listener Virtual
Virtual Directories
Directories
•• Configure
Configure aa PL/SQL
PL/SQL Web
Web Agent
Agent
•• Set
Set the
the Web
Web Server
Server profile
profile options
options
•• Administer
Administer the
the TCF
TCF Socket
Socket Server
Server
•• Set
Set up
up Personal
Personal Homepage
Homepage Authentication
Authentication
•• Set
Set up
up Single
Single Sign–on
Sign–on
•• Set
Set up
up Self–Service
Self–Service Authentication
Authentication in
in the
the database
database

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Install and Set-up Tasks


Chapter 12 - Page 3
Install and Set-up Tasks

Install
Install and
and Set-up
Set-up Tasks
Tasks

•• Configure
Configure Web
Web Listener
Listener Virtual
Virtual Directories
Directories
•• Configure
Configure aa PL/SQL
PL/SQL Web
Web Agent
Agent
•• Set
Set the
the Web
Web Server
Server profile
profile options
options
•• Administer
Administer the
the TCF
TCF Socket
Socket Server
Server
•• Set
Set up
up Personal
Personal Homepage
Homepage Authentication
Authentication
•• Set
Set up
up Single
Single Sign–on
Sign–on
•• Set
Set up
up Self–Service
Self–Service Authentication
Authentication in
in the
the database
database

Copyright  Oracle Corporation, 2000. All rights reserved.

Configure Web Listener Virtual Directories:

1. Use your web browser to load the Oracle WebDB Listener


Settings page. This page is typically defaulted to the following
URL:

http://<hostname>:<port>/admin_/listener.htm

The Oracle WebDB Listener Settings page is divided into four sections:
Miscellaneous Settings, Directory Mappings, CGI Directory Mappings
and MIME Types.

2. Add the following information to the Directory Mappings section:

Physical Directory Virtual Directory


$MEDIA_TOP /OA_MEDIA/
$HTML_TOP /OA_HTML/
$JAVA_TOP /OA_JAVA/
$ORACLE_HOME/listener/images/ /images/

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Install and Set-up Tasks


Chapter 12 - Page 4
Do not enter environment variable references for the physical
directory. You must supply complete paths.

3. Add the CGI directory to the CGI Directory Mappings section


and click the Apply button.

Physical Directory Virtual Directory


$HTML_TOP/bin /OA_CGI/

4. Test the Virtual Directories by using your browser to fetch the


following URLs:

http://<hostname>:<port>/OA_HTML/env.txt

This URL will retrieve a small text file with the FND_TOP value.

http://<hostname>:<port>/OA_MEDIA/FNDLOGOL.gif

This URL will retrieve a large applications logo.

http://<host>:<port>/OA_JAVA/oracle/apps/fnd/jar/wfmon.jar

This URL will return a prompt which asks you where to save
the file.

http://<hostname>:<port>/OA_CGI/FNDWRR.exe

This URL will return the message ”Query String Parse Error.”

Configure a PL/SQL Web Agent:

1. Edit the DAD settings in


$ORACLE_HOME/listener/cfg/wdbsvr.app

Access the Database Access Descriptor settings by typing in


the above URL or navigate to the page from the Gateway
Configuration Menu by clicking on ”Gateway Database Access
Descriptor Settings.” The DAD settings page presents to
following options: Add Database Descriptor and Edit/Delete

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Install and Set-up Tasks


Chapter 12 - Page 5
Database Access Descriptors. The Edit/Delete option displays
each Database Access Descriptor Name preceded by an edit
icon and a delete icon. To edit a setting clik on the edit icon to
retrieve the Edit DAD Entry page. Example Settings:

Database Access Descriptor Name tst115


Oracle User Name apps
Oracle Password apps
Oracle Connect String tst115
Maximum Number of Worker Threads 10
Keep Database Connection Open Yes
between Requests?
Default (Home) Page fnd_web.ping
Document Table fnd_lobs_document
Document Access Path docs
Document Access Procedure
Extensions to be uploaded as BLOB *
Extensions to be uploaded as LONG RAW
Path Alias fndgfm
Path Alias Procedure fnd_gfm.dispatch
Enable Single Sign On Authentication No

2. Set the default custom authentication setting.

In the Gateway Global Settings window for the WebDB server,


set the ”Default Custom Authentication” to ”CUSTOM”.

3. Bounce the web server.

4. Test the PL/SQL agent.

You should now be able to use the PL/SQL agent to run


authorized PL/SQL procedures on your Release 11i database
server. To test this, use a web browser to fetch the following
URL:

http://<host>:<port>/<plsql_agent_name>/FND_WEB.PING

The FND_WEB.PING procedure is standard with

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Install and Set-up Tasks


Chapter 12 - Page 6
Release 11i and generates a response table with the
following information:

FND_WEB.PING
SYSDATE <server system date>
DATABASE_VERSION <database version banner>
DATABASE_ID <database identifier>
SCHEMA_NAME <oracle schema name>
AOL_VERSION <AOL version number>
APPS_WEB_AGENT <profile option site level val-ue>

This information should allow you to confirm that your PL/SQL


agent is indeed pointing to the correct APPS schema.

Set the Web Server Profile Options:

A number of profile options must be set to identify the base


URL used to process various types of web requests. The
APPS_WEB_AGENT profile option must be set to the URL
that identifies the PL/SQL agent for your Oracle Applications
instance. Application Object Library uses the value of this
profile option to construct URLs for Web Functions,
Attachments, Export, and other features.

The HELP_WEB_AGENT profile is similar to


APPS_WEB_AGENT, but is used to determine which PL/SQL
agent to use for online help. Usually both profiles will have the
same value. However, for sites with multiple Applications
instances you may choose to to install online help on only one.
In this case HELP_WEB_AGENT should be set on all
instances to the URL to access the one where online help
was installed. To set these profile options, do the following:

1. Log in to Oracle Applications and connect to the System


Administrator responsibility.

2. Open the System Profile Values form …


(Navigate) Profile -> System

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Install and Set-up Tasks


Chapter 12 - Page 7
3. Use the Find window to open the ”Applications Web Agent”
Profile.

4. Set the Site level value of the option to your PL/SQL


Agent URL.

The APPS_WEB_AGENT profile option should be set to the


base URL of a PL/SQL Agent which has been configured for
this Applications instance. This will look like the following:

http://<hostname>[:<port>]/<plsql_agent_name>

5. Use the Find window to open the ”Applications Help Web


Agent” Profile.

6. Set the Site level value of the option to the PL/SQL Agent URL
for online help.

The HELP_WEB_AGENT profile option should be set the the


base URL of a PL/SQL agent which has been configured for
the Oracle Applications instance where online help is
installed. In most cases this URL will be identical to
APPS_WEB_AGENT. This will look like the following:

http://<hostname>[:<port>]/<plsql_agent_name>

7. Sign–on again, to refresh the profile option cache.

8. Test the APPS_WEB_AGENT and web server configuration.

Test Ping:
(Menu) Help -> Diagnostics -> Test Web Agent…

This will bring up a Caution window displaying the following


URL:

<APPS_WEB_AGENT>/FND_WEB.PING

Click OK to launch your browser. This should open a web

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Install and Set-up Tasks


Chapter 12 - Page 8
page displaying the response table as described in the
FND_WEB.PING procedure in Configure a Web Agent.
Using the navigator, open a simple form with a multi–row
block. Query up a set of records, then select
(Menu) File -> Export. A browser window should open and
display the form data in a tab–separated format.

9. Test the HELP_WEB_AGENT configuration.

Test System Help:


(Menu) Help -> Oracle Applications Library

A browser window should open up, displaying the online help


system. The documentation portion should contain the top
level Applications Help page.

(Menu) Help -> Window Help

A browser window should open up, displaying the online help


system. The documentation portion should contain the online
help for the current form.

Administer the TCF Socket Server:

The ”Thin Client Framework” (TCF) Socket Server is a middle


tier process that accepts connections from UI clients to their
server components. The TCF architecture currently supports
Hierarchy Editor applications such as the Object Navigator
and the Menu Viewer. The Socket Server process should
always be running in a production installation.

Starting the TCF Socket Server

1. Verify that the web server OA_JAVA virtual directory is


correctly configured.

From a browser, download the following file:

http://<host>:<port>/OA_JAVA/oracle/apps/fnd/tcf/SocketServer.class

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Install and Set-up Tasks


Chapter 12 - Page 9
If the URL is not found, then either the OA_JAVA virtual
directory is not set up, or the file does not exist. Correct this
problem before proceeding.

2. Identify a free port number on the web server host machine.

Log into the web server machine. Identify a free port number.

3. Start the TCF Socket Server on the web server host machine.

Log into the web server host machine. Check your


$CLASSPATH environment variable and ensure that the
Release 11i Oracle Applications Java code is in a directory on
the class path. Run the following command to start the TCF
Socket Server:

jre oracle.apps.fnd.tcf.ServerControl START


<port_number> CONNECT_STRING=”apps/pwd@dbname”

If the socket is already in use, you will receive an error


message. Either select another port number or stop the
offending process.

4. Test the Socket Server

Log on to Oracle Applications with the System Administrator


responsibility and navigate to the Menus form
(Navigate) Application -> Menu.

Query up any menu in the form and then press the


View Tree... button in the upper right corner of the form.
The Menu Viewer utility should start.

Shutting Down the TCF Server

1. Login to your web server as ’applmgr’ and type:

jre oracle.apps.fnd.tcf.ServerControl STOP <port number>

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Install and Set-up Tasks


Chapter 12 - Page 10
Because the TCF Server may have active client connections
in progress, there are two options for shutdown mode:

STOP_MODE=”[IMMEDIATE|NORMAL (default)]”

NORMAL mode causes the TCF Server to refuse additional


connections and shut down after the last active connection
closes. IMMEDIATE mode terminates active connections
and should be used only after giving users some notice since
there is potential for data loss if they have uncompleted
transactions.

Troubleshooting

1. Checking the TCF Server Status

The command:

jre oracle.apps.fnd.tcf.ServerControl STATUS 10021

prints a short HTML report on the active connections being


handled by the TCF Server handling port 10021. Sample
output is:

<p>SocketServer running on websrv1.abc.com:10021</p>


<p>Normal operation.</p>
<p>Active connections:<ul>
<li># Connection–16 connected to: pc4098.abc.com:1745
<li># Connection–25 connected to: pc2209.abc.com:2268
<li># Connection–31 connected to: websrv1.abc.com:53020
</ul></p>

Note that there is always an active connection from the local


host (websrv1 in this case) reflecting the connection
ServerControl makes to query the status. The second line
reports either ”Normal Operation” or ”Shutdown in progress”.

2. Running TCF in DEBUG mode

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Install and Set-up Tasks


Chapter 12 - Page 11
This causes a small window to be displayed which reports on
status continuously. It also includes menus for checking the
status of the JDBC Connection Cache and reporting the
versions of all Apps Java classes that have been loaded into
the TCF Server. These statistics are valuable in reporting
problems to your Oracle support representative. The output
from these menus are sent to the System.out stream of the
TCF Server process (rather than the ServerControl process)
so the OUTPUTFILE parameter is needed to allow redirection
of this output to a file. Doing a ’tail –f tcflog’ immediately after
the START command will allow you to observe various
debugging messages from code running inside the TCF
Server in real time.

3. Verifying the environment in which the TCF Server runs

The instructions above suggest logging into the web server


as ’applmgr’ and running ServerControl. If logging in as
applmgr does not establish the environment it should, then
the TCF Server could have trouble. Sourcing the
APPLSYS.env file,which should happen automatically when
you login as applmgr, may be necessary. This should already
have set the proper environment, but it is a good policy to
verify these variables (names given are for Solaris).

PATH should include the ’jre’ executable.


CLASSPATH should include: $AU_TOP/java/apps.zip
and $ORACLE_HOME/jdbc/lib/classes111.zip
LD_LIBRARY_PATH should include:
$ORACLE_HOME/lib/liboci806jdbc.so

It is also good policy to verify that the Net8 tnsnames.ora


configuration file is up to date. This is located in
$ORACLE_HOME/net80/admin. Oracle Forms will reference
the $ORACLE_HOME/network/admin copy of tnsnames.ora,
so be sure that the two are consistent.

Set Up Personal Homepage Authentication:

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Install and Set-up Tasks


Chapter 12 - Page 12
1. Load the java security classes into the database.

Set the environment to your Oracle 8.1.6 Oracle Home. Use


the ”loadjava” command–line utility to load a jar file into the
APPS schema:

loadjava –u username/password[@database] –v –r
$FND_TOP/java/jar/fndsec.jar

2. Set a value for the GUEST_USER_PWD profile option.

Use the System profiles form to verify or set the value of the
GUEST_USER_PWD profile option. The value should be the
username/password of a valid applications user account (not
an Oracle user). Any valid account will do, but we recommend
that this account not be assigned any actual responsibilities.

Verify that the user/password works by signing on to


applications via forms.

3. Test the Personal Homepage login.

Set Up the Personal Homepage Feature:

The Personal Homepage allows Forms, Reports and


Discoverer sessions to be launched from a single web page.
You must set site–level profile options to identify the base URL
to use when launching each of these applications.

1. Log in to Oracle Applications and select the System


Administrator responsibility.

2. Open the System Profile Values form


(Navigate) Profile -> System

3. Use the Find window to retrieve the following Profiles:

ICX: Forms Launcher

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Install and Set-up Tasks


Chapter 12 - Page 13
ICX: Report Launcher
ICX: Discoverer Launcher

4. Set the Site level value of each option to the base URL to
launch the appropriate application.

The base URLs provided in these profiles should be sufficent


to launch the application, but should not include additional
parameters which may be supplied by the Personal
Homepage.

Examples:
Profile Value
ICX: Forms Launcher http://myFormsServer/forms6
ICX: Report Launcher http://myReportsServer/
cgi–bin/rwcgi?sml_key
ICX: Discoverer Launcher http://myWebDiscovererServer/
webdis/html/english/
netscape/start.html?
Connect=[APPS_SECURE]
apptest

5. Create DBC files.

A DBC (Database Connection) file is a text file which stores


all the information required to connect to a particular database.
It allows a user or administrator to easily load groups of
environment variable settings. At the minimum it contains the
value of the GWYUID, FNDNAM, TWO_TASK and
GUEST_USER_PWD. The DBC file is contained on the web
server tier and holds information to identify and authenticate
with application databases. The naming convention for the
.dbc file is <database_host_name>+”_”+<two_task>+.dbc.
The name is calculated from:

select lower(host_name), lower(instance_name) from v$session

An example of a .dbc file is:


Contents

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Install and Set-up Tasks


Chapter 12 - Page 14
#DB Settings
#Wed May 13 16:10:44 PDT 2000
APPL_SERVER_ID=2E16F3BCE7BF673DE03400400B40
874620439479001964928795210957097215
TWO_TASK=atg115

GUEST_USER_PWD=GUEST/GUEST
FNDNAM=apps
GWYUID=applsyspub/pub
APPS_JDBC_DRIVER_TYPE=THIN
DB_HOST=ap118sun_atg115 DB_PORT=1521
DB_NAME=atg115
FND_MAX_JDBC_CONNECTIONS=50
FND_IN_USE_CONNECTION_TIMEOUT=90
FND_UNUSED_CONNECTION_TIMEOUT=60

Use the AdminAppServer script to create a .dbc file for the


application server to access the database server. In addition
to creating the .dbc file, this script registers the application
server with the database for the Applications Server Security
feature. To access additional database servers from the same
application server, you must rerun the AdminAppServer script
for each addtional database. You must run the
AdminAppServer script each time you create a .dbc file, and
each .dbc file only allows access to one database.

Prior to running AdminAppServer you must ensure the


following:

The CLASSPATH environment variable contains


$ORACLE_HOME/jdbc/lib/classes111.zip (jdbc drivers)
$JAVA_TOP (apps java code)
The LD_LIBRARY_PATH environment variable contains
$ORACLE_HOME/lib (OCI libraries)

From the command line, enter:

jre oracle.apps.fnd.security.AdminAppServer \
apps/apps@dbname \ADD \

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Install and Set-up Tasks


Chapter 12 - Page 15
GWYUID=applsyspub/pub FNDNAM=apps \
[SERVER_ADDRESS=tcp.ip address>] \
[SERVER_DESCRIPTION=”Public web access server”] \
[<env_name>=<env_value>] \
SECURE_PATH=$FND_TOP/secure \
GUEST_USER_PWD=<username/password>

The SECURE_PATH parameter provides the location of the


directory which contains .dbc files. The value of this parameter
must be set to $FND_TOP/secure.

To use the JDBC THIN driver, you must specify additional


parameters in the .dbc file. The parameters to be added for
the THIN driver are as follows:

APPS_JDBC_DRIVER_TYPE=THIN
The type of JDBC driver being used. For Release 11i,
this parameter must be set to THIN.

DB_HOST=<hostname>
The host machine on which the database resides. This
parameter is required with the THIN driver type.

DB_PORT=<port number>
The port of the host machine on which the database
resides. This parameter is required with the THIN driver
type.

The following parameters are optional.


FND_MAX_JDBC_CONNECTIONS
FND_IN_USE_CONNECTION_TIMEOUT
FND_UNUSED_CONNECTION_TIMEOUT

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Install and Set-up Tasks


Chapter 12 - Page 16
Summary

Summary
Summary

You
You should
should feel
feel comfortable
comfortable with
with the
the following
following
statements
statements about
about your
your knowledge:
knowledge:
•• II can
can configure
configure the
the web
web listener
listener virtual
virtual directories.
directories.
•• II can
can configure
configure aa PL/SQL
PL/SQL web
web agent.
agent.
•• II can
can set
set the
the web
web server
server profile
profile options.
options.
•• II can
can administer
administer the
the TCF
TCF socket
socket server.
server.
•• II can
can set
set up
up Personal
Personal Homepage
Homepage authentication.
authentication.
•• II can
can set
set up
up Single
Single Sign–on.
Sign–on.
•• II can
can set
set up
up Self–Service
Self–Service authentication
authentication in
in the
the
database.
database.
®

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Install and Set-up Tasks


Chapter 12 - Page 17
Copyright © Oracle Corporation, 2000. All rights reserved.

System Administration Quick Reference: Install and Set-up Tasks


Chapter 12 - Page 18
Using WebIV to Solve Issues
Chapter 13

Copyright © Oracle Corporation, 2000. All rights reserved.

Using WebIV to Solve Issues


Chapter 13 - Page 1
Using the Knowledge Repository to Solve Issues

Using
Using the
the Knowledge
Knowledge Repository
Repository
to
to Solve
Solve Issues
Issues

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Using WebIV to Solve Issues


Chapter 13 - Page 2
Objectives

Objectives
Objectives

After
After this
this unit,
unit, you
you should
should be
be able
able to:
to:
•• Discuss,
Discuss, login,
login, and
and use
use the
the two
two (2)
(2) interfaces
interfaces to
to
the Knowledge Repository
the Knowledge Repository
•• Discuss
Discuss thethe advantages
advantages and and disadvantages
disadvantages of of the
the
two
two (2)
(2) interfaces.
interfaces.
•• Discuss
Discuss broadly
broadly the
the topic
topic of
of aa knowledge
knowledge
repository
repository
•• Identify
Identify other
other sources
sources ofof information
information

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Using WebIV to Solve Issues


Chapter 13 - Page 3
The Knowledge Repository

The
The Knowledge
Knowledge Repository
Repository

•• One
One of
of many
many
•• Two
Two interfaces
interfaces to
to one
one database
database
•• Universally
Universally available
available

Copyright  Oracle Corporation, 2000. All rights reserved.

The Knowledge Repository sounds, by its very name, as if it is the


definitive source of all information. It is and it isn't! To re-use something I
saw in a small bookstore, "The Knowledge Repository has a complete
collection of everything it contains."

When we talk about "The Knowledge Repository" in this unit, we are


talking about a very specific knowledge repository. This is the knowledge
repository maintained by Oracle Support Services. Is this the only
knowledge repository within Oracle? No. There are numerous sites that
you can visit that will have information that may be of critical value to you.

Why this specific knowledge repository? Well, this repository is available


to all internal audiences and to customers as well. To internal audiences,
it is available through a system called WebIV. To customers, it is
available through MetaLink.

Copyright © Oracle Corporation, 2000. All rights reserved.

Using WebIV to Solve Issues


Chapter 13 - Page 4
Using WebIV

Using
Using WebIV
WebIV

•• Accessing
Accessing WebIV
WebIV
•• Searching
Searching WebIV
WebIV
•• Getting
Getting HELP
HELP on
on WebIV
WebIV
•• Advantage
Advantage and
and Disadvantages
Disadvantages of
of WebIV
WebIV

Copyright  Oracle Corporation, 2000. All rights reserved.

WebIV:

WebIV, pronounced Web Eye-Vee, not Web Four, is a web-based front-


end to Oracle Support Services' Knowledge Repository. The database
itself has gone through numerous name changes, but the front-end has
been called WebIV for quite a while.

Accessing WebIV:

Being a web-based system, you will need to know its URL for access.
Also, because it is the knowledge repository for all of Oracle Support
Services and our customers, there are mirror systems for accessing
WebIV. The URLs are as follows:

http://webiv.uk.oracle.com - Primary system


http://webiv.us.oracle.com - Backup system
http://webiv.au.oracle.com - Backup system

Note: While the UK-based WebIV is the primary system, there is no


reason why you should not use the system that is geographically closest
to you.

Copyright © Oracle Corporation, 2000. All rights reserved.

Using WebIV to Solve Issues


Chapter 13 - Page 5
If you put one of these URLs into your web browser, you will be taken to
the WebIV site.

WebIV needs a username and password, but it allows you to obtain those
immediately, if you don't have them.

WebIV allows the user to query multiple knowledge databases from one
front-end. Currently, the Oracle Support Services' database is called
SURE. There is also a database of known bugs and issues called BUG.
WebIV has a query-only version of that database, called BugTag. WebIV
also has a subset of the current Oracle Documentation that can be
searched by Title only. Users of WebIV should currently be weary of
WebIV's available documentation. Much of it is grossly out-of-date, and
the searching capabilities do not extend into the individual manuals.

Searching WebIV:

Once you have logged in to WebIV, you will see the main WebIV page. If
you do not see a menu page, either on the left, right, or independently
floating in its own window, you must click the MENU checkbox at the top
of the screen. When you do click it, your page will redraw using your
preferences for displaying your menu. You need a menu in order to
search WebIV.

On the menu, you will notice 5 folder icons labelled, Navigate, Search,
Lookup, Utilities, and Admin. Typically, the Navigate, Search and Lookup
folders are open (i.e., they have sub-items below them). If the Search
folder is not open, you can open it by clicking on the (+) sign beside the
folder name.

Underneath the Search folder, there are 4 items, Tech Databases, SURE
Query, BugTag Query, and DocTitle Query. The Tech Databases link, will
put you into the Main query screen for WebIV. From this screen, you can
query the SURE, BugTag, and DocTitle databases. The SURE Query,
BugTag Query, and DocTitle Query links allow you to do more detailed
queries on those individual databases.

As an example of searching WebIV, click on the Tech Databases link


beneath the Search folder. This will open the Search page in your main
window.

Make certain the SURE checkbox is checked, the drop-down box beside
that checkbox should be set to MAX, and the radio button should be set to
ALL. On the search line, it should be set to AND++. In the text box

Copyright © Oracle Corporation, 2000. All rights reserved.

Using WebIV to Solve Issues


Chapter 13 - Page 6
beside AND++, type in "Tutorial". When you have done this, you can
press the RETURN key or click the SEARCH button beside the text box.

When you execute your search, you will see numerous results come back
from your query. (Note: At the time of this course, there were 325 SURE
hits.)

Getting Help on WebIV:

As you look through the list of search hits, you will see one that is located
near the top of the list. It is NOTE.74016.1. This is the WebIV Tutorial. A
very good document to read.

In fact, this course does not attempt to cover all of the skills you will need
to use WebIV. WebIV is a simple interface that covers a very full-
featured application. If you want to get the most out of WebIV, you will
want to read this Note.

More on WebIV:

At this point, you have the information you need to continue to learn about
WebIV. It is beyond the scope of this unit to discuss using WebIV in
detail. Use the Tutorial (Note 74016.1) for that.

Advantages and Disadvantages of WebIV:

WebIV has several advantages for solving problems:


* From one interface, you can access 3 knowledge repositories.
* WebIV is the primary interface to Oracle Support Services' knowledge
repository (SURE).
* Entries in the SURE database are written as solutions to specific
problems. If you find a hit, you have a significant probability of solving
your problem.
* As the Support interface, you have access to all entries in the SURE
database, even those marked for Internal Use Only.

WebIV has several disadvantages for solving problems:


* It is not the only knowledge repository or interface. But because of its
ease of access and use, you can wrongly come to depend on it as the
only source of information.

Copyright © Oracle Corporation, 2000. All rights reserved.

Using WebIV to Solve Issues


Chapter 13 - Page 7
* Because entries in the SURE database are written by Support Analysts,
the only problems/solutions in the database are those which the Support
Analysts have taken the time to write.
* Because of the rapidly changing versions and varieties of
configurations, hits in the SURE database may not solve your problem.

Copyright © Oracle Corporation, 2000. All rights reserved.

Using WebIV to Solve Issues


Chapter 13 - Page 8
Using MetaLink

Using
Using MetaLink
MetaLink

•• Accessing
Accessing MetaLink
MetaLink
•• Searching
Searching MetaLink
MetaLink
•• Getting
Getting HELP
HELP on
on MetaLink
MetaLink
•• Advantages
Advantages and
and Disadvantages
Disadvantages of
of MetaLink
MetaLink

Copyright  Oracle Corporation, 2000. All rights reserved.

MetaLink:

MetaLink is the customer accessible electronic support center for Oracle.


MetaLink is a full-featured electronic support offering that offers, in
addition to all of its other features, access to Oracle Support Services'
SURE database.

Accessing MetaLink:

Being a web-based system, you will need to know its URL for access.
Also, because it is a worldwide system for our customers, there are mirror
systems for accessing WebIV. The URLs are as follows:

http://metalink.oracle.com - Primary system

From that one URL, you will have a page of links to 3 geographically
places servers for accessing MetaLink. The data is shared across the 3
servers. The servers are geographically placed to speed up client access.
Choose the server that is geographically fastest for you.

If you do not have a MetaLink account, you can do one of two things. If
you are an Oracle customer, you can register for a MetaLink account on-

Copyright © Oracle Corporation, 2000. All rights reserved.

Using WebIV to Solve Issues


Chapter 13 - Page 9
line, following the REGISTRATION link. If you are an Oracle employee or
contractor, you can register for MetaLink access at the MetaLink website
(http://metalink.us.oracle.com/).

Getting HELP on MetaLink:

You can get HELP on MetaLink very easily. Use the following URL:

http://metalink.oracle.com/Metawbt/

There are also numerous articles and FAQs within MetaLink (once you
login) that may also be of assistance.

Advantages and Disadvantages of MetaLink:

MetaLink has several advantages for solving problems:


* MetaLink is available to anyone with an Internet connection.
* MetaLink is the primary interface to Oracle Support Services. From
there, Oracle Support customers can log TARs, search the knowledge
repository, and download patches.
* MetaLink users have access to the majority of entries in the SURE
database.
* MetaLink is significantly easier to use than WebIV, and has capabilities
beyond WebIV. With MetaLink, you can log a problem, find a solution,
and download a patch from one interface.

MetaLink has several disadvantages for solving problems:


* It does not have the advanced searching capabilities of WebIV.
* It does not have the ability to retrieve every SURE entry. It can only
retrieve those entries that are marked for customer consumption.

Copyright © Oracle Corporation, 2000. All rights reserved.

Using WebIV to Solve Issues


Chapter 13 - Page 10
A Knowledge Repository

A
A Knowledge
Knowledge Repository
Repository

•• What
What is
is aa knowledge
knowledge repository?
repository?
•• What
What knowledge
knowledge repositories
repositories are
are available
available to
to
customers?
customers?
•• What
What additional
additional knowledge
knowledge repositories
repositories are
are
available
available toto internal
internal Oracle
Oracle users?
users?

Copyright  Oracle Corporation, 2000. All rights reserved.

What is a knowledge repository?:

This is obviously a very broad subject. The concept of a knowledge


respository is quite large. It encompasses items like the following:

* Documentation
* Known issues and workarounds
* Problem/solution entries
* Platform capability issues
* Obsolescence notices
* Current patches
* White papers
* Training materials
* Bulletins
* Conference papers
* Related books and videos
* Related websites

This is just a good start on the possible entries for a knowledge repository.
In its largest scope, a knowledge repository would contain any and all
information that could help you resolve an issue.

Copyright © Oracle Corporation, 2000. All rights reserved.

Using WebIV to Solve Issues


Chapter 13 - Page 11
Customer-accessible knowledge repositories:

MetaLink is certainly one of the most useful knowledge repositories, and it


has access to more than just Oracle Support Services' SURE database.
But, in addition to MetaLink, customers may find the following sources
helpful.

* http://appsnet.oracle.com/ - Oracle's Appsnet, an online community for


Oracle Applications customers
* http://www.oaug.org/ - OAUG - Oracle Applications Users Group
* http://www.oracle.com/ebusinessnetwork/business.html - Oracle's web-
based broadcast system
* http://www.oracle.com/oramag/profit/00-aug/p30toc.html - Oracle
PROFIT magazine, directed to Applications customers
* http://www.osborne.com/oracle/ - Oracle Press books, including several
on Oracle Applications
* The documentation CDs that come with Oracle Applications

Internally-available knowledge repositories:

If you have access to the Oracle internal network, there are additional
resources that you may find helpful.

* http://www-apps.us.oracle.com/ - The main website for Oracle's ERP


Development Team
* http://crm.us.oracle.com/ - The main website for Oracle's CRM
Development Team

These 2 websites have numerous links to the Applications resources


through Oracle's intranet.

Copyright © Oracle Corporation, 2000. All rights reserved.

Using WebIV to Solve Issues


Chapter 13 - Page 12
Summary

Summary
Summary

You
You should
should feel
feel comfortable
comfortable with
with the
the following
following
statements about your knowledge:
statements about your knowledge:
•• II can
can identify
identify and
and access
access the
the two
two (2)
(2) interfaces
interfaces to
to
the
the primary
primary knowledge
knowledge repository.
repository.
•• II can
can discuss
discuss the
the advantages
advantages andand disadvantages
disadvantages
of
of WebIV
WebIV and
and MetaLink.
MetaLink.
•• II can
can discuss
discuss the
the concept
concept of
of aa knowledge
knowledge
repository,
repository, and I have a better understanding
and I have a better understanding of of
what
what type
type of
of materials
materials might
might bebe in
in one.
one.
•• II can
can identify
identify and
and access
access additional
additional knowledge
knowledge
repositories.
repositories.
®

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Using WebIV to Solve Issues


Chapter 13 - Page 13
Copyright © Oracle Corporation, 2000. All rights reserved.

Using WebIV to Solve Issues


Chapter 13 - Page 14
Using BUG to Solve Issues
Chapter 14

Copyright © Oracle Corporation, 2000. All rights reserved.

Using BUG to Solve Issues


Chapter 14 - Page 1
Using BUG to Solve Issues

Using
Using BUG
BUG to
to Solve
Solve Issues
Issues

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Using BUG to Solve Issues


Chapter 14 - Page 2
Objectives

Objectives
Objectives

After
After this
this unit,
unit, you
you should
should be
be able
able to:
to:
•• Discuss
Discuss what
what BUG
BUG is
is
•• Access
Access BUG
BUG
•• Use
Use BUG
BUG to
to solve
solve issues
issues
•• Get
Get more
more information
information on
on BUG
BUG

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Using BUG to Solve Issues


Chapter 14 - Page 3
Using BUG

Using
Using BUG
BUG

•• What
What is
is BUG?
BUG?
•• How
How do
do II access
access BUG?
BUG?
•• How
How do
do II use
use BUG
BUG to
to solve
solve issues?
issues?
•• Where
Where do
do II get
get more
more information
information on
on BUG?
BUG?

Copyright  Oracle Corporation, 2000. All rights reserved.

What is BUG?

BUG is a database. But is it really that simple? Not quite. Let's actually
understand that the word "bug" has many different uses.

If you are using Oracle Applications and you encounter something that
doesn't work as expected, to you, that is a "bug". In this unit, I'll use the
lowercase bug to represent an unreported issue or problem with an Oracle
Product.

So, you call your HelpDesk or Oracle Support Services, and you discuss
the problem you are having. What happens then? Well, you may simply
be expecting something from the product that it doesn't do. That isn't a
"Bug". You may not know how to properly use the product. That is
training, not a "Bug". Your system administrators / installers may not have
properly set-up the system to operate as it should. That is configuration,
not a "Bug". However, you may have encountered a real problem with
Oracle's product. That is a "Bug".

Note the spelling of this "Bug". I will use this spelling to represent a "bug"
that has been reported to Oracle. After all, it can only be fixed if we know
it exists. The next logical question is, are you the first customer to
experience this "Bug"?

Copyright © Oracle Corporation, 2000. All rights reserved.

Using BUG to Solve Issues


Chapter 14 - Page 4
If you are the first, you will have to have the problem logged into our
"BUG" database. When the "Bug" is logged, it will be assigned a number.
This number will track the resolution status of this problem through
development. If you aren't the first, you will have found someone else with
your problem.

Next question, so what happens if someone else has already reported


this? Well, several things can happen. The "Bug" may be in the process
of being fixed. If so, you will have to wait for resolution. The "Bug" may
be fixed. If so, you can most likely obtain a patch for the problem. The
"Bug" may have a solution that requires something other than new code.
In this case, you will find a work-around for your problem.

The above cycle also works for "Bugs" on which you may be waiting for
resolution.

So, here is the summary.

A "bug" is a customer-detected problem or issue that has yet to be


reported to Oracle.

A "Bug" is a known problem or issue that has an assigned number.

"BUG" is the database that contains all the tracking information on known
problems and work-arounds.

Also, it is critical that you understand that Oracle uses the BUG database
in two (2) distinctly different manners. For products in the iPlatform group
(i.e., database, Internet applications server, development tools, etc.), BUG
is a repository for tracking a problem, and a direct pointer to its solution
(i.e., patch). For eBusiness Suite products, BUG is a repository for
tracking the problem. The solution (patch) has one other system that it
must go through before a complete solution can be sent to a customer.
That system is called, ARU.

How do I access BUG?:

BUG is accessible through two (2) systems. First and primarily, BUG is
accessible through its primary web application at:

http://bug.us.oracle.com/

Copyright © Oracle Corporation, 2000. All rights reserved.

Using BUG to Solve Issues


Chapter 14 - Page 5
All Oracle employees are eligible for a BUG account. To obtain one,
follow the LINK on the main page to "ACCOUNT REQUEST".

With this account, you will have access to all "Bugs". You will also have
access to log new "Bugs", and add information to existing "Bugs".

The secondary interface for BUG is through MetaLink. You can access
MetaLink at:

http://metalink.oracle.com/

From within MetaLink, you only have READ access to "Bugs", and you will
not have access to all information. There are methods by which text in a
"Bug" can be marked for Internal Oracle consumption only. This text
would be things like usernames, passwords, customer names, phone
numbers, and other sensitive information.

Customers can obtain MetaLink accounts by following the


"REGISTRATION" link on the MetaLink site. Internal Oracle employees
can obtain accounts by going to:

http://metalink.us.oracle.com/

How do I use BUG to solve issues?:

BUG is excellent for solving known problems and issues. From BUG you
can get patch numbers and/or work-arounds. You can also often find
diagnostic actions that can help you lock-down a problem to a specific
cause. You can also use those same routines to eliminate possible
causes from your list.

The specifics of using BUG to solve issues are best discussed using the
primary BUG interface (http://bug.us.oracle.com). Try the following:

Your customer is trying to logon to Oracle Applications. During logon,


they had a user resize the login screen. When they did so, they get an
error message that reads, "FRM-41082 cannot resize item: position of
item places it off of canvas." The customer wants to know what is wrong.

1. From your browser, go to the BUG website.


2. Click "SIMPLE QUERY" from the main page.

Copyright © Oracle Corporation, 2000. All rights reserved.

Using BUG to Solve Issues


Chapter 14 - Page 6
3. If you are not already logged in, type your username and
password when prompted.
4. Scroll down to the "PRODUCT" field.
5. Type 510 into the field.
Why 510? The login screen is a form named, FNDSCSGN.
That form is owned by Oracle Applications Object Library.
If you read the list of product codes, you will see that this
product is code 510.
6. Scroll down the the "SUBJECT CONTAINING" field.
7. Type %FNDSCSGN% into the field.
8. Click the "SUMMARY REPORT" button at the bottom of the
screen.
9. What is returned is all the "Bugs" that have the word
FNDSCSGN in the Subject Line. This is just a summary
report.
10. Look at the list. Take a close look at Bug# 1179763. From
first glance, this looks like your exact problem.
11. Click the link on "1179763" to open the Bug.
12. Read it.
13. As you read through the Bug, you will note that it has been
closed as a duplicate Bug. The Bug that it is a duplicate of
is 853314.
14. Go back to your summary list of Bugs.
15. Scroll down the listing looking for 853314.
16. Note that it is not there.
17. Go back to the "SIMPLE QUERY" screen.
18. Click the "RESET TO ORIGINAL VALUES" button at the
bottom of the screen.
19. Scroll to the "BUG/ENH NUMBER" field.
20. Type 853314 into the field.
21. Click the "DETAILED REPORT" button at the bottom of the
screen.
22. As you read through this Bug, you should note at least two (2)
things. One, this is a P4 Bug (i.e., very low priority). Two,
this Bug has been resolved in a newer release of the software.
If the customer upgrades to 11i, the problem is resolved. If
they don't, they will have to accept that if they resize certain
screens they may get FRM-41082 errors.

Copyright © Oracle Corporation, 2000. All rights reserved.

Using BUG to Solve Issues


Chapter 14 - Page 7
Where do you get more information on BUG?:

BUG is very nice in that it is a self-contained system. It has everything


you'll need to get started, including HELP and on-line FAQS and other
documents.

If you go to the main page, follows the links for "About Bug", "Bug
Frequently Asked Questions (FAQ)", and "How to Bug: User Guide".
These documents will prove useful. You can also feel free to ask other
BUG users how they are using BUG to its full capabilities.

Copyright © Oracle Corporation, 2000. All rights reserved.

Using BUG to Solve Issues


Chapter 14 - Page 8
Summary

Summary
Summary

You
You should
should feel
feel comfortable
comfortable with
with the
the following
following
statements
statements about
about your
your knowledge:
knowledge:
•• II can
can tell
tell you
you what
what BUG
BUG is.
is.
•• II can
can access
access BUG.
BUG.
•• II can
can use
use BUG
BUG to
to solve
solve issues.
issues.
•• II know
know where
where to
to get
get additional
additional information
information on
on
BUG.
BUG.

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Using BUG to Solve Issues


Chapter 14 - Page 9
Copyright © Oracle Corporation, 2000. All rights reserved.

Using BUG to Solve Issues


Chapter 14 - Page 10
Using ARU to Solve Issues
Chapter 15

Copyright © Oracle Corporation, 2000. All rights reserved.

Using ARU to Solve Issues


Chapter 15 - Page 1
Using ARU to Solve Issues

Using
Using ARU
ARU to
to Solve
Solve Issues
Issues

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Using ARU to Solve Issues


Chapter 15 - Page 2
Objectives

Objectives
Objectives

After
After this
this unit,
unit, you
you should
should be
be able
able to:
to:
•• Discuss
Discuss ARU
ARU
•• Access
Access ARU
ARU
•• Use
Use ARU
ARU to
to solve
solve issues
issues
•• Get
Get more
more information
information on
on ARU
ARU

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Using ARU to Solve Issues


Chapter 15 - Page 3
Using ARU

Using
Using ARU
ARU

•• What
What is
is ARU?
ARU?
•• How
How do
do II access
access ARU?
ARU?
•• How
How do
do II use
use ARU
ARU to
to solve
solve issues?
issues?
•• Where
Where do
do II get
get more
more information
information on
on ARU?
ARU?

Copyright  Oracle Corporation, 2000. All rights reserved.

What is ARU?:

ARU, which stands for Automated Release Update, is the system that
Oracle Applications uses for controlling and releasing patches.

ARU takes information from development when a Bug is fixed. That


information comes across in a generic package, called an ARU Check-in.
That generic package then needs to be prepared for distribution. What
happens is ARU is a front-end to a series of computers called APF,
Automatic Porting Facility. What ARU does is it takes the generic
package, puts in on the target machine, generates a version of the patch
specific to that platform, and then repackages the resulting files into a
platform-specific patch that can be released to customers.

In addition to handling porting requests, ARU also handles translation


requests.

How do I access ARU?:

ARU can be access in two (2) ways, through its primary website and
through MetaLink.

Copyright © Oracle Corporation, 2000. All rights reserved.

Using ARU to Solve Issues


Chapter 15 - Page 4
The primary website is at:

http://aru.us.oracle.com/

You will need a user account. You can apply for one on-line by following
the "LOGON" tab and the "REQUEST ACCOUNT" button.

You can also access a restricted version of ARU through MetaLink at:

http://metalink.oracle.com

MetaLink will not have EVERY entry that is included in ARU. But, the
interface is significantly easier to use.

How do I use ARU to solve issues?:

Using MetaLink to Access ARU:

NOTE: I am purposely doing the MetaLink example first because I will


demonstrate the same example using the primary ARU website later.

MetaLink (http://metalink.oracle.com) has a restricted version of ARU that


is available to customers. After logging in to MetaLink, use the following
steps to access ARU.

1. Click the PATCHES button on the left-side button bar.


2. Click the link marked, "==> NEW! Click here for ALL
Applications Product Patches"
3. You are then taken to a form with the following fields:
Patch Number
Release
Product
Platform
Language
Limit Search to
Includes File
Order by
4. "Release", "Product", "Platform", "Language", and "Limit
Search To" are mandatory fields that qualify your search.
5. "Patch Number" and "Includes File" are the two actual

Copyright © Oracle Corporation, 2000. All rights reserved.

Using ARU to Solve Issues


Chapter 15 - Page 5
search fields. "Patch Number" allows you to search for a
specific patch. "Includes File" allows you to search for a
specific patched item.
6. "Order By" allows you to control search listing order.

Example of using MetaLink's version of ARU.

A customer calls, and they are getting an error on the logon form of
Applications. The form name is FNDSCSGN.fmb. They are on version
115.71, and they wonder if a newer version is available. Solve the
problem.

1. Go to the MetaLink website (http://metalink.oracle.com)


2. Logon to MetaLink
3. Click the PATCHES button on the left-side button bar.
4. Click the link marked, "==> NEW! Click here for ALL
Applications Product Patches"
5. Type in "FNDSCSGN.fmb" into the "Include File", and
execute the search.
6. The results say that there is a newer version of the file.
As of the writing of this document, the newest version is
contained in two patches, 1391173 and 1449383.
7. The README.txt files are available for both patches.
Follow the links to read them.
8. Let's assume you decide, after reading the README's,
that 1391173 BEST meets your needs (NOTE: You may
decide you need both.) So, you click on the link for that
patch.
9. You are now on a page with a "DOWNLOAD" button.
You can download that patch directly to your system.

Using the Primary ARU Website:

Following the same example that we used for MetaLink, let see how we'd
do it using ARU.

1. Go to the ARU website (http://aru.us.oracle.com)


2. Logon to ARU
3. Click the "BUGFIX DETAILS" tab.
4. Click the "FILE HISTORY" button.
Copyright © Oracle Corporation, 2000. All rights reserved.

Using ARU to Solve Issues


Chapter 15 - Page 6
5. In the "Release" field, choose "11i". Notice that ARU does not
force you to select a Release the way that MetaLink does.
6. In the "Filename" field, type "FNDSCSGN.fmb", and execute
the search.

NOTE: You will see many more choices than you saw in MetaLink.

7. As you read the results, you see that the latest version of the
file (as of the writing of this document) is 115.79, and is
contained in 5 patches 1449557, 1449383, 1441497, 1430226,
and 1391173.
8. Note the status of these patches. Status is noted in the
"EVENT" field. Patches 1449557 and 1441497 are "In
Progress". Patch 1430226 is "Obsolete". Patches 1449383
and 1391173 are "Released". The 2 "Released" patches are
the only patches shown on MetaLink.
9. Click the link for patch 1449383.
10. Notice that this next screen provides much more detail than
is available via MetaLink. You see each piece of the patch.
You also see the README.txt automatically included at the
bottom of the screen.
11. Click the "Patch Requests" links at the top of the screen.
12. You can now download this patch by clicking the
"DOWNLOAD PATCH" link.

NOTE: There is a key feature of ARU as of R11i. When viewing the


bug’s checkin, file history, or any where you get a version number link, you
can click the link (version number), and it will display the file for you. If the
file is a binary, it will download those. This is a great facility for looking as
drivers, SQL scripts, and other text objects.

Where do I get more information on ARU?:

You can get more information on ARU (even without a user account)
through ARU at:

http://aru.us.oracle.com

Click the "HELP" tag for lots of assistance with ARU.

Copyright © Oracle Corporation, 2000. All rights reserved.

Using ARU to Solve Issues


Chapter 15 - Page 7
For help using MetaLink, see the unit on WebIV.

Copyright © Oracle Corporation, 2000. All rights reserved.

Using ARU to Solve Issues


Chapter 15 - Page 8
Summary

Summary
Summary

You
You should
should feel
feel comfortable
comfortable with
with the
the following
following
statements
statements about
about your
your knowledge:
knowledge:
•• II know
know what
what ARU
ARU is.
is.
•• II can
can access
access ARU.
ARU.
•• II know
know how
how to
to use
use ARU
ARU to
to solve
solve issues.
issues.
•• II know
know where
where to
to get
get more
more information
information on
on ARU.
ARU.

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Using ARU to Solve Issues


Chapter 15 - Page 9
Copyright © Oracle Corporation, 2000. All rights reserved.

Using ARU to Solve Issues


Chapter 15 - Page 10
Using Certify to Solve Issues
Chapter 16

Copyright © Oracle Corporation, 2000. All rights reserved.

Using Certify to Solve Issues


Chapter 16 - Page 1
Using Certify to Solve Issues

Using
Using Certify
Certify to
to Solve
Solve Issues
Issues

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Using Certify to Solve Issues


Chapter 16 - Page 2
Objectives

Objectives
Objectives

After
After this
this unit,
unit, you
you should
should be
be able
able to:
to:
•• Discuss
Discuss Certify
Certify
•• Access
Access Certify
Certify
•• Use
Use Certify
Certify to
to solve
solve issues
issues
•• Get
Get more
more information
information on
on Certify
Certify

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Using Certify to Solve Issues


Chapter 16 - Page 3
Using Certify

Using
Using Certify
Certify

•• What
What is
is Certify?
Certify?
•• How
How do
do II access
access Certify?
Certify?
•• How
How do
do II use
use Certify
Certify to
to solve
solve issues?
issues?
•• Where
Where do
do II get
get more
more information
information on
on Certify?
Certify?

Copyright  Oracle Corporation, 2000. All rights reserved.

What is Certify?:

Certify is Oracle's system for tracking software configurations.

If you imagine the following senario, you will see why Certify is needed.
Let's imagine want to run Oracle Applications on Windows NT 4.0. What
does that mean?

Well, there are 7 versions of Windows NT 4, base and service packs 1 to


6. OK, that just the Operating System. There are currently 4 versions of
the database that run on Windows NT 4.0, versions 7.3.4, 8.0.5, 8.1.5,
and 8.1.6. There are 2 versions of Oracle Forms 6i, 6.0.8.8 and
6.0.8.10.3. As we progess, we build product upon product up the tech
stack that will support Oracle Applications. By the time we get to the
actual Applications, which have multiple versions, we could literally have
thousands, tens of thousands, possibly even millions of combinations of
platforms. Oracle could not possible test and support all of those
combinations. This is Certify's job. It shows individual products AND
stacked products into supported combinations.

How do I access Certify?:

Copyright © Oracle Corporation, 2000. All rights reserved.

Using Certify to Solve Issues


Chapter 16 - Page 4
This is one of the nice features of Certify. You can access Certify
internally at:

http://certify.us.oracle.com

1. Click the link to "Access Certify"

Or, you can access Certify through MetaLink by:

1. Go to MetaLink (http://metalink.oracle.com)
2. Logon to MetaLink
3. Click the "Product Lifecycle" button on the left-side button bar.
4. Click the "Certifications" button at the top of the middle
frame.

At this point, both methods of accessing Certify are using the exact same
database and screens. You can walk a customer through Certify quite
easily because of this.

How do I use Certify to solve issues?:

Let's continue our senario. You have a customer who wants to run Oracle
Applications (let's be specific, Release 11i) on Windows NT 4.0 Service
Pack 5. What do they need? To answer this question do the following:

1. Access Certify (either way).


2. Click "VIEW CERTIFICATIONS BY PRODUCT".
3. Choose "APPLICATIONS".
4. Click the "SUBMIT" button.
5. Choose "ENTERPRISE RESOURCE PLANNING (ERP)".
6. Click the "SUBMIT" button.
7. The information on the next page is CRITICAL. Read it
closely.
8. Choose your platform as "Microsoft Windows NT for Intel".
9. Click the "SUBMIT" button.
10. The information on the next page is CRITICAL. Read it
closely.
11. Choose the "11.5.1 (11i)" checkbox.
12. Choose the "Certified Combinations Only" "YES" checkbox.
13. Click the "SUBMIT" button.

Copyright © Oracle Corporation, 2000. All rights reserved.

Using Certify to Solve Issues


Chapter 16 - Page 5
14. What follows is the 3 tiers, Client, Application Server, and
Database Server certified platforms.

IS THAT ALL? NOPE!

15. Follow the "Database Tier" to the "ISSUES" link. Click it.
16. What follows is all the known issues and patches for
this particular platform. Write those Bug#'s down. Because
you can then use ARU (see unit on Using ARU to Solve
Issues) to download the patches.
17. There may be issues other than patches. These would
include work-arounds and hints.

Where do I get more information on Certify?:

You can get information on Certify through MetaLink. See the unit on
Using WebIV to Solve Issues for more information on MetaLink.

Internally, you can get more information on Certify at:

http://certify.us.oracle.com/certfaq.html

You will find a link to the Certify User's Guide as well. It is at:

http://certify.us.oracle.com/certifyuserguide.pdf

Copyright © Oracle Corporation, 2000. All rights reserved.

Using Certify to Solve Issues


Chapter 16 - Page 6
Summary

Summary
Summary

You
You should
should feel
feel comfortable
comfortable with
with the
the following
following
statements
statements about
about your
your knowledge:
knowledge:
•• II know
know what
what Certify
Certify is.
is.
•• II can
can access
access Certify.
Certify.
•• II know
know how
how to
to use
use Certify
Certify to
to solve
solve issues.
issues.
•• II know
know where
where to
to get
get more
more information
information on
on Certify.
Certify.

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Using Certify to Solve Issues


Chapter 16 - Page 7
Copyright © Oracle Corporation, 2000. All rights reserved.

Using Certify to Solve Issues


Chapter 16 - Page 8
Using eTRM to Solve Issues
Chapter 17

Copyright © Oracle Corporation, 2000. All rights reserved.

Using eTRM to Solve Issues


Chapter 17 - Page 1
Using eTRM to Solve Issues

Using
Using eTRM
eTRM to
to Solve
Solve Issues
Issues

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Using eTRM to Solve Issues


Chapter 17 - Page 2
Objectives

Objectives
Objectives

After
After this
this unit,
unit, you
you should
should be
be able
able to:
to:
•• Discuss
Discuss and
and use
use eTRM
eTRM
•• Discuss
Discuss broadly
broadly the
the topic
topic of of aa repository
repository and
and
Oracle
Oracle Repository
Repository 6i
6i in
in particular
particular
•• Identify
Identify other
other sources
sources of of information
information

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Using eTRM to Solve Issues


Chapter 17 - Page 3
The BIG Picture

The
The BIG
BIG Picture
Picture

•• What
What is
is aa Repository?
Repository?
•• What
What is
is happening
happening with
with the
the Repository
Repository and
and Apps?
Apps?
•• What
What tools
tools are
are available?
available?
•• What
What is
is the
the future?
future?

Copyright  Oracle Corporation, 2000. All rights reserved.

What is a Repository?:

A Repository, as we are discussing it here, is based on a traditional SCM


(Software Configuration Management) system. A SCM tracks and
controls software development and its activities. A traditional
interpretation of this allows checkin/checkout control of source code and
the ability to perform builds of the entities.

Oracle, through its Designer group, is adding significantly to that definition.


Oracle's Repository allows for the classic SCM with the following
additions:

* The architecture is based on the Oracle 8i Server for


performance and scalability.
* Version history can be distributed over more than one
repository.
* Configuration management for component based application
architectures.
* Files, folders, relational data and modeled metadata objects
can all be stored and managed.
* New types of content can be registered and added to the

Copyright © Oracle Corporation, 2000. All rights reserved.

Using eTRM to Solve Issues


Chapter 17 - Page 4
repository.
* Compare and merge for all types of object.
* An extensible dependency analyzer.

What is happening with the Repository and Apps?:

To greatly simplify a complex, interconnected system, you can think of the


Applications developers as currently having 3 repository-type back-ends
with multiple front-ends.

The first of those back-ends is the Case Repository. The Case


Repository, or CASE115, exists as a Designer (2.1.2) database. This
repository stores the Logical/Physical Data Model. The second back-end
is the ARCS repository. ARCS is the Applications-specific implementation
of the UNIX RCS (Revision Control System) and Oracle-specific RRCS.
This database controls code checkin/checkout. The third back-end is the
ClearCase repository which drives the ARU system. This repository
controls builds.

What is currently happening is that Oracle Applications Development is


moving all of its SCM needs to a single repository based on Repository 6i.
As the back-end is migrated to a single repository, the tools will gradually
migrate as well. Initially the tools will be modified to work as they currently
do, but are now simply pointing to a new repository. Over time and
because of the added capabilities of Repository 6i, new and updated tools
will be added that far exceed what is currently capable.

What tools are available?:

The tool we are talking about in this unit is eTRM. eTRM is a front-end to
the Repository. It provides 100% HTML web access to traditional and
dynamic data and diagrams previously only available in the Technical
Reference Manuals (TRMs). This data includes dependency information
across both database and flat file objects types. This allows for simple
navigate of both $APPL_TOP and data model objects in a single browser
session. It also improves the searching capabilities for objects, including a
wildcard, fast-find facility.

A recently available tool for Applications is the Diff / Merge utilities.


Accessed from the source code machines, the developers now have the
capability of doing GUI or text-mode intelligent diffs and merges across
code, including forms. The tools are called, rdiff and rmerge, and
represent another significant new tool that is coming about due to this
migration of the repository.

Copyright © Oracle Corporation, 2000. All rights reserved.

Using eTRM to Solve Issues


Chapter 17 - Page 5
What is the future?:

While the eTRM represents a significant tool for problem diagnosis and
troubleshooting, it does have a drawback. The tool was written against a
11.5.0 code drop. And the current repositories in place do not allow for
easy maintenance of the eTRM. As such, the developers of eTRM are
working to have the Repository 6i in place for 11.5.4. With Repository 6i
in place, the eTRM will then begin a regular maintenance cycle being that
it can pull from a single repository.

So, for your own planning purposes, eTRM will have a gap in the quality of
its data from 11.5.0 to 11.5.4. You should be aware of this. Does it make
eTRM useless? Far from it! The paper-based TRMs have always had
this problem, and they don't even attempt to provide dependency
information.

Also, because of this migration, the eTRM is not currently available to


customers. Will this happen? Probably. Will the customers have the
same level of access as internal users? Probably not. But, it will provide
them with valuable information on the base installs of Applications.

Copyright © Oracle Corporation, 2000. All rights reserved.

Using eTRM to Solve Issues


Chapter 17 - Page 6
Oracle Repository 6i

Oracle
Oracle Repository
Repository 6i
6i

Workarea Context (I.e. What set of objects are we viewing)

Editors and Tools

Dependency
Diff / Merge
Merge Designer
Designer eTRM
Manager
Manager

Repository 6i

Dependencies
Dependencies Versioning
Versioning Source
Source Control

Oracle
Oracle 8i
8i DB
DB

Copyright  Oracle Corporation, 2000. All rights reserved.

This diagram shows you a basic outline of how the tools will interface with
the repository which resides in an Oracle 8i database.

It would also be appropriate, at this time, to discuss where you can get
additional information on eTRM and the Repository 6i projects.

You can find additional information on the eTRM project at:

http://www-apps.us.oracle.com/~jusmith/eTRM/eTRM.htm

You can find additional information of the Oracle Repository 6i project at:

http://repository.oracle.com/

And you can find additional information on Oracle's Case Tools, including
Repository 6i, at:

http://invincible.uk.oracle.com/

Copyright © Oracle Corporation, 2000. All rights reserved.

Using eTRM to Solve Issues


Chapter 17 - Page 7
eTRM

eTRM
eTRM

•• How
How do
do II access
access eTRM?
eTRM?
•• How
How might
might II use
use eTRM?
eTRM? (Demo)
(Demo)
•• Where
Where do
do II get
get more
more information?
information?

Copyright  Oracle Corporation, 2000. All rights reserved.

How do I access eTRM?:

eTRM is easily accessible at:

http://etrm.us.oracle.com/

The only thing you need is your browser as eTRM is 100% HTML which
runs on either a WebDB or iAS server. In the 1.0 version of eTRM, you do
not need a username/password. This may change in future releases.

How might I use eTRM?:

eTRM stores flat file and data model objects. eTRM parses the following
flat file object types, .c, .fmb, .java, .lc, .lpc, .oc, .opc, .plb, .pll, .pls, .ppc,
.rdf, and .sql. eTRM also parses sequences, snapshot definitions, tables,
and views from the data model.

Note: In the 1.0 version of eTRM, eTRM does not "know" about dynamic
SQL. Future versions will utilize a tool called Dependency Manager to
help manage this.

Copyright © Oracle Corporation, 2000. All rights reserved.

Using eTRM to Solve Issues


Chapter 17 - Page 8
Note: In the 1.0 version of eTRM parsing was not 100% successful in the
parsing of every single object. This is because eTRM is an evolving
product. However, at a reporting phase back in Sep. 28th, 2000, there
was fewer than 4% of the total flat file objects that had no been
successfully parsed. And less than 1% of the data model had not been
parsed. Note: All of the unsuccessfully parsed data model objects were
views.

So, let's start using eTRM. If you go to the page, you will be presented
with the main eTRM screen. The screen is divided into three main areas:
* The top pane with the "workarea" selection
* The left pane with navigation links
* The right pane containing the results of object and report detail

A workarea represents a set of files and/or database objects that when


taken together, normally mean something. An example might be "11.5.1
base". This would expose all files that make up the 11.5.1 base release
(probably the source files that it was built from). Another example might
be "11.5.1 base plus patch XXXXXX". This might represent all files that
make up 11.5.1 base plus all the files that make up patch XXXXXX
layered on top of the base files. Effectively, that could expose a particular
customer environment file set or a point in time in the development cycle.

eTRM has two main modes of use (although they are really not different):
* Appl_top navigation
* Object look-up

Appl_top Navigation allows you to click on a workarea name in the left


pane (or select from the workarea dropdown in the top pane). This will
cause the left pane contents to change so that it displays the root folders
that are found in the workarea. Note: For Apps., this will often contain
just the base of the appl_top that is exposed within this workarea.

What you are really seeing in this "code tree", is a virtual representation of
the physical appl_top folder and sub-folders, being generated from with
Repository. It is not identical to the disk-based appl_top but is an easy
way to find files, objects or database objects.

If you continue by clicking on a folder name (probably you see only an


"apps" folder), you will be presented with the set of product tops for this
release or workarea definition. You can go deeper by selecting a product
link. Now you will be presented with the sub-folders below the product
top.

Copyright © Oracle Corporation, 2000. All rights reserved.

Using eTRM to Solve Issues


Chapter 17 - Page 9
While the folders below the product top look ostensibly like those you find
within a disk-based appl_top, you will note that there is also a folder
named "Database Objects". This folder contains all the structured
(database) objects for this workarea / product.

If you continue navigating down any of the folders below the prod_top, you
will come to entries representing the individual files, normally found below
the sub-dirs of a prod_top. For instance, clicking through the "forms" then
the "US" links will show you entries for each of the forms in this product.

Object Look-Up allows a kind of fast-find facility that allows you to quickly
locate an object by specifying an object name in the field and pressing the
"go" button. Additionally, this field can act as a "wild-card" search. In SQL
terms, it will perform a LIKE '%WHAT_YOU_ENTERED% query. For
instance, if you were to enter "AP_BANK_ACCOUNTS", the right pane
would display all objects that contained that string [fragment].

Once you have told eTRM what object you want information on (by doing
the object search or by navigating the virtual appl_top until you have
reached the required object), you will be presented with a report that
shows both traditional Technical Reference Manual information and
dependency information. This report will include different information for
different types of object but for example, if you were to have selected a
table, you would see the following:

* Table description (where present)


* Objects with similar names
* Primary keys
* Unique keys
* Foreign keys
* References to the table as a lookup
* Indexes
* Columns (with descriptions where present)
* Used-by dependencies (and the type of use)
* Usage dependencies

eTRM also includes a currently static page of links to the data modeling
diagrams for each product (where that product has supplied the diagrams
or where they are otherwise available).

Copyright © Oracle Corporation, 2000. All rights reserved.

Using eTRM to Solve Issues


Chapter 17 - Page 10
So what could you "really" use eTRM for? Well how about "impact
analysis? Let's say you've applied a patch that modifies a column on a
database table. The customer calls you to say that the patch seems to
have broken a form. With eTRM you can discover if that form had
anything to do with that table. You can also uncover customizations that
they customer may not have revealed to you.

With eTRM, this is easy! You could enter the name of the table and
immediately obtain a list of all objects that use the table and all objects
that the table uses.

Where do I get more information?:

To help give you a better feel for how eTRM works and how to use it
effectively, the eTRM team has prepared a "Camtasia" presentation and
demo that will take you through the key features. The demo is in three
pieces.

1. Introduction to eTRM
2. First part of the demo
3. Second part of the demo

The pieces are located at:

http://crmwebmedia.us.oracle.com:8080/ramgen/CRMmedia/training/brow
nbag/bb_etrm_intro_smith_092600.rm

http://crmwebmedia.us.oracle.com:8080/ramgen/CRMmedia/training/brow
nbag/bb_etrm_demo_goldthorp_092600.rm

http://crmwebmedia.us.oracle.com:8080/ramgen/CRMmedia/training/brow
nbag/bb_etrm_impact_goldthorp_092600.rm

Copyright © Oracle Corporation, 2000. All rights reserved.

Using eTRM to Solve Issues


Chapter 17 - Page 11
Summary

Summary
Summary

You
You should
should feel
feel comfortable
comfortable with
with the
the following
following
statements
statements about
about your
your knowledge:
knowledge:
•• II can
can discuss
discuss and
and use
use eTRM.
eTRM.
•• II can
can discuss
discuss the
the topic
topic of
of aa repository
repository and
and
Repository
Repository 6i
6i in
in particular.
particular.
•• II know
know other
other sources
sources ofof information
information on
on eTRM
eTRM and
and
Repository
Repository 6i.
6i.

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Using eTRM to Solve Issues


Chapter 17 - Page 12
Basic Apache Administration
Skills
Chapter 18

Copyright © Oracle Corporation, 2000. All rights reserved.

Basic Apache Administration Skills


Chapter 18 - Page 1
Basic Apache Administration Skills

Basic
Basic Apache
Apache Administration
Administration Skills
Skills

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Basic Apache Administration Skills


Chapter 18 - Page 2
Objectives

Objectives
Objectives

After
After this
this unit,
unit, you
you should
should be
be able
able to:
to:
•• Start
Start an
an Apache
Apache web
web server
server
•• Stop
Stop an
an Apache
Apache web
web server
server
•• Understand
Understand the
the basic
basic configuration
configuration of
of an
an Apache
Apache
web
web server
server
•• Do
Do basic
basic diagnostic
diagnostic testing
testing of
of an
an Apache
Apache web
web
server
server
•• Know
Know where
where to
to go
go for
for additional
additional information
information on
on
the Apache web server
the Apache web server

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Basic Apache Administration Skills


Chapter 18 - Page 3
Basic Apache Skills

Basic
Basic Apache
Apache Skills
Skills

•• Starting
Starting an
an Apache
Apache web
web server
server
•• Stop
Stop an
an Apache
Apache web
web server
server
•• Understand
Understand the
the basic
basic configuration
configuration of
of an
an Apache
Apache
web
web server
server
•• Do
Do basic
basic diagnostic
diagnostic testing
testing of
of an
an Apache
Apache web
web
server
server
•• Know
Know where
where to
to go
go for
for additional
additional information
information on
on
the Apache web server
the Apache web server

Copyright  Oracle Corporation, 2000. All rights reserved.

Starting Apache:

Unix: apachectl start


Windows: apache -k start

Stopping Apache:

UNIX: apachectl stop


Windows: apache -k shutdown

Whevever you make changes to the server configuration files (such as


httpd.conf, they won't take effect until the server is restarted and reloaded.

UNIX: apachectl graceful


Windows: apache -k restart

Configuration of Apache:

Apache is configured by placing directives in plain text configuration files.


The main configuration file is usually called httpd.conf. The location of this
file is set at compile-time, but may be overridden with the -f command line

Copyright © Oracle Corporation, 2000. All rights reserved.

Basic Apache Administration Skills


Chapter 18 - Page 4
flag. In addition, other configuration files may be added using the Include
directive. Any directive may be placed in any of these configuration files.
Changes to the main configuration files are only recognized by Apache
when it is started or restarted.

If any configuration file is actually a directory, Apache will enter that


directory and parse any files (and subdirectories) found there as
configuration files.

The server also reads a file containing mime document types; the filename
is set by the TypesConfig directive, and is mime.types by default.

At startup, Apache saves the pid of the parent httpd process to the file
logs/httpd.pid.

Diagnostic Testing of Apache:

1. Verify the ServerName

Edit the conf\httpd.conf file with a text editor.


Search the file for the word 'ServerName'.
Make sure the value after is a valid hostname or IP address.
For best results, make sure this name is your fully qualified
domain name. You can find this by using the 'hostname'
command in UNIX. For Windows, go to Start -> Settings ->
Control Panel … double-click the Network Icon … choose
the Protocols tab … select TCP/IP Protocol … click the
Properties button … choose the DNS tab … fully qualified
domain name is <host name>.<domain value>.

2. Validating the Configuration Files

Unix: apachectl configtest


Syntax OK

Windows: apache -t
c:/program files/apache group/apache/conf/httpd.conf:
Syntax OK

If there's anything syntactically wrong with your configuration

Copyright © Oracle Corporation, 2000. All rights reserved.

Basic Apache Administration Skills


Chapter 18 - Page 5
files, you'll get an error message describing the problem. But
from a vanilla installation everything should be healthy.

3. Testing your Server & the Error Log

If you started Apache and you didn't see any errors, try to
access it. From your browser, access the page …
http://hostname:port/ (the default web server port is 80)
If you don't have success, you need to look at the error log.
It's called 'error_log' on Unix, but 'error.log' on Windows.

4. Testing Installed Modules

Apache is a modular server. Only the basic functionality is


included in the core server. Extended features are added
through modules which are loaded into Apache. To see
which modules are currently compiled into the server, you
can use the following commands:

UNIX: apachectl -l
Windows: apache -l

Additional Information:

For additional information, the definitive starting point is the Apache web
site at:

http://www.apache.org/

Copyright © Oracle Corporation, 2000. All rights reserved.

Basic Apache Administration Skills


Chapter 18 - Page 6
Summary

Summary
Summary

You
You should
should feel
feel comfortable
comfortable with
with the
the following
following
statements
statements about
about your
your knowledge:
knowledge:
•• II can
can stop
stop and
and start
start an
an Apache
Apache web
web server.
server.
•• II understand
understand the
the basic
basic configuration
configuration ofof an
an Apache
Apache
web
web server.
server.
•• II can
can do
do basic
basic diagnostic
diagnostic testing
testing of
of an
an Apache
Apache web
web
server.
server.
•• II know
know where
where toto go
go for
for additional
additional information
information on
on
the Apache web server.
the Apache web server.

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Basic Apache Administration Skills


Chapter 18 - Page 7
Copyright © Oracle Corporation, 2000. All rights reserved.

Basic Apache Administration Skills


Chapter 18 - Page 8
Basic Operating System
Skills - UNIX and Windows
NT
Chapter 19

Copyright © Oracle Corporation, 2000. All rights reserved.

Basic Operating System Skills - UNIX and Windows NT


Chapter 19 - Page 1
Basic Operating System Skills UNIX and Windows NT

Basic
Basic Operating
Operating System Skills
Skills
UNIX
UNIX and
and Windows
Windows NT
NT

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Basic Operating System Skills - UNIX and Windows NT


Chapter 19 - Page 2
Objectives

Objectives
Objectives

After
After this
this unit,
unit, you
you should
should be
be able
able to:
to:
•• Know
Know where
where to
to begin
begin to
to learn
learn more
more about
about UNIX
UNIX
•• Know
Know where
where to
to begin
begin to
to learn
learn more
more about
about
Windows
Windows NT
NT

Copyright  Oracle Corporation, 2000. All rights reserved.

You might have seen the unit title, and thought that this chapter was going
to be about UNIX and Windows NT. Actually, this chapter is about
pointing you in the right directions to learn more.

There are more books, videos, tutorials, and related information on UNIX
and Windows NT than could possibly be summarized. Also, because
each of these Operating Systems is a complex program, in and of itself. It
would not be useful for you or me to attempt to write a tutorial on either of
these O/S'es.

What can I do? Well, everyone, no matter their level of skill, can learn
something new about either / both of these O/S'es. So, I'm going to give
you some valuable resources, and you can grow from there.

Copyright © Oracle Corporation, 2000. All rights reserved.

Basic Operating System Skills - UNIX and Windows NT


Chapter 19 - Page 3
UNIX and Windows NT Resources

UNIX
UNIX and
and Windows
Windows NT
NT Resources
Resources

•• UNIX
UNIX Resources
Resources
•• Windows
Windows NT
NT Resources
Resources

Copyright  Oracle Corporation, 2000. All rights reserved.

UNIX Resources:

First, let me list what I think are the definitive books on UNIX and UNIX
System Administration. (These are not in RANK order)

A. UNIX System Administration Handbook by Evi Nemeth, Garth


Snyder, Trent R. Hein, Prentice Hall PTR; ISBN: 0130206016

B. UNIX in a Nutshelll: A Desktop Quick Reference for SVR4 and


Solaris 7 by Arnold Robbins, O'Reilly & Associates;
ISBN: 1565924274

C. UNIX Power Tools by Jerry D. Peek, Tim O'Reilly, Mike


Loukides, O'Reilly & Associates; ISBN: 1565922603

D. Essential System Administration : Help for Unix System


Administrators by AEleen Frisch, O'Reilly & Associates;
ISBN: 1565921275

E. Tcp/Ip Network Administration by Craig Hunt, Gigi Estabrook

Copyright © Oracle Corporation, 2000. All rights reserved.

Basic Operating System Skills - UNIX and Windows NT


Chapter 19 - Page 4
(Editor), O'Reilly & Associates; ISBN: 1565923227

Here is a list of GREAT On-line Beginner Resources:

A. http://www.ugu.com/sui/ugu/show?help.beginners
B. http://www.geek-girl.com/unix.html
C. http://www.msoe.edu/~taylor/4ltrwrd/
D. http://www.sunworld.com/sunworldonline/common/
swol-backissues-columns.html#unix101

Windows NT Resources:

Here are the books that I consider to be the definitive books on Windows
NT and Windows NT System Administration. (Not in rank
order).

A. Microsoft Windows NT 4.0 Administrator's Pocket Consultant


(Independent Administration/Support) by William Robert Stanek,
Microsoft Press; ISBN: 0735605742

B. Mastering Windows NT Server 4 (7th Edition) by Mark Minasi,


Sybex; ISBN: 0782126936

C. Essential Windows NT System Administration by AEleen Frisch,


O'Reilly & Associates; ISBN 1565922743

D. Windows NT Desktop Reference by AEleen Frisch,


O'Reilly & Associates; ISBN 1565924371

E. Windows NT in a Nutshell: A Desktop Quick Reference for


System Administration by Eric Pearce, O'Reilly & Associates;
ISBN 1565922514

Here is a list of GREAT On-line Beginner Resources:

A. http://goforit.unk.edu/winnt/default.htm
B. http://www.winntmag.com/
C. http://www.microsoft.com/NTServer/
D. http://www.microsoft.com/ntworkstation/default.asp

Copyright © Oracle Corporation, 2000. All rights reserved.

Basic Operating System Skills - UNIX and Windows NT


Chapter 19 - Page 5
Summary

Summary
Summary

You
You should
should feel
feel comfortable
comfortable with
with the
the following
following
statements
statements about
about your
your knowledge:
knowledge:
•• II know
know where
where to
to go
go to
to learn
learn about
about UNIX.
UNIX.
•• II know
know where
where to
to go
go to
to learn
learn about
about Windows
Windows NT.
NT.

Copyright  Oracle Corporation, 2000. All rights reserved.

While certainly not a tutorial or a complete, exhaustive listing of


references, I do think that you will find something of value in this material.
The more you know; the better you are.

Copyright © Oracle Corporation, 2000. All rights reserved.

Basic Operating System Skills - UNIX and Windows NT


Chapter 19 - Page 6
Basic Tracing Skills
Chapter 20

Copyright © Oracle Corporation, 2000. All rights reserved.

Basic Tracing Skills


Chapter 20 - Page 1
Basic Tracing Skills

Basic
Basic Tracing Skills
Skills

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Basic Tracing Skills


Chapter 20 - Page 2
Objectives

Objectives
Objectives

After
After this
this unit,
unit, you
you should
should be
be able
able to:
to:
•• Discuss
Discuss SQL*Trace
SQL*Trace
•• Discuss
Discuss TKPROF
TKPROF and
and Explain
Explain Plans
Plans
•• Run
Run aa basic
basic SQL*Trace,
SQL*Trace, TKPROF,
TKPROF, and
and Explain
Explain Plan
Plan
•• Know
Know where
where to
to go
go for
for more
more information
information

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Basic Tracing Skills


Chapter 20 - Page 3
Basic Tracing Skills

Basic
Basic Tracing
Tracing Skills
Skills

•• What
What is
is SQL*Trace?
SQL*Trace?
•• What
What is
is TKPROF?
TKPROF?
•• What
What is
is an
an Explain
Explain Plan?
Plan?
•• How
How do
do II run
run aa basic
basic SQL*Trace,
SQL*Trace, TKPROF,
TKPROF, and
and
Explain
Explain Plan?
Plan?
•• What
What about
about OEM?
OEM?
•• Where
Where do
do II go
go for
for more
more information?
information?

Copyright  Oracle Corporation, 2000. All rights reserved.

What is SQL*Trace?:

SQL*Trace is arguably the most important utility in tuning an Oracle


database. What it does is collects every SQL statement executed by an
Oracle database. Along with those SQL statements it can collect timing
information on how long they took to execute, and what they did during
execution.

What is TKPROF?:

TKPROF is a formatting program. It takes an Oracle SQL*Trace file, and


converts it into something readable and useful to the requestor. TKPROF
can also determine the execution plans of SQL statements, and create
SQL scripts that store the statistics in the database.

What is an Explain Plan?:

The EXPLAIN PLAN statement displays execution plans chosen by the


Oracle optimizer for SELECT, UPDATE, INSERT, and DELETE
statements. A statement’s execution plan is the sequence of operations
Oracle performs to execute the statement. The components of execution
plans include:

Copyright © Oracle Corporation, 2000. All rights reserved.

Basic Tracing Skills


Chapter 20 - Page 4
1. An ordering of the tables referenced by the statement.
2. An access method for each table mentioned in the statement.
3. A join method for tables affected by join operations in the
statement.

EXPLAIN PLAN output shows how Oracle executes SQL statements.


EXPLAIN PLAN results alone, however, cannot differentiate between well-
tuned statements and those that perform poorly. For example, if EXPLAIN
PLAN output shows that a statement uses an index, then this does not
mean the statement runs efficiently. Sometimes using indexes can be
extremely inefficient. It is best to use EXPLAIN PLAN to determine an
access plan, and later prove that it is the optimal plan through testing.

When evaluating a plan, always examine the statement’s actual resource


consumption. For best results, use the Oracle Trace or SQL trace facility
and TKPROF to examine individual SQL statement performance.

Which Optimizer do we use?

Release 11i uses the Cost-based Optimizer. The CBO determines which
execution plan is most efficient by considering available access paths and
by factoring in information based on statistics for the schema objects
(tables or indexes) accessed by the SQL statement. The CBO also
considers hints, which are optimization suggestions placed in a comment
in the statement.

The CBO consists of the following steps:


1. The optimizer generates a set of potential plans for the SQL
statement based on its available access paths and hints.

2. The optimizer estimates the cost of each plan based on


statistics in the data dictionary for the data distribution and
storage characteristics of the tables, indexes, and partitions
accessed by the statement.

The cost is an estimated value proportional to the expected


resource use needed to execute the statement with a
particular plan. The optimizer calculates the cost of each
possible access method and join order based on the
estimated computer resources, including (but not limited to)

Copyright © Oracle Corporation, 2000. All rights reserved.

Basic Tracing Skills


Chapter 20 - Page 5
I/O and memory, that are required to execute the statement
using the plan.

Serial plans with greater costs take more time to execute than
those with smaller costs. When using a parallel plan, however,
resource use is not directly related to elapsed time.

3. The optimizer compares the costs of the plans and chooses


the one with the smallest cost.

To maintain the effectiveness of the CBO, you must gather


statistics and keep them current.

The resulting statistics provide the CBO with information about


data uniqueness and distribution. Using this information, the
CBO is able to compute plan costs with a high degree of
accuracy. This enables the CBO to choose the best execution
plan based on the least cost.

How do I run a basic SQL*Trace, TKPROF, and Explain Plan?:

1. Set initialization parameters for trace file management.

A. Check settings of the TIMED_STATISTICS,


MAX_DUMP_FILE_SIZE, and USER_DUMP_DEST
initialization parameters.

Check:
SQL> select value from v$parameter
where name = 'timed_statistics';

SQL> select value from v$parameter


where name = 'max_dump_file_size';

SQL> select value from v$parameter


where name = 'user_dump_dest';

Set:
SQL> alter system set timed_statistics = true;

Copyright © Oracle Corporation, 2000. All rights reserved.

Basic Tracing Skills


Chapter 20 - Page 6
SQL> alter session set timed_statistics = false;

SQL> alter system set max_dump_file_size = 20000;

SQL> alter system set user_dump_dest = '/tmp';

There are also ways to turn Form tracing and Report


tracing on. For information, see the unit titled, Basic
Applications Diagnostics and Troubleshooting Tools.

B. Devise a way of recognizing the resulting trace file.

Be sure you know how to distinguish the trace files by


name. Oracle writes them to the user dump destination
specified by USER_DUMP_DEST. However, this
directory may soon contain many hundreds of files,
usually with generated names. It may be difficult to
match trace files back to the session or process that
created them. You can tag trace files by including in
your programs a statement like SELECT ’program name’
FROM DUAL. You can then trace each file back to
the process that created it.

C. If your operating system retains multiple versions of files,


then be sure your version limit is high enough to
accommodate the number of trace files you expect the
SQL trace facility to generate.

D. The generated trace files may be owned by an operating


system user other than yourself. This user must make
the trace files available to you before you can use
TKPROF to format them.

2. Enable the SQL trace facility for the desired session, and run
your application. This step produces a trace file containing
statistics for the SQL statements issued by the application.

3. If you are going to require an Explain Plan, run the


SQL script UTLXPLAN.SQL to create a sample output table

Copyright © Oracle Corporation, 2000. All rights reserved.

Basic Tracing Skills


Chapter 20 - Page 7
called PLAN_TABLE in your schema. PLAN_TABLE is the
default table into which the EXPLAIN PLAN statement inserts
rows describing execution plans. Or, issue a CREATE TABLE
statement to create an output table with any name you choose.
When you issue an EXPLAIN PLAN statement, you can direct
its output to this table.

4. Run TKPROF to translate the trace file created in Step 2 into


a readable output file. This step can optionally create a SQL
script that can be used to store the statistics in a database.

tkprof <trace_file>.trc <output file> sys=no


explain=apps/apps
sort='(prsqry,exeqry,fchqry,prscu,execu,fchcu)'
print=10

5. Interpret the output file created in Step 4.

While TKPROF provides a very useful analysis, the most


accurate measure of efficiency is the actual performance of
the application in question. At the end of the TKPROF output
is a summary of the work done in the database engine by the
process during the period that the trace was running.

TKPROF lists the statistics for a SQL statement returned by


the SQL trace facility in rows and columns. Each row
corresponds to one of three steps of SQL statement
processing. Statistics are identified by the value of the CALL
column:

PARSE This translates the SQL statement into an


execution plan, including checks for proper
security authorization and checks for the
existence of tables, columns, and other
referenced objects.

EXECUTE This is the actual execution of the statement


by Oracle. For INSERT, UPDATE, and
DELETE statements, this modifies the data.

Copyright © Oracle Corporation, 2000. All rights reserved.

Basic Tracing Skills


Chapter 20 - Page 8
For SELECT statements, this identifies the
selected rows.

FETCH This retrieves rows returned by a query.


Fetches are only performed for SELECT
statements.

COUNT Number of times a statement was parsed,


executed, or fetched. CPU Total CPU time in
seconds for all parse, execute, or fetch calls
for the statement. This value is zero (0) if
TIMED_STATISTICS is not turned on.

ELAPSED Total elapsed time in seconds for all parse,


execute, or fetch calls for the statement. This
value is zero (0) if TIMED_STATISTICS is
not turned on.

DISK Total number of data blocks physically read


from the datafiles on disk for all parse,
execute, or fetch calls.

QUERY Total number of buffers retrieved in


consistent mode for all parse, execute, or
fetch calls. Buffers are usually retrieved in
consistent mode for queries.

CURRENT Total number of buffers retrieved in current


mode. Buffers are retrieved in current mode
for statements such as INSERT, UPDATE,
and DELETE.

ROWS Total number of rows processed by the SQL


statement. This total does not include rows
processed by subqueries of the SQL
statement.

NOTE: The sum of query and current is the total number of


buffers accessed.

Copyright © Oracle Corporation, 2000. All rights reserved.

Basic Tracing Skills


Chapter 20 - Page 9
6. Optionally, run the SQL script produced in Step 4 to store the
statistics in the database.

What about OEM?:

OEM, or Oracle Enterprise Manager, is an excellent tool for this kind of


performance tuning work. However, the use of that product is beyond the
scope of this unit. You will have to look elsewhere for information.

Where do I go for more information?:

You can get the Oracle 8i manual that contains information on tracing and
related tasks at:

http://st-doc.us.oracle.com/8.0/816/server.816/a76992.pdf

You can obtain information on OEM and its related Management Packs at:

http://smpweb.us.oracle.com/

… specifically at …

http://smpweb.us.oracle.com/Software_Doc/Doc.html

There are excellent Oracle University courses on Oracle Enterprise


Manager, Oracle Enterprise Manager / Applications Manager, and CBO
Tuning. Check with Oracle University for information and schedules of
these courses.

Copyright © Oracle Corporation, 2000. All rights reserved.

Basic Tracing Skills


Chapter 20 - Page 10
Summary

Summary
Summary

You
You should
should feel
feel comfortable
comfortable with
with the
the following
following
statements
statements about
about your
your knowledge:
knowledge:
•• II understand
understand and
and can
can discuss
discuss SQL*Trace,
SQL*Trace,
TKPROF,
TKPROF, and Explain Plans.
and Explain Plans.
•• II can
can run
run aa SQL*Trace.
SQL*Trace.
•• II can
can TKPROF
TKPROF with
with an
an Explain
Explain Plan.
Plan.
•• II know
know where
where to
to go
go for
for more
more information.
information.

Copyright  Oracle Corporation, 2000. All rights reserved.

Copyright © Oracle Corporation, 2000. All rights reserved.

Basic Tracing Skills


Chapter 20 - Page 11
Copyright © Oracle Corporation, 2000. All rights reserved.

Basic Tracing Skills


Chapter 20 - Page 12

Вам также может понравиться