Taming FRM-99999 and Other Forms Server R.6 Issues

Download Report

Transcript Taming FRM-99999 and Other Forms Server R.6 Issues

Taming FRM-99999
and Other Forms
Server R.6 Issues
Paper 306
Peter Koletzke
Howard Fujimoto
Applicable Quote
I am caught like a beast at bay.
Somewhere are people,
freedom, light,
But all I hear is the
baying of the pack,
There is no way out for me.
—Boris Pasternak
.
Survey
• Deploying on Forms Server?
 6.0.5?
 6.0.8 (6i)?
 Have never seen the
FRM-99999 beast?
• Need to move to Forms Server?
• Role?
 DBA?
 Developer?
 Other?
Agenda
• Overview
• Setup checklist
• Application checklist
• Server and network checklist
Products We Used
• Oracle Application Server (OAS) 4.0.8
 Sun Solaris
 Spyglass
 Now transitioned to Internet Application Server - IAS
1.0.2 (Apache)
• Developer Forms Server
 R.6.0.5, patch 4a
 Now called Forms Server
 Part of IAS
Note: Examples use UNIX syntax. NT
has similar commands although they may
have different names.
What Does FRM-99999 Mean?
• Generic error
 Usually some problem with the Forms Server
 More common in 6.0
• With R.6i, some specific errors are
separated
 You will get a second, more-meaningful error
number with FRM-99999
• There is no single answer
• You need to know what to check
 There are a number of different areas
• You need to understand the
architecture
Application Server
Web Listener
File System
Client
Java Files
Database
Server
Forms Files
WWW
browser
Forms Server
Listener
GIF Files
Database
Applet
(JInit)
Forms Runtime
Engine
Main Problem Areas
• You have to check the entire path
• Incorrect setup
 Easy to determine
 You probably missed a step
• Forms application problem
 Form startup error
 Form runtime error
• Network or hardware issue
 Easy to blame, but rare
 There are some things you can test
Agenda
• Overview
• Setup checklist
• Forms application checklist
• Server and network checklist
Setup Checklist
• Run the OAS Admin in a
browser
UNIX
NT
 Usually port 8888 or 9999
 Connect as ADMIN
• Check the listener
 HTTP Listeners node in the
navigator
 Check the port number and host
 Check the virtual path directory
mapping
– Use “/” slashes for UNIX directories
– Use “\” slashes for NT directories
– Use “/” slashes for virtual directories
Setup Checklist
• Be sure the listener is shut down before
making changes to any setting
• Otherwise, you may get orphaned
processes
 These have to be killed manually from the command
line
• The reason is that the name of the listener
process ID file may be truncated if the
listener is active when it is changed
 This file is defined in the Network screen under the
listener in the OAS Admin application
Setup Checklist
• Check the application
 Application type = C Web
• Check the cartridge
 Virtual path mapping
 Shared object
– Name of supporting library
 Entry point
– Name of the function
 Cartridge parameters
– Really important
Note: The virtual path must not
use a trailing slash “/”.
Cartridge Parameters
• Forms Server looks for certain parameters
• These are passed to the Forms runtime
• Many of these can be in the startup HTML
file as well, for example:
 code = entry point of runform environment
 codebase = virtual path for runform environment
 baseHTML = directory and name of the startup
HTML file
 serverPort = Forms Server listener port number
 module = Forms runtime parameter for
the first form that will start up
Setup Checklist
• Check the Forms Server setup
• Use the Forms Server Setup wizard
 This works in 6i and later releases of 6.0
 Some problems with early releases of 6.0
• Examine the startup HTML file for
completeness - easiest to follow an example
 6i installs two files into forms60\admin\server directory
– BASEJINI.HTM for use with Jinitiator
– BASE.HTM for use without JInitiator
– Contain values used for form startup
– Pull values from FORMSWEB.CFG file
– The .CFG file makes it easy to change
startup parameters
Setup Checklist
• Check that the forms files are in the correct
directory
• Be sure that the environment variables are
set correctly
 FORMS60_MAPPING - the webtemp directory
assigned in the listener directories area (actual
directory name such as “/home/user/temp”)
 FORMS60_OUTPUT - also the webtemp directory
