Wednesday, May 5, 2010

Changing you Unix/AIX Profile to enable DB2 commands

I am writing this article with DB2 newbies in mind and to keep my own knowledge and experiences available when I want it :)


When I log in to AIX/Unix box and if I try to run DB2 command it fails with following message


"ksh: db2: not found"


This is becauase the DB2 user profile is not loaded into your shell environment. To load it automatically whenever you login, you need to edit your ".profile" file. Below are the step for the same. This is very similar to window DOS environment setup with environment variables and set path etc.


type "vi .profile" in the console window. vi editor should open up with the contents of the .profile file. After the vi is open, it's in command mode, so whatever you type it will not be visible on the screen. By chance you some some valid vi command you will see some action else nothing will be happening.


In my case here is how it looks like, just so that you know how the vi editor looks like




You can refer to below URL for vi commands. With the help of vi command you should be able to put the following text into the .profile that you have opened.


# The following three lines have been added by UDB DB2.
if [ -f /home/db2inst1/sqllib/db2profile ]; then
. /home/db2inst1/sqllib/db2profile
fi


Or you may want to just copy above line and just paste it {ESC}i and right click with a mouse(assuming the contents are in the clipboard)


After you are done with editing enter ":wq" command to save and quit the editor.


For this profile change to take effect you need to log-off and log back in. When you log back in, try db2 and it should take you to DB2 prompt.


Hope this serves some help to people who are new to DB2 and coming from windows background like I do.

Monday, October 5, 2009

Universal Database

There are hundred’s of websites that ask you to register and in the member registration screen / page they usually ask you to fill-in your residential or shipping address details like STATE and COUNTRY. If you go to any ecommerce sites like eBay or PayPal they usually ask for CURRENCY that you like to trade-in. Look at currency exchange site, so may countries are listed with CURRENCY abbreviations. Similarly if you go to sites where you buy and sell used automobiles like www.autotrader.com, there you will see automobile MAKE and MODEL listed, even these two fields are repeated in many other similar sites. These some of the examples that we can easily see over the web, but imagine about the desktop applications in every organization – its mind blowing to think how many copies of this same set of data is sitting and what it might be costing.




Anyways let’s get going, details like STATE, State abbreviations (CT, NY etc), Days (Monday, Tuesday …Sunday), TIME (00:15, 00:30….. 23:45 etc…), MONTH (Jan, Feb, Mar etc) – let me call them as generic for the purpose of writing this article. Below are the examples that I am talking about.





Examples:


DAY:

TIME:

TIMEZONES:

CURRENCY:

CAR MAKE:
**Model depends on Make
COUNTRY






What came next to my mind was, how about having Universal Database? All the above generic information stored and maintained as one single copy by some organization/ person/ entity, of course with all the disaster recovery and availability in place




How do we share this data with the world – may be via Web services or may be via

AJAX
. Create JavaScript (AJAX) functions to fill up the combo boxes; the client website will call the JavaScript function or API to fill the dropdown in his page.




Most of the time these fields are used to ensure that the end user does not make typo errors while entering his details and then the details are stored as is. However many a time the data is stored in relational model and there you need these physical (tables with generic data) table itself to generate your reports. If that is also addressed i.e. if the consumers of the generic data is given access to join with these tables with generic data that would solve the problem.




These are just my meandering – don’t take it serious. But these are near future possibilities or may be already in use who knows – at least I don’t know. However I found something interesting – www.freebase.com. This site is trying to gather/ organize all the information and is like wiki, anyone can update the database. This massive database can be queried, watch the video posted over there – it’s cool!

About Me

By profession I am a Database Administrator (DBA) with total 13 yrs. of experience in the field of Information Technology, out of that 9 yrs as SQL DBA and last 3 years in IBM System i/iSeries and DB2 LUW 9. I have handled Developer, plus production support roles, and I like both the roles. I love and live information technology hence the name "Techonologyyogi" Apart from that I am a small, retail investor, with small investments in India and United States in the form of Equity holdings via common stocks. Don't ask me if I have made money, I have been loosing money in stocks.