JulyAugust 1999 by fjhuangjun


									                                       July/August 1999
                                                    Issue #10

   Thursday, July 15               DOUG Meeting
   4:00 - 6:00 p.m.                New Features of the Developer Suite
                                   (Erol Coner, Oracle Corporation)

   Thursday, August 19             DOUG Meeting
   4:00 - 6:00 p.m.                Creating Custom Account Generators - The Fast and Easy Way!
                                   (Jason Chan, i2 Technologies)

                                               Oracle Corporation
                                        222 W. Las Colinas Blvd., 10th Floor
                                               Irving, Texas 75039

                               System and Process Review
                             System Administration Support
                   Database and Application Installations and Upgrades
                Database Backup and Recovery Review and Implementation
                               Remote Database Support
                     Database and Application Performance Tuning
                              Application Implementation
                                    Oracle Training

Computer Systems Authority (CSA) is a consulting services firm. Our vision is "to be recognized by our
clients as the premier provider of real world solutions to their information systems integration challenges."
CSA strives to provide the best quality solutions to our clients using the best quality personnel. Contact us at
972.960.0180 to find out what CSA can do for you.
                                                                                                DALLAS ORACLE USER GROUP

                                 What I Did on My First Day of School
                                              Andrew Iwanuck, DBCORP

Allow me to introduce myself. After all, it’ my first day on the job. I am a wanna-be DBA. I am such a new DBA,
I’ still shrink-wrapped and shiny. I got hooked on database administration because of some brief exposure to it
                                                               t         m
during a company upgrade and conversion. No, this doesn’ mean I’ Queen of Nerd-City, or CEO of Geek Cen-
tral. But, nonetheless, I dusted off my pocket protector, oiled the propeller on my hat and applied for a job at a DBA
consulting company.

Monday 7:30 a.m. – Bleary-eyed, I fumble with the office key, and let myself into the reception area; my heart barely
beating, and in dire need of full-metal-jacket caffeine. A kind woman from down the hall shows me the lay of the
land. I take note of the washroom location and foosball table. I admire the golf memorabilia in the reception area.
There are some abstract pictures of Greg Norman, and a clock with embossed golf balls where the numbers should
be. I hang my coat and make my way to the Hub, the bunker, the place where bad things come in, and good things
go out. This is where the client help desk calls are received. They frighten me, the DBAs that inhabit this place;
they are alert, yes, even ‘jazzed’at the prospect of problem-solving. While having visions of surrendering my first-
born or sacrificing a chicken, I scan the walls for pictures of Sun Yong Moon. All I see is more golf posters. I drink
a sufficient amount of coffee to raise my heartbeat to ‘  not-quite-dead-yet’pace, and find a place in front of a PC.

9:45 a.m. – I have had so much coffee, I can feel my hair growing. I am not alone. The natives here live on a
steady diet of coffee and cola. Make no mistake; their bodies are temples. They are a collection of skiers, golfers,
bikers, hikers, and runners. But it is the coffee and tea that pumps the creative juices in this office. It’ the kilo of
gummy bears that promotes flashes of brilliance and innovation. I load up on both.

                             t                              s
1:15 p.m. – To ensure I don’ injure myself or anyone else’ database, I am at first given a stand-alone server to
blow up at will. What a run-of-the-mill DBA can do in one hour takes me 2 days. Throughout my attempts at
database creation, the server continues to spit errors at me, taunting me until I want to beat it with a baseball bat.
Did I say that out loud?

4:30 p.m. - My brain has long since hit saturation point by the end of the day. I stumble out to the bus and go

Tuesday 7:05 a.m. - Initialization parameters have swam through my already confused dreams during the night and
I wake up with the urge to shutdown and startup my blowdryer. I stand in front of the mirror, wondering how to re-
boot my toothbrush, because that might fix everything. Later, at the office, after several (more than 10) attempts at
creating a small database, I have moderate success. I give myself a virtual high-five and feel better about going
down the hall to play with the other kids.

2:00 p.m. – Hub room. The DBAs have switched from gummy bears to some foul-smelling deep fried cheese
things. I disapprove but eat them anyway. There is a sense of comfort there; ghetto-blaster in the corner, book-
shelves full of manuals, spontaneous brainstorming sessions erupting at the utterance of a simple question.

I would suggest that not everyone has the right attitude to be a DBA. The ability to dispense calm and clarity, as well
as database expertise to the client after their database has crumbled around them is an important personality trait.
DBA responses to clients like. “                                                  re
                                Lock the doors for a couple of days, Sparky. You’ hooped.” often result in sporadic
changes in career path. Client relations is truly one area where I’ seen and heard these guys work their magic.
The phrase “             m
            Trust me, I’ a doctor” springs to mind.

4:30 p.m. – Another day, another brush with database comprehension. I wrote my first successful script over six
                                                                                    m              s
lines long. My synapses perform dances in the end-zone of my cerebral cortex. I’ convinced it’ the gummy bears
that assisted my small revelation, and I am excited at the prospect of what jelly-beans can do for me.

                                                  Dallas Oracle User Group
                                                                                                    DALLAS ORACLE USER GROUP

                                   AOL FREQUENTLY ASKED QUESTIONS
                    GENERAL AOL                                     Character: Use \Help->Version

Where do concurrent request logfiles and output                     How do I lookup ORA errors? (and TNS errors)
files go?                                                           Use: oerr ora XXXX
The concurrent manager first looks for the environment              or: oerr tns XXXX
variable $APPLCSF                                                   where XXXX is the error number
If this is set, it creates a path using two other environ-          (This also supports a number of other error types. Use
ment variables:                                                     the 3-letter error prefix in place of 'ora')
It places log files in $APPLCSF/$APPLLOG                            How do I generate a message file (usaeng.msb)?
Output files go in $APPLCSF/$APPLOUT                                Use: FNDMDCMF applsys/pwd 0 Y APP usaeng
So for example, if you have this environment set:                   where: applsys/pwd is the APPLSYS user and pass-
$APPLCSF = /u01/appl/common                                         word and APP is the short name of the application (like
$APPLLOG = log                                                      PO or INV)
$APPLOUT = out
The concurrent manager will place log files in /u01/appl/           How do I submit a concurrent request from PL/
common/log, and output files in /u01/appl/common/out                SQL?
Note that $APPLCSF must be a full, absolute path, and               Use FND_REQUEST.SUBMIT_REQUEST
the other two are directory names.                                  Example: req_id :=
If $APPLCSF is not set, it places the files under the               FND_REQUEST.SUBMIT_REQUEST('FND',
product top of the application associated with the re-              'FNDSCARU');
quest.                                                              Note that this can only be called from a concurrent pro-
So for example, a PO report would go under $PO_TOP/                 gram
$APPLLOG and $PO_TOP/$APPLOUT                                       See the Coding Standards for parameter details
Logfiles go to: /u01/appl/po/9.0/log
Output files to: /u01/appl/po/9.0/out                               How do I cancel a running concurrent request?
Of course, all these directories must exist and have the            Navigate to the Concurrent Request Summary form
correct permissions.                                                Select a request
Note that all concurrent requests produce a log file, but           In character, do a Quickpick on the Status column
not necessarily an output file.                                     You can select Cancel or Hold
                                                                    In GUI, use the Cancel or Hold buttons
What are the logfile and output file naming conven-                 The Sysadmin responsibility can cancel or hold any run-
tions?                                                              ning request
Logfiles: l<request id>.req
Output files: If $APPCPNAM is not set:                              Why can't I find adrelink on my NT APPL_TOP?
<username>.<request id>                                             This is a trick question right?
If $APPCPNAM = REQID: o<request id>.out                             There is no adrelink, we supply executables pre-built.
If $APPCPNAM = USER:        <username>.out                          There is no need to relink
                                                                    as on UNIX. There is also no adunload.
Where: <request id> = The request id of the concurrent
request                                                             Why can't I use character mode on NT?
And: <username> = The id of the user that submitted                 You're just full of trick questions today...
the request                                                         Applications for NT does not include character mode
How do I check if Multi-org is installed?
SELECT multi_org_flag FROM fnd_product_groups;                      Why does Help->Tools->Examine ask for a pass-
How do I find out what the currently installed re-                  The profile option Utilities:Diagnostics is set to NO
lease of Applications is?                                           This profile option controls whether users can use the
SELECT release_name FROM fnd_product_groups                         Examine utility.
                                                                    The password should be the APPS password.
How do I find the name of a form?
GUI: Use Help->About Oracle Applications
Scroll down to find the form name                                                                           (Continued on page 5)

                                                   Dallas Oracle User Group
                                                                                                  DALLAS ORACLE USER GROUP

                              ORACLE 8i RELEASE 8.1 NEW FEATURES
                                          by Sandra Cheevers, Oracle Corporation


Oracle8i, Release 8.1, is the latest release of the Oracle data server. Oracle8i introduces many new, innovative features
specifically designed to make it the database for the Internet. Oracle8i continues Oracle’ strategy of embracing and sup-
porting Java by delivering a Java VM within the Oracle server. Just as Oracle made SQL the language for client server
architectures, Oracle is making Java the standard for next generation applications by supporting Java in all tiers, including
within the server. This brings the support for the Java language to the same level as the support for PL/SQL. Also, new
features such as WebDB make it easy for users and developers to create web-based applications that allow Oracle data
to be accessed through the Internet.

Oracle8i improves upon many of the advances of Release 8.0 as well as introduces powerful new functionality for online
transaction processing (OLTP) and data warehousing applications. Oracle8i also includes enhancements in nearly all
other areas of the Oracle Data Server improving overall quality, availability, performance, manageability, multi-media
datatype support, and replication.

Oracle8i introduces Oracle WebDB to make it easy to create web-based Oracle applications. Oracle WebDB is the solu-
tion for building, deploying, and proactively monitoring Web database applications and content-driven Web sites. By com-
bining an intuitive, HTML interface with a complete set of robust, browser-based HTML tools, Oracle WebDB allows users
to easily and quickly develop Web database applications. Oracle WebDB is the fastest and easiest way to “  Web-enable”
Oracle databases.

