Friday, December 28, 2007

Google Gears and Oracle


Eric Farrar from Sybase iAnywhere made a good movie about how you can synchronize data from your Oracle database with google gears.

Google Gears is beta software offered by Google to enable off-line access to services that normally only work on-line. It installs a database engine, based on SQLite, on the client system to locally cache the data. Google Gears-enabled pages use data from this local cache rather than from the online service. Using Google Gears, a web application may periodically synchronize the data in the local cache with the online service. If a network connection is not available, the synchronization is deferred until a network connection is established. Thus Google Gears enables web applications to work even though access to the network service is not present.

As can be expected from Google there are already some example API's you can take a look at on the google code page.



There is also a movie about the new release here below:


Thursday, December 20, 2007

Oracle XML DB

Oracle just released a paper about “Managing Complex XML Data in Oracle XML DB 11g”. As XML is becoming more and more a standard in all kind of applications Oracle likes to stretch out more of the capabilities of XML within Oracle XML DB.

The paper will go into detail about the pros and cons of XML and using Oracle to store and maintain your XML structured data within the XML DB.



APP-PO-14376 error

When trying to receive some goods you can come across the error message as shown below in text or in the screenshot above here. There are a couple of possible reasons for this error message to appear. You have entered a date that is not in a open GL (General ledger) period, also known as a accounting period. It can be that you have made a mistake by entering the date, the second is that the date is correct however the period is not yet opened.

APP-PO-14376: Please enter a GL Date within an open purchasing period.

Cause: You provided a GL date that is not within an open purchasing period.

Action: Enter a date that is within an open period.

Or use the Control Purchasing Periods window to open the period corresponding to the date you entered. If you're using encumbrance/budgetary control, also open the GL period in the Open and Close Periods window.

If the date you entered is a valid date and the period is still closed you will have to open Purchasing GL period. You can do so via the Purchasing Super User responsibility. From here go to Setup - Financials - Accounting - Open and Close periods. You will be able to open or close a GL periode. After this is done you should be able to receive goods without any error message.

Tuesday, December 18, 2007

Oracle Jserv security.maxConnections

When tuning Oracle jServ you can encounter the security.maxConnections directive in the jserv.properties settings file. security.maxConnections, indeed, sets the max number of connections that jServ can concurrently handle. It can be very tempting to set this to a very high level, this is however not a good idea. First, you have to consider if your server would be able to handle the load of a high number of concurrent connections. Secondly the effect of this setting is related to the number of file descriptors your operating system can handle.


A file descriptor is a handle created by a process when a file is opened. There is a limit to the amount of file descriptors per process. On how to set / reset the max number of file handlers is something I already described in my post file-max and semmni parameters. So when trying to upgrade the max number of connections your system can handle this is something to remember and check before you tune the settings in your jserv.properties file.

Wednesday, December 12, 2007

Oracle: Uncosted Transactions


When trying to close a inventory period you might end up having some problems due to “Uncosted Transactions”. Uncosted Transactions are an indication you still have records pending in the mtl_material_transactions table. Normally the “Cost Manager” should clear this interface table and take action upon the records in the table. It could however that this concurrent process is somehow stopped or encountered an error during runtime.

To check this you can query the concurrent requests to see if a concurrent request named “Material cost transaction worker” is running. If this is not the case you most likely have a number of records in the mtl_material_transactions table. You can use the query below to check this:


select count(1)
from mtl_material_transactions
where costed_flag in ('N', 'E')
order by creation_date;

You will have to do some cleanup work before you can restart the process. First make sure the Cost Manager is NOT running. Now you have to check if there are error records. A error record is indicated by a “e” in costed_flag, you can use the query below to check the error records. You first have to solve the root cause of the error and than restart the Costing Manager.


select request_id, error_explanation, error_code, costed_flag
from mtl_material_transactions
where costed_flag in ('E')
order by creation_date;

After you have solved all the root causes of the error records you also have to take some action on the non processed records which are identified by the letter “N” in costed_flag. You will have to run the update statement below to set all those ready to be processed again.

Update MTL_MATERIAL_TRANSACTIONS
set COSTED_FLAG = ‘N’,
set TRANSACTION_GROUP_ID = NULL
where COSTED_FLAG = ‘E’ or COSTED_FLAG = ‘N’;

After you have taken those steps you can restart the Cost Manager again. Under the Inventory responsibility navigate to Setup – Transactions – Interface Managers. You have to set the frequency of the cost manager and start the cost manager from the Tools menu with the Launch Manager option. This should solve your problems. For more information you can check on Metalink note304313.1 and 105647.1 for more information and background details.




Monday, December 10, 2007

UKOUG presentations