(a virtual directory such as “/webtemp/”)
 FORMS60_PATH - location of the .FMX forms files
 UI_ICON - location of the .GIF icon files
Note: NT uses “\” slashes instead of “/”
slashes to represent actual directories.
Agenda
• Overview
• Setup checklist
• Forms application checklist
• Server and network checklist
Forms Application Checklist
• Check the HTML startup file
• Be sure the form is compiled correctly
 All attached libraries must be compiled
 All database code that the form calls must be
compiled
• Run a test form
 Create a simple form with an ON-LOGON trigger
containing NULL (no logon)
• Make sure that the URL is correct
 Check the host, port, virtual directory,
startup file name, parameters
 Are the forms in the proper directory?
URL with Parameter Passing
3. The startup file
with replaceable
parameters
1. The server
and listener
http://myhost:8050/prodforms/startup.html?p_empid=101&p_system=HR
2. The cartridge
virtual path
1
WWW
browser
4. Parameters and values
3
Web Listener
2
Startup HTML
4
4
Forms Server
p_empid=101
p_system=HR
Form1
p_empid
p_system
Forms Application Checklist
• Turn on the client browser Java console to
debug startup problems
 Oracle JInitiator Control Panel in the Windows start
menu
 A message
window will
pop up when
you access
the URL
 Check the
messages
for hints on
the failure
Java Console Message Window
Forms Application Checklist
• Forms code may cause the FRM-99999
error
• If it is associated with a 1412 error
 You tried to programmatically set the scrollbar
position but the block has no scrollbar
• If it is associated with a 1413 error
 You have tried to get the scrollbar position of a
block that has no scrollbar
Agenda
• Overview
• Setup checklist
• Forms application checklist
• Server and network checklist
Server and Network Checklist
• Check the listener
 In OAS Admin, click the HTTP Listeners node
 There should be a green flag by the listener
– A red flag for applications is OK
 Click the Monitor icon (hourglass)
– You can check for new connections with this tool
• Be sure that the Forms Listener is running
ps -ef | grep f60
 This will show Forms Server processes that are
running - includes the port number
• Bounce the main admin listener (8888)
 owsctl stop then owsctl start
Server and Network Checklist
• Reload the site
 Use the OAS Admin screens for this
 Restarts all listeners and servers
• Restart the Forms server
f60ctl stop port=9000
f60ctl start port=9000
• UNIX command to test the network health
ping -s myhost.corp.com 1472 -5
 Tests a data transmission of 1472 bytes 5 times
• Check network collisions and traffic
netstat -I
Server and Network Checklist
• On UNIX, use iostat to determine the
workload
 Use top to determine the CPU drains
• Be sure that the Forms Server user has
read and write permissions on:
 Directories in the virtual directory list
 Temporary directories
• Be sure that SQL*Net or Net8 are set up
correctly on the app server
 Test using SQL*Plus
 Run tnsping sid on the app server
where “sid” is the database
Server and Network Checklist
• Set the Forms Server log
 Use a parameter “log=logfile” when starting the
Forms Server on the command line
f60ctl start port=9000 log=svr9000.log
 This can also be used for the f60svrm server
process (ifsrv60 on NT)
• Be sure the FORMS60_MAPPING
environment variable is set
 Otherwise images may be “broken” (displayed
incompletely)
 Assign it to a virtual directory
 Use the right kind of slashes (“/”)
Summary
• This is easier than it seems
• More often than not, everything will be OK
• When you have to troubleshoot, suspect all
areas
 Use standard troubleshooting logic
• Check the white paper
 Details on the settings
 List of further reading
• Do not despair the long
nights and the “baying
of the pack”
Author Information
• Please fill out the evals - paper 306
• Peter Koletzke
 http://www.mvsn.com
 http://ourworld.compuserve.com/
homepages/Peter_Koletzke
• Howard Fujimoto
 http://www.mvsn.com
Our Books
• Oracle Developer Advanced
Forms and Reports
• Designer Handbook, 2nd Ed.
• Co-authored by Dr. Paul Dorsey
• Osborne McGraw-Hill,
Oracle Press