Oracle WebDB comes with all the tools necessary to build dynamic Web applications and content-driven Web sites. Ap-
plications and Web sites developed using Oracle WebDB are completely contained within the Oracle database. The only
software needed to develop and deploy Oracle WebDB applications is a Web browser. There is no need to install soft-
ware on every machine being used, no need to use FTP to remotely manage files, and no need to have a complex deploy-
ment plan every time a developer fixes a bug and needs to upgrade the deployed system. Oracle WebDB meets the de-
manding challenges that the Internet has posed to the traditional IT shop – fast application development and simplified ap-
plication deployment.

Web applications require advanced data management services that support rich datatypes used in Web repository, e-
commerce, and other Internet applications. Oracle InterMedia adds the support to enable Oracle8 i to manage multimedia
content both for Internet and traditional applications that need access to image, audio, video, text and location data:

interMedia-Image supports image management within an Oracle8i database and basic manipulation of images, such as
scaling and cropping.

interMedia-Audio manages audio from a variety of sources, including within Oracle8i and from external sources, such as
Web URL sites or specialized servers. interMedia-Audio supports delivery of audio through any streaming server, such as
the RealAudio Server or Oracle Video Server.

interMedia-Video manages video from a variety of sources both within Oracle8i and from external sources, such as Web
URL sites or specialized servers. It also supports delivery of video through any streaming server, such as the RealVideo
Server or Oracle Video Server.

interMedia-Locator supports applications that help users locate information, such as stores, distribution points, and
events, based on their location or their distance from a given address or spatial component. interMedia-Locator fea
tures are fully integrated with Oracle8i and with third-party software vendors that provide products to graphically display the
data, such as GIS systems (geographic information systems).

                                                                                                             (Continued on page 6)

                                                     Dallas Oracle User Group
                                                                                                       DALLAS ORACLE USER GROUP

(Continued from page 3)                                                 For example :
How do I set the name of the site that shows up                         adfrmgen filelist=filelist.txt
under Help->About Oracle Applications?                                  adfrmgen product="gl" filepath="forms/
Set the profile option 'Site Name'                                      GLXSSMTY.inp" (one file)
                                                                        adfrmgen product="gl" filepath="forms" (entire direc-
How do I open a form in query-only mode?                                tory)
Navigate to the Form Functions form (Application-                       adfrmgen product="gl" (entire product)
>Function)                                                              adfrmgen product="fnd gl" (multiple products)
Query the particular form and add the parameter                         adfrmgen product="fnd gl" filepath="forms" (entire
QUERY_ONLY=YES                                                          directories from multiple products)
Not all forms will accept this parameter however.
                                                                        GUI forms: use f45gen
How do I find the version of an installed product?                      Usage : f45gen module=<source file> userid=<Apps
(such as Reports, SQL*Net etc.)                                         account/password>
One of the easiest ways is to run the product if you                    output_file=<destination file> module_type=form
can. Running Reports designer will give you the Re-                     batch=yes compile_all=special
ports version, running SQL*Plus will give you its ver-
sion etc. Another easy way is to launch the Oracle                      Example:
Installer and look in the installed products on the right               f45gen module=/u16/appl/nca/au/1.0/forms/US/FND-
side. It will list all the products installed with their ver-           CPMCP.fmb userid=APPS_APPDEMO/APPS
sions. Another way is to look at the .rgs file. This file               output_file=/u16/appl/nca/fnd/7.5/forms/US/FND-
is located in $ORACLE_HOME/orainst On UNIX, it                          CPMCP.fmx
will be called unix.rgs. On the PC, it will be called                   module_type=form batch=yes compile_all=special
Windows.rgs. This file will list all the products in-
stalled and their versions. Note though that this file is               Note that in Release 11, adadmin will allow you to
not always correct. For example, patching Reports                       compile specific forms
from to will not show up in this file as
the new version. Running Reports Designer is the                        What do I do if I am missing an executable from
best way of getting the correct version. Also, on                       my APPL_TOP?
UNIX there is an executable called 'inspdver'. It is lo-                Binary executables are created with adrelink.
cated $ORACLE_HOME/orainst. Running it will pro-                        For example, if addmimp is missing use:
duce a display of all the installed products. It just pulls             adrelink force=y ranlib=y "ad addmimp"
the information from unix.rgs, so it may show the
wronginformation as well.                                               In Release 11, where do I apply all of these new
                                                                        patch drivers?
I just ran AutoInstall successfully, but I don't have                   (i.e. where do I apply the c driver, the d driver and
character mode! (on UNIX)                                               the g driver?)
You probably picked 'Server' when asked what type                       The 'c' driver is the copy driver. It copies files and re-
of installation to do. This choice installs everything                  links executables, similar to the old patch.drv. The 'd'
except the character mode forms and executables.                        driver is the database driver. It runs scripts against
The choice you wanted to pick was 'Standalone'. You                     the database like the old db driver. The 'g'
can recreate character mode by unloading the forms                      driver is new to release 11. It is the generate driver. It
directories regenerating the forms, and relinking aiap.                 generates forms, reports, and message files. In a
                                                                        multiple-tier environment, you should apply the copy
I changed a profile option, but it doesn't seem to                      driver to all tiers, the database driver to the adminis-
take effect?                                                            tration tier, and the generate driver to the forms and
Profile option values are cached, so you need to log                    concurrent processing tier. (Some of these may be
out and back in in order to have the new value take                     the same tier) Adpatch will ask questions about what
effect. Switching responsibilities will usually do it too.              kind of APPL_TOP it is in, so it will know what por-
                                                                        tions of the driver to run.
How do I generate one single form? (As opposed
to using adadmin to generate them all)                                  What is Shaggy's real name?
Character mode forms: Use adfrmgen                                      Norville 'Shaggy' Rogers
Usage : adfrmgen filelist=<name of filelist file>
or : adfrmgen product="product shortname(s)"
[filepath="dir-path/filename"]                                                                                  (Continued on page 7)

                                                       Dallas Oracle User Group
                                                                                                DALLAS ORACLE USER GROUP

(Continued from page 4)
interMedia-Text, based on Oracle’ award winning ConText functionality, delivers powerful text retrieval capabilities funda-
mental to Web applications. interMedia-Text enables organizations to manage unstructured text data as easily as tradi-
tional structured data while additional functionality provides users with the technology to easily search text data with ad-
vanced retrieval and natural-language queries.

Oracle iFS combines the power of the Oracle8i server with the ease of use of a file system. iFS provides universal access
to data, making data that is stored within Oracle8i appear as if it were simply another file system volume on the network.
Whether users access contents of the iFS through Windows Explorer, a Web browser, an FTP client, or an e-mail client,
the files appear the same. Relational data can appear and be manipulated as files; so too can “    hybrid” documents that
combine relational and non-relational data.

From a developer’ standpoint, the iFS is the single data store containing the data for many different applications, making
application development and interfacing much easier. For the system administrator, the iFS is a single system for file stor-
age and messaging, rather than several separate systems to maintain and administer.

Oracle8i continues Oracle’ Java strategy by introducing a Java VM in the database for storing and executing Java code
on the server. Oracle8i also introduces SQLJ, a syntax for embedding SQL into client or server Java code. Java in the
database allows you to create high performing, scalable applications based on open, industry standards.

The Java VM in the Oracle Data Server allows you to write, store, and execute Java code within the database. This allows
you to create stored procedures, functions, or triggers in Java. This also dramatically reduces the skill set required for
database programming. As opposed to C, OCI, PL/SQL, and other languages, you can now develop applications using
only Java.

                                                                                                           (Continued on page 9)

                                                    Dallas Oracle User Group
                                                                                                         DALLAS ORACLE USER GROUP

(Continued from page 5)                                                 when the program runs. This allows the library to be
                          UNIX QUESTIONS                                shared among multiple programs, hence the name
                                                                        'shared libraries' (on Windows, these are called DLLs) If a
I know the name of a UNIX command, but I don't                          program cannot find the shared libraries it needs, it will
know what it does?                                                      not run. See also the questions on ldd and
Use the 'whatis' command                                                LD_LIBRARY_PATH.
whatis will give a brief description of the command
Example:                                                                How do I tell an HP10.20 object file from an HP11.0
                                                                        object file?
$ whatis grep                                                           The preferred way to tell whether an object was built with
grep        grep (1)          - search a file for a pattern             HP-UX 10.20 or HP-UX 11.0 is use the odump command.

OK. I know what a UNIX command does, but I can't                        odump -comp <object name>
remember the name?
Use 'man -k'                                                            The -comp switch will give you the flags with which the
This will do a keyword search of the man pages                          object was compiled as will as the revision. The revision
Example:                                                                number for objects built with 10.x will appear as "A.10.xx"
                                                                        where xx is dependent on the exact revision and patch
$ man -k grep                                                           level. For 11.0 objects, the revision number will appear
egrep         egrep (1)     - search a file for a pattern us-           as "A.11.xx".
ing full regular expressions
fgrep         fgrep (1)    - search a file for a character              What is the best way to kill a process?
string                                                                  First, use ps to get the process id (PID)
fmlgrep        fmlgrep (1f) - search a file for a pattern               Try using: kill <pid>
grep           grep (1)     - search a file for a pattern               This will give the process a chance to clean up after itself,
nisgrep        nismatch (1) - utilities for searching NIS+              like removing temp files, etc. Some processes will not ac-
tables                                                                  cept or ignore this signal. If the process does not go
                                                                        away, use: kill -9 <pid>This signal cannot be ignored, it
What are .o files? .a files?                                            will definitely kill the process. The process will not have a
When a programmer writes a program, he begins by                        chance to clean up after itself though. Use kill -9 only if
writing the code in a programming language. This                        necessary. Note that you must be the process owner or
'source code' is kept in a text file. When he is ready to               the superuser to kill a process.
build the program, he runs the source code text through
a compiler. This translates the source code into 'object                How about killing defunct processes?
code'. Object code is in a format that is understandable                You can't do it. Defunct processes are already dead, the
by the machine. ('Machine language') Note that object                   system just has not been able to clean up the process be-
code is not portable across platforms. The same source                  cause the parent process is not responding.
code compiled on a Solaris machine will produce a dif-
ferent .o file when compiled on a HP-UX machine. All                    How do I get a process to coredump?
object files (.o, .a, .so) cannot be copied across different            Send it the QUIT signal. This is usually done with Control-
platforms. When all the object code is compiled, the                    \
programmer next collects all the object files, and runs                 It will cause the process to exit and generate a core file.
them through the linker. The linker basically collects all              You can also use: kill -s SIGQUIT <pid>
the object code, along with any other necessary code,
and produces an executable (or 'binary') Object code                    What does '..don't know how to make target XXX'
can also be collected into a library file, or archive. (.a              mean?
file) This file is created by the 'ar' command. It just col-            Applications uses the 'make' command to build exe-
lects all the object code nto one file, and adds a table of             cutable programs. 'Make' uses a 'makefile', which is basi
contents to it. Library files can be linked into an exe-                cally a list of programs to build and instructions on how to
cutable the same way as .o files. Oracle delivers its                   build them. These programs are called 'targets' in the
code (except for the NT platform) as .o or .a files. These              makefile. When you say: 'make XXX', it looks in the
files are run through the linker to produce executables.                makefile for a target called 'XXX', and follows the instruc-
                                                                        tions there to build it. If it cannot find the given target in