Pete Finnigan posted the presentation papers of the presentations he gave at the UKOUG UK Oracle User Group conference .

He gave 3 presentations.

- Oracle Security Tools.
- Oracle Forensics.
- Oracle Security Masterclass.

All of them are a good read and it is a shame if you have not been there to view it in real life. However the download can give you a good impression of what you have missed and can bring you up to speed anyway.

Update Google maps mobile

In my previous post I reported on my first steps with Google Maps Mobile on my Nokia E61i. I reported that I had to turn of my 3G network. I think this is for a part true, however this morning my train was re-routed on a different track due to some problems and I was looking into the route I was traveling without having 3G turned off. It looks like that if your travel along a GPS tower it will take this as a location point and it will skip all those UMTS towers. UMTS has precedence above GPS on the cell network. So it will depend on your location and the towers surrounding you if you will get a location or not. I still do not know if google simply did not index UMTS towers or that the 3G signal is not working with the application. However, I will be able to get my approximate position anyway I only have to turn of 3G from time to time.












Friday, December 07, 2007

Google maps mobile with GSM


A new version of google maps mobile is released and has a new option. To locate you on the map. This could already be done by GPS but now google released a version which will use the GSM cell tower you are connected to to place you on the map.

I have installed it on my Nokia E61i and in the beginning this option was not working. However it turned out that if you are using a 3G network instead of a plain old GSM network. After setting it to GSM it worked like a charm.



Tuesday, December 04, 2007

rm: Argument list too long

I found out that I made a stupid mistake in a script I am running on a Linux box, the result of this was that there was send a e-mail to my mailbox every 5 minutes so after correcting the mistake I wanted to clean the junk in my Mailbox dir by simply deleting all the messages that where out there. However when issuing the rm command the system presented my with the following error message:

-bash: /bin/rm: Argument list too long

