adpreclone.pl prepares the source system to be cloned by collecting information about the database and creating generic templates of files containing source specific hardcoded values. Its location is $COMMON_TOP/ admin/scripts/contextname/
adcfgclone.pl creates the new context file used to configure the target system.
2. What is Patch?
Patch is a program which fixes the bug. ¬¬
3. Apps11i Post-Installation steps?
1) Shutdown all Oracle Application Processes
2) Apply Inter-Operability Patch(3830807)
3) Apply Discoverer Patch(3170128)
4) Relink all Oracle Appications executables
5) Restart Oracle Application Processes
4. Apps11i Post Cloning steps?
1)Update the profile options
2)Update the printer settings
3)Update workflow configuration settings
4)Verify APPLCSF variable
5)Update session_cookie_ domain in icx_parameter table
5. Types of Patches?
One-off patch: This is the simplest type of patch. It is created to resolve a specific bug.
Minipack patch: This is a collection of one-off patches and enhancements related to a particular module. Alphabetic characters denote the Minipack version for the module; for example, the product code for the Application DBA utilities is AD, and version Minipack I of this product would be called AD.I
Family Pack patch: This is a collection of Minipack patches for a particular family group of application modules. Alphabetic characters denote the Family Pack version; for example, the J version of the Human Resources Suite Product Family would be HR_PF.J
Maintenance Pack patch: This is a collection of Family Packs that serves as a point-level release upgrade; Oracle Applications Release 11.5.10 is an example of a Maintenance Pack.
6. Contents of a Patch?
Readme files
Driver files
Metadata files
Replacement files
7. Modes of Patching?
Test mode (apply=n), With the Test mode, we can see the effects applying the patch will have on your system before applying the patch.
Pre-install mode (preinstall= y), Pre-install mode of Autopatch is used when the version of Oracle Applications AutoPatch works with is different than the version of Oracle Applications in the database. We use this mode during upgrade process.
Non-interactive mode (adpatch defaultsfile= $APPL_TOP/ admin/
8. What are the drivers present in patching?
C driver copies the files and links executables
D driver runs the SQL scripts and programs that updates the database
G driver generates the forms, reports and message files
U driver is a consolidated driver containing all copy, database, and generate actions
9. Options of adpatch?
Novalidate Prevents adpatch from validating all schema connections
Noprereq Prevents adpatch from checking the existence of prerequisite patches
Nocompiledb Prevents adpatch from compiling database objects
Nocompilejsp Prevents adpatch from compiling JSP objects
Noautoconfig Prevents adpatch from running autoconfig after the patch has been completed
Nogenerateportion Prevents adpatch from compiling forms, menus, and plls
Hidepw Prevents passwords from being displayed in log files
Hotpatch Allows adpatch to be run when the instance is not in maintenance mode
10. Minipack naming convention?
11i.
11. Maintenance pack naming convention?
11.5.1, 11.5.2, 11.5.3
12. Family pack naming convention?
11i.
13. Difference between adpatch and Opatch?
adpatch is utility to apply Oracle Application Patches
opatch is utility to apply Database Patches
14. What is the prerequisite to apply Opatch?
Database should be down
15. What do you do if patch fails?
Review log file(s) to determine the cause of the error
Fix the cause of the error
Restart adpatch
Answer 'Yes' when adpatch asks if you want to continue the previous session
Adpatch will skip already completed jobs, and pick up from where it left off.
16. How to apply a pre-requisite patch when adpatch is running?
Shut down the workers using adctrl
Backup FND_INSTALL_ PROCESSES, AD_DEFERRED_ JOBS, restart files(.rf9)
Then, drop the above tables, restart files and apply the pre-requisite patch.
Restore the two tables and restart files from backup & run the adpatch.
17. If you know that the patch has been applied previously but patch is asking you to apply the existing patch as a pre-requisite?
adpatch options=noprereq
18. While applying Apps patch using adpatch, if you want to hide the apps password, how will that be possible ?
Use adpatch flags=hidepw while applying patches in apps to hide apps or system password being displayed on Users Screen.
19. How do you reduce patch timings?
Merging patches via admrgpch
Use various adpatch options like nocompiledb or nocompilejsp
Use defaults file
20. How you put Applications 11i in Maintenance mode ?
Use adadmin to change Maintenance mode in Oracle Apps. With AD.I you need to enable maintenance mode in order to apply apps patch via adpatch utility. If you don't want to put apps in maintenance mode you can use adpatch options=hotpatch feature.
21. How do you know that a patch has been applied?
Navigate to sitemap > patches patchhistory
(or)
Query AD_BUGS or AD_APPLIED_PATCHES
22. How do you find out which drivers have been applied?
Query the ad_patch_drivers;
23. How do you find out what patches have been applied on database?
$ opatch lsinventory
24. How to rollback the opatch?
opatch rollback
25. How to apply the patch?
opatch apply
26. How to go for the help on Opatch?
opatch help
27. Location of Patch History files?
$APPL_TOP/admin/ SID/javaupdates
$APPL_TOP/admin/ SID/adpsv
28. Where do you find adpatch log files ?
Patch log files will be in directory $APPL_TOP/admin/ SID/log
like adpatchXXX.log ( file name you mentioned while patching ), adworkXXX.log for worker log files
29. Location of Adpatch default logfile location?
$APPL_TOP/install/ log
30. Location of APPS password?
$IAS_ORACLE_ HOME/Apache/ modplsql/ cfg/wdbsvr. app
(or)
$8.0.6 ORACLE_HOME/ report60/ server/CGIcmd. dat
31. How do you know whether ur system is autoconfing enabled or not?
Run adcfginfo.sh contextfile= $APPL_TOP/ admin/contextnam e.xml
32. How do you determine whether your system is Rapid Clone enabled?
First, verify that your system is AutoConfig enabled. Then, Verify that the latest Rapid Clone Patch has been applied or not
33. If I have 5 databases, is it possible to point only to 1 bdump?
Keep the same location in 'background_ dump_dest' parameter for 5 databases in pfiles
34. How to retrieve recent files?
ls -ltr
35. How do you know the kernel version?
uname -r
36. Contents of pfile?
db_name
background_dump_ dest
user_dump_dest
core_dump_dest
control_files
undo_management
compatible
db_block_size
db_cache_size
db_domain
global_names
instance_name
max_dump_file_ size
remote_login_ passwordfile
service_names
shared_pool_ size
37. Contents of controlfile?
Database name & Identifier
Timestamp of database creation
Tablespace names
Names & locations of datafiles and redolog files
Current redolog file sequence number
Checkpoint information
Begin & end of undo segments
Redo log archive information
Backup information
38. Why do you set Kernel parameters?
Oracle uses UNIX resources such as shared memory, swap space and semaphores for interprocess communication.
So we modify the Kernel parameters in /proc/sys/kernel. To setup these parameters permanently is use /etc/sysctl. conf file.
If your Kernel parameter settings are insufficient for Oracle, you will experience problems during installation and/or instance startup.
39. What is the purpose of find?
if you are in present directory, how do you find? f ind .-name
if you are not in present directory, how do you find? find -name
40. How to enable a new language?
Through License Manager
41. How do you take backup in LINUX?
By using tar or cp or cpio
42. What is Generic Service Management (GSM)?
GSM is an extension of concurrent processing which provides a powerful framework for managing processes on multiple host machines.
43. How to find out the version of a FORM?
f60gen------ --------- ---for FORM version
44. How do you find out if Form Server is running or not?
ps -ef |grep f60webmx
45. What is the Forms Server executable name?
f60srvm
46. What if the Form Server is slow?
Bounce the server
47. How to confirm if Report Server is Up & Running ?
ps -ef | grep rwmts60
48. What are Materialized views?
Materialized views are schema objects that can be used to summarize and distribute data.
49. What is deadlock?
When two processes waiting to update the rows of a table which are locked by an other process, then deadlock arises.
50. How do you create the user?
Navigate to Security-->user-->define
51. How do you delete an existing user in the applications?
Applications users cannot be deleted since records belonging to users are kept for security and monitoring purposes. The only thing to do is to invalidate the user by
assigning an end date to the effective period for the user.
Navigating path: Security -> User -> Define
52. How do you delete a responsibility from Oracle Applications?
Responsibilities cannot be deleted since those records are kept for security and monitoring purposes. However, responsibilities can be disabled by assigning an end date to the effective period
53. How do you tell what products are installed within Applications?
This information can be accessed within Applications from the Alert Manager Responsibility. Navigation Path: System--> Installations
54. What is Concurrent Manager?
Concurrent Manager is a program or process manager on application db server, that coordinates the concurrent processes generated by user’s concurrent requests.
55. What is Standard manager?
Standard manager is the default manager which accepts all kinds of requests. It has no predefined specialization rules and is active all the time.
56. What is Transaction manager?
A Transaction manager is started on concurrent processing server and periodically reads the pipe (concatenation of Application tier and Database tier) for incoming transactions. It occurs only in 11i RAC configuration.
57. What is ICM?
ICM is the manager which controls other managers. If it finds other managers down , it checks & try to restart them.
58. What is Confict Resolution Manager?
CRM resolves conflicts such as request incompatabilities.
59. What is incompatability with Concurrent request?
When a concurrent request is being processed and another concurrent manager is trying to process same type of request, there is an incompatability with concurrent request and is resolved by Conflict Resolution Manager.
60. How to start/stop the Concurrent Manager?
adcmctl.sh start/stop
(or)
$FND_TOP/bin/ startmgr
61. How do you define a Concurrent Manager?
Navigate to Manager --> Define
62. How do you check the current status of manager processes at OS level?
$FND_TOP/sql/ afcmstat. sql
63. How do you know whether Concurrent Manager is running or not?
ps -ef |grep FNDLIBR
64. Where do you see the requests?
Query the FND_CONCURRENT_ REQUESTS
65. How do you know whether Listener is up or not?
ps -ef |grep FNDFS
66. If Concurrent manager is not getting up, what might be the problem?
Apps Listener is not up
67. How do you determine whether the standard managers are up?
ps -ef |grep FNDLIBR (or)$FND_TOP/ sql/afimchk. sql
68. What happens, if Conflict Resolution Manager is down?
ICM will take over the jobs of CRM
69. If ICM is down, what happens?
All the other managers will keep working. ICM takes care of the queue control requests, which means starting up and shutting down other concurrent managers.
70. What happens if user kills ICM?
Applications will be down
71. What is PMON cycle? This is the number of sleep cycles that the ICM waits between the time it checks for concurrent managers failures, which defaults to 20. You should change the PMON cycle to a number lower than 20 if your concurrent managers are having problems with abnormal terminations.
72. What is Queue Size? The queue size is the number of PMON cycles that the ICM waits between checking= for disabled or new concurrent managers. The default for queue size of one PMON cycle should be used.
73. What is Sleep Time? The sleep time parameter indicates the seconds that the ICM should wait between checking for requests that are waiting to run. The default sleep time is 60, but you can lower this number if you see you have a lot of request waiting (Pending/Normal) . However, reducing this number to a very low value many cause excessive cpu utilization.
74. Location of AutoConfig template files and its use?
AutoConfig uses template files to determine the basic settings that are needed. Its location is prod_top/admin/ template
75. What is Auto Config? How does AutoConfig know which value from the XML file needs to be put in which file?
Auto Config is a configuration tool that supports automated configuration of an Oracle Application file system. All of the information required for configuring an Applications file system is collected into a central repository, called the Applications Context; there is one Applications Context for each application tier, and one for the database tier. When you run AutoConfig, it reads the XML files and creates all the AutoConfig managed configuration files. For each configuration file maintained by AutoConfig, there exists a template file which determines which values to pick from the XML file.
76. How do you change the port values?
Port values can be changed in the context file with the help of ContextEditor and running AutoConfig.
Navigate to Sitemap > Context Editor
77. What is Snapshot?
Snapshot gives a picture of selected Application related files in a given APPL_TOP
78. Location of Snapshot Information? $APPL_TOP/admin/ SID/out/snapdnld .txt
AD_SNAPSHOT, AD_SNAPSHOT_ FILES, AD_SNAPSHOT_ BUGFIXES
79. What is the runaway process in CPU?
The process to which the memory assigned is not released is known as runaway process.
80. What is dbclone?
Creating same structure of existing database.
81. How do you know that you are in DbTier or AppsTier?
Through XML file, If DbTier=yes, you are in DbTier
82. How do you know the database has invalid objects?
Select * from dba_objects where status like 'invalid';
83. How do you compile invalid objects?
By running 'Validate APPS Schema' task in adadmin
(or)
Run utlrp.sql. Its location is $ORACLE_HOME/ rdbms/admin
84. Location of Apache logs?
$IAS_ORACLE_ HOME/Apache/ Apache/log
85. Why do you run catalog.sql, catproc.sql, pupbld.sql?
catalog.sql creates views and synonyms on data dictionary
Its location is $ORACLE_HOME/ rdbms/admin
catproc.sql creates the PL/SQL procedures and packages
Its location is $ORACLE_HOME/ rdbms/admin
pupbld.sql creates the product and user profile tables
Its location is $ORACLE_HOME/ sqlplus/admin
86. How do you drop the user including contents?
Drop user XXX cascade;
87. What is use InterOperability Patch?
We apply this patch for the compatability between OS and Oracle
88. How do you know the database growth?
Query dba_free_space
dba_segments
dba_extents
89. In which mode do you up the database after creating control file?
startup mount
90. What happens when you give ALTER tablespace begin backup?
Datafile headers will be freezed.
Undo information will be written into redo log files.
91. What if the database got crashed after giving ALTER tablespace xxx begin backup?
Startup the database in mount mode and give the command ALTER tablespace xxx end backup
92. When you kill a particular process id, it is again restarted. How to solve it?
Kill the parent process by this command
pkill pid
93. How do you findout the installation is single-node or multi-node?
adconfig.txt- --------- --------- ->$APPL_TOP/admin
(or)
Query FND_NODES
94. How to find Apache (web server) is running or not?
ps -ef | grep httpd
95. If Apache is getting problems, which files do you look for to trouble shoot?
$IAS_ORACLE_ HOME/Apache/ Apache/conf/httpd.conf
$ IAS_ORACLE_HOME/ Apache/Jserv/ etc/jserv.properties
96. Location of HTML Cache in Oracle Applications?
$OA_HTML/_pages
97. Location of PL/SQL Cache in Oracle Applications?
$IAS_ORACLE_ HOME/Apache/ modplsql/ cache
98. How do you restart the Discoverer in Oracle Applications 11i?
addisctl.sh start
(or)
$ORACLE_HOME/ discwb4/util/ startall. sh
99. Location of audit traces?
$ORACLE_HOME/ rdbms/audit
100. What is the use of adutconf.sql?
adutconf.sql reports standard information about the installed configuration of Oracle Applications
101. How do you know the Jinitiator version?
Under $COMMON_TOP/ html/bin/ appsweb_SID_ HOSTNAME. cfg, search for entry like jinit_ver_name
(or)
Under $FND-TOP/resource/ appsweb_SID_ HOSTNAME. cfg, search for entry like jinit_ver_name
102. How to find opatch Version ?
$ORACLE_HOME/ OPatch/opatch version
103. How to find out database version?
select * from v$version;
104. How do you know the OUI version?
$IAS_ORACLE_ HOME/appsoui/ oui/oraparam. ini
(or)
grep -i version oraparam.ini
105. How do you the Apache version?
Type sqlplus after connecting to $IAS_ORACLE_ HOME
106. How do you find out the status and process id of the adworkers? ps –ef |grep adworker
107. How do you connect to RMAN?
rman target system/manager@ SID-----To connect remotely
rman target / ------------ --------- -------To connect globally
108. When you run the convert character set, adadmin creates 3 files in the APPL_TOP/admin/ SID/out. What are they?
admanifest_excp. lst
admanifest.lst
admanifest_lossy. lst
109. Location of Non-OAM context editor wizard?
COMMON_TOP/util/ editcontext- --------- --------- -----Application Tier
RDBMS_ORACLE_ HOME/appsutil/ editcontext- ----Database Tier
110. How to lock/unlock the scott/tiger account?
alter user scott account lock/unlock
111. Diff. between sys and system?
Sys owns data dictionary views
System owns the objects owned by oracle utilities
112. Diff. between sys and sysoper?
Sysoper can take backup of controlfile
Sys can take full backup of database
113. How to create a user through command prompt?
useradd -g groupname -d directory -p password username
114. What is softlink or hardlink?
A softlink is a file that points to another file. Syntax: ln -s filename linkname
A hardlink is a pathname that references an inode Syntax: ln filename linkname
115. How do you maintain multiple databases with single instance?
By sourcing the environment variables
116. What happens when you give commit statement?
Server process records the SCN & commit record in the redo log buffer
LGWR writes the redo log buffer entries & the SCN to redo log files
Oracle notifies the user that the commit is completed
Server process records that the transaction is completed & that the resource lock can be released
117. Multiplexing the controlfile using SPfile
Alter system set control_files= location
Shutdown the database
Create additional controlfiles
Startup the database
118. Multiplexing the controlfile using Pfile
Shutdown the database
Copy the existing controlfiles to a newname and location
Add the new controlfile name to pfile
Startup the database
119. Multiplexing the Redo log files?
If the log file is current, perform logswitch by using ALTER SYSTEM SWITCH LOGFILE
Copy the redolog file to the new location
Use ALTER DATABASE RENAME FILE xxx TO xxx to make the change in control files.
120. What are the storage clauses do you specify?
local, uniform, autoextend, dictionary
121. How to find out the file version?
adident Header
122. How do you mount the directories through NFS?
mount -t nfs hostname:source destination
123. How to recover clone data?
Recover database until cancel
124. What is the utility to upgrade from one version to another version?
dbua
125. Contents of APPL_TOP?
environment files and products
126. What does APPLCSF mean?
$COMMON_TOP/ admin
127. How to change the APPLTMP, APPLPTMP?
utl_file_dir should be edited in pfile
128. How do you know the product versions, patchset levels?
$AD_TOP/sql/ adutconf. lst
(or)
Query PRODUCT_COMPONENT_ VERSION table.
129. Location of JAR files?
$PROD_TOP/java/ jar------ --------- --------- --------- ----APPL_ TOP
$JAVA_TOP/oracle/ apps/
130. Location of US directory?
$APPL_TOP/au/ 11.5.0/reports/ us
131. What happens when you give open resetlogs?
log sequence no. will be reset
132. How do you know that the particular datafile belongs to particular tablespace?
Query v$tablespace, v$datafile
133. If .dbc file is corrupted, what happens? and What should you do?
autoconfig should be run
134. What are AutoPatch Restart files?
Restart files store information about completed processing in the event of a patch or system failure. They allow AutoPatch, AutoUpgrade, and AD Administration to continue processing at the point where they stopped. Its location is $APPL_TOP/admin/
135. How to check whether all the processes are running or not?
ps -ef |grep smon
136. How do you know which user has which privileges?
$DBA_SYS_PRIVS
137. How do you create Applications Context file?
Run $AD_TOP/bin/ adbldxml. sh, after sourcing APPL_TOP & ORACLE_HOME environment files.
Then, the following values will be prompted for
ORACLE_SID used to connect to database
Full path to the Rapid Install Configuration file
Full path to the JDK 1.3.1 installation
138. What is OraInventory?
The OraInventory stores information about all oracle software products installed in all ORACLE_HOMES and other non-oracle products such as the Java Runtime Environment( JRE). The location of the OraInventory is /etc/oraInst. loc which points the location of Global Inventory.
139. What is XML oraInventory?
Starting with OUI 2.x and 11.5.8, the informatio in the inventory is stored in Extensible Markup Language(XML) format. The XML format allows for easier diagnosis of problems and faster loading of data. The inventory is XML if the following file exists $ORACLE_HOME/ inventory/ ContextXML/ comps.xml Unlike the binary OraInventory, the XML inventory is divided into 2 distinct components.
Global Inventory or Central Inventory Local Inventory or Home Inventory
140. What is Global Inventory?
The Global Inventory is the part of the XML inventory that contains the high level list of all Oracle products installed on a machine. The Global Inventory records the physical location of Oracle products installed on the machine, such as ORACLE_HOME( RDBMS and IAS) or JRE. It does not have any information about the detail of patches applied to each ORACLE_HOMEs. The Global Inventory gets updated everytime you install or de-install an ORACLE_HOME.
Note: If you need to delete and ORACLE_HOME, you should always do it through the OUI de-installer in order to keep the Global Inventory synchronized.
141. What is Local Inventory? There is one Local Inventory per ORACLE_HOME. It is physically located inside the ORACLE_HOME at $ORACLE_HOME/ inventory and contains the detail of the patch level for that ORACLE_HOME. The Local Inventory gets updated whenever a patch is applied to the ORACLE_HOME, using OUI.
142. What does OUISetup.pl do? OUISetup.pl is included with the OUI patch, listed as a pre-requisite to Rapid Clone. It should be run as part of the OUI Patch installation and performs the following tasks: Register the OUI program in the Global Inventory
Register the JRE in the Global Inventory
Ensures that the ORACLE_HOME in which the patch is installed is properly registered in the Global Inventory.
143. How do you determine if your system is autoconfig enabled or not?
Run adcfginfo.sh contextfile= context
144. How do you determine if your system is Rapid Clone enabled or not?
First, verify that your system is AutoConfig enabled. Then, verify if latest Rapid Clone Patch has been applied.
145. Can you clone a multinode system to a singlenode system?
You can use Rapid Clone to merge multiple APPL_TOP and COMMON_TOP file systems into a single APPL_TOP and COMMON_TOP file system.
146. How does adcfgclone.pl know the target system values?
adcfgclone.pl will prompt for the values required to create the new context file used to configure the target system.
PROMPTS:
Database SID
Domain name
Prompts specific to the DBTier
Target system database name
RDBMS ORACLE_HOME directory
DATA_TOP path
Prompts specific to the AppsTier
Database server node
Does the target system have more than one applications tier server node(Y/N)?
Is the target system APPL_TOP divided into multiple mount points(Y/N)?
APPL_TOP mountpoint
COMMON_TOP directory
8.0.6 ORACLE_HOME directory
IAS ORACLE HOME directory
Location of JDK1.3.1
Prompts common to DB and AppsTier
Port Pool Number [0-99]
147. What is Port Pool?
The Port Pool provides a way to use a set of predefined server ports. There are 100 port pools.
Port Name Default port numubers
Web Listener Port 8000
Database Port 1521
RPC Port 1626
Reports Port 7000
Metric Server Data Port 9100
JTF Fulfillment Server Port 9300
148. What is .dbc file? and its contents? How do applications know the name of the dbc file?
dbc stands for database connect descriptor file used to connect to database.
Whenever java or any other program like forms want to connect to database, its uses dbc file. The application knows the name of the DBC file by using profile option "Applications Database Id"
Contents of dbc file:
GUEST_USER_PWD
DB_NAME
DB_HOST DB_PORT Location: $FND_TOP/secure
149. How to compile JSP in Oracle Applications?
Run ojspCompile. pl script
Location: $JTF_TOP/admin/ scripts
150. What is Web Listener?
Web Listener is web server listener which is listening for web services (HTTP) request. This listener is started by adapcctl.sh
151. What are the development technologies?
Java, D2K, HTML
152. How do you restart the installation?
rapidwiz -restart
153. Documents to be referred for installation?
Installation guide
Update Release notes
154. How do you set the path of /etc/oraInst. loc when it is not present and you dont have root access?
run ./rapidwiz -inventory_loc= 'location'
155. How to verify whether java is installed or not?
which java
156. How to findout the java version?
java -version
157. How to check whether the packages are available or not?
rpm -qa |grep ar/make/qa
158. Do you have to install JDK on all systems, when you are doing multinode installation?
Yes, mandatory
159. Location of installation log files?
$ORACLE_HOME/ appsutil/ log/contextname- --------- ---> on database
$APPL_TOP/admin/ contextname/ log------ --------- --------- -->on application
160. By using FNDCPASS, whose passwords can be changed?
Oracle------ ---Database tier
System------ --Application tier
User-------- ---Oracle user
161. How do you switch the logfile?
alter system switch logfile
162. How to force the checkpoint?
By setting FAST_START_MTTR_ TARGET parameter
(or)
alter system checkpoint
163. What is the purpose of adcfginfo.sh?
It shows whether the system is autoconfig enabled or not.
Location: $AD_TOP/bin
164. What is the difference between apps schema, applsys schema, applsyspub schema?
Apps schema contains only synonyms for other modules
Applsys schema contains all the fnd tables, administration schema
Applsyspub is the gateway to login to the application
165. Parameters regarding the performance tuning?
audit_trail= true
timed_statistics= true
max_dump_file_ size=10240
166. Why do you use scope=spfile, memory and both?
MEMORY: Set for the current instance only. This is the default behaviour if a PFILE was used at STARTUP
SPFILE: update the SPFILE, the parameter will take effect with next database startup
BOTH: affect the current instance and persist to the SPFILE. This is the default behaviour if an SPFILE was used at STARTUP
167. Steps to apply Patchset?
Patchset includes bugfixes for 9.2.0.4 – 9.2.0.6
1)Unzip the patchset in /stage directory and run the runInstaller
2)Select the 10G OUI and again run the runInstaller
3)Select patchset
4)Startup migrate
5)Run the script catpatch.sql
168. What is Shared Server?
In Shared Server environment, the server process handles the request of several user processes.
169. How to enable Shared Server?
Two parameters should be set in pfile.
shared_server= no. of predefined server processes
dispatchers= protocol of dispatcher and no. of dispatchers
Then, tnsnames.ora should be modified
170. What is Cost based optimization?
Cost based optimization is used to identify the shortest way to execute and retrieve data from an object
171. How do you change the database name?
Change SID in controlfile and parameterfile
In controlfile, set dbname=xxx, reuse=xxx
172. Difference between 8i and 9i?
In Oracle9i, DB_CACHE_SIZE or SHARED_POOL_ SIZE can be resized when the database is up and running. It is not possible with Oracle8i.
Time stamp facility is available in 9i whereas it is not available in 8i
You can drop a column in oracle 9i using alter table command where as this is not available in oracle 8i
In 9i, we call undo segments whereas rollback segments in 8i
173. What is Explain Plan?
Explain Plan parses a query and records the "plan" that Oracle devises to execute it. By examining this plan, you can findout if Oracle is picking the right indexes and joining your tables in the most efficient manner.
@?/rdbms/admin/ utlxplan. sql script will create the PLAN_TABLE
174. What is the use of utlrp.sql?
This script compiles the invalid PL/SQL modules. Its locations is $ORACLE_HOME/ rdbms/admin
175. Which initialization parameters do you set to effect the SGA size?
shared _pool_size
db_block_size
db_cache_size
log_buffer
176. Which parameters in pfile effect the database?
db_name
db_block_size
control_files
177. Tasks of Adadmin?
1. Generating Applications files
2. Maintaining the Applications database objects
3. Maintaing Applications files
178. AD Administration Prompts?
Is this the correct APPL_TOP [Yes]?
Logfile name [adadmin.log]
Email feature [No]
Batch size [1000]
Is this the correct database [Yes]?
Enter the password for 'SYSTEM' ORACLE schema:
Enter the password for APPLSYS schema
179. Ad Administration Preliminary Tasks?
Run the environment file
Verify the ORACLE_HOME is set properly
Verify the TWO_TASK identifies the correct database
Ensure that ORACLE_HOME/ bin and AD_TOP/bin are in path
Shutdown the concurrent managers when relinking
Ensure sufficient temporary disk space
Note: The temporary directories APPLTMP, APPLPTMP, REPORT60_TMP and the OS temporary directories, /tmp, /usr/tmp must each have atlease 50MB of free space
180. When do you run Relink Application Programs task in AdAdmin?
Run the Relink Application Programs after
Installing a new version of the database or a technology stack component
Installing another underlying technology component that Oracle Applications rely on
Applying a patch to the Applications technology stack
Applying a patch to the OS
Including a new or changed third party or custom code into Applications programs
181. What is the pre-requisite before running the 'Convert to Multiple Reporting Currencies' task in Ad Administration?
Always run the 'Validate APPS Schema' task before running the convert to MRC task
182. How do you know database version? Select * from v$sys.version
183. What is Password file?
Password file is created on a server side to store valid users and password. It is used for validating users and their passwords.
184. Purpose of Undo segments? Undo segment is used to save the old value when a process changes data in a database.
185. How many undo tablespaces should be there? We can have any no. of tablespaces but only one should be active.
186. Where does redo log information store?
In memory area
187. Explain the difference between a hot backup and a cold backup?
We take hot backup when database is up and running and it must be in archivelog mode. We take cold backup while database is shutdown and it doesnt need to be in archive log mode.
188. What is admrgpch?
It merges multiple patches into a single, integrated patch.
189. What is adadmin? It performs maitenance tasks on the Oracle Applications file system and database
190. What is adpatch? It applies patches and adds new languages and products.
191. What is adaimgr?
It upgrades to the latest version of Oracle Applications
192. What is adctrl?
It manages parellel workers in Autoupgrade, ADAdministration and AutoPatch
193. What is adrelink?
It relinks Oracle Applications executable programs with the Oracle Server Product Libraries
194. What is adsplice?
It registers off-cycle products
195. How do you determine howmuch virtual memory is being utilized?
Run the vmstat command
196. How to know which process is consuming more CPU resources?
Run the top command
197. How do you determine the blocklevel utilisation?
Run the iostat command
198. What for do you use the 'netstat' command?
Netstat reports on the contents of network data structures
199. How do you increase the datafile size?
By using ALTER DATABASE DATAFILE xxx RESIZE n
200. How do you bring datafile offline?
By using ALTER DATABASE DATAFILE xxx OFFLINE
201. Do we need to close the window after installing Jinitiator?
No need, if Internet Explorer is used
Need to be closed, if Netscape is used
202. Whats is difference between two env files in
APPS
203. What are main configuration files in Web Server (Apache)?
httpd.conf, jserv.conf, wdbsvr.app
204. What are various components in Application/ Middle Tier?
Web Server, Forms Server , Reports Server, Concurrent Manager, Admin Server & Discoverer Server.
205. What is Maintenance Mode?
Maintenance Mode is a new mode of operation introduced with Release 11.5.10, in which the Oracle Applications system is made accessible only for patching activities. This provides optimal performance for AutoPatch sessions, and minimizes downtime needed. Maintenance mode is only needed for AutoPatch sessions.
206. Difference between delete and truncate? If you delete a table, you can rollback but if you truncate a table you cannot rollback
Delete is a DML command whereas Truncate is a DDL command
207. What does OUI do?
OUI(Oracle Universal Installer) is used to install, upgrade or remove software components, and create database
208. Application Scripts?
adfrmctl.sh -------Form Server
adfmsctl.sh- ------Forms Metric Server
adfmcctl.sh- ------Forms Metric Client
adalnctl.sh- -------Listener
adrepctl.sh- -------Report Server
adcmctl.sh-- ------Concurrent Manager
adapcctl.sh- ------Web Server
addisctl.sh- -------Discovere r Server
adtcfctl.sh- -------TCF Socket Server
jtffmctl.sh- --------Fulfillm ent Server
209. Database Scripts?
addlnctl.sh- -------DB Listener Process
addbctl.sh-- -------DB Process
210. Difference between du and df?
du shows the used space for each and every directory and file
df shows the used and available space with mount points
211. In which mode the recovery is done?
mount mode
212. How do you increase the tablespace size?
By adding datafile to the tablespace or by resizing the datafile
ALTER TABLESPACE xxx ADD DATAFILE xxx RESIZE n
ALTER DATABASE DATAFILE xxx RESIZE n
213. Where does undo memory information store?
Redo log buffer cache
214. What happens when you use alter system archive log start?
To enable the automatic archiving
215. What happens when you use alter database archive log?
To keep the database in archivelog mode
216. How do you maintain security?
By creating users and assigning them roles and profiles
217. Why do you use Resetlogs, Set, Reuse?
If you reset the logs, log sequence number will be set 0
Set is for new SID
Reuse is for reusing the existing controlfiles
218. How to check the free space and used space in OS level?
df -h, du -h
219. How to check the top directories used space in OS level?
du -h --max-depth= 1
220. Which parameters effect the undo?
undo_management
undo_retention
undo_suppress_ errors
undo_tablespace
221. What is the purpose of cmclean.sql? and its location?
It will purge the concurrent manager logs and tables
222. What is JInitiator?
JInitiator provides the JVM on which Forms client Applet will run.
223. What for do we use shared, exclusive, none in password file?
shared is to allow the remote users
exclusive is only for particular database
If none is set, remote login is not allowed
224. What is datagroup?
Datagroup is the pairing of Oracle user and Application user.
225. What happens when the environment is sourced?
All the product top directories and necessary executables such as adadmin, adpatch are set into path.
226. Contents of COMMON_TOP?
admin/scripts, java, html, rgf, temp/txkValidateRol lup.html, util/jinitiator
227. Contents of ORA directory?
IAS_ORACLE_HOME and 806 ORACLE_HOME
228. What is checkpoint?
Checkpoint signals the DBWR to write the dirty buffers to datafiles
Updates the datafile headers and controlfiles with checkpoint information
229. What is there in httpd.conf?
This is a server configuration file which typically contains directives that affect how the server runs, such as user and group IDs it should use, and location of other files. Because the server configuration file is the main file that the server starts with, Oracle HTTP Server does not include any directive that says where to locate it. The location is passed on command line when the server starts.
230. What is RRA/FNDFS ? Report Review Agent(RRA) also referred by executable FNDFS is default text viewer in Oracle Apps 11i for viewing output files & log files
231. Where to check log files after autoconfig is executed ?
On database tier its under $ORACLE_HOME/ appsutil/ log/contextname/ mmddhhmm/ adconfig. log On Application tier its under $APPL_TOP/admincont extname/log/ mmddhhmm/ adconfig. log
232. What is location of Contexts file in 11i ? Database Context file is under Database $ORACLE_HOME/ appsutil Application Context file is under $APPL_TOP/admin
233. What is a responsibility? Responsibility is a collection of menus, request security groups and data groups. Menu is a collection of forms Request security group is a collection of programs Data group is a group of modules to be made accessible by the user through Responsibility
System admin-->security-->define Security-->user-->define
234. How do you troubleshoot self-service login problems? Which profile options and files do you check?
Check guest user/password in DBC file, profile option guest user/password. Check whether apache/jserv is up Run FND_WEB.PING, aoljtest etc
235. What could be wrong if you are unable to view concurrent manager log and output files?
Most likely listener is down. Look at the FND_CONCURRENT_ REQUESTS, FND_NODES table and FNDFS_entry in tnsname.ora
236. How do you change the apps password? Use FNDCPASS to change APPS password and modify manually wdbsvr.app/cgiCMD. dat
237. How do I check if Multi-org is installed? Select multi_org_flag from fnd_product_ groups;
238. How do I check the currently installed release of applications? Select realease_name from fnd_product_ groups;
239. How to find the name of a form? Navigate Help-->About Oracle Applications
240. How do you cancel a running concurrent request?
Navigate Concurrent Request Summary form, select a request. In character, do a Quickpick on the Status column. You can select Cancel or Hold
241. Why does Help-->Tools-->Examine ask for a password?
This profile option controls whether users can use the Examine utility
The password should be the APPS password
242. What are .lgi files?
It contains informational messages, such as files that were not applied
Its location is $APPL_TOP/admin/ SID/log
243. What is location of .cfg? and its purpose?
This file is defined by environment variable FORMS60_WEB_ CONFIG_FILE. This is usually in directory $OA_HTML/bin on forms tier. This file is used by any forms client session. When a user tries to access forms , f60webmx picks up this file and based on this configuration file creates a forms session to user/client.
244. Where would i find .rf9 file, and what exactly it does?
These files are used during restart of patch in case of patch failure.
Location is $APPL_TOP/admin/ SID
245. Whats US directory in $AD_TOP or under various product TOP's ?
US directory is default language directory in Oracle Applications. If you have multiple languages installed in your Applications then you will see other languages directories besides US, that directory will contain reports, fmx and other code in that respective directory like FR for France, AR for arabic, simplifies chinese or spanish.
246. How to find Version of Apache used with oracle apps 11i ?
Go to location $IAS_ORACLE_ HOME/Apache/ Apache/bin and run this command ./httpd -version
247. How do you work with multiple oracle homes?
Whatever oracle home you want to work, Source that environment file
248. What is concurrent request?
When a user runs a report, a request will be generated. The command to run that report is called Concurrent request
249. How do you rebuild the oraInventory?
1) If inventory_loc is not there in oraInst.loc, create it manually
2) Rename the corrupted globale inventory with a different name
3) Apply OUI patch(5035661)
4) Run the OUISetup.pl script on both IAS_ORACLE_HOME & RDBMS_ORACLE_ HOME
5) Change the permissions of new OraInventory
6) Run the runInstaller. sh command on $ORACLE_HOME/ appsoui/oui/ install
250. What are .fmb and .fmx files?
When you execute .fmb files, these files will be converted into .fmx
251. What is the use of restore.sh?
When you run restore.sh, it will come to previous stage like how it was.
Location: $ORACLE_HOME/ appsutil/ out/contextname/ MMDDhhmm/
252. What is Pasta?
Pasta is the utility to install the printers.
253. How do you kill group processes?
By using awk command
254. What is yellow bar? How to solve?
Whenever the clients are accessing the forms, due to the security problems, we get yellow bar warning.
To solve this problem, copy identitydb.obj from production to test system and run Jinitiator.
255. What is the use of SYSAUX tablespace?
SYSAUX tablespace contains statistical data.(It reduces the burden of system)
256. What is PCTFREE & PCTUSED? PCTFREE: The percentage of space reserved for future update of existing data. PCTUSED: The percentage of minimum space used for insertion of new row data. This value determines when the block gets back into Free List table.
257. What does data block header contain? The header contains general information about the data; i.e. block address and type of segments (table, index, etc.). The header also contains information about the table and the actual row (address) that holds the data.
258. What is Row Migration? Oracle will try to shift the entire row from the current block to another block having 25 (10+15) units of free space.
259. What is Row Chaining? When a row is so large that it cannot fit into one free block, Oracle will span the data into a number of blocks so that it can hold all of the data. The existence of such data results in "Row Chaining". Row Chaining is the storage of data in a chain of blocks.
260. What is listener.ora & tnsnames.ora? listener.ora: To connect to database, clients first contact a listener process that typically resides on database server. It consists of listener, port, SID name, hostname. The listener logs will be $ORACLE_HOME/ network/log tnsnames.ora: It is located at the client side and it stores net service names. It contains description, host, port, protocol, servicename, address. The location of these two configuration files is $ORACLE_HOME/ network/admin
261. Types of checkpoints? Full checkpoint, Incremental checkpoint, Partial checkpoint
262. Why do we get snapshot too old error? If undo tablespace is having insufficient space, we get this error.
263. What is profile? Profile controls the behaviour of applications
264. What is the use of 3 Oracle Homes? There are three $ORACLE_HOME in Oracle Apps, Two for Application Tier (Middle Tier) and One in Database tier. 8.0.6 ORACLE_HOME: On Application Tier used to store 8.0.6 techstack software. This is used by forms, reports & discoverer. ORACLE_HOME should point to this ORACLE_HOME which applying Apps Patch.
IAS_ORACLE_HOME: On Application Tier used by iAS (Web Server) techstack software. This is used by Web Listener & contains Apache.
RDBMS ORACLE_HOME: On Database Tier used by Database Software usually 8i,9i or 10g database.
265. What is RDA?
RDA is a set of command line diagnostic scripts that are executed by an engine written in the Perl programming language. RDA is used to gather detailed information about an Oracle environment; the data gathered is in turn used to aid in problem diagnosis. The output is also useful for seeing the overall system configuration. Oracle Support encourages the use of RDA because it provides a comprehensive picture of the customer's environment. This can greatly reduce service request resolution time by minimizing the number of requests from Oracle Customer Support for more information. RDA is designed to be as unobtrusive as possible; it does not modify systems in any way, it only collects useful data for Oracle Customer Support.
266. How to manually change the APPLSYS, APPS and APPLSYSPUB passwords for Applications?
• All users should be log out of application.
• Shutdown the concurrent managers
• Login as Sys Admin
• Navigate to SecurityOracleRegister
• At the same time, login as the SYSTEM user
• In the applications session, enter the new password for APPLSYS
• Save the changes
• ALTER USER
• In the same applications session, change the APPS and APPLSYSPUB password
• Save the change
• ALTER USER APPLSYS IDENTIFIED BY XXX; ALTER USER APPS IDENTIFIED BY XXX; ALTER USER APPLSYS IDENTIFIED BY XXX;
• Open a new session in applications, without closing the previous session, and login
• Restart the concurrent managers
267. In a Multi Node Installation, how will you find which node is running what Services?
Query the table FND_NODES and check for the columns
SUPPORT_CP for Concurrent Manager SUPPORT_FORMS for Forms server SUPPORT_WEB for Web Server
SUPPORT_ADMIN for Admin Server
SUPPORT_DB for database tier
268. Can FNDLIBR be restored if it is deleted?
Yes, you can restore FNDLIBR executables
run adadmin on concurrent manager node
select option 2. Maintain Applications Files menu
then select 1. Relink Applications programs
when prompts for
Enter list of products to link ('all' for all products) [all]
select FND
when prompt for
Generate specific executables for each selected product [No] ? YES
select YES
& from list of executables select FNDLIBR
This will create new FNDLIBR executables.
269. What are .odf file in apps patch?
odf stands for Object Description Files used to create tables & other database objects
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 What is the adutilities ?
2 When applying the patch if you get an error worker1 is failed then what utility is used to
examine the adutility ? and where the log files whill be stored ?
3 What is adrelink ?
4 If a library file libar.a contains raacet.o and oracle supports asks u to remove the raacet.o
file then how do you remove it from libar.a ?
5 How does autopatch works ??
6 What is adodfcmp?
7 What is ADUNLOAD ?
8 What is the use if FNDXLOAD ?
9 when applying the patch if you get an error FND_INSTALL_ PROCESSES table alredy
exists ? Then what do you do?
10 How do you clone the oracle applications ? What does adclone do ?
11 How do you find out patch set level of applications ?
12 patch history database ??
13 what os commnad is used to find the version of a file ? and what is the oracle applications utility?
14 What you do if your temp table space getting full frequently ?
15 When do you rebuild Indexes ??
16 How do you change the apps password ??
17 How do you restrict the SQL access based on IP address ??
18 What does the gather schema does ? how frequently you run this program ??
19 If you try to run netca/netmgr on unix and you get an error unable to configure
netca,netmgr even though the files present in $OH/bin What could be the problem ?
20 What do you do you do if records struck in the interface tables ????
21 Oracle Applications has APPLSYSD,APPLSYSX ARE NOT LOCALLY MANAGED
TABLESPACE, HOW DO YOU REORGANIZE THESE TABLESPACE ?
22 CAN I CONVERT SYSTM TABLESPACE FROM DICTIONARY TO LOCALLY
MANAGED TABLESPACE IN 8I ???
23 How to convert dictionary managable tablespact to locally managable tablespace ?
24 Why is the table extending with the next extent that is specified even though it is a locally
managed tablespace.
25 How to Resize a Datafile ??
26 How to 'DROP' a Datafile from a Tablespace??
27 How do you Determining the Source of Invalid Objects ???
28 What is core fiel ? how do you examine the core file ??
29 What command is used to find size of a process ???
30 How do you find out what shared memorysegments are assigedn to different os users ??
31 Some cases if you down the database even though shared memory is not released what
command is used to clear the shared memory ??
32 How big i create the data file size ??
33 when do i go for multiple dbwr processes ???what parameters are considered ???
34 When you run a report you got snapshot tool old error? what do you do ???
35 How do i see what is there in redolog files ??
36 How do you get the free space, used space for a tablesapce ??
37 What is the difference between row migration and row chaining??
38 How to Turn Archiving ON and OFF ???
39 CAN ARCHIVING BE TURNED OFF/ON WITHOUT BOUNCING THE DATABASE?
40 ALTER SYSTEM ARCHIVE LOG STOP DOES NOT TURN OFF ARCHIVELOG MODE
Then what do you do ??
41 How do you estimate the amount of redo per day??
42 What you do if you get an error CANNOT ALLOCATE LOG, ARCHIVAL REQUIRED
43 what is responsibility ??
44 what is the use of responsibility key defining the responsibility ??
45 what is a adata group ?
46 what is Request Security group ?
47 what is menu in oracle applications ??
48 What is the profile option is used to set the window help ??
49 Unable to login to personal home page after upgrade the database from 9.0.1.3 to 9.2.0.2 ??
50 Cannot view Workflow Monitor Diagrams ??
51 Unable to see online help ??
52 while applying the patch if you get an error on database tire ??
53 How to remove yello worning bar??
54 How to communicate clients to the applications ?
55 How to release the space below high water mark ?
56 What should be the size of redolog members ?
57 How do i set optimal parameter for rollback segments ?
58 Unable to allocate log sequence number ?
59 How to find the paging space in AIX system ??
60 how to find out the physical memory on AIX ??
61 How to find out what divesies are defined to the system ??
62 How to find the number of processor in a system ??
63 How to estimate of the percentage of cpu and memory utilized by each process currently
running ??
64 how to determining how much paging activity is taking place on the system. Also gives
useful cpu usage info.
65 How to determining disk utilization for each hard drive?
66 How do I find out the operating system version?
67 How do I found out the process memory space usage?
68 How to find which instance owns which shared memory and semaphores On a Unix machine
give the following commands
69 How do you generate Apps Forms menu modules or MMB files?
70 How do you generate Apps Forms modules or FMB files?
71 How do you generate Apps Forms library modules or PLL files?
72 When do you have to regenerate your Apps Forms modules?
73 What is compile_all= special?
74 How do you get the latest package release?
75 How can you affect the look and feel of your Apps forms?
76 How do you disable direct Forms access through the http://host: port/dev60cgi/ f60cgi URL?
77 How is Forms load balancing accomplished?
78 How is Forms load balancing accomplished with Forms listener servlet?
79 How to set up Forms to work through a firewall?
80 Note down some important profile options in sysadmin point of view ???
81 What is f60webmx?
82 How can you recreate the f60webmx executable?
83 How do you enable Forms Runtime Diagnostics (FRD) in Apps?
84 Are there any changes to the Forms product components when in Forms listener servlet?
85 How do you change the background color of a required item in Apps?
86 How can you affect the look and feel of your Apps forms?
87 How to create a custom event alert to fire against a custom table ??
88 How to integrate custom applications with oracle applications? ??
89 What are the actual executables called?
90 What are some of the related Forms/Apps files?
91 List most usefull profile options for concurrent managers ??
92 How to find the files which contain the string MTL_SYSTEM_ITEMS_ KFV ?
93 Why do I have invalid objects? What causes them?
94 Why does Oracle Support always tell me to recompile my invalid objects?
95 Are invalid objects ever acceptable? How many is too many?
96 Are invalid objects ever acceptable? How many is too many?
97 If we do not use the application with the invalid objects, can we delete them?
98 Which OBJECTS table is best to use for queries? ALL, USER or DBA?
99 How can I recompile all my invalid objects using ADCOMPSC.pls?
100 What Oracle Applications DBA has useful collection of SQL scripts.
101 How to cancel the request which is submited by other user??
102 How to bounce the http server for maximo ???
103 Finding the maximum number of processes defined per user
104 How to determine os file system block size in AIX??
105 Is it posible to create a Database link without alias in tnsnames.ora ?
106 How to determine size of a oracle process on Unix ?
107 How do you create a database link with out changing tnsnames.ora file ??
108 Grant privs to access v$ views ?
109 What command is used to find the zombi processes /dead process in unix?
110 How to kill all the processes under perticulat file system ?
111 How to find what are the products installed in your database ?
112 Create a directory with the user privaliges from root
113 Exporting a database from 9i and Importing on 8.1.7 database
114 How to find the file size greater than 2Gb ?
115 How to determine the size of a Table ?
116 How do I restrict or allow a few client machines to connect to Server ?
117 Export file Greater than 2GB is not a problem in 8I ?
118 How to eliminate migrated or chained rows ?
119 Performance Measurement of PLSQL code by DBMS_PROFILER
120 When to rebuid an index ?
121 Explain the analytical functions with examples
̢ۢ ROLLUP AND CUBE AGGREGATE FUNCTIONS
̢ۢ RANKED FUNCTION
̢ۢ CASE
̢ۢ LAG AND LEAD FUNCTION
̢ۢ RATIO_TO_REPORT
122 What is High Water Mark ?
123. what is the utility used to licence a product ? Is it possible to delicence a product which is
fully licenced ?
124 How to find the version of iAS ?
125 How to generate a report on Unix ?
126 How to generate a report on NT ?
127 Running SQL*Trace on an Applications Report ?
128 How to find ojsp version ?
1 What is the adutilities ?
A: AD Utilities are a group of tools designed to install, upgrade, maintain, and patch a specific set of products contained in a given release of Oracle Applications.
2 When applying the patch if you get an error worker1 is failed then what utility is used to
examine the adutility ? and where the log files whill be stored ?
A: adctrl, $APPL_TOP/admin/
3 What is adrelink ?
AD Relink (or adrelink) allows you to relink Oracle Applications executable programs with the Oracle Server product libraries. You can run the adrelink utility manually to relink individual executable programs, or use the relink option in the AD Administration utility to relink all executable programs.
adrelink force=y ranlib=y "ar RAXTRX"
$adrelink force=y ranlib=y "fnd all"
3 If a library file libar.a contains raacet.o and oracle supports asks u to remove the raacet.o
file then how do you remove it from libar.a ?
ar -d libar.a raacet.o
5 How does autopatch works ??
The following steps summarize the way autopatch works:
1. You log in as applmgr and run your applications environment file.
2. Unload the new software into a patch directory and start the autopatch utility under a Bourne or Korn shell.
3. After you answer some questions, Autopatch identifies the Oracle Applications products that need to be updated.
4. Autopatch extracts the appropriate files from each product's C library. (adlibout,adlibout. log)
5. Autopatch compares the extracted object modules (C libraries) with their corresponding files in the patch directory. It also makes this type of comparison with files such as forms, reports, and SQL scripts. (admvcode, admvcode.log)
6. If a file in the patch directory is a more recent version than the product's current file, autopatch backs up the product's current file by appending "O" to it's filename. (Every file in $APPL_TOP has version information inside it)
7. Autopatch then replaces each product_s outdated files with newer files from the patch directory.
8. Autopatch loads the new object modules into the C libraries. (adlibin, adlibin.log)
9. Autopatch backs up any files you listed in adlinkbk.txt. (this occurs in Rel 11.X only)
10. Autopatch relinks the Oracle Applications products with the Oracle Database. (adrelink, aderlink.log)
11. Autopatch runs sql scripts and exec commands, which change Oracle Applications database objects. By default, autopatch does this in parallel.
12. Autopatch copies any specified PL/SQL, Java, HTML, or media files to their respective destinations.
13. Autopatch generates Oracle Forms files.
14. Autopatch generates Oracle Reports files.
15. Autopatch appends a record of how it changed your system to applptch.txt in
the $APPLT_TOP directory.
6 What is adodfcmp?
adodfcmp is an object comparisan utility.
$adodfcmp
7 What is ADUNLOAD ?
This utility is used to unload Oracle Applications product files from CD-ROM. The unload utility is provided in case you need to unload a small number of files after you have installed or upgraded your system
$adunload product=gl
$adunload product=gl directory=forms/ US filename=GLSTUOM. fmb
8 What is the use if FNDXLOAD ?
FNDXLOAD is a concurrent program that can move Oracle Applications seed data between
database and text file representations. The loader reads a configuration file to determine
what data to access. For information on specific configuration files consult the Open Interfaces Guide for your product group. The following sections describe the operation of the Generic Data Loader.
FNDXLOAD
UPLOAD | DOWNLOAD
where
AME=VALUE. Parameters vary for each
onfiguration file. Review the documentation for
our configuration file for a list of parameters that
an be set.
9 when applying the patch if you get an error FND_INSTALL_ PROCESSES table alredy
exists ? Then what do you do?
If previous patch is not applied successfully then this table will not drop, You have to login to sql as applsys/apps then drop this table and reapply the patch.
10 How do you clone the oracle applications ? What does adclone do ?
adclone
autoconfg
manual cloning(not supported)
11 How do you find out patch set level of applications ?
patches.sh, adutconf.sql
12 patch history database ??
applptch.txt or ad_applied_patches( table)
13 what os commnad is used to find the version of a file ? and what is the oracle applications utility?
strings -s
14 What you do if your temp table space getting full frequently ?
Create new temp tablespace,
assign all users temp tablespace newone.
drop old temp tablespad >
or
increase the temp tablespace size
1) Create the new temporary tablespace temp_local;
Ex: create temporary tablespace temp_local
tempfile '/testdata/testdata /temp_local. dbf' size 1500M
extent management local uniform size 150K
2) Change the users temporary tablespace to new one.
select 'alter user ' || username|| ' temporary tablespace temp_local;'
from dba_users
where temporary_tablespac e='TEMP'
run the spool file created above
3) You cannot drop the temp tablespace directoly check the default temporary tablespace
for this instance
select * from database_properties
where property_name = 'DEFAULT_TEMP_ TABLESPACE' ;
the above query will show the old temp tablespace as default temporary tablespac.
4) Assign the default temporary tablespace to new one
alter database default temporary tablespace temp_local;
5) Drop the old temporary tablespace
drop tablespace temp including contents;
drop tablespace TEMP2 including contents and datafiles;
15 When do you rebuild Indexes ??
Please review articles 77574.1 and 108573.1
16 How do you change the apps password ??
FNDCPASS
Usage: FNDCPASS logon 0 Y system/password mode username new_password
where logon is username/password[ @connect]
system/password is password of the system account of that database
mode is SYSTEM/USER/ ORACLE
username is the username where you want to change its password
new_password is the new password in unencrypted format
example FNDCPASS apps/apps 0 Y system/manager SYSTEM APPLSYS WELCOME
FNDCPASS apps/apps 0 Y system/manager ORACLE GL GL1
FNDCPASS apps/apps 0 Y system/manager USER VISION WELCOME
Some you may need to change the password even after using the above utility the file name is
as wdbsvr.app
17 How do you restrict the SQL access based on IP address ??
SQLNET.ora
tcp.validnode_ checking= yes
tcp.invited_ nodes=(10. 190.0.21, 10.190.0. 25)
#tcp.exclude_ nodes
18 What does the gather schema does ? how frequently you run this program ??
Collect the statistics for the schemas/specified schema which will increase the performance
19 If you try to run netca/netmgr on unix and you get an error unable to configure
netca,netmgr even though the files present in $OH/bin What could be the problem ?
A: note set $ORACLE_HOME/ lib33 for LD_LIBRARY_PATH
20 What do you do you do if records struck in the interface tables ????
A: Fine out the error in enterface table, rectifie the error by updateing the records in interface tablles. Re submit the import.
21 Oracle Applications has APPLSYSD,APPLSYSX ARE NOT LOCALLY MANAGED
TABLESPACE, HOW DO YOU REORGANIZE THESE TABLESPACE ?
EXPORT /IMPORT
22 CAN I CONVERT SYSTM TABLESPACE FROM DICTIONARY TO LOCALLY
MANAGED TABLESPACE IN 8I ???
NO, BUT POSIBLE IN 9i(2)
23 How to convert dictionary managable tablespact to locally managable tablespace ?
You migrate a locally managed tablespace and get the following error message:
1 - There is no data in the tablespace : ORA-03214
SQL> create tablespace MIGTOLOC
2 datafile '/ora/ora901/ oradata/V901/ migtoloc01. dbf'
3 size 10K EXTENT MANAGEMENT DICTIONARY;
Tablespace created.
SQL> execute sys.dbms_space_ admin.tablespace _migrate_ to_local( -
> tablespace_name= >'MIGTOLOC' ,-
> rfno=>9);
BEGIN sys.dbms_space_ admin.tablespace _migrate_ to_local( tablespace_ name=>'MIGTOLOC' ,rfno=>9) ; END;
*
ERROR at line 1:
ORA-03214: File Size specified is smaller than minimum required
ORA-06512: at "SYS.DBMS_SPACE_ ADMIN", line 0
ORA-06512: at line 1
2 - There are some data in the tablespace : ORA-03244
SQL> create tablespace MIGTOLOC
2 datafile '/ora/ora901/ oradata/V901/ migtoloc01. dbf'
3 size 20K EXTENT MANAGEMENT DICTIONARY;
Tablespace created.
SQL> create table TMIG (c number) tablespace MIGTOLOC;
Table created.
SQL> execute sys.dbms_space_ admin.tablespace _migrate_ to_local( -
> tablespace_name= >'MIGTOLOC' ,-
> rfno=>9);
BEGIN sys.dbms_space_ admin.tablespace _migrate_ to_local( tablespace_ name=>'MIGTOLOC' ,rfno=>9) ; END;
*
ERROR at line 1:
ORA-03244: No free space found to place the control information
ORA-06512: at "SYS.DBMS_SPACE_ ADMIN", line 0
ORA-06512: at line 1
Solution Description:
------------ ---------
Increase the size for the datafile :
SQL> alter database datafile '/ora/ora901/ oradata/V901/ migtoloc01. dbf'
2 resize 100K;
Database altered.
SQL> execute sys.dbms_space_ admin.tablespace _migrate_ to_local( -
> tablespace_name= >'MIGTOLOC' ,-
> rfno=>9);
PL/SQL procedure successfully completed.
Explanation:
------------
When converting a tablespace from dictionary management to local management, Oracle creates bitmaps in the datafile. Therefore the required space needs to be available in the datafile.
Next Extent Size After Migrating Tablespace from Dictionary to Locally Managed
MIGRATED TABLESPACES
------------ --------
After migrating a dictionary managed tablespace to locally managed tablespace, the tables are still extending with the next extent specified even though it is now a locally managed tablespace.
Example:
============ ========= ========= ========= ========= ==
MIGRATE FROM DICTIONARY MANAGED TO LOCALLY MANAGED
============ ========= ========= ========= ========= ==
SQL> begin
2 dbms_space_admin. tablespace_ migrate_to_ local
3 (tablespace_ name=> 'USERS', rfno=>5);
4 end;
5 /
PL/SQL procedure successfully completed.
============ ========= ========= ========= ========
Verify that tablespace is now locally-managed:
============ ========= ========= ========= ========
SQL> select TABLESPACE_NAME, EXTENT_MANAGEMENT
2 FROM DBA_TABLESPACES
3 where tablespace_name = 'USERS';
TABLESPACE_NAME EXTENT_MAN
------------ --------- --------- ----------
USERS LOCAL
============ ========= ========= ========= ========= =
CREATE TABLE with the storage segments;
============ ========= ========= ========= ========= =
SQL> create table DW_GSO_COLLN_ NEW
2 tablespace USERS
3 storage (initial 500M next 500M pctincrease 0)
4 as select * from cdwadm.dw_gso_ colln
5 where rownum < 10000000;
Table created.
SQL> select segment_name, extent_id, bytes
2 from dba_extents
3 where segment_name= 'DW_GSO_COLLN_ NEW';
SEGMENT_NAME EXTENT_ID BYTES
------------ --------- --------- ---------- ----------
DW_GSO_COLLN_ NEW 0 524288000
DW_GSO_COLLN_ NEW 1 524288000
DW_GSO_COLLN_ NEW 2 524288000
QUESTION:
24Why is the table extending with the next extent that is specified even though it is a locally
managed tablespace.
ANSWER:
Migrated tablespaces are not subject to the UNIFORM/SYSTEM policy of newly created locally managed tablespaces. This would be too difficult to implement, since the tablespace is likely to contain the existing objects which already aviolate new policy. For this reason, migrated tablespace only support the same
allocation policy as the dictionary tablespaces. If you select from DBA_TABLESPACES, you should see "USER" value in the ALLOCATION_TYPE column for migrated tablespaces, and UNIFORM or SYSTEM value for tablespaces which were created as locally managed. Therefore, the user does not get the policy benefits from migration, but can still get performance benefits - no ST enqueue contention and more efficient extent operations.
SQL> select TABLESPACE_NAME, EXTENT_MANAGEMENT, ALLOCATION_TYPE, PLUGGED_IN
2 from DBA_TABLESPACES;
25 How to Resize a Datafile??
How to Resize a Datafile:
============ ========= ====
Datafile management has two sides to it: not enough room for existing
datafiles, or not enough room IN existing datafiles. Typical solutions are to drop and recreate the tablespace with different sized datafiles, or to add more datafiles to a tablespace.
RESIZE. This option allows you to change the physical size of a datafile from what was specified during its creation.
I. Increase Datafile Size
II. Decrease Datafile Size
III. Cautions and Warnings
Attempting to use the RESIZE command on versions prior to 7.2 will receive the following error:
ORA-00923: FROM keyword not found where expected
I. INCREASE DATAFILE SIZE
To increase the size of a datafile, you would use the command:
ALTER DATABASE DATAFILE '
where the size specified is larger than the existing file size. Check
V$DATAFILE for current settings. The BYTES column shows the current size of the datafile, and the CREATE_BYTES column shows what the size was specified when the file was created. The size of the datafile will also be changed at the operating system level.
For example:
FILE# STATUS ENABLED CHECKPOINT BYTES CREATE_BYT NAME
------ ------- ---------- ---------- -------- ---------- ------------ ----
5 ONLINE READ WRITE 7450 2097152 102400 /databases/oracle/ test.dbf
As you can see, the file was created with a size of 100K (CREATE_BYTES) and was increased to a size of 2MB (BYTES) with the RESIZE command.
II. DECREASE DATAFILE SIZE
To decrease the size of a datafile, you use the same command, but specify a size smaller than the existing datafile. For example, we could reduce the file above back to 1MB with the command:
ALTER DATABASE DATAFILE '/databases/ oracle/test. dbf' RESIZE 1MB;
Downsizing a datafile is more complicated than increasing the size of a
datafile. You cannot deallocate space from a datafile that is currently being used by database objects. To remove space from a datafile, you have to have contiguous space at the END of the datafile.Check the view
DBA_FREE_SPACE to see how much space is not being used in a datafile. For the above file we get:
SELECT * FROM DBA_FREE_SPACE
WHERE TABLESPACE_NAME= 'TEMP'
ORDER BY BLOCK_ID;
TABLESPACE_NAME FILE_ID BLOCK_ID BYTES BLOCKS
------------ ------ ---------- ---------- ---------- ----------
TEMP 4 2 102400 50
TEMP 4 55 96256 47
TEMP 4 102 1890304 923
As you can see, there are two large extents at the high end of the datafile (BLOCK_ID = 55 and contains 47 blocks, BLOCK_ID=102 and contains 923 blocks). This means there are 1986560 unused bytes at the end of our datafile, almost 2MB. We want to leave some room for growth in our datafile, and depending on how the objects in that datafile allocate new extents, we could remove easily up to 1.89MB of disk space from the datafile without damaging any objects in the tablespace.
If you have a large extent in the middle of a datafile, and some object taking up room at the end of the datafile, you can use the query FINDEXT.SQL to find this object. If you export this object, then drop it, you should then free up contiguous space at the end of your datafile so you will be able to resize it smaller. Make sure you leave enough room in the datafile for importing the object back into the tablespace.
FINDEXT.SQL
Script to find database object locations for a given datafile.
REM findext.sql
REM This script prompts user for a datafile ID number, and
REM then lists all the segments contained in that datafile,
REM the blockid where it starts, and how many blocks the
REM segment contains. It shows the owner, segment name, and
REM segment type
SET ECHO OFF
ttitle - center 'Segment Extent Summary' skip 2
col ownr format a8 heading 'Owner' justify c
col type format a8 heading 'Type' justify c trunc
col name format a28 heading 'Segment Name' justify c
col exid format 990 heading 'Extent#' justify c
col fiid format 9990 heading 'File#' justify c
col blid format 99990 heading 'Block#' justify c
col blks format 999,990 heading 'Blocks' justify c
select
owner ownr,
segment_name name,
segment_type type,
extent_id exid,
file_id fiid,
block_id blid,
blocks blks
from
dba_extents
where file_id = &file_id order by block_id
/
Example Output:
SQL> @findext.sql
Enter value for file_id: 5
old 12: file_id = &file_id
new 12: file_id = 5
Segment Extent Summary
Owner Segment Name Type Extent# File# Block# Blocks
-------- ------------ -------- ------- ------ ------- --------
USER EMP TABLE 0 5 2 5
USER TAB3 TABLE 0 5 108 5
USER TEST TABLE 0 5 348 5
USER PK_EMP INDEX 0 5 483 5
USER EMP TABLE 1 5 433 5
USER EMP TABLE 2 5 438 10
USER PK_EMP INDEX 1 5 488 10
III. CAUTIONS AND WARNINGS
For safety reasons, you should take a backup of your database whenever you change its structure, which includes altering the size of datafiles.
If you try to resize a datafile to a size smaller than is needed to contain all the database objects in that datafile, you will get an error:
ORA-03297: file contains
The resize operation will fail at this point.
If you try to resize a datafile larger than can be created, you will also get an error. For instance, in trying to create a file of 2GIG, without 2GIG of available disk space you will get something similar to:
ORA-01237: cannot extend datafile
ORA-01110: data file
ORA-09971: sfsfs: write error, unable to write header block.
If you check V$DATAFILE, you will see that the file size does not change unless the operation is successful.
Finally, if using multiple database writers (db_writers > 1), you might run into [BUG:311905] . This appears as ORA-7374 errors when accessing the datafile after it has been resized. The workaround is to shutdown and restart the database after resizing a datafile (a convenient time to take a backup). This will cause the new datafile size information to be refreshed to all the dbwr slave processes. This bug is fixed in RDBMS version 7.3.3.
MANUAL versus AUTOMATIC extension:
Be careful giving datafiles the AUTOEXTEND attribute, certainly specify the NEXT and MAXSIZE parameters, set appropriate values for the default storage parameters on tablespace level and MAXEXTENTS; for objects in these tablespaces specify explicitly INITIAL and NEXT extent size as well as MAXEXTENTS; avoid UNLIMITED sizes and extents to prevent objects with a very high number of extents will be created; this causes not only
a huge number of records in the dictionary tables, but dropping them will take a very long time while smon is consuming all cpu resources it can get.
26 How to 'DROP' a Datafile from a Tablespace?
How to 'DROP' a Datafile from a Tablespace:
============ ========= ========= ========= ====
Before we start with detailed explanations of the process involved, please note that Oracle does not provide an interface for dropping datafiles in the same way that you could drop a schema object such as a table, a view, a user, etc. Once you make a datafile part of a tablespace, the datafile CANNOT be removed, although we can use some workarounds. Before performing certain operations such as taking tablespaces/ datafiles offline, and trying to drop them, ensure you have a full backup. If the datafile you wish to remove is the only datafile in that tablespace, simply drop the entire tablespace using:
DROP TABLESPACE
You can confirm how many datafiles make up a tablespace by running the
following query:
select file_name, tablespace_name
from dba_data_files
where tablespace_name ='
The DROP TABLESPACE command removes the tablespace, the datafile, and the tablespace's contents from the data dictionary. Oracle will no longer have access to ANY object that was contained in this tablespace. The physical datafile must then be removed using an operating system command (Oracle NEVER physically removes any datafiles). Depending on which platform you try this on, you may not be able to physically delete the datafile until Oracle is completely shut down. (For example, on Windows NT, you may have to shutdown Oracle AND stop the associated service before the operating system will allow you to delete the file - in some cases, file locks are still held by Oracle.)
If you have more than one datafile in the tablespace, and you do NOT need the information contained in that tablespace, or if you can easily recreate the information in this tablespace, then use the same command as above:
DROP TABLESPACE
Again, this will remove the tablespace, the datafiles, and the tablespace's contents from the data dictionary. Oracle will no longer have access to ANY object that was contained in this tablespace. You can then use CREATE TABLESPACE and re-import the appropriate objects back into the tablespace. If you have more than one datafile in the tablespace and you wish to keep the objects that reside in the other datafile(s) which are part of this tablespace, then you must export all the objects inside the affected tablespace. Gather information on the current datafiles within the tablespace by running this query:
select file_name, tablespace_name
from dba_data_files
where tablespace_name ='
Make sure you specify the tablespace name in capital letters. In order to allow you to identify which objects are inside the affected tablespace for the purposes of running your export, use the following query:
select owner,segment_ name,segment_ type
from dba_segments
where tablespace_name= '
Now, export all the objects that you wish to keep. Once the export is done, issue the DROP TABLESPACE tablespace INCLUDING CONTENTS.
Note that this PERMANENTLY removes all objects in this tablespace. Delete the datafiles belonging to this tablespace using the operating system. (See the comment above about possible problems in doing this.) Recreate the tablespace with the datafile(s) desired, then import the objects into that tablespace. (This may have to be done at the table level, depending on how the tablespace was organized.)
NOTE:
The ALTER DATABASE DATAFILE
ALTER DATABASE DATAFILE
instead of OFFLINE DROP. Once the datafile is offline, Oracle no longer
attempts to access it, but it is still considered part of that tablespace. This datafile is marked only as offline in the controlfile and there is no SCN comparison done between the controlfile and the datafile during startup (This also allows you to startup a database with a non-critical datafile missing). The entry for that datafile is not deleted from the controlfile to give us the opportunity to recover that datafile. If you do not wish to follow any of these procedures, there are other things that can be done besides dropping the tablespace.
- If the reason you wanted to drop the file is because you mistakenly created the file of the wrong size, then consider using the RESIZE command.See 'Related Documents' below.
- If you really added the datafile by mistake, and Oracle has not yet allocated any space within this datafile, then you can use
ALTER DATABASE DATAFILE
command to make the file smaller than 5 Oracle blocks. If the datafile is resized to smaller than 5 oracle blocks, then it will never be considered for extent allocation. At some later date, the tablespace can be rebuilt to exclude the incorrect datafile.
27 How do you Determining the Source of Invalid Objects ???
Identifying Problem Object(s)
------------ --------- -------
The following SQL*Plus query may be used to identify the object which is
the source of the problem:
sql> SELECT owner, object_type, object_name
FROM dba_objects
WHERE status = 'INVALID'
AND object_name IN (SELECT referenced_name
FROM dba_dependencies
WHERE name = '
For this query to work, select privilege to the dba_dependencies and
dba_objects is required. The actual invalid object name must be
substituted for the
The subquery finds all the objects that the invalid object depends on.
The outer query brings up the owner, type, and name for any invalid objects
on which the INVALID_OBJECT depends. This identifies the source package(s)
and eliminates wasted time attempting to compile the wrong objects.
This query should be run interactively, replacing the value of
INVALID_OBJECT_ NAME until zero rows are returned.
Validating Objects
------------ ------
When the above query on an object returns zero rows, attempt to validate that
object name using the following command:
ALTER PACKAGE invalid_pkg_ name COMPILE;
If it compiles, then try recompiling those objects that were dependent on
that object. If it doesn't compile, issue the following command from within
SQL*Plus.
sql>SHOW ERRORS
Or use the following SQL command and search the dba_errors table:
sql> SELECT NAME,TEXT FROM DBA_ERRORS WHERE NAME ='
Use the results from that query to further diagnose the problem(s).
EXAMPLE:
Suppose we have the following object dependencies:
Pkg1 (Invalid)
|
|
_______|____ ___
| |
Pkg2 (Invalid) Pkg3 (Valid)
|
_______|____ ____
| |
Pkg4 (Valid) Pkg5 (Invalid)
Use the following SELECT statement:
sql> SELECT owner, object_type, object_name
FROM dba_objects
WHERE status = 'INVALID'
AND object_name IN (SELECT referenced_name
FROM dba_dependencies
WHERE name = 'PKG1');
The following information is returned:
OWNER OBJECT_TYPE OBJECT_NAME
APPS PACKAGE PKG2
Run the query again for PKG2 instead of PKG1; PKG5 will be returned.
Run the query once more for PKG5 which then returns zero rows.
This indicates that because PKG5 is invalid, it is preventing
the proper compilation of packages PKG2 and PKG1.
Therefore, it is necessary to either rebuild, or determine the problems
associated with PKG5 before the other two packages will compile.
28 What is core fiel ? how do you examine the core file ??
A: system resource(memory leak etc) dbx utility to examine the same.
Introduction
~~~~~~~~~~~~
This short article aims explain how to get a stack trace from a
core dump produced by any of the Oracle products. By following
the steps below you can provide Oracle Support with vital
information to help identify the cause of a problem.
Please note that it is important to include information about
the tool being used, any code involved, the operation being
performed, environment etc.. in addition to the details below.
What is a 'core dump' ?
~~~~~~~~~~~~ ~~~~~~~~~ ~~
A core dump is an image copy of a processes state at the
instant it 'aborted'. It is produced in the form of a file
called 'core' usually located in the current directory.
What causes a core dump ?
~~~~~~~~~~~~ ~~~~~~~~~ ~~~~
There are many situations which can cause a core dump to be
produced, but it is usually because the process has attempted
to do something which the operating system does not like. The
most common causes of this are:
The program tried to access memory outside its allowed range.
The program tried to obtain a resource which was either
exhausted or unavailable.
An attempt was made to execute illegal instructions.
An attempt was made to read unaligned data
In Unix systems the offending process is sent one of a number
of signals which force a core dump to be produced. It is also
possible for a user to produce a core dump by sending one of
these signals to a process manually.
What should I do if I get a core dump ?
~~~~~~~~~~~~ ~~~~~~~~~ ~~~~~~~~~ ~~~~~~~~~
As with any problem you should first note down the FULL version
numbers of the product, the RDBMS, PL/SQL (if used) and any
related products.
You should also note the EXACT command you were running when
this occurred. Eg: If it was a SQL*Forms problem and you were
using 'mrunform30' , write this down. This command will be
referred to as 'program' below.
Now follow the instructions below in order:
1) Check you have a 'core' file, it should be in the directory
where the command was issued, or in $ORACLE_HOME/ dbs OR
$ORACLE_HOME/ dbs/core_ NNNNN if it is the 'oracle' executable.
2) Log in as ORACLE and change in to the $ORACLE_HOME/ bin
directory. Enter the command:
file program
and write the result down letter for letter. If the word
'dynamic' or 'dynamically linked' appears in the output of this
command then please make a note of this as there are a few
platforms on which Oracle does NOT support dynamic linking and
this may be the cause of your problem.
3) Now enter:
chmod +r program
to add read permission to the program.
4) Log out , then log in as the user who encountered the error.
The next step will vary slightly depending on which version
of Unix you are using. One of the following commands should
exist on your machine - try each in order until you find one
that exists:
Command NB Exit command Stack Trace command
------- -- ------------ ------------ -------
dbx quit where
xdb (HPUX 10) quit t
gdb (HPUX 11) q bt
dde (HPUX 11) q bt
sdb q t
adb $q (or Ctrl-D) $c
debug (PTX only) quit stack
gdb (Linux) quit bt
Change to the directory where the core dump is located and
enter the commands as in the relevant example below. If you
are not sure which program produced the 'core' file then on
some Unix platforms the command 'file core' will tell you
the executable name that the core file is from (this does
not work on ALL Unix platforms, see note below.)
.
Example commands:
DBX: $ script /tmp/mystack
$ dbx $ORACLE_HOME/ bin/
(dbx) where
... << Stack should appear here
(dbx) quit
$ exit
XDB: $ script /tmp/mystack
$ xdb $ORACLE_HOME/ bin/
(xdb) t
... << Stack should appear here
(xdb) quit
$ exit
SDB: $ script /tmp/mystack
$ sdb $ORACLE_HOME/ bin/
(sdb) t
... << Stack should appear here
(sdb) q
$ exit
(NOTE: In the 'adb' commands below literally type the $c
& $q)
ADB: $ script /tmp/mystack
$ adb $ORACLE_HOME/ bin/
$c << NB: adb has no prompt so just
enter $c
...
$q
$ exit
DEBUG: $ script /tmp/mystack
$ debug -c core $ORACLE_HOME/ bin/
debug> stack
... << Stack should appear here
debug> quit
$ exit
GDB: $ script /tmp/mystack
$ gdb $ORACLE_HOME/ bin/
(gdb) bt
... << Stack should appear here
(gdb) quit
$ exit
DDE: $ script /tmp/mystack
$ dde -ui line core
$ORACLE_HOME/ bin/
dde> bt
...
dde> q
$exit
Assuming this worked then the stack trace should be shown in
the file '/tmp/mystack' . Upload this to Oracle Support.
5) If the debug command failed to give a stack trace then try
using a different debugger from the list above (if
available). If all debuggers fail then there is probably a
problem with either the permissions or the file type - see
the section below and then contact Oracle Support with all
the details you have so far.
Common reasons for not getting a sensible stack
~~~~~~~~~~~~ ~~~~~~~~~ ~~~~~~~~~ ~~~~~~~~~ ~~~~~~~~
Filesize Limits:
Note that on some machines there may be a kernel parameter
or
user limit which controls the maximum size of core file that
can be produced - you can usually check this by typing:
limit in the C shell
OR ulimit -a in the Bourne / Korn shells.
If this limit is too small the core file will be useless -
raise the limit and reproduce the problem.
Stripped Executable
Some program executables are stripped of symbol information.
This makes the stack trace useless. If 'file program' shows
the word 'stripped' or 'nm program' shows no output then it
is likely that the executable is stripped of symbolic
information.
In this case the problem tool must be relinked without being
stripped - on most Unix platforms this involves ensuring
there is no '-s' option on the link line. Contact Oracle
Support with details of the link line used to link the tool.
HP Unix
Some platforms like HP Unix need a special object file
linking in at link time to ensure symbols in shared objects
can be reported by the debug tool. Typically this involves
relinking the tool including /usr/lib/end. o on the link
line. The location of this special file may be different
depending on your HPUX version. 'xdb' generally tells you
the location of this file if it was not linked into the
executable.
If 'file core' does not return the executable name:
~~~~~~~~~~~~ ~~~~~~~~~ ~~~~~~~~~ ~~~~~~~~~ ~~~~~~~~~ ~~~
Try using the 'strings' command:
csh> setenv LANG C
or
ksh> LANG=C;export LANG ...to get rid of non-ASCII
characters return by 'strings'
> strings -a core | more
The first part of the output may reveal the executable name.
29 What command is used to find size of a process ???
ps -aefl
30 How do you find out what shared memorysegments are assigedn to different os users ??
ipcs -s
31 Some cases if you down the database even though shared memory is not released what
command is used to clear the shared memory ??
ipcrm
32 How big i create the data file size ??
Identifying the Oracle database datafile maxsize on a given platform
There are always some ambiguity on the datafile size limit on a given platform and version of the database. Here is a simple way of identifying to what size a datafile can grow maximum and then switch to the next datafile. To identify the same lets create a tablespace with some default value and set the autoextend on without the MAXSIZE specified.
SVRMGR>Create tablespace WORK_SPACE_DATA datafile
'/keg4/oradata/ fpdev1/work_ space_data01. dbf' size 400M AUTOEXTEND ON
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 4M NOLOGGING;
Lets get the file id of the datafile created for the WORK_SPACE_DATA tablespace.
SVRMGR>select file_id,file_ name,autoextensi ble from dba_data_files
where tablespace_name like 'WORK_SPACE_ DATA';
FILE_ID AUT FILE_NAME
---------- --- -------
31 YES /keg4/oradata/ fpdev1/work_ space_data01. dbf
Querying the filext$ table we can get the value of the maximum size in database blocks the datafile can grow before switching to the next file. So technically this must be the maximum filesize that oracle can presumably understand for a database datafile.
SVRMGR> select * from filext$
where file# = 31;
FILE# MAXEXTEND INC
---------- ---------- ----------
31 4194302 1
Setting the default would give you a maximum value of 4194302 blocks with increments of 1block when the datafile extends.
On a database of 8K block size this would work out to be,
SVRMGR> select (4194302*8192) /1024/1024/ 1024 Max from dual;
Max
----------
31.9999847
So, the database datafile can have a maximum size of 32Gb on a 8k database block size and Sun Solaris8 platform. The above shows that the dependency is on the database block size for a given platform. Also if we do not set the MAXSIZE for the datafile , then the first datafile would grow to the MAXEXTEND value and only then would shift to the next datafile for a given tablespace with multiple datafiles. So it is imperative to set the MAXSIZE value when turning on the AUTOEXTEND option.
33 when do i go for multiple dbwr processes ???what parameters are considered ???
34 When you run a report you got snapshot tool old error? what do you do ???
Shrink the rollback segment and then re-run the report or assign private rollback segment to report
35 How do i see what is there in redolog files ??
logminor.
36 How do you get the free space, used space for a tablesapce ??
SELECT SUBSTR(FILE_ NAME,1,30) file_name, a.file_id file#,
A.TABLESPACE_ NAME,A.BYTES/ (1024*1024) totsize,
(A.BYTES/(1024* 1024)- round(nvl(SUM( B.BYTES/( 1024*1024) ),0),2)) used,
nvl(round(SUM( B.BYTES/( 1024*1024) ),2),0) "FREE"
FROM DBA_DATA_FILES A,
DBA_FREE_SPACE B
WHERE A.TABLESPACE_ NAME =B.TABLESPACE_ NAME(+)
AND A.FILE_ID =B.FILE_ID(+ )
AND A.TABLESPACE_ NAME='SYSTEM'
GROUP BY SUBSTR(FILE_ NAME,1,30) , A.TABLESPACE_ NAME,A.BYTES/ (1024*1024) ,a.file_id
order by 2
37 What is the difference between row migration and row chaining??
Concepts
--------
There are two circumstances when this can occur, the data for a row in a table may be too large to fit into a single data block. This can be caused by either row chaining or row migration.
Chaining
---------
Occurs when the row is too large to fit into one data block when it is first inserted. In this case, Oracle stores the data for the row in a chain of data blocks (one or more) reserved for that segment. Row chaining most often occurs with large rows, such as rows that contain a column of datatype LONG, LONG RAW, LOB, etc. Row chaining in these cases is unavoidable.
Migration
----------
Occurs when a row that originally fitted into one data block is updated so that the overall row length increases, and the block's free space is already completely filled. In this case, Oracle migrates the data for the entire row to a new data block, assuming the entire row can fit in a new block. Oracle preserves the original row piece of a migrated row to point to the new block
containing the migrated row: the rowid of a migrated row does not change. When a row is chained or migrated, performance associated with this row decreases because Oracle must scan more than one data block to retrieve the information for that row.
o INSERT and UPDATE statements that cause migration and chaining perform poorly,
because they perform additional processing.
o SELECTs that use an index to select migrated or chained rows must perform additional I/Os.
Detection
---------
Migrated and chained rows in a table or cluster can be identified by using the ANALYZE command with the LIST CHAINED ROWS option. This command collects information about each migrated or chained row and places this information into a specified output table. To create the table that holds the chained rows, execute script UTLCHAIN.SQL.
SQL> ANALYZE TABLE scott.emp LIST CHAINED ROWS;
SQL> SELECT * FROM chained_rows;
You can also detect migrated and chained rows by checking the 'table fetch continued row' statistic in the v$sysstat view.
SQL> SELECT name, value FROM v$sysstat WHERE name = 'table fetch continued row';
NAME VALUE
------------ --------- --------- --------- --------- --------- - ---------
table fetch continued row 308
Although migration and chaining are two different things, internally they are represented by Oracle as one. When detecting migration and chaining of rows you should analyze carrefully what you are dealing with.
Resolving
---------
o In most cases chaining is unavoidable, especially when this involves tables with large columns such as LONGS, LOBs, etc. When you have a lot of chained rows in different tables and the average row length of these tables is not that large, then you might consider rebuilding the database with a larger blocksize.
e.g.: You have a database with a 2K block size. Different tables have multiple large varchar columns with an average row length of more than 2K. Then this means that you will have a lot of chained rows because you block size is too small. Rebuilding the database with a larger block size can give you a significant performance benefit.
o Migration is caused by PCTFREE being set too low, there is not enough room in the block for updates. To avoid migration, all tables that are updated should have their PCTFREE set so that there is enough space within the block for updates. You need to increase PCTFREE to avoid migrated rows. If you leave more free space available in the block for updates, then the row will have more room to grow.
SQL Script to eliminate row migration :
-- Get the name of the table with migrated rows:
ACCEPT table_name PROMPT 'Enter the name of the table with migrated rows: '
-- Clean up from last execution
set echo off
DROP TABLE migrated_rows;
DROP TABLE chained_rows;
-- Create the CHAINED_ROWS table
@.../rdbms/admin/ utlchain. sql
set echo on
spool fix_mig
-- List the chained and migrated rows
ANALYZE TABLE &table_name LIST CHAINED ROWS;
-- Copy the chained/migrated rows to another table
create table migrated_rows as
SELECT orig.*
FROM &table_name orig, chained_rows cr
WHERE orig.rowid = cr.head_rowid
AND cr.table_name = upper('&table_ name');
-- Delete the chained/migrated rows from the original table
DELETE FROM &table_name WHERE rowid IN (SELECT head_rowid FROM chained_rows) ;
-- Copy the chained/migrated rows back into the original table
INSERT INTO &table_name SELECT * FROM migrated_rows;
spool off
Note
----
When you run the script in the document to clean up the chained rows if the table contains long raw columns, the script will fail with ORA-997: Illegal use of LONG datatype. This error is normal as you cannot do a CTAS when you have long raws. Also, by the nature of the long raw datatype, chaining is unavoidable.
38 How to Turn Archiving ON and OFF ???
Turning Archiving On and Off
============ ========= =======
This section describes the aspect of archiving and includes the
following topics:
- Setting the Initial Database Archiving Mode
- Enabling Automatic Archiving
* Enabling Automatic Archiving at Instance Startup
* Enabling Automatic Archiving After Instance Startup
- Changing the Database Archiving Mode
- Disabling Automatic Archiving
* Disabling Automatic Archiving at Instance Startup
* Disabling Automatic Archiving after Instance Startup
- Performing Manual Archiving
You set a database's initial archiving mode as part of database creation.
Usually, you can use the default of NOARCHIVELOG mode at database creation
because there is no need to archive the redo information generated at that
time. After creating the database, decide whether to change from the initial
archiving mode.
After a database has been created, you can switch the database's archiving mode
on demand. However, you should generally not switch the database between
archiving modes.
NOTE: If a database is automatically created during Oracle installation,
the initial archiving mode of the database is operating system specific.
See your operating system-specific Oracle documentation.
NOTE:
ARCHIVELOG mode is necessary for creating on-line backups and for certain
types of database recovery. Configuring the database to operate in
ARCHIVELOG mode allows the user to perform complete and point-in-time
recovery from media (disk) failures using off-line or on-line backups. If
ARCHIVELOG mode is disabled, the database can be restored from a backup
in case of failure, but it cannot be rolled forward from that to a point
when failure occured.
Setting the Initial Database Archiving Mode
============ ========= ========= ========= ====
When you create the database, you set the initial archiving mode of the redo
log in the CREATE DATABASE statement. If you do not specify either ARCHIVELOG
or NOARCHIVELOG, NOARCHIVELOG is the default. To verify database mode, execute
following statement:
SVRMGR> Select * from V$DATABASE
NAME CREATED LOG_MODE CHECKPOINT ARCHIVE_CH
---- ------------ ----- ------------ ---------- ----------
ORCL 05/21/97 17:55:06 NOARCHIVELOG 172185 170808
Enabling Automatic Archiving at Instance Startup
============ ========= ========= ========= =========
To enable automatic archiving of filled groups each time an instance is
started, include the "LOG_ARCHIVE_ START" parameter, set to TRUE, in the
database's parameter file:
LOG_ARCHIVE_ START=TRUE
The new value takes effect the next time you start the database.
Enabling Automatic Archiving After Instance Startup
============ ========= ========= ========= ========= ====
To enable automatic archiving of filled online redo log groups without shutting
down the current instance, use the SQL command ALTER SYSTEM with the ARCHIVE
LOG START parameter.
The following statement enables archiving:
SVRMGRL> ALTER SYSTEM ARCHIVE LOG START;
When using this option, the instance does not have to be shut down to enable
automatic archiving.
However, if an instance is shutdown and restarted after automatic archiving is
enabled using this option, the instance is reinitialized using the settings of
the parameter file ("LOG_ARCHIVE_ START"), which may or may not enable automatic
archiving.
Changing the Database Archiving Mode
============ ========= ========= ======
There are "init.ora" parameters you need to modify in order to properly handle
your database being in archive log mode. They are:
LOG_ARCHIVE_ START
LOG_ARCHIVE_ DEST
LOG_ARCHIVE_ FORMAT
LOG_ARCHIVE_ START:
Enables automatic archiving of filled groups each time an instance is started.
Set this parameter to TRUE if you do NOT wish to have to MANUALLY archive your
redo log files when in ARCHIVELOG mode.
LOG_ARCHIVE_ DEST:
This parameter specifies the directory where your archive logs will be placed.
LOG_ARCHIVE_ FORMAT:
This parameter names the archive logs in this format. For example, if your
format is: arch%s.arc
Your log files will be called: arch1.arc, arch2.arc, arch3.arc where the '1',
'2', '3', etc is the sequence number.
To Prepare to Switch Database Archiving Mode
============ ========= ========= ========= =====
1. Shut down the database instance.
SVRMGRL> shutdown
An open database must be closed and dismounted and any associated
instances shut down before the database's archiving mode can be switched.
Archiving cannot be disabled if any datafiles need media recovery.
2. Backup the database.
This backup can be used with the archive logs that you will generate.
3. Perform any operating system specific steps (optional).
4. Start up a new instance and mount, but do not open the database.
SVRMGRL> startup mount
NOTE: If you are using the Oracle Parallel Server, you must mount the
database exclusively using one instance to switch the database's
archiving mode.
5. Switch the database's archiving mode.
SVRMGRL> alter database archivelog;
6. Open the database.
SVRMGRL> alter database open;
7. Verify your database is now in archivelog mode.
SVRMGRL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination for example: $ORACLE_HOME/ dbs/arch
Oldest on-line log sequence 275
Next log sequence 277
Current log sequence 278
8. Archive all your redo logs at this point.
SVRMGRL> archive log all;
9. Ensure these newly created Archive log files are added to the backup
process.
See the Oracle7 Parallel Server Concepts & Administration guide for more
information about switching the archiving mode when using the Oracle Parallel
Server.
Disabling Automatic Archiving
============ ========= ========
You can disable automatic archiving of the online redo log groups at any time.
However, once automatic archiving is disabled, you must manually archive groups
of online redo log files in a timely fashion.
If a database is operated in ARCHIVELOG mode, automatic archiving is disabled,
and all groups of online redo log files are filled but not archived.
LGWR cannot reuse any inactive groups of online redo log groups to continue
writing redo log entries. Therefore, database operation is temporarily
suspended until the necessary archiving is performed.
To disable automatic archiving after instance startup, you must be connected
with administrator privileges and have the ALTER SYSTEM privilege.
Automatic archiving can be disabled at or after instance startup.
Disabling Automatic Archiving at Instance Startup
============ ========= ========= ========= ========= =
To disable the automatic archiving of filled online redo log groups each time a
database instance is started, set the "LOG_ARCHIVE_ START" parameter of a
database's parameter file to FALSE:
LOG_ARCHIVE_ START=FALSE
The new value takes effect the next time the database is started. And, archive
log list; command executed from SVRMGRL will show:
Automatic archival Disabled
Disabling Automatic Archiving after Instance Startup
============ ========= ========= ========= ========= ====
To disable the automatic archiving of filled online redo log groups without
shutting down the current instance, use the SQL command ALTER SYSTEM
with the ARCHIVE LOG STOP parameter.
The following statement stops archiving:
SVRMGRL> ALTER SYSTEM ARCHIVE LOG STOP;
If ARCH is archiving a redo log group when you attempt to disable automatic
archiving, ARCH finishes archiving the current group, but does not begin
archiving the next filled online redo log group.
The instance does not have to be shut down to disable automatic archiving.
However, if an instance is shut down and restarted after automatic archiving is
disabled, the instance is reinitialized using the settings of the parameter
file ("LOG_ARCHIVE_ START"), which may or may not enable automatic archiving.
NOTE: If you choose to disable automatic archiving and have not
disabled archiving altogether, you are responsible to archive
all filled redo log groups or else database operation is
temporarily suspended (you will experience a database hang)
until the necessary archiving is performed.
Performing Manual Archiving
============ ========= ======
If a database is operating in ARCHIVELOG mode, inactive groups of filled online
redo log files must be archived. You can manually archive groups of the online
redo log whether or not automatic archiving is enabled.
If automatic archiving is not enabled, you must manually archive groups of
filled online redo log files in a timely fashion. If all online redo log groups
are filled but not archived, LGWR cannot reuse any inactive groups of online
redo log members to continue writing redo log entries. Therefore, database
operation is temporarily suspended until the necessary archiving is performed.
You can exercise this scenario by executing alter system switch logfile command
when automatic archival is disabled. Attempting to repeat that command with a
last redo log group will show hang, and it won’t be completed with ‘statement
processed̢۪ message until archiving is done.
If automatic archiving is enabled, but you want to rearchive an inactive group
of filled online redo log members to another location, you can use manual
archiving. (However, the instance can decide to reuse the redo log group before
you have finished manually archiving, thereby overwriting the files. If this
happens, Oracle will display an error message in the ALERT file.)
To manually archive a filled online redo log group, you must be connected with
administrator privileges.
Manually archive inactive groups of filled online redo log members using the
SQL command:
SVRMGRL> ALTER SYSTEM ARCHIVE LOG ALL;
archives all unarchived log files.
Resources
=========
See your Administrators Guide for other ALTER SYSTEM ARCHIVE options.
39 CAN ARCHIVING BE TURNED OFF/ON WITHOUT BOUNCING THE DATABASE?
Problem Description:
============ ========
Your database is in ARCHIVELOG mode. You want to turn archiving off
for a period of time and then turn it on to continue archiving without
bouncing your database. You believe the following commands will work:
SVRMGR> alter system archive log stop
SVRMGR> alter system archive log start
You want to know if the commands will allow archiving to be turned off and on
without bouncing the database.
Solution Description:
============ =========
You must bounce the database to turn archiving off and on. These commands only
alternate the archiving mode from AUTOMATIC to MANUAL. They do not turn
archiving off or on.
The following test shows that the database will eventually hang if you issue
this command.
SVRMGR> alter system archive log stop;
Example:
Database mounted.
Database opened.
SVRMGR> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /u02/app/oracle/ product/7. 3.2/dbs/arch
Oldest online log sequence 90
Next log sequence to archive 93
Current log sequence 93
SVRMGR> alter system switch logfile;
Statement processed.
SVRMGR> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /u02/app/oracle/ product/7. 3.2/dbs/arch
Oldest online log sequence 91
Next log sequence to archive 94
Current log sequence 94
SVRMGR> alter system archive log stop;
Statement processed.
SVRMGR> archive log list;
Database log mode Archive Mode
Automatic archival Disabled
Archive destination /u02/app/oracle/ product/7. 3.2/dbs/arch
SVRMGR> alter system switch logfile;
Statement processed.
SVRMGR> archive log list;
Database log mode Archive Mode
Automatic archival Disabled
Archive destination /u02/app/oracle/ product/7. 3.2/dbs/arch
Oldest online log sequence 92
Next log sequence to archive 94
Current log sequence 95
*** log files until all the log files need archiving. ***
SVRMGR> alter system switch logfile;
Statement processed.
SVRMGR> alter system switch logfile;
Statement processed.
SVRMGR> alter system switch logfile;.... ........
At this point the DB hangs because automatic archiving is disabled. When
all redo logs are full (this was simulated by switching logs), another log file
switch will not occur until the log files are MANUALLY archived, or automatic
archiving is enabled.
*** automatic archiving. ***
Open another Server Manager session and issue the following command:
SVRMGR> alter system archive log start;
Statement processed.
After issuing this command the full redo logs are archived, the log switch
occurs, the database is no longer hung, and the first session returns to the
Server Manager prompt.
Explanation:
============
You had to bounce the database to turn archiving off or on. The commands
you attempted to use to do this only alternate the archiving mode from
AUTOMATIC to MANUAL.
40 ALTER SYSTEM ARCHIVE LOG STOP DOES NOT TURN OFF ARCHIVELOG MODE
Then what do you do ??
Problem Description:
============ ========
You have attempted to turn off archiving using the command:
SVRMGRL> alter system archive log stop;
but, the database is still running in archivelog mode.
Solution Description:
============ ========
To turn off archiving, alter the database to run in noarchivelog mode as
follows:
Before issuing alter database noarchivelog, you
first need to be in mount mode.
So...
To turn off archiving,
startup mount
SVRMGRL> alter database noarchivelog;
alter database open;
Then, do the following:
SVRMGRL> alter database noarchivelog;
If you intend this to be a permanent change, you should also set the init.ora
parameter LOG_ARCHIVE_ START = false.
To ensure archiving has been disabled run:
SVRMGR> archive log list
Database log mode No Archive Mode
Automatic archival Disabled
Archive destination ?/dbs/arch
Oldest online log sequence 481
Current log sequence 483
Solution Explanation:
============ ========
'Alter system archive log stop' will disable the automatic archiving of redo
log file groups, but it will not change the database from archivelog mode to
noarchivelog mode.
Changing the database to run in noarchivelog mode will turn off archiving.
41 How do you estimate the amount of redo per day??
Problem Description
============ =======
How do we find out how much redo is generated per day?
Solution Description:
============ =========
Multiply (Redo per Day) by (Redo File Size).
Issuing the command "ARCHIVE LOG LIST"
SVRMGR> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /u05/home/usupport/ kbahadur/ database/ archive
Oldest online log sequence 20
Next log sequence to archive 25
Current log sequence 25
command on two consecutive days at the same time and taking the difference
between the 'current log sequence' will give us the number of
redo logs generated during a 24 hour period.
Explanation:
============
In NOARCHIVE Log mode, taking the Number of Redo Logs created in 24 hours
and multiplying that by the redo log file size will give us
the general estimate of redo generated in bytes per day.
In ARCHIVE Log mode, we can estimate the value even better, since
we have the archived log files with the date/time stamp and
the varying byte size for each log. So adding the archive file
sizes during a 24-hour period will give us the amount of redo
generated.
osupport dba 2048 Oct 30 11:57 _0000000016. log
osupport dba 6048 Oct 30 12:11 _0000000017. log
osupport dba 10240 Oct 30 14:00 _0000000018. log
osupport dba 26624 Nov 3 09:44 _0000000019. log
osupport dba 14336 Nov 3 09:47 _0000000020. log
osupport dba 12288 Nov 3 09:48 _0000000021. log
osupport dba 3072 Nov 3 09:48 _0000000022. log
osupport dba 2048 Nov 3 09:48 _0000000023. log
osupport dba 79872 Nov 3 09:48 _0000000024. log
osupport dba 5035 Nov 3 10:11 _0000000025. log
42 What you do if you get an error CANNOT ALLOCATE LOG, ARCHIVAL REQUIRED
Problem Description:
============ ========
Oracle starts up and users connect, but nothing happens. Oracle just hangs.
The Windows NT Event Viewer has a message from Oracle7.PROD:
Event ID: 20
Source: Oracle7.PROD
Description:
Archive Process Error: Cannot allocate Log, Archival Required.
Solution Description:
============ =========
The database was recently put in Archivelog mode by doing a 'startup mount
exclusive' and then an 'alter database archivelog';
Database was then shutdown and restarted.
Doing an 'Archive log list;' when connected as SYS or INTERNAL shows the
following:
Database log mode Archive Mode
Automatic archival Disabled
Explanation:
============
This problem occurs because automatic archiving is disabled.
The cause of the problem is automatic archiving is disabled. When the
databse is in archive log mode and the redo logs fill up, no activity will
be allowed until the log files are archived. If the database is not archiving
automatically, activity will cease until the redo logs are manually archived.
Redo logs can be manually archived by issuing the command
ALTER SYSTEM ARCHIVE LOG ALL;
or you can specify individual log files. See Oracle7 Server
SQL Reference for syntax of the ALTER SYSTEM command and the ARCHIVE LOG
clause.
A better option is to modify the init.ora and set the parameter
'LOG_ARCHIVE_ START=TRUE' . This parameter enables automatic archiving and
prevents you from needing to manually archive redo logs every time they fill
up.
43 what is responsibility ??
A responsibility is a level of authority in Oracle Applications that lets users access only those Oracle Applications functions and data appropriate to their roles in an organization.
44 what is the use of responsibility key defining the responsibility ??
This is a unique name for a responsibility that is used by loader programs. Loaders are concurrent programs used to load such information as messages, user profiles and user profile values into your Oracle Applications tables. To help ensure that your responsibility key is unique throughout your system, begin each Responsibility Key name with the application short name associated with this responsibility.
45 what is a adata group ?
A Data Group defines the mapping between Oracle Applications products and ORACLE IDs. A Data
Group determines which Oracle
database accounts a responsibility̢۪s forms, concurrent programs, and reports connect to.
46 what is Request Security group ?
A request security group defines the concurrent programs, including requests and request sets, that may be run by an application user under a particular responsibility.
47 what is menu in oracle applications ??
A menu is a hierarchical arrangement of application functions (forms) that displays in the Navigate window. Menus can also point to non form functions (subfunctions) that do not display in the Navigate window, but that define the range of application functionality available for a responsibility. Each responsibility is associated with a menu.
48 What is the profile option is used to set the window help ??
Applications Help Web Agent :
http://apps01. hil.com:8005/ pls/CRP/fnd_ help.launch? lang=US
49 Unable to login to personal home page after upgrade the database from 9.0.1.3 to 9.2.0.2 ??
Run the following scripts as sys user
jvmsec3.sql
jvmsec5.sql
50 Cannot view Workflow Monitor Diagrams ??
1.Check that the jinitiator version and the classid in use on your system by
looking at the following entries in the $OA_HTML/bin/ appsweb.cfg
jinit_ver_name= Version=1, 1,8,16
jinit_mimetype= application/ x-jinit-applet; version=1. 1.8.16
jinit_classid= clsid:9b935470- ad4a-11d5- b63e-00c04faedb1 8
2.Verify which userid the WF_ADMIN_ROLE is assigned to:
The following SQL should reveal the Workflow Adminstrator ROLE,
which is either a specific:
- USER, or
- RESPONSIBILITY, or
- An Asterisk '*' which indicates Everyone.
select text from wf_resources
where name = 'WF_ADMIN_ROLE'
TEXT
------------ --------- --
SYSADMIN
3.If the above sql returns a Responsibility, (like FND_RESP1:20420) then use
the following sql to find the Responsibility Name from the ID, which is the #
after the colon :
i.e. FND_RESP1:20420 = ID = 20420
select RESPONSIBILITY_ NAME
from FND_RESPONSIBILITY_ TL
where RESPONSIBILITY_ ID = '20420'
RESPONSIBILITY_ NAME
------------ --------- --------- -
System Administrator
4.Login to Core (forms based) Applications as the user determined in step 2,
Or as a user that has the responsibility determined in step 3 assigned to
them.
(If step 2 returned '*', then any user login will work).
5.Select Global Preferences from the Workflow Menu
6.Verify the settings match the ones from the $OA_HTML/bin/ appsweb.cfg file in
step 1
i.e. from the example above
Jinitiator Classid = 9b935470-ad4a- 11d5-b63e- 00c04faedb18
Jinitiator Version = 1.1.8.16
7.Similarly, verify the values in $FND_TOP/resource/ wfcfg.msg file
WFTKN WF_WEB_AGENT 0 http://
/pls/
WFTKN WF_ADMIN_ROLE 0 SYSADMIN
WFTKN WF_CLASSID 0 9b935470-ad4a- 11d5-b63e- 00c04faedb18
WFTKN WF_PLUGIN_VERSION 0 1.1.8.16
8. Finally, verify the settings in the database with the following SQL:
select substr(name, 0,18) Name, substr(text, 0,55) Value
from wf_resources
where name in
('WF_WEB_AGENT' ,
'WF_ADMIN_ROLE' ,
'WF_VERSION' ,
'WF_CLASSID' ,
'WF_PLUGIN_DOWNLOAD ',
'WF_PLUGIN_VERSION' );
9. If the values in the database are incorrect you can upload the values from
the wfcfg.msg (from step 7) using the following command:
WFRESGEN APPS/
51 Unable to see online help ??
Added the following line in jserv.properties file for online help this has to done on application
servers
For online Help on 11.5.7
wrapper.bin. parameters= -Djava.compiler= NONE
52 while applying the patch if you get an error on database tire ??
adogjf() Unable to generate jar files under APPL_TOP
AutoPatch error:
Failed to generate the product JAR files
AutoPatch error:
Error updating apps.zip
A: copy the directory form BOM_TOP/java/ make to
database tire then reapply the patch.
Unable to start the express instance ??
add the following entry in express.prm file
#Added from Support
AIXTHREAD_STK= ${AIXTHREAD_ STK:="320000" } ; export AIXTHREAD_STK
53 How to remove yello worning bar??
over write identitydb.obj on clint machine from where there is no yello warrning bar
or
run adjkey and adjbuild.sh to create new certification on client side.
54 How to communicate clients to the applications ?
For Windows 98 machines:
1) open a note pad
2) put the following entries in the notepad
10.190.0.25 apps01.hil.com
10.190.0.26 apps02.hil.com
10.190.0.24 hiltrn.hil.com
3) save as "hosts" in c:\windows
4) restart the browser and give the URl like as below
http://apps02. hil.com:8003/ OA_HTML/US/ ICXINDEX. htm
5) install jinitiator then connect to apps.
6)If it is taking lot of time then ftp the file from the server at following location
then install
$COMMON_TOP/ util/jinitiator/ Ex: /devl/viscomn/ util/jinitiator/ jinit11816. exe
What if you get an error FRM-9200 when connecting to applications ??
start the jinitiator control panel 1.1.8.16
change network access to unrestricted then restart the browser and then relogin even if u get
the same message clear a jcache and temporary internet files from the browser properties
then restart the machine and connect.
55 How to release the space below high water mark ?
alter index index_name deallocate unused;( to release the space below high water mark)
56 What should be the size of redolog members ?
Redo logs should be sized based upon 2 factors:
1) Are you archiving
2) How often are your logs switching
If you are archiving
You need to size the logs such that log switches occur no LESS than every 5 minutes
You also need to make sure that logs are not switching too infrequently ... sometimes this is not
possible as there are gaps in work ... but I personally recommend a window of 5-30 minutes
between switches when the system is under load. The reason we recommend this is in case the
online redo log becomes corrupt and the DB has to be recovered point in time to the last log
switch ... you dont want to loose more than say 30 minutes of work
If you are not archiving
You need to size the logs such that log switches occur no LESS than every 30 seconds. Since
recovery is not possible when not archiving a long time between switches really becomes
irrelivant
Bottom line you are trying to hit a happy medium between requiring use of a stale log before it
is finished switching (switching logs too fast) and having too long of a time between switches
If you need further assistance on this issue. Please feel free to post a reply and we will be
happy to assist you
It is better to make the redo logs much bigger and then run a cron script to force a log switch
every so often (during the slow periods). This way the heavy periods do not bog down due to a
bunch of log switches and the light periods are broken up by the forced switches. On our systems
we force a log switch every 15 minutes.
<< It is better to make the redo logs much bigger and then run a cron script to force a log
switch every so often (during the slow periods). This way the heavy periods do not bog down due
to a bunch of log switches and the light periods are broken up by the forced switches. On our
systems we force a log switch every 15 minutes. >>
You can do that ... I personally would use a stored procedure and an EXECUTE IMMEDIATE ... this
way I can control exactly when the logs get forced ...
Example:
from 8am to 5pm force a switch every 15 min
from 5pm to midnight force a swithc every hour
from midnight to 8am dont force a switch
I dont know if this can be done with CRON ... but I know it can be done with a stored procedure
57 How do i set optimal parameter for rollback segments ?
OPTIMAL= initial+next
CREATE ROLLBACK SEGMENT r01 TABLESPACE rbs STORAGE (INITIAL 512000 NEXT 512000 MINEXTENTS 2
MAXEXTENTS 2147483645 OPTIMAL NULL)
CREATE ROLLBACK SEGMENT r02 TABLESPACE rbs STORAGE (INITIAL 512000 NEXT 512000 MINEXTENTS 2
MAXEXTENTS 2147483645 OPTIMAL NULL)
<< How do i set optimal parameter for the rollback segments ? >>
Please see the SQL Reference under CREATE / ALTER ROLLBACK SEGMENT
<< I am explicitily saying
alter rollback segment
is there any problem if i issue this command when transactions are happening.>>
There is no problem issuing this command while transactions are happening.
<< What will be the effect of this statement? >>
Please see the SQL Reference under ALTER ROLLBACK SEGMENT for an explanation
<
This is a tuning question that is outside the scope of support ... there are several documents on
setting the optimal parameter ... Please search Metalink on : OPTIMAL
58 Unable to allocate log sequence number ?
Most likely this is due to your logs switching too quickly
If archiving you want to switch no less than ever 5 min (ie adjust the size of your redo logs)
If not archiving you want to make sure that you have sufficiently sized or sufficient number of
redo log groups such that when a log switch occurs that you are not trying to switch into a
'stale' log
59 How to find the paging space in AIX system ??
lsps -a Lists the status of defined paging spaces.
60 how to find out the physical memory on AIX ??
lsattr -E -lsys0 | grep realmem
or
lsdev -C | grep Memory
61 How to find out what divesies are defined to the system ??
lsdev -Cc disk
62 How to find the number of processor in a system ??
Lsdev -Cc processor
63 How to estimate of the percentage of cpu and memory utilized by each process currently
running
ps av
64 how to determining how much paging activity is taking place on the system. Also gives
useful cpu usage info.
vmstat 3 20 or (topas)
65 How to determining disk utilization for each hard drive.
iostat 3 20 or topas (topas)
66 How do I find out the operating system version?
oslevel or oslevel -r [for maintenance level]
67 How do I found out the process memory space usage?
svmon -P
68 How to find which instance owns which shared memory and semaphores
On a Unix machine give the following commands
$ ipcs -b
69 How do you generate Apps Forms menu modules or MMB files?
f60gen module=FNDMENU. mmb userid=apps/ apps output_file= FNDMENU.mmx module_type= menu batch=yes compile_all= special
70 How do you generate Apps Forms modules or FMB files?
Oftentimes as part of upgrading Forms or modifying a Form module or applying a patch modifying a Form module, you would encounter an issue that would necessitate manually regenerating the Forms module executable or FMX file. To do this you issue the following command:
f60gen module=form_ name.fmb userid=apps/ apps output_file= form_name. fmx module_type= form batch=yes compile_all= special
71 How do you generate Apps Forms library modules or PLL files?
To do this you issue the following command:
f60gen module=library_ name.pll userid=apps/ apps module_type= library batch=yes compile_all= special
72 When do you have to regenerate your Apps Forms modules?
Apps forms are regenerated, some are true some are not:
After an operating system upgrade? False
After a database upgrade? False
After applying a Developer patch? False.
After applying an I/O patch? True.
After applying an Apps patch? True, but only if there is a g driver involved.
73 What is compile_all= special?
For standalone Forms the only valid values for compile_all are ?yes? and ?no?. compile_all= special is similar except that it doesn't attempt to update the source files.
74 How do you get the latest package release?
SQL> select name,type,text from user_source where name ='FND_REQUEST' and line < 3
NAME TYPE TEXT
------------ --- ------------ ------------ --------- --------- --------- --------- --------
FND_REQUEST PACKAGE package FND_REQUEST AUTHID CURRENT_USER as
ND_REQUEST PACKAGE /* $Header: AFCPREQS.pls 115.4 2000/02/29 11:51:08 $ */ FND_REQUEST PACKAGE BODY package body FND_REQUEST as
FND_REQUEST PACKAGE BODY /* $Header: AFCPREQB.pls 115.27 2001/07/28 09:35:16 $ */
What we?re looking for is the name and version number (AFCPREQS.pls 115.4 and AFCPREQB.pls 115.27) of the files that create the package. Support will then determine if it?s advisable to apply the latest release of those files.
75 How can you affect the look and feel of your Apps forms?
You can alter the interface look and feel of Apps forms by changing the values of the following variables in the appsweb.cfg file:
lookAndFeel= Oracle (or generic)
colorScheme= blue or (teal, titanium, red, khaki, blue, olive, purple)
background=no
readonlyBackground= automatic
The FND.D patch will allow control of some of these settings through the system profile:
Java Look and Feel=Oracle (or generic)
Java Color Scheme=blue (or teal, titanium, red, khaki, blue, olive, purple)
76 How do you disable direct Forms access through the http://host: port/dev60cgi/ f60cgi URL?
You can do this by using the mod_rewrite (the Swiss Army Knife of URL manipulation :) engine of the Apache server. In your httpd.conf file add the following lines at the end:
RewriteEngine on
RewriteCond %{QUERY_STRING} !NLS_LANG
RewriteRule ^/dev60cgi/f60cgi$ http://hiltrn. hil.com
You'll have to tighten up the code somewhat but here I am taking advantage of the fact that the URL for accessing Apps directly and through the personal home page are not exactly the same i.e. if the URL does not have certain parameters in it then I redirect the user to a different web page of my choice.
77 How is Forms load balancing accomplished?
Currently Forms load balancing is done through proprietary programs called Metric Server and Metric Clients. The Metric clients are setup on machines with a corresponding Forms server and they constantly report to a Metric Server their load situation. The Metric Server then uses this information to decide which machine to pass a request to run a web form. Metalink Note# 111270.1 and Metalink Note# 148516.1 are good sources for more info.
78 How is Forms load balancing accomplished with Forms listener servlet?
Once Forms servlet is supported in Apps, load balancing will no longer be done via Metrics Servers and Metric Clients. The built-in load balancing capability of the HTTP server (Oracle HTTP powered by Apache) along with its jserv mod will be used instead.
79 How to set up Forms to work through a firewall?
In the current Form Services architecture a firewall needs be configured to allow traffic on 2 ports. The listener port of the Oracle HTTP server (usually port 80 or 8002) and the Forms Listener/Server (usually 9000). The Oracle HTTP server handles the initial request, authentication to the server, and presents a list of responsibilities for the end user to choose from. Self Service applications will continue to use only this listener, but if a core application is invoked, the client makes a request to the Forms Listener that then creates a new Forms Server Runtime process. The Oracle HTTP server port will allow http traffic e.g. requests for help files, requests to the TCF servlet, etc. The Forms Listener/Server port will allow socket or https traffic. In the new Forms Servlet architecture the only port that needs to be open is the Oracle HTTP
80 Note down some important profile options in sysadmin point of view ???
APPS_WEB_AGENT
ATTACHMENT_FILE_ DIRECTORY
CZ_UIMGR_URL
HELP_WEB_AGENT
ICX_FORMS_LAUNCHER
ICX_REPORT_CACHE
ICX_REPORT_IMAGES
ICX_REPORT_LAUNCHER
ICX_REPORT_LINK
ICX_REQ_SERVER
MRP_I2_P_FP_ NET_DIR
MRP_I2_P_LOG_ DIR
MRP_I2_P_RL_ DATA_DIR
OE_CONC_LOG_ DIRECTORY
TCF:HOST
AMS_IMP_DATA_ PATH
OE_DEBUG_LOG_ DIRECTORY /USR/TMP
OE_DEBUG_LOG_ DIRECTORY /tmp/
JTF_BIS_OA_HTML http://ap804sun. us.oracle. com:778/OA_ HTML
HZ_DNB_URL https://globalacces s.dnb.com/ access/scripts
81 What is f60webmx?
The f60webmx is your web forms runtime executable, similar to f60webm except that it has Apps specific user exits linked into
82 How can you recreate the f60webmx executable?
To do this you issue the following command:
$ad_relink.sh force=y ?fnd f60webmx?
Note that there might be times when you you need to generate a stack trace from the f60webmx process. For the trace to have meaninful info the executable needs to have been created with debugging symbols. To do this you issue the following command:
$ad_relink.sh force=y debug=y "fnd f60webmx"
83 How do you enable Forms Runtime Diagnostics (FRD) in Apps?
To enable Forms Runtime Diagnostics (FRD):
- login to Apps as sysadmin
- click on Profile/System
- query ICX%FORMS%LAUNCHER (set for user level)
- add the following to the end of its value "&record=collect& log=" without the quotes
Ex:
http://apps02. hil.com:8003/ dev60cgi/ f60cgi?config= test115&play= &record=collect& log=/usr/ tmp/sysadmin_ frd.log
Note that like any Apps profiles you can do this on various levels e.g. site, user, etc. so that you target your FRD accordingly. Also be aware that FRD incurs significant overhead to Apps processing so disable it when not in use.
84 Are there any changes to the Forms product components when in Forms listener servlet?
Yes. With Forms Listener Servlet certain Forms components are replaced:
Forms CGI - Forms Servlet (FormsServlet. class)
Forms Server - Forms Listener Servlet (ListenerServlet. class)
85 How do you change the background color of a required item in Apps?
Change the $OA_JAVA/oracle/ apps/fnd/ formsClient/ OracleApplicatio ns.dat file and change the RGB value for app.ui.requiredFiel dVABGColor. To turn off the color of the required item you can either change the value of app.ui.requiredFiel dVA from true to false (note that this is what the OracleApplications2 .dat is for, a requirement for the ADA). You have to restart Jinitiator for this to take effect.
86 How can you affect the look and feel of your Apps forms?
You can alter the interface look and feel of Apps forms by changing the values of the following variables in the appsweb.cfg file:
lookAndFeel= Oracle (or generic)
colorScheme= blue or (teal, titanium, red, khaki, blue, olive, purple)
background=no
readonlyBackground= automatic
The FND.D patch will allow control of some of these settings through the system profile:
Java Look and Feel=Oracle (or generic)
Java Color Scheme=blue (or teal, titanium, red, khaki, blue, olive, purple)
87 How to create a custom event alert to fire against a custom table ??
Purpose
-------
The article should provide you with a step-by-step guide on how
to create a custom event alert, which will fire when a row in a
custom table is updated. The update can be the result of an
insert or update DML statement. The article assumes a novice
or beginner level.
Overview of Event Alerts
------------ --------- ---
An event alert is a database trigger that tells you when data
in an object within the database has been changed. Event alerts
can be configured to trigger an action, like sending an email
to a user. You may use event alerts to audit changes to
standard Oracle Applications objects or custom objects in user
defined database schemas. However, you should note that the
when you use Oracle Alerts to define database triggers, the
event alert will only work from within the context of the
Oracle Applications. For example, any database event that
affects the objects made from within a form accessed by a menu
from within an Oracle Application Responsibility is within the
context of Oracle Applications. Likewise, any registereed
concurrent manager process or report, whether executed from
within the Oracle Application form or executed from the
command line is within the context of Oracle Applications.
However, if you manually update or insert data from the
SQL*Plus environment without setting the Oracle Application
context, you will not trigger the event alert.
If you want to build an alert to fire against a custom table,
then you will need the following information. Unfortunately,
it is not found in the Oracle Alert User's Guide. The article
provides the following information:
a. How to create and register a customer schema in the
Oracle Applications.
b. How to register the Oracle Alert against the custom
table.
Create a Custom Schema, Table and Responsibility
------------ --------- --------- --------- ---------
You may find additional reference to setting up a custom schema
in [NOTE:70276. 1] and [NOTE:73492. 1]. The following provides
a step-by-step approach to creating a customer application and
registering it within Oracle Applications.
1. First, you must create the schema within the database. This
can be done from any user/schema account with the DBA Role
privileges. Please remember that you must grant to the newly
created schema a minimum of "CONNECT" and "RESOURCES" to the
schema for it to be accessed. (Please refer to the Oracle SQL
Reference Guide for your release of the database to secure
more information. ) If you would like to follow the Oracle
Application guidelines for naming conventions, please name
your schema with a three character name, like "CUS" - Customer.
Then, prepend it with an "XX" so that you have an user/schema
"XXCUS" name.
Create the user/schema in the database by using SQL*Plus
under any account with DBA Role privileges:
Unix Prompt
-----------
$ sqlplus system/manager
SQL*Plus Prompt
------------ ---
SQL> create user XXCUS identified by XXCUS;
SQL> grant connect to XXCUS;
SQL> grant resource to XXCUS;
2. When you register your custom application within the
Application Object Library. It is recommended that you prepend
an "XX" to the custom schema short name so it will not conflict
with any future Oracle Application short names.
Log into Applications as the System Administrator and navigate to:
Application --> Register.
For example:
Application Short Name Basepath Description
------------ --------- --------- --------- --------- --------- -
Custom Application XXCUS XXCUS_TOP Custom Application
You may refer to your Oracle Applications Developers Guide for
additional information, for example the Oracle Applications
Developers Guide Release 11 contains this information on pages
2-6.
3. You register your custom user/schema as an Oracle user within
the context of Oracle Applications. When you put the user/schema
within the context of Oracle Applications, you are storing the
information within the Application Object Library tables. The
Application Object Library is a repository of Oracle Application
specific metadata, which is data that defines data, or data that
lets you extend the functionality of standard Oracle Application
System Administration to your customized extensions.
You can register the user with the Application Object
Library. Log into Oracle Applications as the System
Administrator and navigate:
Security --> ORACLE --> Register.
The following is an example row for your user registration:
Database
Username Password Privilege Install Group Description
------------ --------- --------- --------- --------- --------- -
XXCUS XXCUS Enabled 0 Custom Application
You may refer to th Oracle Applications Release 11 System
Administrator' s Guide on page 9-5 for more detail.
4. You need to add the custom user/schema to a data group. You can
do this by logging into Oracle Applications as the System
Administrator and navigate:
Security --> ORACLE --> DataGroup.
The following is an example row for your user registration:
Data Group: Standard
Description: Standard Data Group
Application Oracle ID Description
------------ --------- --------- --------- --------- --------- -
Custom Application APPS Custom Application
5. You can now build an object, in the example the object will be
a table with a single column, and a local stored database object,
which will be a stored procedure in this example. You can log
into SQL*Plus as the custom schema owner, XXCUS, and create the
following database objects:
Create a Repository Object
------------ --------- -----
You can create a simple one column table as noted
below in the sample DDL statement.
CREATE TABLE my_event_test (v1 NUMBER);
Create a Stored Object Code Module
------------ --------- --------- ----
1. You can create a stored code module like the one
shown below.
CREATE OR REPLACE PROCEDURE ins_my_event_ test
( value IN OUT NUMBER
, errbuf IN OUT VARCHAR2
, retcode IN OUT NUMBER ) AS
BEGIN
INSERT
INTO my_event_test
VALUES (value);
COMMIT;
END;
/
2. You can test your created procedure by writing a small
PL/SQL program that passes variables into the "errbuf"
and "retcode" variables above, which is required
because they are passed by reference. Then, you can
write a sample query to ensure that a row was inserted
based on the example PL/SQL program.
DECLARE
var1 VARCHAR2(1) := 'A';
var2 VARCHAR2(1) := 'B';
BEGIN
ins_my_event( '1', var1, var2);
END;
/
SELECT v1
FROM my_event_test;
6. Based on the preceeding example, you should create your custom tables,
indexes, views and sequences. The Oracle Coding standards suggest that
you add the WHO audit columns to the definition of the tables and views.
If you are unfamiliar with the concept of WHO audit columns, they are
the defined here for your convenience:
General Who-Audit Columns
------------ --------- ----
a. CREATED_BY NUMBER(15)
b. CREATION_DATE DATE
c. LAST_UPDATED_ BY NUMBER(15)
d. LAST_UPDATE_ DATE DATE
Special Who-Audit Columns for Concurrent Manager Programs
------------ --------- --------- --------- --------- ---------
e. REQUEST_ID NUMBER(15)
f. PROGRAM_ID NUMBER(15)
g. PROGRAM_APPLICATION _ID NUMBER(15)
h. PROGRAM_UPDATE_ DATE DATE
7. You can register your custom user/schema' s tables or views and any
flexfields with the PL/SQL package AD_DD, which is defined below.
After the specification declarations, you will find examples for
registering the tables and columns from SQL*Plus.
Definition of the AD_DD Specification
------------ --------- --------- -------
PROCEDURE DELETE_COLUMN
Argument Name Type In/Out Default?
------------ --------- --------- ------------ --------- -- ------ --------
P_APPL_SHORT_ NAME VARCHAR2 IN
P_TAB_NAME VARCHAR2 IN
P_COL_NAME VARCHAR2 IN
PROCEDURE DELETE_PRIMARY_ KEY_COLUMN
Argument Name Type In/Out Default?
------------ --------- --------- ------------ --------- -- ------ --------
P_APPL_SHORT_ NAME VARCHAR2 IN
P_KEY_NAME VARCHAR2 IN
P_TAB_NAME VARCHAR2 IN
P_COL_NAME VARCHAR2 IN DEFAULT
PROCEDURE DELETE_TABLE
Argument Name Type In/Out Default?
------------ --------- --------- ------------ --------- -- ------ --------
P_APPL_SHORT_ NAME VARCHAR2 IN
P_TAB_NAME VARCHAR2 IN
PROCEDURE REGISTER_COLUMN
Argument Name Type In/Out Default?
------------ --------- --------- ------------ --------- -- ------ --------
P_APPL_SHORT_ NAME VARCHAR2 IN
P_TAB_NAME VARCHAR2 IN
P_COL_NAME VARCHAR2 IN
P_COL_SEQ NUMBER IN
P_COL_TYPE VARCHAR2 IN
P_COL_WIDTH NUMBER IN
P_NULLABLE VARCHAR2 IN
P_TRANSLATE VARCHAR2 IN
P_PRECISION NUMBER IN DEFAULT
P_SCALE NUMBER IN DEFAULT
PROCEDURE REGISTER_PRIMARY_ KEY
Argument Name Type In/Out Default?
------------ --------- --------- ------------ --------- -- ------ --------
P_APPL_SHORT_ NAME VARCHAR2 IN
P_KEY_NAME VARCHAR2 IN
P_TAB_NAME VARCHAR2 IN
P_DESCRIPTION VARCHAR2 IN
P_KEY_TYPE VARCHAR2 IN DEFAULT
P_AUDIT_FLAG VARCHAR2 IN DEFAULT
P_ENABLED_FLAG VARCHAR2 IN DEFAULT
PROCEDURE REGISTER_PRIMARY_ KEY_COLUMN
Argument Name Type In/Out Default?
------------ --------- --------- ------------ --------- -- ------ --------
P_APPL_SHORT_ NAME VARCHAR2 IN
P_KEY_NAME VARCHAR2 IN
P_TAB_NAME VARCHAR2 IN
P_COL_NAME VARCHAR2 IN
P_COL_SEQUENCE NUMBER IN
PROCEDURE REGISTER_TABLE
Argument Name Type In/Out Default?
------------ --------- --------- ------------ --------- -- ------ --------
P_APPL_SHORT_ NAME VARCHAR2 IN
P_TAB_NAME VARCHAR2 IN
P_TAB_TYPE VARCHAR2 IN
P_NEXT_EXTENT NUMBER IN DEFAULT
P_PCT_FREE NUMBER IN DEFAULT
P_PCT_USED NUMBER IN DEFAULT
PROCEDURE UPDATE_PRIMARY_ KEY
Argument Name Type In/Out Default?
------------ --------- --------- ------------ --------- -- ------ --------
P_APPL_SHORT_ NAME VARCHAR2 IN
P_KEY_NAME VARCHAR2 IN
P_TAB_NAME VARCHAR2 IN
P_DESCRIPTION VARCHAR2 IN
P_KEY_TYPE VARCHAR2 IN DEFAULT
P_AUDIT_FLAG VARCHAR2 IN DEFAULT
P_ENABLED_FLAG VARCHAR2 IN DEFAULT
Example Use of the AD_DD.REGISTER_ TABLE & AD_DD.REGISTER_ COLUMN
------------ --------- --------- --------- --------- --------- -
You may use the AD_DD.REGISTER_ TABLE and AD_DD.REGISTER_ COLUMN
to seed the Oracle Applications Object Library with knowledge
about your custom objects. The general form and example
syntax is noted below. For convenience, the general form
illustrates only the mandatory parameters. You will need to
execute these calls to the packages from your "APPS" user/schema.
General Syntax Form
------------ -------
EXECUTE ad_dd.register_ table
( P_APPL_SHORT_ NAME
, P_TAB_NAME
, P_TAB_TYPE );
EXECUTE ad_dd.register_ column
( P_APPL_SHORT_ NAME
, P_TAB_NAME
, P_COL_NAME
, P_COL_SEQ
, P_COL_TYPE
, P_COL_WIDTH
, P_NULLABLE
, P_TRANSLATE );
Example Syntax Form
------------ -------
EXECUTE ad_dd.register_ table
('XXCUS'
,'MY_EVENT_TEST'
,'T');
EXECUTE ad_dd.register_ column
('XXCUS'
,'MY_EVENT_TEST'
,'V1'
, 1
,'NUMBER'
, 38
,'N'
,'N');
You can find supplemental material in the Oracle Applications Developers
Guide Release 11 on page 3-2.
8. After creating and registering your objects and schema, you need to run
the APPS_DDL and APPS_ARRAY_DDL packages against your user/schema. You
must run the scripts from the $AD_TOP/admin/ sql directory in the order
noted below. The general form for executing the command is noted below
and then examples based on the "XXCUS" user/schema and "XXCUS" password
from above. Please remember that you must run these scripts from the
"APPS" user/schema account.
1. adaddls.pls
2. adaaddls.pls
3. adaddlb.pls
4. adaaddlb.pls
General Syntax Form
------------ -------
SQL> @$AD_TOP/admin/ sql/adaddls. pls
SQL> @$AD_TOP/admin/ sql/adaaddls. pls
SQL> @$AD_TOP/admin/ sql/adaddlb. pls
SQL> @$AD_TOP/admin/ sql/adaaddlb. pls
Example Syntax Form
------------ -------
SQL> @$AD_TOP/admin/ sql/adaddls. pls MANAGER XXCUS XXCUS
SQL> @$AD_TOP/admin/ sql/adaaddls. pls MANAGER XXCUS XXCUS
SQL> @$AD_TOP/admin/ sql/adaddlb. pls MANAGER XXCUS XXCUS
SQL> @$AD_TOP/admin/ sql/adaaddlb. pls MANAGER XXCUS XXCUS
9. Based on the examples provided in step #5 above, you should connect to
SQL*Plus and create the appropriate grants and synonyms. Below you will
find the necessary grants and synonyms required for the sample objects
to be accessible by the Oracle Applications.
Grant Priviledges from the Customer Schema to the APPS Schema
------------ --------- --------- --------- --------- --------- -
SQL> GRANT all ON my_event_test TO apps;
SQL> GRANT execute ON ins_my_event_ test TO apps;
Create Synonyms from the APPS Schema to the Custom Schema
------------ --------- --------- --------- --------- ---------
SQL> CREATE SYNONYM my_event_test FOR xxcus.my_event_ test;
SQL> CREATE SYNONYM ins_my_event_ test FOR xxcus.ins_my_ event_test;
You may refer to the Oracle Applications Release 11 Oracle
Applications Installation manual, page A-7, or to the Oracle
SQL Reference manual.
10. You need to create a custom request group that will hold your
custom and/or standard requests within a custom responsibility.
You can do this by logging into Oracle Applications as System
Administrator and navigate:
Security --> Responsibility --> Request.
Example Custom Request Group:
------------ --------- -------
Group: XXCustom
Application: Custom Application
Code:
Description: Custom Application
11. After creating your custom request group, you need to create a
custom responsibility for your custom user/schema. You can do
this by logging into Oracle Applications as System Administrator
and navigate:
Security --> Responsibility --> Define
Example Custom Responsibility:
------------ --------- -------- +----------- ------+
------------ -----
Responsibility Name: XXCustom | Effective Dates |
Application: Custom Application +----------- ------+
Responsibility Key: From: 05-JAN-1999
Description: Custom Responsibility To:
+----------- --------- ----+ +----------- --------- ----+
| Available From | | Data Group |
+----------- --------- ----+ +----------- --------- ----+
x Oracle Application Name: Standard
Oracle Self Service Web Applications Application: Custom Application
+----------- --------- ----+
Menu: Requests Menu | Request Group |
- Other Responsibilities +----------- --------- ----+
Web Host Name: Name: XXCustom
Web Agent Name: Application: Custom Application
+----------- --------- --------- --+
| Function and Menu Exclusions |
+----------- --------- --------- --+
Type Name Description
You may refer to the Oracle Applications Release 11 System
Administrator' s Guide on page 2-9 for more information.
12. You can now register your test program as a concurrent program
under SQL*Plus execution method. Do register the program, you
need to ensure that the program is located in the $XXCUS_TOP/sql
directory. Then, as System Administrator you should do the
following steps.
a) First, you setup the executable program, which can be done by
navigating:
Concurrent --> Program --> Executable
Executable = xxcus_ins
Short Name = xxcus_ins
Application = PLSQL Test
Description = XXCUS insert into event test
Execution Method = SQL*Plus
Execution File Name = xxcus.sql
b) Second, you define the concurrent program, which can be done
by navigating:
Concurrent --> Program --> Define
Program = xxcus_ins
Short name = xxcus_ins
Application = PLSQL Test
Description = XXCUS insert into event test
Executable Name = xxcus_ins
NOTE: You should leave all other settings as they are set as defaults.
c) Third, you add the concurrent program to the concurrent
request group, which can be done by navigating:
Security --> Responsibility --> Request
Group = XXCustom
Application = Custom Application
Code =
Description = xxcus_ins
Requests Type = Program
Requests Name = xxcus_ins
Requests Application = XXCustom
You have now completed the steps on how to create and register a customer
schema in the Oracle Applications. The next section discusses how you can
create the alert in Oracle Alerts.
Create the Custom Event Alert
------------ --------- --------
This section will guide you through creating your test event alert based
on the example in the first section above.
1. You log into the Oracle Applications, choose the Alert Manager
Responsibility and then navigate:
Alert --> Define
You can create a new alert as follows:
a. You enter the appropriate general information for your alert:
Application = xxcus
Name = xxcus_event_ alert
Description = My event alert test
Type = Event
b. You enter the Event Alert Details section for your alert and
then check the "After Insert" and "After Update" boxes:
Application = XXCustom
Table = my_event_test
c. You enter the select statement, example is based on the test
components provided above:
SELECT 'Insert into my_event_test table'
INTO &V_OUTPUT1
FROM SYS.DUAL;
2. You can now click on the Action Button and create the detail action
for your event alert, by the following steps:
a. You can set the general action parameters:
Action Name = xxcus_event_ action
Action Description = xxcus event detail action
Action Level = Detail
b. You can click on action details:
At this point, you can choose an action type, like a message and
complete the message detail.
NOTE: The article assumes that the integration between Oracle
Applications and an operating system mail server is
already configured correctly.
3. You can navigate back to the main Alert Definition form, and click on
the Action Set button, which will allow you to enter a new action set.
Below is a basic example consistent with the example code in this
entry.
Seq = 1
Action Set Name = xxcus_event_ actionset
Then, you need to check the "Enabled" check box so that your event
alert is enabled to run. You should set members as follows:
Seq = 1
Action = xxcus_event_ action
Type = Action: Message
Seq = 2
Action = Exit Action Set Successfully
Type = Exit from Action Set successfully
Run and View the Custom Alert
------------ --------- --------
1. You should sign-on to the Oracle Application and navigate to the
submit Concurrent Request form.
2. You should make the request a single request, click the "OK" button,
choose the "xxcust_ins" Concurrent Manager Program and then submit
the job.
3. After submitting the Concurrent Request, you should close the
Concurrent Request form, click on "View My Requests" and check that
the request completed without error.
4. If the Concurrent Request completed without error, you should be
able to sign on to SQL*Plus and view an new row in your test table;
you should also receive an email message based on the event alert.
88 How to integrate custom applications with oracle applications? ??
Overview
--------
This article contains information on how to integrate custom Applications with the APPS schema. It is not meant to fix and/or solve all issues, but it is a good guideline. If custom Applications are not integrated properly, problems can occur with alerts, reports, requests, programs, etc...
It is recommended that you develop the custom applications code by following
the standards exactly as described in the Oracle Applications Developers Guide and the Oracle Applications User Interface Standards manual. Deviations from these standards can have unpredictable results.
Oracle Applications Release 11i is a multi-tier architecture that allows
functions to be distributed among multiple tiers of servers (desktop client,
forms server and the database server).
Procedure
---------
1. Register your custom application with the Application Object Library. It is recommended to use an XX as the preface to the custom schema short name so that it does not conflict with any future Oracle Application short names.
Log into Applications as the System Administrator and navigate to:
Application --> Register.
For example:
Application Short Name Basepath Description
------------ --------- --------- --------- --------- --------- -
Custom Application XXCUS XXCUS_TOP Custom Application
2. Create a custom directory tree for your custom schema as the APPLMGR user.
Use the basepath parameter from the Application registration for the top level directory. This top level directory will reside just under APPL_TOP. The subdirectories under the custom directory may vary depending on the server type (forms server, concurrent processing server, etc...). Make sure that the rights/protections are open for the world (rwx).
For example:
APPL_TOP (/d01/visappl)
|
XXCUS_TOP (/d01/visappl/ XXCUS/11. 5.0)--> other product
directories
|
------------ --------- --------- --------- ---------
| | | | | | | |
bin forms html lib log mesg out reports
| |
US US
3. Modify the applications environmental file (example: VIS.env) to include the custom schema basepath as the APPLMGR user.
For example:
XXCUS_TOP="/ d01/visappl/ XXCUS"
export XXCUS_TOP
4. Register the custom schema as an Oracle user.
a. Create the user in the RDBMS database using SQL*Plus under the system
account. Give the user a default and temporary tablespace with quotas and
then grant the CONNECT role.
For example:
$ sqlplus system/manager
SQL> create user XXCUS identified by CUST default tablespace USER_DATA
temporary tablespace TEMP quota unlimited on USER_DATA quota unlimited
on TEMP;
SQL> grant connect to XXCUS identified by CUST;
Note: XXCUS is the product short name, CUST is the password for the custom
schema, USER_DATA and TEMP are existing tablespaces.
b. Register the user with the Application Object Library. Log into
Applications as the System Administrator and navigate to:
Security --> ORACLE --> Register.
For example:
Database
Username Password Privilege Install Group Description
------------ --------- --------- --------- --------- --------- -
XXCUS CUST Enabled 0 Custom Application
5. Add the custom schema to a data group. Log into Applications as the System
Administrator and navigate to: Security --> ORACLE --> DataGroup.
For example:
Data Group: Standard
Description: Standard Data Group
Application Oracle ID Description
------------ --------- --------- --------- --------- --------- -
Custom Application APPS Custom Application
It is recommend that you use the STANDARD datagroup and pair the custom schema with APPS or you can add a new data group. This depends upon your own
requirements.
6. Create your custom tables, indexes, views and sequences. It is suggested
that you add WHO columns to your custom tables so that Oracle Applications can keep track of customizations.
Register your custom schema's tables (including flexfields) with the PL/SQL
package AD_DD. You use the procedure AD_DD.register_ table for the custom schema tables and AD_DD.register_ column for the custom schema table columns.
execute ad_dd.register_ table(appl short name, table name, table type,
next extent, % free, % used)
Procedures in the AD_DD Package
procedure register_table ( p_appl_short_ name in varchar2,
p_tab_name in varchar2,
p_tab_type in varchar2,
p_next_extent in number default 512,
p_pct_free in number default 10,
p_pct_used in number default 70);
procedure register_column (p_appl_short_ name in varchar2,
p_tab_name in varchar2,
p_col_name in varchar2,
p_col_seq in number,
p_col_type in varchar2,
p_col_width in number,
p_nullable in varchar2,
p_translate in varchar2,
p_precision in number default null,
p_scale in number default null);
procedure delete_table ( p_appl_short_ name in varchar2,
p_tab_name in varchar2);
procedure delete_column ( p_appl_short_ name in varchar2,
p_tab_name in varchar2,
p_col_name in varchar2);
p_appl_short_ name The application short name of the application that owns the table (usually your
custom application) .
p_tab_name The name of the table (in uppercase letters).
p_tab_type Use ̢۪T̢۪ if it is a transaction table (almost all application tables), or ̢۪S̢۪ for a
â€seed data†table (used only by Oracle Applications products).
p_pct_free The percentage of space in each of the table̢۪s blocks reserved for future updates
to the table (1–99). The sum of p_pct_free and p_pct_used must be less than 100.
p_pct_used Minimum percentage of used space in each data block of the table (1–99). The
sum of p_pct_free and p_pct_used must be less than 100.
p_col_name The name of the column (in uppercase letters).
p_col_seq The sequence number of the column in the table (the order in which the column
appears in the table definition).
p_col_type The column type (̢۪NUMBER̢۪, ̢۪VARCHAR2̢۪, ̢۪DATE̢۪, etc.).
p_col_width The column size (a number). Use 9 for DATE columns, 38 for NUMBER
columns (unless it has a specific width).
p_nullable Use ̢۪N̢۪ if the column is mandatory or ̢۪Y̢۪ if the column allows null values.
p_translate Use ̢۪Y̢۪ if the column values will be translated for an Oracle Applications
product release (used only by Oracle Applications products) or ̢۪N̢۪ if the
values are not translated (most application columns).
p_next_extent The next extent size, in kilobytes. Do not include the ̢۪K̢۪.
p_precision The total number of digits in a number.
p_scale The number of digits to the right of the decimal point in a number.
Example of Using the AD_DD Package
Here is an example of using the AD_DD package to register a flexfieldtable and its columns:
EXECUTE ad_dd.register_ table(̢۪FND̢۪, ̢۪CUST_FLEX_TEST̢۪, ̢۪T̢۪,8, 10, 90);
EXECUTE ad_dd.register_ column(̢۪FND̢۪, ̢۪CUST_FLEX_TEST̢۪,̢۪APPLICATION_ ID̢۪, 1, ̢۪NUMBER̢۪, 38, ̢۪N̢۪, ̢۪N̢۪);
EXECUTE ad_dd.register_ column(̢۪FND̢۪, ̢۪CUST_FLEX_TEST̢۪,̢۪ID_FLEX_CODE̢۪, 2, ̢۪VARCHAR2̢۪, 30, ̢۪N̢۪, ̢۪N̢۪);
EXECUTE ad_dd.register_ column(̢۪FND̢۪, ̢۪CUST_FLEX_TEST̢۪,̢۪LAST_UPDATE_ DATE̢۪, 3, ̢۪DATE̢۪, 9, ̢۪N̢۪, ̢۪N̢۪);
EXECUTE ad_dd.register_ column(̢۪FND̢۪, ̢۪CUST_FLEX_TEST̢۪,̢۪LAST_UPDATED_ BY̢۪, 4, ̢۪NUMBER̢۪, 38, ̢۪N̢۪, ̢۪N̢۪);
EXECUTE ad_dd.register_ column(̢۪FND̢۪, ̢۪CUST_FLEX_TEST̢۪,̢۪UNIQUE_ID_COLUMN̢۪, 5, ̢۪NUMBER̢۪, 38, ̢۪N̢۪, ̢۪N̢۪);
EXECUTE ad_dd.register_ column(̢۪FND̢۪, ̢۪CUST_FLEX_TEST̢۪,̢۪UNIQUE_ID_COLUMN2̢۪, 6, ̢۪NUMBER̢۪, 38, ̢۪N̢۪, ̢۪N̢۪);
EXECUTE ad_dd.register_ column(̢۪FND̢۪, ̢۪CUST_FLEX_TEST̢۪,̢۪SET_DEFINING_ COLUMN̢۪, 7, ̢۪NUMBER̢۪, 38, ̢۪N̢۪, ̢۪N̢۪);
EXECUTE ad_dd.register_ column(̢۪FND̢۪, ̢۪CUST_FLEX_TEST̢۪,̢۪SUMMARY_FLAG̢۪, 8, ̢۪VARCHAR2̢۪, 1, ̢۪N̢۪, ̢۪N̢۪);
EXECUTE ad_dd.register_ column(̢۪FND̢۪, ̢۪CUST_FLEX_TEST̢۪,̢۪ENABLED_FLAG̢۪, 9, ̢۪VARCHAR2̢۪, 1, ̢۪N̢۪, ̢۪N̢۪);
EXECUTE ad_dd.register_ column(̢۪FND̢۪, ̢۪CUST_FLEX_TEST̢۪,̢۪START_DATE_ACTIVE̢۪, 10, ̢۪DATE̢۪, 9, ̢۪N̢۪, ̢۪N̢۪);
EXECUTE ad_dd.register_ column(̢۪FND̢۪, ̢۪CUST_FLEX_TEST̢۪,̢۪END_DATE_ACTIVE̢۪, 11, ̢۪DATE̢۪, 9, ̢۪N̢۪, ̢۪N̢۪);
EXECUTE ad_dd.register_ column(̢۪FND̢۪, ̢۪CUST_FLEX_TEST̢۪,̢۪SEGMENT1̢۪, 12, ̢۪VARCHAR2̢۪, 60, ̢۪Y̢۪, ̢۪N̢۪);
EXECUTE ad_dd.register_ column(̢۪FND̢۪, ̢۪CUST_FLEX_TEST̢۪,̢۪SEGMENT2̢۪, 13, ̢۪VARCHAR2̢۪, 60, ̢۪Y̢۪, ̢۪N̢۪);
EXECUTE ad_dd.register_ column(̢۪FND̢۪, ̢۪CUST_FLEX_TEST̢۪,̢۪SEGMENT3̢۪, 14, ̢۪VARCHAR2̢۪, 60, ̢۪Y̢۪, ̢۪N̢۪);
EXECUTE ad_dd.register_ column(̢۪FND̢۪, ̢۪CUST_FLEX_TEST̢۪,̢۪SEGMENT4̢۪, 15, ̢۪VARCHAR2̢۪, 60, ̢۪Y̢۪, ̢۪N̢۪);
EXECUTE ad_dd.register_ column(̢۪FND̢۪, ̢۪CUST_FLEX_TEST̢۪,̢۪SEGMENT5̢۪, 16, ̢۪VARCHAR2̢۪, 60, ̢۪Y̢۪, ̢۪N̢۪);
For example:
$ sqlplus apps/apps
SQL> execute ad_dd.register_ table ('XXCUS', 'CUST_TABLE' , 'T',8, 10, 90)
where appl short name='XXCUS' , table name='CUST_TABLE' ,
table type='T', next extent=8, % free=10, % used=90
execute ad_dd.register_ column (appl short name, table name, column name,
column seq, column type, column width,
null, translate)
For example:
$ sqlplus apps/apps
SQL> execute ad_dd.register_ column ('XXCUS', 'CUST_TABLE' , 'CUST_NO',1,
'NUMBER',5,' N', 'N')
where appl short name='XXCUS' , table name='CUST_TABLE' ,
column name='CUST_NO' , column seq=1, column type='NUMBER' ,
column width=5, null='N', translate='N'
7. Run the custom schema against the APPS_DDL and APPS_ARRAY_DDL packages. Run the scripts $AD_TOP/admin/ sql/adaddls. pls, adaaddls.pls, adaddlb.pls and then adaaddlb.pls (in this order) under SQL*Plus:
$ sqlplus apps/apps
SQL> @$AD_TOP/admin/ sql/adaddls. pls system_pword custom_schema
custom_schema_ pword
SQL> @$AD_TOP/admin/ sql/adaaddls. pls system_pword custom_schema
custom_schema_ pword
SQL> @$AD_TOP/admin/ sql/adaddlb. pls system_pword custom_schema
custom_schema_ pword
SQL> @$AD_TOP/admin/ sql/adaaddlb. pls system_pword custom_schema
custom_schema_ pword
8. Integrate your database objects with the APPS schema by granting APPS the
access to your custom schema's objects.
a) Grant all privileges from each custom data object to APPS.
For example:
$ sqlplus xxcus/cust
SQL> grant all on CUST_TABLE to APPS
b) Create a synonym in APPS to each custom data object.
For example:
$ sqlplus apps/apps
SQL> create synonym APPS.CUST_TABLE for XXCUS.CUST_TABLE
c) Create custom code objects in APPS
For example:
$ sqlplus apps/apps
SQL> create function CUST_FUNCTION…
9. Build your custom forms, menus and libraries as the APPLMGR user. Use the
TEMPLATE form located in $AU_TOP/forms/ US directory as the required starting
point for your development work for your custom forms. Follow the form
development steps (which incorporate the development standards) that are
described in the Oracle Application Developers Guide. You will modify the form as needed, move the generated form to its proper directory, register the form with the Oracle Application Object Library and then add it to a menu.
The following examples assume you are developing on the forms server.If the
forms are being developed on a Windows client refer to Note:73880.1
a. Make a copy of the TEMPLATE form and then rename it as the APPLMGR
user.
For example:
$ cd $AU_TOP/forms/ US
$ cp TEMPLATE.frm test.frm
b. In the forms designer attach any additional libraries to your custom
form. The TEMPLATE form already has the APPCORE, APPDAYPK, FNDSQF, GLOBE
and CUSTOM libraries attached. The only Oracle Applications library that
you should modify is the CUSTOM library. All the libraries need to reside
in directory $AU_TOP/resource/ plsql and make sure that your FORM45_PATH
includes $AU_TOP/resource so that your form can find the libraries.
c. Modify the form as desired following the development standards. You
will be setting the properties of container and widget objects, creating
window layout, coding table handler, item handler, event handler and code
logic, enabling querying behavior, coding messaging, adding flexfield
logic and coding any other appropriate logic.
d. Generate the form on the forms server as the APPLMGR user. Make sure that the $FORMS45_PATH is set and that the current directory is
$AU_TOP/forms/ us.
f45gen userid=apps/ appspwd module=