What are .so files?                                                     the makefile, it returns this error.
.so files contain object code like .a and .o files. How-                So either:
ever, these libraries are not linked in when the program-               1. A wrong name was passed to the make command
mer creates the executable. Instead, they are loaded in                                                            (Continued on page 10)

                                                         Dallas Oracle User Group
                           DALLAS ORACLE USER GROUP

Dallas Oracle User Group
                                                                                                  DALLAS ORACLE USER GROUP

(Continued from page 6)
SQLJ is an embedded SQL language for Java. Client or server Java code can easily embed SQL for communication with
a relational database. SQLJ is an open standard being developed by Oracle, IBM, and Sun. Client-side Java code with
SQLJ statements are run through a Java pre-compiler to create executable Java programs based on JDBC. Server-side
Java code directly accesses the database via native interfaces. SQLJ provides a powerful and easy to use interface be-
tween relational databases and Java.

Oracle8i also provides support for Enterprise Java Beans and communication via the CORBA communication standard
IIOP. Distributed Java objects can connect directly to Java objects in an Oracle Data Server via native CORBA protocols.

JDeveloper is Oracle’ next generation component-based Java development tool. JDeveloper allows developers to build
complete Oracle and 100 percent Java business solutions. JDeveloper supports any kind of development from a simple
JavaBeans component to an enterprise-wide application development environment.

Oracle8i expands upon the high-end functionality of Release 8.0 and includes new features for managing multi-user data
warehouses, more partitioning options, better interaction with OLAP tools, and a fast and easy mechanism for moving data
between identical Oracle databases.

Managing CPU and disk resources in a multi-user data warehouse or OLTP application is challenging. As more users re-
quire access, contention for resources becomes greater. Oracle8i introduces resource management functionality to pro-
vide greater control of system resources assigned to users. Important on-line users, such as order entry clerks, can be
given a high priority, while other users -- those running batch reports -- receive lower priorities. High priority users are
given more system resources than lower priority users. Users are assigned to resource classes, such as “         data ware-
house” or “        ,
           OLTP” and each resource class is then assigned an appropriate percentage of machine resources.

Partitioning stores large tables and indexes in pieces, instead of as one large monolithic object. Partitions are a “divide
and conquer” technique which provides scalable performance with a large amount of data. Oracle8 Release 8.0 intro-
duced range partitioning which provides better manageability, availability, and performance. Oracle8i introduces two new
partitioning types: hash and composite. Hash partitioning provides an easy-to-use mechanism for evenly striping data
across devices, retaining the benefit of performance. Composite partitioning combines the best of both approaches. Data
is first partitioned by a range of values, then each partition is sub-partitioned into several hash partitions.

Hash partitioning provides a very simple way to break data up into evenly sized containers to be spread across multiple I/O
devices, or even multiple machines in a shared-nothing cluster. Query performance is improved by spreading I/O across
multiple devices. Manageability is simple if the number of partitions doesn’ change, which makes this approach inappro-
priate for rolling change windows of historical data.

Composite partitioning provides the superior manageability and availability benefits of range partitioning with the data dis-
tribution advantages of hash partitioning. You specify ranges of values for the primary partitions of the table or index, then
you specify a number of hash sub-partitions. Data skew is unlikely because you can always add or drop sub-partitions
within a partition to maintain even distribution of each container. You can also easily maintain rolling change windows of
historical data by adding/dropping primary partitions without affecting sub-partitions in other primary partitions.

All partitioning techniques are transparent to applications and standard DML statements run against partitioned tables.
The optimizer is partition-aware, and partitions which could not contain any data for a query are eliminated from the
search, often resulting in a substantial performance increase.

Oracle8i provides a mechanism for storing summaries as tables which can be accessed when a query requests an aggre-
gated value. When a query requests a summary of detail records, the query is transparently re-written to access the
stored aggregates, rather than summing the detail records every time the query is issued, thereby resulting in dramatic
query performance improvements. These summaries are automatically maintained from data in the base table.

                                                                                                            (Continued on page 12)

                                                     Dallas Oracle User Group
                                                                                                        DALLAS ORACLE USER GROUP

(Continued from page 7)                                               libelf.so.1 => /usr/lib/libelf.so.1
2. The make file does not contain the given target.                   libintl.so.1 => /usr/lib/libintl.so.1
This could mean that you need a newer version of the                  libmp.so.1 => /usr/lib/libmp.so.1
makefile                                                              libw.so.1 => /usr/lib/libw.so.1
If the error points to a .o file, as in XXX.o, it could mean
that the .o file is missing. What happens is, make finds              This lists all the libraries adaimgr expects to load, and
the target in the makefile, sees that it depends on the .o            where they are located.
file, and looks for the .o file in the filesystem. When it            Using ldd -s will also show the search path ldd used to
does not find it, it tries to make the .o file by looking for a       find the libraries
target for the .o file. When it does not find this target, it         Using ldd -v will list a more verbose output
returns the error.                                                    See the ldd man pages for more information.
Note that adrelink uses makefiles called $PROD_TOP/lib/               (See frhp10.fr.oracle.com/ports.html for the command to
prod.mk                                                               use on platforms other than Solaris)
Where 'prod' is the short name of the product, like fnd.mk
and inv.mk                                                            How can I capture zwrite messages to a file?
                                                                      Use: zwgc -ttymode >>zw.log
How do I use the modem pool?                                          You can add this line to your .profile
telnet appsmp01
userid is aol                                                         How do I cut/copy from a zwrite message?
no password                                                           Hold down the shift key while selecting the text.
type: c out
type: atdt <phone number>                                             How do I lookup a UNIX signal number?
                                                                      Use: kill -l
How do I telnet outside the firewall?                                 This will list the signals and their numbers
telnet gatekeeper1                                                    Also, look in /usr/include/sys/signal.h
auth <username>@us                                                    All the signals are listed in here as well
enter the response value from your SNK
connect <hostname>                                                    How do I set the setuid/setgid bit?
                                                                      Add a fourth digit to the 'chmod' command
How do I uuencode a file for mailing?                                 For example, to set permissions to 755 you would nor-
Use: uuencode filename filename > filename.uue                        mally use: chmod 755
Use uudecode to decode an encoded file                                To set the setuid bit, add a 4 before the 755, like: chmod
How do I use ldd?                                                     To set the setgid bit, use: chmod 2755
The UNIX command 'ldd' lists dynamic dependencies of                  To set them both, use chmod 6755
executables or shared objects.                                        Or, use the symbolic method like chmod u+s/chmod u-s
Basically, it is used to list what shared libraries an exe-           (to set/unset the setuid bit)
cutable depends on. When an executable is launched, it                chmod g+s/chmod g-s (to set/unset the setgid bit)
expects to load certain shared libraries                              (Remember, the oracle executable must have the setuid
(similar to Windows DLLs) It uses the environment vari-               bit set or no other users
able LD_LIBRARY_PATH to find these shared libraries.                  besides oracle will be able to connect to the database)
LD_LIBRARY_PATH contains a list of directories, each of
which will be searched. (similar to the PATH variable)                How do I get the value of SHMMAX?
ldd <executable name> will display all the shared libraries           Solaris: use 'sysdef | grep SHMMAX'
the executable needs, and where the library was found.                HP-UX: use 'grep SHMMAX /usr/conf/master.d/core-hpux'
Here is an example:
$ ldd adaimgr                                                         I want to eject the cdrom, but it says it is busy. How
libsocket.so.1 => /usr/lib/libsocket.so.1                             do I find who has it locked?
libnsl.so.1 => /usr/lib/libnsl.so.1                                   Use the 'fuser' command
libm.so.1 => /usr/lib/libm.so.1                                       Type: fuser -u /cdrom (or whatever mount point the cdrom
libdl.so.1 => /usr/lib/libdl.so.1                                     is on)
libposix4.so.1 => /usr/lib/libposix4.so.1                             This will give a process ID, followed by a letter
libsunmath.so.1 => /u16/oracle7/product/7.3.3/lib/libsun-             The letter 'c' indicates this process is using the /cdrom
math.so.1                                                             directory as it's current directory
libc.so.1 => /usr/lib/libc.so.1                                       From the process id, you should be able to find the user
libucb.so.1 => /usr/ucblib/libucb.so.1
libresolv.so.2 => /usr/lib/libresolv.so.2                                                                       (Continued on page 11)

                                                       Dallas Oracle User Group
                                                                                                         DALLAS ORACLE USER GROUP