I found a great article on moundalexis.com (http://www.moundalexis.com/archives/000035.php). The solution to the problem was simply do a find and pipe it to xargs rm

find . -name '*gingerale.dreamhost.com'| xargs rm

This solved my problem of having 30270 files in a single location and the need of removing them without to much hassle.


Oracle RAC Cluster on Linux

Oracle released a paper on how to build your own Oracle RAC Cluster on Oracle Enterprise Linux and ISCSI. The guide will help you to build your own RAC cluster for under US$2600. I however states that this is only for a testing environment and not for a production environment. The paper will go over most basic points of your hardware environment and storage solutions.

On the storage part there are some notes that go “against” the use of a standard NAS/NFS and tend to go more for a Direct NFS Client approach, Direct NFS Clients will integrate NFS directly to Oracle and by doing this Oracle will be able to control and fine-tune the I/O path between the Oracle software and the NFS server resulting in significant performance gains. In the example however will be worked with a ISCSI solution.

For the rest it will guide you step by step installing all the nodes and setting up networking and other environment parts. A great guide when you like to start with RAC in a test environment.



Monday, December 03, 2007

Receiving transaction status Pending


When receiving goods in Oracle Inventory INV the lines will be stored in the RCV_TRANSACTIONS_INTERFACE table so a concurrent process can act upon the data in the table and make the needed changes to for example the current availability. In some cases it might happen that the transaction status stays on “Pending” when the Processing Mode is “Immediate”.

In those cases you can “forward” those records by doing the following steps:

Update rcv_transactions_interface rti
set processing_mode_code ='BATCH' ,
processing_status_code = 'PENDING' ,
transaction_status_code = 'PENDING',
processing_request_id = NULL,
validation_flag = NULL
where rti.interface_transaction_id in (17583, 17584);

After you committed this update statement you have to run the “Receiving Transaction Processor” concurrent request. The reason for the lines to be stuck can be for example that rvctp was not invoked because the concurrent manager was down.


Tuesday, November 27, 2007

User experience, new desktop

User experience, more and more software companies are experiencing with new ways of showing various parts of your system.... I found a cool link to a new way of dealing with desktops and more on the smashingmagazine.com website. The Bumptop company has a great way of dealing with the desktop of the future.

BumpTop is a fresh and engaging new way to interact with your computer desktop. You can pile and toss documents like on a real desk. Break free from the rigid and mechanical style of standard point-and-click desktops. Interact by pushing, pulling and piling documents with elegant, self revealing gestures. BumpTop's stunning interface makes clever use of 3D presentation and smooth physics-based animations for an engaging, vivid user experience.

You can view a talk about Bumptop at TED.com and/or view the demo I posted below.






Google Gdrive online storage

The Wall Street Journal reported today that Google has come out with plans to provide a online storage solution. Even do we all have seen this coming for a long time it now becomes reality in, most likely, a quite short time.

The article states that you will be able to "buy" more storage on-top the standard amount of storage data you now get across your Google applications as Gmail etc etc. How it will turn out, the near future will most likely tell us. However, if Google launches this new application we can be sure it will become a success as most of the launches they have done (not counting Orkut). Most likely it will enable you to share your files with your desktop computer and most likely it will have a nice integration with Google applications so you can save the files you create here in the same pool as your regular files.

Oracle security, gain access to OS level

Via the Pete Finnigan website I came across a link to the weblog of Tanel Poder who found a security flaw in Oracle 11g.

"I was doing some low-level security research on Oracle 11g and realized that combining couple little known Oracle’s features can allow anyone with DBA or IMP_FULL_DATABASE rights run any OS command under the same privileges the Oracle processes are running. This allows an attacker to erase files from audit_file_dest or patch the Oracle binary (after setting _disable_image_check to true) or make a dedicated server process a SYSDBA one using a debugger.

I don’t rank this security issue a too critical one as exploiting it requires the attacker to already have high privileges - the BECOME USER privilege in addition to execute rights on KUPP$PROC package used by DataPump. These privileges are included in DBA and IMP_FULL_DATABASE roles by default. So in order to exploit the security flaw you would already have pretty destructive rights ( IMP_FULL_DATABASE has DROP ANY TABLE and such privs in it already )."

I do agree with Tanel Poder that you need a high security level to exploit this security flaw however I do not feel this is a minor security flaw because of this fact. I personally consider every security flaw a big issue and never a minor one. Even do you will need a high security level and trust level within a company it can be a big risk when a unprivileged person can gain access to a security level he or she is not entitled to. I am afraid Oracle corporation will have the same feeling as Tanel Poder and will rank this minor the same as was done with the Oracle applications password and Oracle iStore security flaw I mentioned to oracle.

Oracle and Python

Oracle published today a introduction paper to Oracle and Python in combination with TurboGears. Python is a dynamic object-oriented programming language that can be used for many kinds of software development. It offers strong support for integration with other languages and tools, comes with extensive standard libraries, and can be learned in a few days. Many Python programmers report substantial productivity gains and feel the language encourages the development of higher quality, more maintainable code.

TurboGears can be seen as a development platform for database driven Python web applications and it includes the best practice code peaces which can be reused in a quick and easy way by a developer who is building a webapp with this platform. So now Oracle is adding best practice python code to this project so it will be easy for a developer to connect it to a oracle database. Also some great AJAX code can be found in TurboGears ready for you to use without writing to much code yourself.

If you like to have a quick introduction to TurboGears you view a very good video tutorial on the TurboGears website.

Monday, November 26, 2007

Oracle Keynotes at Oracle OpenWorld

Oracle keynotes given on the Oracle OpenWorld 2007 conference by Larry Ellison, Safra Catz, Hector de J. Ruiz, Charles Phillips, Mark Hurd, Andy Mendelsohn, Paul S. Otellini, Thomas Kurian, Ed Abbo, Jonathan Schwartz and Michael Dell can be found on the oracle website as MP3 and video format.

Thursday, November 22, 2007

file-max and semmni parameters

During installation of Oracle Application server on a fresh RedHat Linux server we encountered the problems as shown below.

Checking for hardnofiles=1024; found hardnofiles=1024. Passed

Checking for VERSION=2.6.9-11.EL; found VERSION=2.6.9-55.ELsmp. Passed
Checking for file-max=206173; found file-max=16384. Failed <<<<
Checking for semmsl=256; found semmsl=522. Passed
Checking for semmni=142; found semmni=128. Failed <<<<
Checking for msgmax=8192; found msgmax=8192. Passed
Checking for shmmni=4096; found shmmni=4096. Passed
Checking for softnofiles=1024; found softnofiles=1024. Passed
Check complete. The overall result of this check is: Failed <<<<
Problem: The security parameters in the kernel do not meet the minimum requirements (see above).
Recommendation: Perform operating system specific instructions to update the kernel parameters, namely BIT_SIZE and noexec_user_stack.
=======================================================================

Checking for file-max=206173; found file-max=16384. Failed <<<<
This number indicates the maximum number of files normal users (i.e. non-root) can have open in a single session. Note that for the root user, ulimit -n will sometimes output 1024 even after following the procedure to increase the maximum number of open files. This won't effect root's ability to open large numbers of files, as only normal users are bound by this value. To check the current active setting execute the following command:

#cat /proc/sys/fs/file-max

If this is not what you desire, you want it for example set to 206173 you can execute the following command to make it active on-the-fly:

#echo 206173 > /proc/sys/fs/file-max

The downside of this is that the next time you have to reboot your system you will loose the new settings. To make sure that during the next boot your system will have those settings you have to edit the /etc/sysctl.conf file. In this file you have to make sure that the file-max line reads:

fs.file-max = 206173


Checking for semmni=142; found semmni=128. Failed <<<<
The semmni parameter defines the maximum number of semaphore sets in the entire Linux system. You can check the current setting of the semmni parameter by executing the following command:

ipcs -ls

Or you can do a cat /proc/sys/kernel/sem which will give you also the requested information even do it will be in a less user vriendly way. To set new settings on-the-fly you can set them by executing the following command:

#echo 256 32000 100 142 > /proc/sys/kernel/sem

However, to set the new settings permanalty you will have to change the kernel.sem settings in /etc/sysctl.conf so it will be used during a reboot.

Tuesday, November 20, 2007

ORA-00020

“Oracle error: ORA-00020: maximum number of processes exceeded”

This error messages indicates that the max number of processes set by the processes parameter is reached. You can check the number of processes in a Oracle database by executing the following SQL query:

select count(1) from v$process

This will return you the current number of processes, to check the maximum number of processes you will have to check the parameter set by executing the following command:

SHOW PARAMETERS WHERE NAME = 'processes'

If you feel that this number is to low you will have to change it which can be done by executing the following command:

alter system set PROCESSES=600 scope=SPFILE;

600 is the new value of the processes parameter. For more information about the alter system options and alike check this website.








Monday, November 19, 2007

ZOHO online database

ZOHO, very web2.0. A online database application builder which might be a little inspired by Oracle Application Express. It looks very nice and can be fun to play with. However if you are thinking about a more serious way of maintaining your data and creating an application you might consider a different approach. Even do, applause for the developers of ZOHO, they have done a very good job in creating a very very nice online application.

Promotional goods in Oracle QP

Companies using Oracle E–business suite can request to have a promotional goods for a defined period of time. Meaning if you buy product A you will get product B as a free promotional item.

In this example we will setup E-business suite in a way that if you buy product “Nokia-E61i” you will get 1 “Nokia-E61i-headset” for free even do the Nokia-E61i will have a list price of 25 euro’s on the pricelist.

First step is to create both items in the item master and assign them to one or more transaction organizations. After that we will create a price for both items on the appropriate pricelist.


Now we will create a new Modifier for the promotional goods with the type Promotion. On the modifiers summary we create a line with the modifier type Promotional Goods in combination with a start-date and a end-date to make sure that the promotion action will end on the correct day. Also set the Automatic flag on line level and header level and make sure you set “Product Attribute” and “Product Attribute Value” as shown in the screenhot.

Now we have to add the promotional item, the headset which you will get for free when you order the main item, the phone. By clicking on the “Define Details” button you will get the screen where you can add the Get product. Besides the Item we also will define that the Application Method is “new price” and the associated value is 0 meaning that a new price will be set to the price 0.

With all this set, when we enter a order for item “Nokia-E61i” a order line for 1 EA “Nokia-E61i-headset” for price 0 will be added automatically to the order.

Thursday, November 15, 2007

Oracle VM release


Oracle has released 3 new products , Oracle VM Manager, Oracle VM Server and Oracle VM Agent. Oracle VM suite will be responsible for the virtualization Oracle has in mind. Before we could already make use of some virtualization platforms like VMware and the opensource Xen and now Oracle is here with its own virtualization platform Oracle VM. Oracle VM is consisting of Xen's open source server software and an integrated Web browser-based management console, Oracle VM provides an easy-to-use graphical interface for creating and managing virtual server pools, running on x86 and x86-64-based systems, across an enterprise.

It will be capable of running Windows, Linux and Solaris inside virtual machines which will be running on top of the Oracle VM operating system or Management Operating System as oracle likes to call it. You can see a quick overview of this in the picture below.

Oracle is working together with a number of partners to make this new Oracle VM approach a success, they team-up with AMD, Dell, Emulex, HP, Liquid Computing, NetApp, Pillar Data Systems and QLogic.

Personally I find the partnership on this project with NetApp interesting as the ESX solution from VMware was not proving a satisfying result with the combination Oracle NetApp.

Currently we are allocating hardware to start a test environment for the new Oracle VM products to test them and try them.


Oracle Webcache error.

Currently we are running Oracle Application Server 10g (10.1.2.0.2) with Oracle HTTP Server / OracleAS Web-Cache 10g (10.1.2.0.2) at some of the servers running a high traffic website. For some time we have had the following error message shown in the clients web browsers at random times:

------------------------------------------------------
Illegal Characters in Request/Response

The security gateway refused to process and retrieve the URL you requested because of a protocol violation:

The security gateway saw the request/response:
HTTP/1.1 200 OK Date: Tue, 13 Nov 2007 14:41:56 GMT Server: Oracle-Application-Server-10g/10.1.2.0.2 Oracle-HTTP-Server OracleAS-Web-Cache-10g/10.1.2.0.2 (H;max-age=214741422+0;age=66556;ecid=1194964916: 10.32.4.3:8357:0:5777b\37777777613\001 ) Cache-Control: private Content-Type: text/html Content-Encoding: gzip Content-Length: 3497 X-Pad: avoid browser bug X-Cache: MISS from amssys02.dmz-out.smartapps.nl Keep-Alive: timeout=15, max=100 Connection: Keep-Alive \037\37777777613\010

This kind of protocol violation is denied in order to protect Web clients/servers from attacks that include control and other non-printable characters. It is also denied to ensure that only HTTP traffic is passed by the HTTP proxy, thus ensuring the integrity of your site's security policy.

If you believe that this request should have been allowed, contact the Web site administrator and request that their application be modified to be HTTP compliant.
------------------------------------------------------

After some research we found that the “server” header from the response from the webserver contained the illegal characters mentioned. Below we see a header that is passed correctly to the client without being refused by the security gateway. At the end of the “server” string we can see the following text 2136out.smarÇTÄ)” This text is changing every time you request the page. Meaning that in some cases the characters are not compliant to the characters that are agreed on in the RFC.

