October 7, 2009

With Linux, when issuing command like crontab-e or crontab -l, in some case it is beneficial for us if we had known their location.

well I tell just directly, they are located in /var/spool/cron

those “crontab” files in /etc/cron* aren’t what I was looking for (it is not the same file as crontab -e)

In my case, my environment OS is under a VM machine and somehow, I don’t know why yet, each time I issued crontab -l or crontab -e the CPU usage will go to 100% in 3 minutes right from a fresh boot. I’ve tried to vi the file, but cpu becoming gradually unresponsive.. also, I’ve tried to replace the file via FTP. It still can’t be changed altough the file permission is 600 (I’m as root).

So,

1. I cat the file (the filename is the same as the user who created the file)

2. make a new file named root2, which I changed the content according to my needs

When you run concurrent program,the program never complete with status pending or stand by. And it is the non ordinary situation in your oracle EBS.

First you must check in Administer Concurrent Program, the value of Internal Manager and Standard Manager.
If the actual of Standard Manager or Internal Manager =0, it’s mean something problem with your Concurrent Manager. You can chek in the log file why this happen. The log file location is in $COMMON_TOP/admin/log.

To Solve this problem you must restart concurrent program manager with adcmctl.sh script. The location of this script is in $COMMON_TOP/admin/scripts.
1. Shutdwon the concurrent manager with this command:
sh adcmctl.sh stop apps/appspswd
2. Make sure all service in Administer Concurrent Program is off.
In oracle form you can check ini Administer Concurrent Program Menu.
In server you can check LIBR process, that you have to kill.
3. After all service shutdown, you can start concurrent manager with this command:
sh adcmctl.sh stop apps/appspswd

After restart concurrent manager, you can check with run a concurrent program until completed normal. Or you can check the value of Standard Manager pending request must be turn down until 0.

OBA (Oracle Business Accelerator) is a relatively new product from Oracle Corp. It aim to boost up the setup process time of Oracle Applications via online questionnaire within a timeframe called Project Work Space (PWS). Once all question is submitted, then you can download the Setup Configuration Tool from Oracle Application that connect directly, wth the authetication system using approved CSI number, etc.

After you download the file, then you must continue the automated setup process. During the setup process, this tool will warn user about setup that need to be fixed, and you can choose to fix or to skip it. This process relatively take some workingdays. Once the automated Setup Configuration Tool is finished, the tools will provide you links about statistics in hours & minutes; what happened during the process; Errorred process; setup that you need to investigate and check again or setup that failed and need manual setup.

One of the error during running the config tool is s_display value in $CONTEXT_FILE doesn’t match the vnc or xmanager display value.
Once corrected, you’ll be told to run AUTOCONFIG and resume the Setup Configuration Tool. This error cannot be skipped as the Setup Config Tool will prompt you the same error message each time you resuming.

I checked inside the context file (Application context file, NOT the Database context file since display should have nothing related with the database). The value of s_display is already correct =[hostname]:1.0 ( Read metalink note 467549.1 ) the hostname is the server’s IP address.

You could do the trick using a broadcast and Xstart (from Xmanager) or from VNCviewer these application type is different from application like putty, WinSCP or secureCRT. Using Putty for example, when you close the window, your session is “over” in the server, but using VNCviewer, eventhough you have shutdown your PC, then if you login again, your server session is still “alive” unless you have issued command such as logout or reboot.

The trick is simple, using VNC viewer, open a terminal then login using root. type :

$ export DISPLAY=[your_server_hostname]:1.0

$ xhost +

or

$ xclock

if the clock is displayed then you have done right, just shutdown apps services, run autoconfig and resume the Configuration Setup Tool.

note : to detemine your_server_hostname value, just type hostname in the terminal, the result is what should be set as s_display environment variable value in the $CONTEXT_FILE.

September 9, 2009

We often have to scan very large tables to produce simple, aggregated reports. A table could be several million rows in size. There is nothing we can do about having to read the table, but overheads associated with joining to other “description” tables can be substantially reduced. For example:

This statement will return the correct result and in a fairly efficient manner. If the EMP_HISTORY table is 5 million rows, the optimizer has to join both the HIST_TYPE and EMP tables 5 million times to finally return only a few hundred aggregated rows. On top of that, the descriptive columns are included in the output data set that then needs to be written to the temporary tablespace, sorted and aggregated. What can be done? Here is a suggestion:

The real beauty of this particular approach is that the lookup procedure calls happen only after the EMP_HISTORY table has been scanned and sorted. Only a few hundred, rather than a few million, lookups need to be executed. The amount of data written to the temporary tablespace and sorted is also substantially reduced. When all else fails and sheer table size is your worst enemy, try coding a few well placed inline functions.

Note: Inline SQL functions are not the answer to all problems and should be used carefully. If performance is being affected, investigate database views or stored procedures using PL/SQL cursor variables.

Then if you look how these user are defined from System Administrator responsibility (N) > Security > User > Define, they don’t have employee yet (I mean those fields in the upper right : Person, Customer,Supplier,E-mail,Fax) by default you should enter them in order to assign a user to an employee or position e.g. (for approval hierarchies,etc)

This is must be done by setup per module (Order Management, Purchasing, etc), but beforehand you must assign value to a system profile in responsibility level. This profile name is HR:User Type set its value to any value in the LOV, it is must not empty.

After you saved this profile, you can setup employee in each module and then you can use your employee setup assigned to application user, just put the employee in the Person, Customer, etc fields (via System Administrator — Define User)

When you encounter this problem, restarting the vncserver service only wouldn’t solve the problem, or if you haven’t know the way vncviewer works, you try as I’ve try, installing (fresh) vnc viewer in another PC the vncviewer display the same behaviour.