(Continued from page 10)                                               TRACE_DIRECTORY_LISTENER=<path>
                                                                       (to put the trace file in a different directory, default is
I'm trying to uncompress a file that I know is in this                 $ORACLE_HOME/network/trace)
directory, but it keeps telling me the file cannot be
found?                                                                 How do I start/stop the TNS listener?
Make sure the file has an extension of .Z (capital Z)                  To start the listener: lsnrctl start [listener name]
Uncompress will try to add the extension if it does not                To stop the listener: lsnrctl stop [listener name]
have it and you will get something like this:                          The listener default name is LISTENER. If the listener has
$ uncompress 504305t.z                                                 a different name, you must supply the name
504305t.z.Z: No such file or directory                                 To reload the listener.ora file: lsnrctl reload [listener
How do I remove a file that begins with a hyphen?                      To check the status: lsnrctl status [listener name]
(Like -filename)
rm will normally complain about an invalid option if you
say: rm -filename                                                                          REPORTS/PRINTING
Most UNIX commands will bhave this way, treating the
characters after the hyphen                                            How do I run reports from the commandline?
as an option.                                                          ar25run userid=apps/apps@database destype=file
rm has an option to say 'end of options, the next parame-              desname=try.out
ter is a filename'                                                     desformat=$FND_TOP/srw/L
The option is '--' (double hyphen)                                     batch=yes report=<path to report>
So you can use: rm -- -filename
Most UNIX commands have a -- option like this to signify               Substitute the report name you want to run
end of options.                                                        Use the srw file appropriate for the report
                                                                       The output will be in the try.out file
My Escape key does not work in vi? Help!
Go to your NCD boot server machine (orlsun1, 2, 10, or                 How do I run ar25run in debug mode?
11)                                                                    Under $FND_TOP/bin there should be two files: ar25run,
There should be a file called 'xh' in your home directory.             and ar25rund
Add these two lines to the file:                                       Rename ar25run to ar25run.save
/usr/openwin/bin/xmodmap -e 'keycode 9 = grave asci-                   Rename ar25rund to ar25run
itilde' &                                                              Now, whenever a report is run, it will produce a log file
/usr/openwin/bin/xmodmap -e 'keycode 14 = Escape' &                    called ar20run.log
Reboot your NCD.                                                       This file will contain the command line used to run the re-
Now, the ~ key (at the top left of the keyboard) is now the            port, as well as the environment
Escape key.                                                            (Note that this will not actually run the report)
The ~ and ` are on the key between the Shift key and Z.
(Control-[ also works as Escape)                                       How do I relink Reports?
                                                                       cd $ORACLE_HOME/reports25/lib
                                                                       make -f ins_reports25.mk cinstall
                           NETWORKING                                  make -f ins_reports25.mk minstall

How do I start a SQL*Net trace? (on the client)                        How do I install SQL*Report?
In sqlnet.ora, set: TRACE_LEVEL_CLIENT=16                              On the 10.7 CD, there is a directory called rdbms732.
TRACE_FILE_CLIENT=<filename>                                           Under this is a directory called rptpatch.
(to use a different file name, default is sqlnet.trc)                  Copy this directory to your local disk and run the script
TRACE_DIRECTORY_CLIENT=<path>                                          'patchutil.sh'
(to put the trace file in a different directory, default is OR-        On HP-UX, the directory does not exist on the CD. In-
ACLE_HOME\network\trace)                                               stead, there is a file called PATCHES. Copy this file to
                                                                       your disk and execute:
How do I start a SQL*Net trace? (on the listener)                      cpio -icdvu < "PATCHES;1"
Use: lsnrctl trace 16
lsnrctl trace off                                                      What are the different Reports executables?
Or:                                                                    The Applications versions: (These are linked with Applica-
In listener.ora, set: TRACE_LEVEL_LISTENER=16                          tions user exits)
                                                                                                                    (Continued on page 13)
(to use a different file name, default is listener.trc)

                                                        Dallas Oracle User Group
                                                                                                    DALLAS ORACLE USER GROUP

(Continued from page 9)                                              sponse time.
Oracle8i also includes the CUBE and ROLLUP operators
in SQL for OLAP-type analysis. This makes cross-tab                  In Oracle8i, advanced queuing has been improved with a
and Rollup reports easy via simple SQL.                              robust rule-based publish/subscribe model for automatic
                                                                     forwarding of messages to registered clients. Applica-
TRANSPORTABLE TABLESPACES                                            tions can subscribe to a queue using a rule to determine
Moving data from a data warehouse to a data mart or                  what queue messages they are “  interested” in.
from an OLTP system to a staging area for a data ware-
house can be cumbersome and time consuming. Direct                   ORACLE PARALLEL SERVER IMPROVEMENTS
path loading via SQL*Loader or parallel DML makes the                Numerous enhancements in the Oracle Parallel Server
task faster, but the process should be simpler for data              improve performance, scalability, and manageability. Or-
movement between identical databases. Oracle8i pro-                  acle8i brings a new mechanism for inter-instance commu-
vides a mechanism for copying tablespaces (datafiles)                nication with dramatically improves the performance of
between identical systems and allowing the same data to              read operations between instances. If an instance re-
be accessed by both systems. Now data movement can                   quests to read a block, it no longer needs to have the
be as fast as simply transferring the file between ma-               block pinged to disk before the read operation. The block
chines. This greatly improves performance and opera-                 is sent over a high-speed interconnect between instances
tional simplicity of transferring data.                              and the read completes significantly faster. This new
                                                                     mechanism, named the Consistent Read Server, allows
DIRECT PATH LOAD API                                                 applications to be implemented in an Oracle Parallel
Oracle8i provides an API to the direct path load mecha-              Server without modification to utilize the scalability that
nism. This provides a way for ISVs and system manage-                clusters offer.
ment tool partners to create easy-to-use and high-
performance data loading tools. Access to all load func-             Oracle8i also brings significant manageability improve-
tionality is available through the API. Performance of any           ments to the Oracle Parallel Server. New views aid in de-
third-party data loading tool can therefore be comparable            termining where errors occurred. There are new statistics
to SQL*Loader.                                                       about cache coordination between instances that can
                                                                     help tune the environment. Also, configuration wizard
MAINFRAME-CALIBER OLTP                                               aids the setup and maintenance of the Oracle Parallel
Demanding OLTP applications benefit from a number of                 Server.
new features which improve availability, scalability, perfor-
mance, and manageability.                                            EXTENDED BACKUP/RECOVERY SUBSYSTEM
                                                                     Recovery Manager has been enhanced in Oracle8i to pro-
AUTOMATED STANDBY DATABASE                                           vide significant manageability improvements. Recovery
Oracle8i improves upon the standby database features                 Manager now has an integrated media management layer
introduced in Oracle7 Release 7.3. Redo log files are                so that it can direct the media management software to
now automatically shipped and applied to the standby                                                        s
                                                                     perform the copy operation on Oracle’ behalf. Recovery
database. This greatly simplifies the administration of the          Manager also cross checks its catalog with the media
standby system and allows it to be quickly available in the                                   s
                                                                     management software’ catalog and marks deleted back-
event of a failure at the primary site.                              ups as “          .
                                                                              expired” Recovery Manager also allows the ad-
                                                                     ministrator to preview a planned restore/recovery, thus
Optionally, Oracle8i allows you to perform read-only oper-           allowing them to know what will happen before the re-
ations on the standby database. You can halt the applica-            store/recovery starts. For multiple copies of backups, Re-
tion of the redo log files to perform queries and produce            covery Manager now allows you to duplex backup sets to
reports on the standby so as not to consume resources                multiple I/O devices.
on the primary system. Once the reports are complete,
you can then resume the automatic application of redo log            For easy rollout of multiple identical databases, Recovery
files.                                                               Manager allows you to restore duplicate databases. You
                                                                     can restore a database in multiple locations, for example,
ADVANCED QUEUING AND DATABASE EVENT TRIGGERS                         for the purpose of deploying a distributed database.
Advanced queuing adds direct support in the database for
high performance queuing or messaging operations. This               Recovery Manager also improves the performance of
capability adds asynchrony and eliminates the depen-                 MPP systems by being aware of disk affinity on each
dency on external systems for applications requiring high            node. Recovery Manager will attempt to perform local
scalability. The enqueue and dequeue operations may                  read and write operations as opposed to remote opera-
also be used to shift processing from within a transaction           tions.
to a background process, improving the transaction re-
                                                                                                              (Continued on page 15)

                                                      Dallas Oracle User Group
                                                                                                 DALLAS ORACLE USER GROUP

(Continued from page 11)                                           from the command line, the problem may be with the
ar25desb: Reports Designer                                         printer or the OS print services.
ar25run: Reports runtime - ascii
ar25runb: Reports runtime - bitmapped                              How do I add escape codes at the beginning of a
ar25rund: Reports runtime - debug version                          report?
                                                                   Open the report in vi (Note that 'more' does not always
The regular Reports versions:                                      display escape codes)
r25desm: Reports Designer                                          Add an escape character with: Ctrl-V Ctrl-[
r25run: Reports runtime - ascii                                    This will show up as: ^[
r25runm: Reports runtime – bitmapped                               This corresponds to the /e in the form.
                                                                   Eg. if you have the escape code /e&k3G in the form,
How do I troubleshoot print driver problems?                       add: Ctrl-V Ctrl-[ &k3G
One technique is to create a shell script that will cap-           This will show up as: ^[&k3G
ture the print command and                                         Once you add the escape codes, you can use 'lp' to
arguments the concurrent manager is using.                         print the report. This lets you
                                                                   troubleshoot the correct escape code sequence much
1) Create the following shell script and place in a di-            faster than submitting a report.
rectory in the
concurrent managers PATH (such as /usr/bin)                        How do I get a title printed on the banner page of
2) Give execute privileges to the script                           a report?
3) Shut down the managers                                          Use the '-t' option of lp
4) Pick a print driver and add the name of the script              Add this option to the arguments field in your print
before the lp command in the                                       driver.
Arguments field eg. testprt lp -c -                                For example, the command line might look like:
d$PROFILES$.PRINTER ...                                            lp -c -t "This is the title" -d$PROFILE$.PRINTER ...
5) Make sure this driver is assigned to a style and a
6) Start the managers                                                                     ALERTS
7) Print a report using this driver
8) The output should look like:                                    How can I find an event alert trigger?
Mon Jul 6 10:49:34 EDT 1998                                        You need to know the name of the table the event
Arguments are: lp -c -dorlprt1 -n1 -                               alert is on
tPFERGUSO.1457540 /usr/tmp/OFAAAa001O_.t                           Connect as APPS in SQL*Plus
                                                                   SELECT trigger_name, table_name, status
The script is:                                                     FROM user_triggers
#!/bin/sh                                                          WHERE table_name = 'TABLE_NAME';
                                                                   Alert triggers will have names like:
(date; echo 'Arguments are: '$*;cat) >>/tmp/oracle-                ALR_TABLE_NAME_IAR or
wws.log                                                            ALR_TABLE_NAME_UAR
                                                                   the IAR trigger is the INSERT trigger, the UAR trigger
This is for print drivers with std input set to yes                is the UPDATE trigger
For drivers with std input set to no, remove the 'cat'             Selecting TRIGGER_BODY from USER_TRIGGERS
command.                                                           will give the text of the trigger
You will see the actual command executed by the
concurrent manager, and any arguments passed to it.
You should be able to execute this from the command                             CONCURRENT MANAGER
From the example above, we see that lp is being                    Check/set the PMON method?
called to print one copy on printer                                To check the PMON method:
orlprt1, with the title being 'PFERGUSO.1457540' The               1) cd $FND_TOP/sql
last argument is the file to be printed. You can open              2) sqlplus apps/apps @afimchk.sql
up this file and see the escape codes at the top and               This will tell whether the internal manager is running,
bottom.                                                            what the PMON method is, and where the log file is
From this information, you can determine if the con-
current manager is using the correct                               To set the PMON method:
arguments and escape codes. If everything looks OK,
and the problem replicates                                                                               (Continued on page 18)

                                                   Dallas Oracle User Group
                                                                                              DALLAS ORACLE USER GROUP

  not                                                                                     On the
                                                                                        in stone!
                                    Our first priority is our people
We specialize in designing, developing and integrating decision support, e-commerce and business
applications systems. Our projects require varied skill sets, ranging from high level business consult-
ing to database administration.

We have exciting opportunities for experienced technical staff with a strong understanding of business
principles. If you have experience in any of the following areas, please send us a resume in total con-
fidence addressed to resumes@vistyx.com.

 Skill Sets:                                                                                          Benefits:

 Oracle Database Administrator                                                 Highly Competitive Salary
 Oracle Data Warehouse DBA                                                      Employer Paid Insurance
 Oracle Express & Discover                                                   Incentive Stock Option Plan
 Oracle Designer & Developer                                                 Flexible Spending Accounts
 Oracle Web Application Server                                                         Advanced Training
 Oracle Pro*C (UNIX preferred)                                                 Challenging Assignments
 WindowsNT & C/C++                                                      Generous Vacation/Sick Allotment
 UNIX System Administrator

Vistyx Corp., HR Dep. 2351 W. Northwest Hwy., Suite 2215, Dallas, TX 75220, Fax (214) 351-2139, resumes@vistyx.com
                                                   An Equal Opportunity Employer

                                                   Dallas Oracle User Group
                                                                                                      DALLAS ORACLE USER GROUP

(Continued from page 12)                                               tier as a particular user.

Oracle8i introduces the Log Miner feature which allows                 REPLICATION
DBAs to view the contents of the transaction log files, al-                                                             s
                                                                       Oracle8i Enterprise Edition delivers the industry’ most
lowing them to view what SQL DML and DDL operations                    comprehensive replication capabilities. From mass de-
were executed, by whom, and at what time. It also cre-                 ployment applications such as sales force automation to
ates the SQL necessary to ‘back-out’any transaction that               applications requiring data synchronization between
was inadvertently executed by a user.                                  servers supporting, for example, multiple websites or call
                                                                       centers, Oracle’ advanced replication supports them all
OPERATIONAL SIMPLICITY                                                 in one integrated environment.
Oracle8i dramatically improves the installation, configura-
tion, and manageability of Oracle applications. Oracle                 REPLICATION AUTOMATION
Universal Installer and the Database Configuration Assis-              Many of the features in Oracle8i are designed to aid users
tant are a Java based applications used to install, pre-               implementing front office automation applications, espe-
tune, and configure an Oracle8 database environment by                 cially mass deployment applications, such as field service
detecting hardware characteristics and prompting for in-               and sales force automation applications. Snapshot re-
formation, such as the number of concurrent users the                  fresh group templates, additional monitoring capabilities
database will support. The installation and management                 in Oracle Replication Manager, and improved off-line in-
of Oracle Parallel Server has been dramatically improved               stantiation allow you to centrally define and administer
since Oracle Universal Installer is cluster-aware and dis-             hundreds of remote snapshot sites. Snapshot refresh
tributes and installs software on all nodes in the cluster.            group templates allow master-side definition of remote
                                                                       snapshots. The snapshot definitions can contain multiple
EXTENSIBILITY                                                          parameters to give you the greatest flexibility in defining
Oracle8 Release 8.0 had cartridges available for most                  your snapshots.
popular unstructured datatypes, such as images, video,
text, and spatial data. Oracle8i includes a comprehensive              Additionally, these snapshots can be partitioned both hori-
set of APIs for third-party data cartridge developers. This            zontally, as well as vertically, allowing you to deploy the
allows partner-developed data cartridges to have the                   minimum amount of data needed by a remote site. Verti-
same internal access mechanisms as Oracle-developed                    cal partitioning can also protect you from changes at the
data cartridges. New data cartridges have low-level ac-                master site. If you add a column to a master table (or
cess to memory, the optimizer, indexing, and other                     drop a column not in use by a dependent snapshot), the
database internals. Partners can develop highly cus-                   snapshot can continue to perform fast refreshes, without
tomized data cartridges and meet performance goals of                  being affected by the DDL change. Because all of these
demanding multimedia applications.                                     new Oracle8 Advanced Replication features are also sup-
                                                                       ported by Oracle Lite, you can choose to deploy your ap-
SECURITY IMPROVEMENTS                                                  plication on a lightweight, mobile database, without having
Oracle8i introduces fine-grained access control and an                 to sacrifice any functionality.
improved security model for multi-tiered environments.
Fine-grained access control uses a parameter-driven, ex-               PERFORMANCE IMPROVEMENTS
tensible application context to allow applications to control          Oracle8i continues moving more of the replication code
user access based on a user attribute, such as their cus-              into the database kernel, further improving replication per-
tomer number. For example, for a Web application, you                  formance. Just as the triggers used to capture replication
may wish to give access to external customers, but allow-              changes were internalized with Release 8.0, the gener-
ing them to access only their own orders. Using fine-                  ated packages used to apply these replicated transac-
grained access control, this can be easily accomplished                tions at the remote locations have now been internalized.
without the administrative overhead of views by using the              Not only does this significantly improve data propagation
context area to store the customer number and a security               performance and reduce instantiation times, but it im-
policy to determine what rows can be accessed.                         proves manageability as well.

Currently, in multi-tier architectures, the middle tier is typi-       Internal packages are secure from user tampering and do
cally insecure and can perform any action on behalf of                 not require regeneration. Snapshot refresh performance
any user. Middle-tiers, especially Web servers or applica-             has also been improved. While the "push" phase is able
tion servers, may often sit on or outside a firewall, so limit-        to take advantage of the performance improvements pro-
ing their access and auditing their actions is important.              vided by internal packages, the performance of the "pull"
Oracle8i provides the ability to limit what users a middle             phase has been dramatically improved by greatly reduc-
tier can connect as and the ability to audit that the middle-          ing the number of round-trips required. This optimization
                                                                                                                (Continued on page 16)

                                                        Dallas Oracle User Group
                                                                                                   DALLAS ORACLE USER GROUP

(Continued from page 15)                                             from previous versions to Oracle8i Release 8.1.
is especially beneficial to users of large refresh groups.

OBJECT-RELATIONAL DATABASE                                           ORACLE8I RELEASE 8.1 NEW FEATURES
Oracle8 Release 8.0 made a major leap in data manage-
ment technology with the introduction of an object-                  INTERNET COMPUTING
relational paradigm. Oracle8i completes some of the                  • WebDB to build, deploy, and monitor Web applica-
functional areas introduced in Release 8.0, and improves                 tions
upon many of the features. Object types can now be                   • InterMedia
columns of partitioned tables and can be loaded using                • Oracle iFS: Internet File System
SQL*Loader. Parallel queries can now operate on tables
with object type columns or object tables. There are also            JAVA
several performance improvements when using object                   • Java VM in the database
types and LOB columns. Variable-width character sets                 • Java stored procedures, functions and triggers
are supported in CLOB and NCLOB columns. Also, the                   • Seamless interaction between Java, SQL, and PL/
client-side object cache has been improved to allow trac-                SQL
ing and debugging as well as supporting optimistic lock-             • SQLJ: embedded SQL in Java code
ing.                                                                 • Enhanced JDBC driver

OTHER ENHANCEMENTS                                                   DATA WAREHOUSING
Oracle8i also contains improvements in several other ar-             • Summary management
eas. National Language Support (NLS), ANALYZE per-                   • Hash and composite partitioning
formance and functionality, space management, and di-                • Resource management
agnostic tools have also been improved.                              • Transportable tablespaces
                                                                     • Functional index and virtual columns
NLS has been improved to support Unicode UCS2 char-                  • Online index build and rebuild
acter sets in OCI, ODBC, and the pre-compiler products.              • Descending indexes
Functional indexes now allow you to provide a linguistic-            • Automated parallel query degree
sorted index on column data. Also, the Euro currency                 • Join index and DML-aware single table summary
symbol is now supported. NT environments also have                   • Read-only standby database
new character sets supported, and new territories are de-            • Direct path load API
fined in Europe (Belgium, Ireland, Luxembourg, Kazak-                • New bitmap index features
stan, Uzbekistan), Asia Pacific (Australia, New Zealand,             • Sample function
Singapore), and Africa (South Africa).                               • Parallel and fine-grained ANALYZE
                                                                     • Disable validate constraint state
ANALYZE functionality has been improved and extended                 • Copy statistics
to allow you to analyze tables in parallel as well as have           • MERGE partition operation
more granularity and gather subsets of statistics.                   • Top “ query optimization

Space management has been improved to allow you to                   OLTP
define tablespaces to use bitmaps to indicate free blocks,           • Publish and subscribe capabilities
resulting in more efficient storage management.                      • Database event triggers
                                                                     • Autonomous transactions
Oracle8i also contains advanced diagnostic tools to be               • Single table hash cluster
used in conjunction with World Wide Support in analyzing             • Object type columns in partitioned tables
and troubleshooting.                                                 • LOBs in partitioned tables
                                                                     • Partitioned index-organized tables
MIGRATION AND INTEROPERABILITY                                       • Stable optimizer execution plans
A simple and fast migration script allows you upgrade
from Release 8.0.x to Oracle8i Release 8.1. The migra-               ORACLE PARALLEL SERVER
tion utility is enhanced to allow migration from 7.3.4 di-           • Consistent Read Server for scalable inter-instance
rectly to Oracle8i Release 8.1. You can be migrate or up-               queries
grade to Oracle8i Release 8.1 and set the COMPATIBIL-                • Installation Wizards
ITY parameter to a previous release to disallow any new              • Automatic connection load balancing
functionality.                                                       • Job execution forced on specific node

Export and Import are also supported to move data to and                                                    (Continued on page 17)

                                                      Dallas Oracle User Group
                                                                                            DALLAS ORACLE USER GROUP

(Continued from page 16)
OBJECT-RELATIONAL DATABASE                                       EXTENSIBILITY
• Temporary LOBs                                                 • Extensible indexing
• Collection un-nesting                                          • Extensible optimizer
• Enhancement of object views                                    • Data cartridge services
• Enhancements to object cache                                   • Pro*C external procedures
• Enhancing SQL Loader to support loading of objects,            • OCI callback registrations
   collections and LOBs                                          • Secondary indexes on index-organized tables
• LOB performance enhancements                                   • Support for objects in external procedures
• LONG to LOB data migration
• User-defined object identifiers and nested table iden-         OTHER
   tifiers                                                       • Euro currency symbol support
• Analyze detects dangling REFs                                  • Temporary tables
                                                                 • Subprogram execution under invoker’ security con-
SECURITY                                                            text
• Fine-grained access control                                    • More control over remote join operations
• Extensible and parameter-driven application context            • Microsoft Transaction Server integration
   specification                                                 • HTTP protocol adapter for Net8
• LDAP integration
• N-tier authentication/authorization
• SSL and X.509v3 support
• RADIUS adapter

• Multi-user, Java-based Oracle Enterprise Manager
• Java-based Oracle Universal Installer
• Java-based Database Configuration Assistant
• Automatic instance registration with listeners
• Parallel recovery of parallel transactions
• Drop Column
• Progress monitor for long-running operations·
• Recovery Manager performance improvements
• Recovery Manager awareness of disk affinity
• Log Miner to view redo logs
• Automated and queryable standby database
• Bounded recovery time for instance recovery
• Detection and repair of corrupted blocks
• Locally-managed tablespaces
• Multiple archive processes and destinations
• Simplification of tablespace point-in-time recovery

• Snapshot templates for easier mass deployment
• Off-line instantiation
• Column-level subsetting in updatable snapshots
• Internalized apply packages
• Snapshot refresh performance improvements
• Security model enhancements
• Oracle Lite support

• Manipulate multiple data items with one SQL state-
   ment in PL/SQL (bulk binds)
• Parameter passing by reference in PL/SQL
• Embedded dynamic SQL in PL/SQL
• PL/SQL code coverage for tools vendors
• Unlimited PL/SQL package size

                                                  Dallas Oracle User Group
                                                                                                 DALLAS ORACLE USER GROUP

(Continued from page 13)                                           started with.
1) first shut the concurrent managers down                         The other processes showing 'Concurrent_Processor'
2) cd $FND_TOP/sql                                                 are Standard manager processes
3) sqlplus apps/apps @afimpmon.sql LOCK (or                        Notice that the Internal manager process is the parent
RDBMS)                                                             process of the Standard
                                                                   managers. (processes 24936 and 24938)
Enable/disable the Conflict Resolution Manager?
Use the system profile option 'Concurrent: Use ICM'                Other managers will have the name of the executable,
Setting this to No (which is the default) allows the               like ARLIBR or INVLIBR:
CRM to be started                                                  $ ps -ef | grep ARLIBR
Setting it to Yes causes the CRM to be shutdown and                vd11 13683 13660 0 May 11 ?        0:20 ARLIBR
the Internal manager will take over the conflict resolu-           APPS/82A2A4940000000000000
tion duties.                                                       000000000000000000000000000000000000000 AR
If the CRM will not start (it is started automatically by          ART
the ICM), check this profile option.
Clean out the Concurrent Manager tables?                           The Conflict Resolution manager will look like:
First, be sure to shutdown the managers                            $ ps -ef | grep FNDCRM
As the APPLSYS user:                                               n1070161 24941 24927 0 Apr 29 ?          1:17 FND-
                                                                   CRM APPS_APPDEMO/84BFBEB900000
DELETE from fnd_concurrent_processes;                              0000000000000000000000000000000000000000000
UPDATE fnd_concurrent_queues
SET running_processes=0, max_processes=0;                          I hit the Restart button to start the Standard man-
                                                                   ager but it still didn't start?
DELETE from fnd_concurrent_requests                                Telling a manager to restart just sets the status to
WHERE status_code='T';                                             Restart. The ICM will start it
                                                                   the next process monitor session or the next time the
If you do not need the information in                              ICM starts. Use Activate to start a manager immedi-
fnd_concurrent_requests and it is getting very large,              ately. Also, when a manager is deactivated manually,
you can truncate this table as well.                               the ICM will not restart it. You will need to set it to
This also works to shutdown the concurrent managers                Restart, or activate it manually.
after killing the OS processes.
                                                                   Why does the "to start" date of my concurrent re-
Tell concurrent manager processes apart?                           quest default to 24 hours in the past?
Use: pf -ef | grep FNDLIBR                                         (From the Concurrent Processing FAQ)
                                                                   The short story:
This will produce output like:
vd11 13703 13660 0 May 11 ?         0:01                           If you get patch 387798, then this behavior can be
FNDLIBR FND Concurrent_Processor                                   turned on and off using the profile
MANAGE OLOGIN="APPS/                                               "Concurrent:Multiple Time Zones".
n1070161 24936 24927 0 Apr 29 ?       0:05                         The long story:
FNDLIBR FND Concurrent_Processor                                   This behavior is a temporary fix until we can build time
MANAGE OLOGIN="APPS_APPDEMO/                                       zone support into the product in a future release.
94C4B1C10000000000                                                 If the profile "Concurrent:Request Start Time" is set,
n1070161 24938 24927 0 Apr 29 ?       0:06                         then we default the "to start" date of a request to that
FNDLIBR FND Concurrent_Processor                                   value. Otherwise we assume that the user wants the
MANAGE OLOGIN="APPS_APPDEMO/                                       request to start as soon as possible.
94C4B1C10000000000                                                 Problems occur when the user is in a time zone that is
n1070161 24927 24922 0 Apr 29 ?       2:03                         ahead of the time zone in which the concurrent man-
FNDLIBR FND CPMGR FNDCPMBR sysmgr                                  agers are running. Say a user submits her request in
="" sleep=60 pmon=20 diag=N logfile=/u16/app                       a field office in the Eastern time zone at 9:00, so we
                                                                   default the requested start date to 9:00. But now the
The last process, #24927, shows 'FNDLIBR FND CP-                   concurrent managers are at HQ in California, so
MGR'                                                               user's request will run at 9:00
This one is the Internal concurrent manager
Notice that it gives some of the parameters it was                                                       (Continued on page 19)

                                                   Dallas Oracle User Group
                                                                                                   DALLAS ORACLE USER GROUP

(Continued from page 18)                                            pletviewer?
Pacific time, 12:00 Eastern. In order to default re-                1) Configure the virtual directories for the web server
quests to start as soon as possible, we submit them to              This is documented in the 10.7 NCA installation notes
start 24 hours before their request date. This covers               and the Release 11 installation
the worst case time zone difference.                                manual. 10.7 NCA calls for using oa-doc, and R11
                                                                    calls for OA_DOC. Either way, the virtual directory
Can I submit a report set using CONCSUB?                            should point to where the help files have been in-
No, you may not. This is documented in bug 334337.                  stalled.
                                                                    2) Make sure the parameter clientBrowser is NOT
How do I submit a request with CONCSUB that                         commented out in the html file
has a null parameter?                                               You should remove the exclamation mark at the be-
Use '""' as the null parameter.                                     ginning of the tag
(Single quote, double quote, double quote, single                   3) Make sure that the path to Netscape (or whatever
quote)                                                              browser you are using) is included
                                                                    in the PATH environment variable.
How can users submit requests with CONCSUB
without giving them the APPS password?                              One way is to add a line to the batch file that starts
Try this:                                                           the appletviewer that appends to the PATH variable.
                                                                    This way, every time that the batch file is run, the cor-
1. As the applmgr user, create a shell script that runs             rect path will be used.
CONCSUB                                                             4) Make sure the environment variable
Either hardcode the parameters for the report, or pass              HELP_BASE_URL is set on the Forms Server.
them in as parameters to the                                        It should be set to: http://server name:port/oa-doc
script.                                                             In Release 11, it is set with the profile option 'Help
2. Change the permissions on this script to 700. Now                System Base URL'
no one can read this script and get                                 http://server name:port/OA_DOC
the password.
3. Create another script that calls the first script. Pass          How do I get the Forms server to produce a diag-
parameters along if you need to.                                    nostic log file?
4. Change the permissions on this script to 6755. Now               See Using Forms Runtime Diagnostics
any user can execute and read                                       When using this with webforms, you add the
the second script, which calls the first one. Have the              "record=collect" parameter to the serverArgs parame-
users run this script to submit their requests without              ter in your html file.
knowing the password.                                               For example, if your html file contains:
                                                                    <PARAM name="serverArgs" value="module= ...
What is the syntax for controlling the concurrent                   FNDNAM=APPS>
manager using startmgr and concsub in NT?                           You would change it like so:
On NT, the concurrent manager is run as an NT ser-                  <PARAM name="serverArgs" value="module= ...
vice. You start and stop the managers using the Ser-                record=collect FNDNAM=APPS>
vices control panel.
See the Applications Installation manual for NT, Ap-                How do I tell if the Forms Server is running?
pendix A for details.                                               Use: ps -ef |grep f45
See pg. 5-9 of this manual for instructions on creating             The forms server process is called f45srvm
the concurrent manager service.                                     You will also see other processes named f45runw.
                                                                    There should always be at least one of these pro-
                                                                    cesses. Each user that connects will spawn another
                           NCA                                      f45runw process.
Do I need to reinstall the 16.1 server patches when                 $ ps -ef | grep f45
I install NCA?                                                      oracle 68 1 0 May 11 ?            0:00 f45srvm
NO! See the 10.7 NCA install manual. Chapter 2 says                 port=9002 pool=1
that if you previously installed the 16.1 server patches,           oracle 18295 68 0 Jun 12 ?          0:00 f45runw
you can omit all steps in the chapter. The patches                  webfile=7,80
included with 16.1 and the NCA server updates are
exactly the same thing.                                             What is f45runw? What happened to f45webm?

                                                                                                           (Continued on page 20)
How do I get help files to work with the ap-

                                                    Dallas Oracle User Group
                                                                                                   DALLAS ORACLE USER GROUP

(Continued from page 19)                                           appletviewer?
For some reason, the f45webm executable is exe-                    No, the JInitiator file contains <EMBED> and
cuted with the name f45runw. They are the same                     <OBJECT> tags instead of an <APPLET> tag. You
thing, f45webm is the name of the executable on disk,              will get an error using this file with the appletviewer.
and f45runw is the name of the process.

How does my environment need to be set before
starting the Forms Server?                                                                JAVA/JDK
The Forms server needs to be started with a complete
Applications environment,                                          How do I tell what version of the JDK I am using?
similar to starting the concurrent managers. This                  At a command prompt, type: java –version
means having APPL_TOP set, and
sourcing the APPLSYS.env environment file. The                     How do I get a stack dump from the appletviewer?
Forms server will encounter many problems, including               In the DOS window where appletviewer is running, hit
failing to start, if this is not done.                             Control and Break

What is f45ctl for?                                                What is the difference between the JDK and JRE?
f45ctl is used to start/stop the Forms server                      JRE is the Java Runtime Environment
This way, you do not need to start it in the back-                 JDK is the Java Developers Kit
ground, and the process will not terminate when you                They both can run Java programs, the JDK is also a
log out.                                                           full development environment.
f45ctl { start | stop } port=port_num log=log_file                 It contains the Java compiler and other utilities re-
Example: f45ctl start port=9000 log=f45log.txt                     quired to create Java programs, the JRE can only run
port number and log file are optional, it will use 9000            the programs.
as the default port
                                                                   What is this CLASSPATH thing anyway?
Run the Forms server on a different port using the                 CLASSPATH is an environment variable the Java in-
static html file?                                                  terpreter uses to search for class files. It is set to a
In the html file, add the line:                                    colon separated list of directories, similar to the PATH
<PARAM name="serverPort" value="9003">                             variable. It it used both to locate the Java system
after the other PARAM tags, using the port number                  classes, and user-written classes. In Java 1.0, you
you want                                                           always had to set it, or it would not be able to find the
Then start the Forms server on that port                           system classes. In Java 1.1, the interpreter uses
                                                                   classes.zip and the current directory as a default if
Do I need separate ORACLE_HOMES for my                             CLASSPATH is not set. This means that using the
database server and my Forms server if they are                    1.1 JDK on the PC, you do not need to set CLASS-
on the same machine?                                               PATH.
Yes, because Dev2K 1.3.2 is installed in one, and                  It also means that if you do set it, you must include the
Dev2K 1.6 is installed in the other. You can install               defaults, or the system classes will not be found. The
them both in one home, but you will have problems                  JRE uses rt.jar instead of classes.zip, so always in-
when you try to relink.                                            clude this file in CLASSPATH.

What about Release 11?                                             What is the story on those yellow bars on the ap-
In Release 11, Dev2K 1.6.1 is used for both Forms                  pletviewer windows?
and Reports so you can install the database server                 The Java security mechanism normally prevents ap-
and forms server in one home.                                      plets from performing certain actions on the user's
                                                                   machine. These include accessing the local disk,
Can I run more than 1 Forms server on a ma-                        launching programs, and printing. This is a good thing,
chine?                                                             since you would not normally want to download an ap-
Yes, on different ports                                            plet off the Internet and have that applet be able to do
                                                                   these things on your computer. (That would spoil all
What is the correct syntax for running a local copy                the fun for the virus writers) The yellow bars signify
of the jar file?                                                   that this is an 'untrusted' applet, and it will not be al-
archive="file:///c:/java/jdk1.1.5.16/appscore.jar"                 lowed to do these things. (You will not be able to print
(Using the correct path and drive letter for your PC)              from Action->Print, or launch a browser to view Help
                                                                                                           (Continued on page 21)
Can I use the same html file for JInitiator as the

                                                   Dallas Oracle User Group
                                                                                                  DALLAS ORACLE USER GROUP

(Continued from page 20)                                            English
files.) Oracle supplies a digital certificate with Applica-         Hit Run
tions that essentially turns the applet into a 'trusted'            When the program is done, you can view the log and
applet, and the yellow bars are not displayed. This is              output files
the reason for running appscert.bat and importing the
certificate before running Apps.                                    Can I run the applications from the OCSM man-
                                                                    ager PC?
How do I specify where I want the identitydb.obj                    Yes, the OCSM manager has a complete installation
file to be put on the client?                                       of applications.
The identitydb.obj file is created when javakey is first            You do not need to install a client on this PC to run
run. (From appscert.bat)                                            Apps.
This file is used to hold security information for the ap-          (Although you can if you really, really want to)
In the jdk\lib\security directory is a file called                  How do I get Report Review Agent working?
java.security                                                       See Troubleshooting Report Review Agent
Add a line to this file:
identity.database=C:\\directory\\path                               Is there a file that lists patches applied on the
using the path you want the file placed in                          client? (like applptch.txt?)
Note that you must use double backslashes                           Look under %APPLTOP%\install\log. There should be
                                                                    an applptch.txt file as well as log
Where can I find documentation on the ap-                           files from each run of otto.exe.
pletviewer, javakey, etc.?
Go to the Tools Reference Page at Sun's website                     How can I start Applications with the forms win-
                                                                    dow already maximized?
                                                                    Add: window_state=MAXIMIZE to the command line
                           10SC CLIENT                              of your shortcut

How do I switch Oracle Homes on the client?                         Why can't I find the registry entry I'm looking for
Supported way: Use 'Switch Homes' from the 'Oracle                  on the client?
for Windows' group in the Start menu                                Because the 10SC client is 16-bit...there are no reg-
                                                                    istry entries.
Manual way:                                                         Try the .ini files instead.
1) Edit Win.ini, change ORA_CONFIG to the home
you want to switch to
2) Run orainst.exe from this home                                                     CUSTOMIZATION
3) Choose to Restore Icons
4) If necessary, change the PATH variable in au-                    How do I create a custom application?
toexec.bat                                                          Step 1: Create the directory
5) If on Windows 3.1, reboot                                        Create a top directory for your product underneath
Generate a client-side message file (US.msb)                        Make sure applmgr has the correct ownership and
Use 'Start Concurrent Program'                                      permissions.
This can be found under the 'Oracle' program group in               Create subdirectories underneath this directory that
the Start menu                                                      you will need.
(Note that the AOL Development Kit must have been                   (bin, forms, log, out, lib, etc.)
installed)                                                          Add an entry into your APPLSYS.env file to set the
The executable is under ORACLE_HOME\bin, called                     product top
startcp.exe                                                         environment variable:
Select Browse and navigate to the ORA-                              PF_TOP=/u01/appl/pf
CLE_HOME\bin directory                                              export PF_TOP
Choose FNDMDGEN.exe                                                 If you will be creating custom 10SC forms, you will
Enter a valid database connect string including user-               need to create a top directory on the client PCs. Cre-
name, password, and database in the Connect String                  ate a Forms and a Mesg directory underneath it, and
field                                                               add the product top environment variable to oacon-
Enter the language and application short name in the                fig.ora.
Arguments field
For example: US FND to generate AOL messages in                                                          (Continued on page 22)

                                                    Dallas Oracle User Group
                                                                                                 DALLAS ORACLE USER GROUP

(Continued from page 21)                                         Check Standard Submission if you want to be able to
Step 2: Create the Oracle ID                                     submit this program from the
Create a new Oracle ID in the database. Give the new             Standard Report Submission form.
schema any roles and privileges it will need.                    Enter the name of the executable you defined and any
At this time you can run $AD_TOP/admin/sql/                      report information if necessary.
adappss.pls and adappsb.pls                                      Also define any parameters your program needs here
to create the APPS_DDL and APPS_ARRAY_DDL                        and any incompatibilities.
Step 3: Register the Oracle ID                                   Step 3: Add the concurrent program to a Report
Navigate to the Register Oracle ID form. Enter the               Group
custom Oracle ID, password, and logical database.                First you will need to find the name of the Report
Select 'Register' and save the screen.                           Group to use.
Step 4: Register the application                                 Go to Security->Responsibility and query the respon-
Navigate to the Register Applications form. Enter the            sibility you want to run the program with.
long and short application name, abbreviation, and               It should show a Report Group name. Query this
product top environment variable.                                name in Security->Responsibility->Report
Step 5: Add the application to a datagroup                       Add your new program to the list of available pro-
Navigate to the Define Data Group form. Add your ap-             grams. Now when you go to submit
plication to a datagroup, using the APPS schema as               a request with this responsibility, you will be able to
the Oracle ID.                                                   submit your custom program.
Step 6: Register custom tables and packages
Custom tables and indexes are created in the custom              How do I compile a custom C program?
schema, and registered with AOL using the AD_DD                  Spawned programs:
package. See Appendix B of the Installation manual               Step 1: Write the code
for an example of this. The APPS schema must have                Self-explanatory
a synonym for all tables, and be granted privileges on           Step 2: Compile the source
them. Custom packages and procedures must be cre-                You must use the makefile under $FND_TOP/usrxit
ated in the APPS schema.                                         Use: make -f $FND_TOP/usrxit/Makefile program.o
                                                                 We do not support using any other makefile
Now custom concurrent programs, forms, reports, etc.             Step 3: Link the program
can be registered against your new application.                  This part is a little tricky. You need to create a custom
                                                                 makefile for this step. Use $FND_TOP/lib/sample.mk
How do I register a custom concurrent program?                   as a starting point. Copy this file to the lib directory un-
Step 1: Register a concurrent program executable                 der your applications top directory. Rename it <short
Navigate to the Define Executable form (AOL Refer-               name>.mk (ie fnd.mk, gl.mk etc) Modify this file ac-
ence manual pg 9-84)                                             cording to the directions in it. Basically you need to
This determines the type of program being run, ie an             add a target and build commands for your executable.
Oracle Report, a C program, a shell script etc.                  Next, use adrelink to link the executable:
Fill in the executable name, application and execution           adrelink force=y ranlib=y "shortname programname"
method.                                                          Step 4: Register the program as in the above question
For the Execution File, fill in just the filename. The           Immediate programs:
concurrent manager will look in the appropriate direc-           Just don't do it.
tory under the application's top directory.                      How do I run a shell script as a concurrent pro-
For spawned programs, the file must be in the bin di-            gram?
rectory, for Oracle Reports the rdf file must be in the          1: Write the script and call it <name>.prog
srw directory.                                                   Place the script under the bin directory under your ap-
For PLSQL concurrent programs, put the name of the               plications top directory.
stored procedure.                                                For example, call the script CUSTOM.prog and place
Step 2: Define the concurrent program                            it under $CUSTOM_TOP/bin
Navigate to the Define Concurrent Program form                   2: Make a symbolic link from your script to
(AOL Reference manual pg 9-87)                                   $FND_TOP/bin/fndcpesr
This form links a concurrent program to the exe-                 For example, if the script is called CUSTOM.prog use
cutable you just defined, as well as                             this:
defines the programs parameters, incompatibilities,              ln -s $FND_TOP/bin/fndcpesr CUSTOM
and other options.                                               This link should be named the same as your script
Enter the concurrent program name, application, short            without the .prog extension It should be in the same
name and description.                                                                                    (Continued on page 23)

                                                 Dallas Oracle User Group
                                                                                                DALLAS ORACLE USER GROUP

(Continued from page 22)                                          The upgrade process may overwrite any data owned
directory as the script.                                          by one of the Oracle Applications. Move all of your
3: Register a concurrent program as described above,              customizations (menus, responsibilities, report
using an execution method of 'Host'                               groups, etc) to a custom application. After the up-
Use the name of your script without the .prog exten-              grade, you can move them back if you want.
sion as the name of the executable
For the example above, you would use CUSTOM
4: Your script will be passed at least 4 parameters, in                      SELF-SERVICE WEB APPLICATIONS
$1 through $4
These will be: orauser/pwd, userid, username, re-                 How can I assign responsibilities in Release 11
quest_id Any other parameters you define will be                  Web Apps?
passed in $5 and higher. Make sure your script re-                In Release 11, regular applications users and web
turns an exit status.                                             users have been merged. This means that the same
5: If your script returns a failure exit status but the           user name and password is used to log into Apps and
concurrent manager does not report the error (shows               Web apps. Also, OSSWA responsibilities are as-
it as still running normal) apply patch 442824                    signed in the Define Users form, just like regular re-
                                                                  sponsibilities. This also means that
Can I run my custom forms with Forms Designer?                    FND_WEB_USERS is no longer used.
16-bit (SmartClient):
You should be able to run forms with the Forms De-                Where do I find the configuration files for the
signer that comes on the SmartClient CD. The debug-               Webserver?
ger will not work, however. See bug                               Go to $ORAWEB_ADMIN (usually $ORACLE_HOME/
                                                                  ows/admin) Navigate down to the ows directory, then
32-bit (NCA):                                                     into the site name directory There should be a wrb
If the forms are AOL forms (ie created from tem-                  directory here and a http_servername directory here.
plate.fmb) they cannot be run from the Forms De-                  Under the wrb directory will be a config directory and a
signer or Forms Runtime because these executables                 log directory. In config, you will find a file called
do not have the AOL user exits linked in. You will see            wrb.app. This file contains the configuration for the
many FRM-40800 errors trying to run forms this way.               Web Request Broker. It is all the information you enter
Also see bug 414115 that describes a problem with                 on the admin screens. (ie, all the DAD info, cartridge
Forms 4.5 and attaching libraries. The only way to run            info, virtual directories etc..) The log directory of
these forms is through Applications.                              course holds log files. Back up in the
                                                                  http_servername directory, you will find directories for
Why do my PLSQL stored procedure concurrent                       each listener. In each directory there will be config
programs error out with: 'Invalid number of argu-                 and log directories again. In the config directory is a
ments'?                                                           file called sv'listenername'.cfg (substitute the name of
See pg. 9-79 of the AOL Reference manual.                         the listener)
PLSQL concurrent programs must have 2 OUT argu-                   This file holds the configuration for this listener.
ments defined.
RETCODE is used to return the error status
ERRBUF is used to return an error message                                        DATABASE QUESTIONS
Note that you do not need to define these arguments
in the Define Arguments form, only in the procedure               Which version of 'alter package' compiles just the
itself.                                                           header? the body? both?
                                                                  ALTER PACKAGE package_name COMPILE - com-
How come when I close my custom form using the                    piles the header and the body
'X' close box I get an export window popping up?                  ALTER PACKAGE package_name COMPILE PACK-
You need to look at the procedure                                 AGE - compiles just the header
APP_CUSTOM.CLOSE_WINDOW                                           ALTER PACKAGE package_name COMPILE BODY -
This procedure is defined in the TEMPLATE form. It                compiles just the body
contains instructions in the comments on how to mod-
ify this procedure. You must do this for all of the cus-          How do I find the errors when a package will not
tom forms you write or you will have problems closing             compile?
the window.                                                       From SQL*Plus, 'show errors' will usually give you the
                                                                  last error messages.
How do I preserve customizations through an up-
                                                                                                       (Continued on page 24)

                                                  Dallas Oracle User Group
                                                                           DALLAS ORACLE USER GROUP

(Continued from page 23)
SELECT name, text FROM user_errors will give you
the errors.

What is the best way to recompile invalid objects?
This has been debated, but my money is on adadmin.
It uses the AD_PARALLEL_COMPILE_PKG to find
invalid objects, create a dependency tree of them, and
divides the jobs up among multiple workers. Also, the
adcmpusr script does the same thing, if adadmin is
not working, or you really just want to run a script.

How do I get the version of a package or package
The table USER_SOURCE contains the text of all the
packages in the current schema.
Each package header or body will have a version
number in the text, something like:

/* $Header: AFSCWEBS.pls 61.0 98/08/13 09:26:56
porting ship $ */

This shows that this package is version 61.0
You can use:
SELECT text FROM user_source WHERE name =
<package name> AND TEXT LIKE '%$Header%';
This also shows the name of the file (AFSCWEBS.pls)
that contains the CREATE statement for this package.
You can run this script if you need to recreate this

How do I find the name of the script that creates a
particular package header or body?
See the question above.

How do I backup a table?

                                                Dallas Oracle User Group
                                                                          DALLAS ORACLE USER GROUP


This is a publication of:                            notice. The current per issue rates for the following
Dallas Oracle User Group                             sizes are:
Publications Division
6380 LBJ Freeway, Suite 181                                 Business Card (2” x 3.75”)     $ 25.00
Dallas, TX 75240-6411                                       Quarter Page (3.75” x 5”)      $ 35.00
                                                            Half Page (5” x 7.5”)          $ 60.00
Publisher and Editor                                        Full Page (7.5” x 10”)         $100.00
Alicia Hoekstra             972-960-0180 x.228              Front Page (1/2 page)          $100.00
                                                            Back Page (1/2 page)           $100.00
Newsletter Coordinator
Sid Poondla                 972-527-8819             Advertisements must be submitted in IBM
                                                     Compatible MS Word (version 6.0 or 7.0), MS
President                                            Publisher 97, *.jpg, *.gif or *.tif formats, all in
Dana Tate                   214-758-8859             portrait layout, no tables, via email to
                                                     sgrimes@csac.com or on 3½” diskette. Please do
Vice President                                       not exceed the above measurements for each size
Arthur Hemsworth            214-312-2509             and allow at least ¾” at the bottom of a full page ad
                                                     for the newsletter footer. NOTE: If you send your
Applications SIG Co-Chairpersons                     ad in on diskette, your diskette will not be returned.
Russell Gold             972-960-0180 x.223
Jennifer Mazza           972-960-0180 x.227          Please make checks payable to:
                                                     Dallas Oracle User Group
SCOUG Liaison & Membership Coordinator               If advertisement is sent via email, please include a
Diana Boules         972-960-0180 x.206              note with your check indicating who is sending the
                                                     advertisement. You will not receive an invoice.
Newsletter Policies:                                 Payment must be received prior to publication of
Copying of individual articles for reprint in        the newsletter. Please mail advertisements and
other Oracle Users Group publications is             payments to:
permitted, providing two copies of the reprint
are sent to the editor at the above address. All     Sarah Grimes/Alicia Hoekstra        972-960-0180
other copies are expressly forbidden, unless         DOUG Newsletter Publisher
permission in writing is received from the           6380 LBJ Freeway, Suite 181
Editor of this publication.                          Dallas, TX 75240-6411
Advertising is available in this publication.
Advertising rates are subject to change without

     CONTRIBUTIONS WANTED!                                     DOUG HOME PAGE

We need topics, graphics or anything else that       Please check out the Dallas Oracle Users
will add value to the newsletter. In addition, we    Group home page at www.doug.org. If you
need people who are willing to write the             have any comments or suggestions, please
columns. Some possible ideas: Developer,             contact one of the officers on the list.
DBA, Applications (technical, functional,
administrator, etc.), SQL, Oracle Events, book       There is also a new MEMBERS ONLY section
reviews, and training opportunities.                 on     the     website.   Please    email
                                                     mweiss@csac.com if you are unsure of your
Please send your ideas, columns, etc., to Sarah      user id or password.
Grimes (sgrimes@csac.com).

                          Dallas Oracle User Group
                                    ORACLE Boot Camp
                                At Computer Systems Authority, we take training seriously!
                                We understand the importance of high-impact, hands-on training. The
                                Oracle environment is changing rapidly and there is a need for fast-paced
                                programs to get your people “operational” as quickly as possible.

                                Ø   Public Classes Now Available
                                Ø   Fast-Paced, Hands-On, Four-Day Class
                                Ø   Small Classes = Personalized Instruction
                                Ø   Classes taught by “Expert” Oracle Consultants
                                Ø   Includes 300+ page Training Manual

  For class schedules, prices, outlines, etc., about any of our courses, you can access our web site at
  www.csac.com. If you need on-site training information for any of the classes listed, give us a call.

             Call for more information
                972-960-0180 x120
                      sgrimes @csac .com

Dallas Oracle User Group
Larry Settles
200 Crescent Court
Suite 300
Dallas, TX 75201-1885


                                                Dallas Oracle User Group

To top