------------------------------------------------------
GET / HTTP/1.1
Host: www.thetasteoflife.nl
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.9) Gecko/20071025

Firefox/2.0.0.9
Accept:

text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;

q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Cookie: __utma=83643603.296507212.1191756626.1195044105.1195049174.28; __utmz=83643603.1193130261.16.3.utmccn=(referral)|utmcsr=miele.nl|utmcct=/apps/vg/nl/miele/Miele001.nsf/LookUpPage/Homepage|utmcmd=referral; __utmc=83643603; __utmb=83643603

HTTP/1.1 200 OK
Date: Wed, 14 Nov 2007 14:09:42 GMT
Server: Oracle-Application-Server-10g/10.1.2.0.2 Oracle-HTTP-Server

OracleAS-Web-Cache-10g/10.1.2.0.2

(H;max-age=214748349+0;age=157949;ecid=1195049382:10.32.4.3:8408:0:2136out.smarÇTÄ)
Cache-Control: private
Content-Type: text/html
Content-Encoding: gzip
Content-Length: 1701
X-Cache: MISS from amssys02.dmz-out.smartapps.nl
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
------------------------------------------------------

If this is the case and some of the “random” characters are not in the character map agreed upon in the RFC the security gateway will close the connection and the client will get the following http header error (Illegal Character in Response Header):

------------------------------------------------------
GET / HTTP/1.1
Host: www.thetasteoflife.nl
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.9) Gecko/20071025

Firefox/2.0.0.9
Accept:

text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;

q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Cookie: __utma=83643603.296507212.1191756626.1194798880.1195044105.27; __utmz=83643603.1193130261.16.3.utmccn=(referral)|utmcsr=miele.nl|utmcct=/apps/vg/nl/miele/Miele001.nsf/LookUpPage/Homepage|utmcmd=referral;__utmc=83643603

HTTP/1.x 400 Illegal Character in Response Header
MIME-Version: 1.0
Date: Wed, 14 Nov 2007 13:58:49 GMT
Connection: close
Content-Type: text/html
------------------------------------------------------

This will result in the error page in the browser on the client side. Meaning as long as the random chars are not hitting “faulty” characters the website is shown correct, if not the client is showing a error page. To prevent this the “server” header in the response headers needed to be modified. To do so in Oracle Web Cache you need to modify the webcache settings in the webcache.xml configuration file and restart webcache. Change the string:

<debuginfo header="YES" eventlog="NO" htmlcomment="NO" switchstring="+wcdebug">

To:

<debuginfo header="NO" eventlog="NO" htmlcomment="NO" switchstring="+wcdebug">

After that, restart webcache and your “server” response header will look clean and will not have “random” chars in it which can create the error.

“Oracle-Application-Server-10g/10.1.2.0.2 Oracle-HTTP-Server OracleAS-Web-Cache-10g/10.1.2.0.2”




Powerpoint online


Web2.0 is all about sharing and user generated content online. Some web2.0 initiatives are great for sharing your pictures online, placing them on a "google" map and give the rest of the world the option to look at places via your pictures. Also web2.0 have brought us the possibility to work online in word like applications and now we have some sort of powerpoint online in the form of ShowBeyond, a place where can you create and share slideshows online. A great online app which, if it starts to pick up speed can become a great tool.

Sunday, November 11, 2007

SQL Server 2005 Driver for PHP

Microsoft has released a driver for php to connect to MS SQL server. There where already ways if doing this but now there is a new kid on the block written by Microsoft itself.

The SQL Server Driver for PHP Community Technology Preview (CTP) is designed to enable reliable, scalable integration with SQL Server for PHP applications deployed on the Windows platform. The Driver for PHP is a PHP 5 extension that allows the reading and writing of SQL Server data from within PHP scripts. It provides a procedural interface for accessing data in all Editions of SQL Server 2005 and SQL Server 2000 (including Express Edition), and makes use of PHP features, including PHP streams to read and write large objects.

MSDN channel 9 is running a video interview with some of the developers which you can view here below. You can find out more about the driver itself here

removed the embedded video because wmv embedding is not working for all platforms and browser equally right. You can view the video via this link

Saturday, November 10, 2007

Getting ahead of Web 2.0

Paul Pedrazzi, the founder of AppsLab, on connecting employees and getting the job done:
"Ten years ago, employees used tools and services that employers installed for them to get their jobs done. Today, they still use what they are given, but many are downloading and installing non approved applications or signing up for outside services. The reason: corporations aren't keeping up with the Web 2.0 technologies that can help employees get their jobs done more quickly. The result: employers have less control than they did in the past, but even more important, they're not creating a culture of employee loyalty and satisfaction.
Employees are trying to get their jobs done within the organization, and they don't hav the tools they need. Either the tool don;t exist, they can't be found, or in some cases they are just not usable enough. Whatever the reason, employees feel stuck, explains Paul Pedrazzi, the founder of Oracle's AppsLab. So they're saying 'I need to get this job done. I'm going to use this tool or services that is available, and I'm going to get my job done.' Employees are not doing it to be mailcious or break IT rules, or to be hip with Web 2.0. They're doing it because they want to be more productive. I think that's the perspective that executives should have"
From Oracle Profit magazine november 2007

I do agree with Paul at some points, however I feel that some people do use tools and services to be hip and I feel that we have to very aware not to create applications on a Web 2.0 platform because it it a Web 2.0 Platform. However, looking at the new product range of Oracle we can find some tools that are inspired by talks like this inside Oracle. If we look at Oracle Business Intelligence Standard One for example. This gives users a wide variety of tools to create reports and services and share them with others on a life dataset. I have been playing around with it now for some time and I personally think it is a great tool on a Web 2.0 platform.

Thursday, November 08, 2007

RedHat Linux disk partitions

After installing a RedHat Linux server from a kickstart script and having a larger disk in your server than normally there can be some space left on the disk that is not allocated into a partition.

First thing you have to do is to determine if this is the case. First thing to do is to find out what is mounted and how the current setup is done.

You can use the df command for this:

[root@amssys04 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sdb2 3.0G 2.2G 650M 78% /
/dev/sda1 99M 9.2M 85M 10% /boot
none 1.5G 0 1.5G 0% /dev/shm
/dev/sdb1 4.0G 41M 3.7G 2% /oebs/oemagent
/dev/sda3 2.0G 36M 1.9G 2% /tmp
/dev/sda5 494M 69M 400M 15% /var

If you do a little math you can find out if all the space is mounted to your filesystem or not. If this is not the case there are several possibilities. (A) there is a partition created but not mounted or (B)there is no partition created and you have to create the partition before you can mount this to your filesystem. For this example we go for situation B.

You can check your partition settings by using the fdisk tool available from your prompt. We do fdisk /dev/sda because we like to view the partition settings of the /dev/sda disk.

[root@amssys04 ~]# fdisk /dev/sda

The number of cylinders for this disk is set to 19457.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)

Command (m for help):

M will print some more information for you. We would like to view what is assigned or not so we take the p command to print the settings to the screen.

Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 535 4192965 82 Linux swap
/dev/sda3 536 796 2096482+ 83 Linux
/dev/sda4 797 19457 149894482+ 5 Extended
/dev/sda5 797 861 522081 83 Linux


From this information we can see that there is space between 861 and 19457. By using the n command you will be guided into creating a new partition. You will be asked to enter the first and the last sector where you like to create your new partition. When this is done you write the changes to the system by the w command. A kernel reboot is needed to pick the changes up. You will now have a /dev/sda6 partition which is at this moment still useless.

First we have to format the new partition by executing the following command:
/sbin/mkfs -t ext3 /dev/hda6

When formating is done we have to label the partition by using the following command:
e2label /dev/hda6 /as


Now we like to mount this new partition to the filesystem. First we have to create a directory a mount point and then add it to fstab by editing /etc/fstab

cd /
mkdir sa


And add the following line to /etc/fstab
LABEL=/as /as ext3 defaults 1 2

Finaly mount it to your filesystem by executing:
mount /as


Oracle Application Modules List


Oracle has a large number of modules you can use both having a shortname and longname. Knowing those shortnames can make working on a Oracle E-business suite database a lot more fun as you know what prefix is used for which module. Are you looking at a Advanced Pricing table or a Order Management table.

You can find the current list below:

ABM - Activity Based Management (Obsolete)
AD - s DBA
AHL - Complex Maintenance Repair and Overhaul
AHM - Hosting Manager(Obsolete)
AK - Common Modules-AK
ALR - Alert
AME - Approvals Management
AMF - Fulfillment Services (Obsolete)
AMS - Marketing
AMV - Marketing Encyclopedia System
AMW - Internal Controls Manager
AN - Sales Analysis
AP - Payables
AR - Receivables
AS - Sales Foundation
ASF - Sales Online
ASG - CRM Gateway for Mobile Devices
ASL - Sales Offline
ASN - Sales
ASO - Order Capture
ASP - Oracle Sales for Handhelds
AST - TeleSales
AU - Utilities
AX - Global Accounting Engine
AZ - Implementation
BEN - Advanced Benefits
BIC - Customer Intelligence (obsolete)
BIE - eCommerce Intelligence
BIL - Sales Intelligence
BIM - Marketing Intelligence
BIN - Communications Intelligence
BIS - s BIS
BIV - Service Intelligence
BIX - Interaction Center Intelligence
BIY - Systems Intelligence
BLC - Utility Billing
BNE - Web s Desktop Integrator
BOM - Bills of Material
BSC - Balanced Scorecard
CCT - Telephony Manager
CDR - Oracle Clinical Data Repository
CE - Cash Management
CHV - Supplier Scheduling
CLA - APAC Consulting Localizations
CLE - EMEA Consulting Localizations
CLJ - Japan Consulting Localizations
CLL - LAD Consulting Localizations
CLN - Supply Chain Trading Connector for RosettaNet
CN - Incentive Compensation
CPGC - CPG - CDOA
CRP - Capacity
CS - Service
CSC - Customer Care
CSD - Depot Repair
CSE - Asset Tracking
CSF - Field Service
CSI - Install Base
CSL - Field Service/Laptop
CSM - Field Service/Palm
CSN - Call Center
CSP - Spares Management
CSR - Scheduler
CSS - Support (obsolete)
CST - Cost Management
CTB - Clinical Transaction Base
CUA - Capital Resource Logistics - Assets
CUC - Revenue Accounting
CUE - Billing Connect (obsolete)
CUF - Capital Resource Logistics - Financials
CUG - Citizen Interaction Center
CUI - Network Logistics - Inventory
CUN - Network Logistics - NATS (obsolete)
CUP - Network Logistics - Purchasing
CUR - Mass Market Receivables for Comms
CUS - Network Logistics
CZ - Configurator
DDD - CADView-3D
DEM01 - Team 01 Order Entry Demo
DNA - Development
DOM - Document Managment and Collaboration
DT - DateTrack
DUMMY_GMO - Obsolete Process Operations
EAA - SEM Exchange (obsolete)
EAM - Enterprise Asset Management
EC - e-Commerce Gateway
ECX - XML Gateway
EDR - E-Records
EGO - Advanced Product Catalog
EMS - Environment Management System
ENG - Engineering
ENI - Product Intelligence
EVM - Value Based Management
FEM - Enterprise Performance Foundation
FF - FastFormula
FII - Financial Intelligence
FLM - Flow Manufacturing
FND - Object Library
FPA - Project Portfolio Analysis
FPT - Banking Center (obsolete)
FRM - Report Manager
FTE - Transportation Execution
FTP - Transfer Pricing
FUN - Financials Common Modules
FV - Federal Financials
GCS - Financial Consolidation Hub
GHR - US Federal Human Resources
GL - General Ledger
GMA - Process Manufacturing Systems
GMD - Process Manufacturing Product Development
GME - Process Manufacturing Process Execution
GMF - Process Manufacturing Financials
GMI - Process Manufacturing Inventory
GML - Process Manufacturing Logistics
GMO - Process Operations
GMP - Process Manufacturing Process Planning
GMS - Grants Accounting
GMW - Process Manufacturing Portal
GNI - Genealogy Intelligence
GR - Process Manufacturing Regulatory Management
HCA - Healthcare
HCC - iHCConnect
HCN - iHCIntegrate
HCP - Healthcare Intelligence
HCT - Healthcare Terminology Server
HRI - Human Resources Intelligence
HXC - Time and Labor Engine
HXT - Time and Labor
IA - iAssets
IAM - Digital Asset Management
IBA - iMarketing (Obsolete)
IBC - Content Manager
IBE - iStore
IBP - Bill Presentment & Payment
IBT - iAuction
IBU - iSupport
IBW - Oracle Web Analytics
IBY - Payments
ICX - Oracle iProcurement
IEB - Interaction Blending
IEC - Advanced Outbound Telephony
IEM - Email Center
IEO - Interaction Center Technology
IEP - Predictive
IES - Scripting
IET - Call Center Connectors
IEU - Universal Work Queue
IEV - IVR Integrator
IEX - Collections
IGC - Contract Commitment
IGF - Financial Aid
IGI - Public Sector Financials International
IGS - Student System
IGW - Grants Proposal
IMC - Customers Online
IMT - iMeeting (obsolete)
INV - Inventory
IPA - Capital Resource Logistics - Projects
IPD - Product Development (obsolete)
IPM - Oracle Imaging Process Management
IRC - iRecruitment
ISC - Supply Chain Intelligence
ISX - iSettlement
ITA - Information Technology Audit
ITG - Internet Procurement Enterprise Connector
JA - Asia/Pacific Localizations
JE - European Localizations
JG - Regional Localizations
JL - Latin America Localizations
JMF - Supply Chain Localizations
JTF - CRM Foundation
JTM - Mobile Foundation
JTS - CRM Self Service Administration
LNS - Loans
ME - Controlled Availability Product(Obsolete)
MFG - Manufacturing
MIA - Mobile s for Inventory Management
MIV - Media Interactive
MQA - Mobile Quality s
MRP - Master Scheduling/MRP
MSC - Advanced Supply Chain Planning
MSD - Demand Planning
MSO - Constraint Based Optimization
MSR - Inventory Optimization
MST - Transportation Planning
MWA - Mobile s
OAM - Oracle s Manager
ODQ - Data Query
OE - Order Entry
OFA - Assets
OKB - Contracts for Subscriptions (Obsolete)
OKC - Contracts Core
OKC_REP_TXT_INDEX_OPTIMIZE - Optimize Contracts Repository Text index
OKC_REP_TXT_INDEX_SYNC - Build/syncronize Contracts Repository Text index
OKE - Project Contracts
OKI - Contracts Intelligence
OKL - Lease Management
OKO - Contracts for Sales (Obsolete)
OKP - Contracts for Procurement (Obsolete)
OKR - Contracts for Rights (Obsolete)
OKS - Service Contracts
OKT - Royalty Management
OKX - Contracts Integration
ONT - Order Management
OPI - Operations Intelligence
OTA - Learning Management
OUC - University Curriculum
OZF - Trade Management
OZP - Trade Planning (Obsolete)
OZS - iClaims (Obsolete)
PA - Projects
PAY - Payroll
PBR - Budgeting and Planning
PER - Human Resources
PFT - Oracle Profitability Manager
PJI - Project Intelligence
PJM - Project Manufacturing
PMI - Process Manufacturing Intelligence
PN - Property Manager
PO - Purchasing
POA - Purchasing Intelligence
POM - Exchange
PON - Sourcing
POS - iSupplier Portal
PQH - Public Sector HR
PQP - Public Sector Payroll
PRP - Proposals
PSA - Public Sector Financials
PSB - Public Sector Budgeting
PSP - Labor Distribution
PSR - Public Sector Receivables
PTX - Patch Tracking System
PV - Partner Management
QA - Quality
QOT - Quoting
QP - Advanced Pricing
QRM - Risk Management
RCM - Regulatory Capital Manager (obsolete)
RG - Report Generator
RHX - Advanced Planning Foundation(obsolete)
RLA - Release Management Integration Kit (Obsolete)
RLM - Release Management
RMG - Risk Manager
RRC - Retail Core
RRS - Site Management
SHT - s Shared Technology
SSP - SSP
SYSADMIN - System Administration
TEST - test
VEA - Automotive
VEH - Automotive Integration Kit (Obsolete)
WIP - Work in Process
WMA - Manufacturing Mobile s
WMS - Warehouse Management
WPS - Manufacturing Scheduling
WSH - Shipping Execution
WSM - Shop Floor Management
XDO - XML Publisher
XDP - Provisioning
XLA - Subledger Accounting
XLE - Legal Entity Configurator
XNA - Service Assurance for Communications
XNB - Oracle Telecommunications Billing Integrator
XNC - Sales for Communications (Obsolete)
XNI - Install Base Intelligence (Obsolete)
XNM - Marketing for Communications (Obsolete)
XNP - Number Portability
XNS - Service for Communications (obsolete)
XNT - TeleBusiness for Telecom/Utilities
XTR - Treasury
ZFA - Financial Analyzer
ZPB - Enterprise Planning and Budgeting
ZSA - Sales Analyzer
ZX - E-Business Tax