Use the db2bfd command to determine the names of the packages contained in a bind file:
db2bfd -b db2look.bnd
This is a blog where I describe and share my experiences as a technical expert and as a bootstrap start-up founder with over of 20+ years of professional career
Friday, March 4, 2011
Tidbit:DB2: identify packages in a bind file
Labels:
DB2
tidbit:Oracle:identify when row was changed
Great way to identify when table row was changed (within 3 second precision):
select scn_to_timestamp(ORA_ROWSCN ) from EMP WHERE ROWNUM < 10;
select scn_to_timestamp(ORA_ROWSCN ) from EMP WHERE ROWNUM < 10;
Labels:
Oracle Internals
tidbit:Oracle:ITL Deadlock troubleshooting and analysis
How to identify ITL deadlock:
1. Pick slot number (0x40021) at the top
2. Search for it in a deadlock trace file
3. See if wait event is ITL related.
Resolution: Increase INI_TRANS on table or on index.
1. Pick slot number (0x40021) at the top
2. Search for it in a deadlock trace file
3. See if wait event is ITL related.
Resolution: Increase INI_TRANS on table or on index.
---------Blocker(s)-------- ---------Waiter(s)---------
Resource Name process session holds waits process session holds waits
TX-00040021-00001409 66 2515 X 65 1253 S
TX-0005001b-000014d8 65 1253 X 66 2515 S
Dumping one waiter:
inst: 1, sid: 2513, ser: 41
wait event: 'enq: TX - allocate ITL entry'
p1: 'name|mode'=0x54580004
p2: 'usn<<16 | slot'=0x40021
p3: 'sequence'=0x1409
row_wait_obj#: 4294967295, block#: 0, row#: 0, file# 0
min_blocked_time: 0 secs, waiter_cache_ver: 31817
Labels:
deadlock,
Oracle,
Oracle Internals,
Performance
Sunday, February 20, 2011
Books:Book about Oracle Founder Larry Ellison
This book absolutely must read! If you are DBA or start up founder - this book opens really shocking insight how business was and is made in Silicon Valley.
Have you knew that Larry Ellison was not employee #1 of Oracle?
Have you knew that Oracle put on IPO papers that it has mainframe solution while it was not even functional?
Have you knew how exectly Oracle crush the competitors and grew sales?
Read the book!
Tidbit:Oracle:Exadata:Flash Disks Information
Use below commands to get information on Exadata Cell Flash Disks
CellCLI> list celldisk where diskType = FlashDisk
FD_00_cell normal
FD_01_cell normal
FD_02_cell normal
FD_03_cell normal
CellCLI> list celldisk where diskType = FlashDisk DETAIL
name: FD_00_cell
comment:
creationTime: 2010-10-21T14:52:28-07:00
deviceName: /opt/oracle/cell11.2.2.1.0_LINUX_101005/disks/raw/FLASH01
devicePartition: /opt/oracle/cell11.2.2.1.0_LINUX_101005/disks/raw/FLASH01
diskType: FlashDisk
errorCount: 0
freeSpace: 0
id: 0000012b-d0c7-42f2-0000-000000000000
interleaving: none
lun: /opt/oracle/cell11.2.2.1.0_LINUX_101005/disks/raw/FLASH01
raidLevel: "RAID 0"
size: 496M
status: normal
name: FD_01_cell
comment:
creationTime: 2010-10-21T14:52:30-07:00
deviceName: /opt/oracle/cell11.2.2.1.0_LINUX_101005/disks/raw/FLASH02
devicePartition: /opt/oracle/cell11.2.2.1.0_LINUX_101005/disks/raw/FLASH02
diskType: FlashDisk
errorCount: 0
freeSpace: 0
id: 0000012b-d0c7-61d3-0000-000000000000
interleaving: none
lun: /opt/oracle/cell11.2.2.1.0_LINUX_101005/disks/raw/FLASH02
raidLevel: "RAID 0"
size: 496M
status: normal
name: FD_02_cell
comment:
creationTime: 2010-10-21T14:52:31-07:00
deviceName: /opt/oracle/cell11.2.2.1.0_LINUX_101005/disks/raw/FLASH03
devicePartition: /opt/oracle/cell11.2.2.1.0_LINUX_101005/disks/raw/FLASH03
diskType: FlashDisk
errorCount: 0
freeSpace: 0
id: 0000012b-d0c7-695e-0000-000000000000
interleaving: none
lun: /opt/oracle/cell11.2.2.1.0_LINUX_101005/disks/raw/FLASH03
raidLevel: "RAID 0"
size: 496M
status: normal
name: FD_03_cell
comment:
creationTime: 2010-10-21T14:52:32-07:00
deviceName: /opt/oracle/cell11.2.2.1.0_LINUX_101005/disks/raw/FLASH04
devicePartition: /opt/oracle/cell11.2.2.1.0_LINUX_101005/disks/raw/FLASH04
diskType: FlashDisk
errorCount: 0
freeSpace: 0
id: 0000012b-d0c7-6cdc-0000-000000000000
interleaving: none
lun: /opt/oracle/cell11.2.2.1.0_LINUX_101005/disks/raw/FLASH04
raidLevel: "RAID 0"
size: 496M
status: normal
CellCLI> list celldisk where diskType = FlashDisk
FD_00_cell normal
FD_01_cell normal
FD_02_cell normal
FD_03_cell normal
CellCLI> list celldisk where diskType = FlashDisk DETAIL
name: FD_00_cell
comment:
creationTime: 2010-10-21T14:52:28-07:00
deviceName: /opt/oracle/cell11.2.2.1.0_LINUX_101005/disks/raw/FLASH01
devicePartition: /opt/oracle/cell11.2.2.1.0_LINUX_101005/disks/raw/FLASH01
diskType: FlashDisk
errorCount: 0
freeSpace: 0
id: 0000012b-d0c7-42f2-0000-000000000000
interleaving: none
lun: /opt/oracle/cell11.2.2.1.0_LINUX_101005/disks/raw/FLASH01
raidLevel: "RAID 0"
size: 496M
status: normal
name: FD_01_cell
comment:
creationTime: 2010-10-21T14:52:30-07:00
deviceName: /opt/oracle/cell11.2.2.1.0_LINUX_101005/disks/raw/FLASH02
devicePartition: /opt/oracle/cell11.2.2.1.0_LINUX_101005/disks/raw/FLASH02
diskType: FlashDisk
errorCount: 0
freeSpace: 0
id: 0000012b-d0c7-61d3-0000-000000000000
interleaving: none
lun: /opt/oracle/cell11.2.2.1.0_LINUX_101005/disks/raw/FLASH02
raidLevel: "RAID 0"
size: 496M
status: normal
name: FD_02_cell
comment:
creationTime: 2010-10-21T14:52:31-07:00
deviceName: /opt/oracle/cell11.2.2.1.0_LINUX_101005/disks/raw/FLASH03
devicePartition: /opt/oracle/cell11.2.2.1.0_LINUX_101005/disks/raw/FLASH03
diskType: FlashDisk
errorCount: 0
freeSpace: 0
id: 0000012b-d0c7-695e-0000-000000000000
interleaving: none
lun: /opt/oracle/cell11.2.2.1.0_LINUX_101005/disks/raw/FLASH03
raidLevel: "RAID 0"
size: 496M
status: normal
name: FD_03_cell
comment:
creationTime: 2010-10-21T14:52:32-07:00
deviceName: /opt/oracle/cell11.2.2.1.0_LINUX_101005/disks/raw/FLASH04
devicePartition: /opt/oracle/cell11.2.2.1.0_LINUX_101005/disks/raw/FLASH04
diskType: FlashDisk
errorCount: 0
freeSpace: 0
id: 0000012b-d0c7-6cdc-0000-000000000000
interleaving: none
lun: /opt/oracle/cell11.2.2.1.0_LINUX_101005/disks/raw/FLASH04
raidLevel: "RAID 0"
size: 496M
status: normal
Labels:
Exadata,
Exadata Flash,
Oracle
Saturday, February 19, 2011
blog:design:monetization
Nice article on blog monetization:
http://www.infobarrel.com/Blogger_Template_Design_For_Monetization
And this one on ad's placement:
http://www.buzzle.com/articles/maximize-your-advertising-revenue-with-your-blog.html
http://www.infobarrel.com/Blogger_Template_Design_For_Monetization
And this one on ad's placement:
http://www.buzzle.com/articles/maximize-your-advertising-revenue-with-your-blog.html
Labels:
blog monetization,
blogging
Thursday, February 17, 2011
Books: Exadata Books Coming!
Looks like couple oracle exadata books are in cooking already!
Achieving Extreme Performance with Oracle Exadata (Osborne ORACLE Press Series)
Expert Oracle Exadata
Achieving Extreme Performance with Oracle Exadata (Osborne ORACLE Press Series)
Expert Oracle Exadata
tidbit: blog registration
Found some very nice site to register blog for search engines:
http://www.wordsinarow.com/blog-registration.html
http://www.wordsinarow.com/blog-registration.html
Labels:
blog registration
Exadata Performance Monitoring Part 1
CELLCLI LIST command can be used to monitor and monitor cell performance metrics
To receive some help on specific performance metric, use
list metricdefinition <metric_name> DETAIL
For Example:
CellCLI> list metricdefinition Io_LOAD DETAIL
name: IO_LOAD
description: "Average I/O load for hard disks"
metricType: Instantaneous
objectType: CELL
unit: Number
To display specific metric value, use:
CellCLI> LIST METRICCURRENT CL_CPUT DETAIL
name: CL_CPUT
alertState: normal
collectionTime: 2011-02-17T00:39:32-08:00
metricObjectName: cell
metricType: Instantaneous
metricValue: 30.6 %
objectType: CELL
LIST command also accepts where clause (attribute filters):
To Show all immediate non-zero performance metric values:
LIST METRICCURRENT where metricValue > 0
CD_IO_TM_R_LG CD_disk02_cell 36,321 us
CD_IO_TM_R_SM CD_disk01_cell 1,347,527 us
CD_IO_TM_R_SM CD_disk02_cell 1,151,048 us
CD_IO_TM_R_SM CD_disk03_cell 931,721 us
CD_IO_TM_R_SM CD_disk04_cell 2,286,866 us
CD_IO_TM_R_SM CD_disk05_cell 958,574 us
To show historical data, use LIST METRICHISTORY Command:
You can use metricobjectname to show specific disk and collectiontime to show specific timeframe.
Make sure to filter data as default "list metrichistory" would provide too much data to comprehend
CellCLI> list metrichistory CD_IO_RQ_W_SM where metricobjectname = CD_disk01_cell and collectiontime > '2011-02-17T00:53:01-08:00' and metricvalue > 0
CD_IO_RQ_W_SM CD_disk01_cell 350,071 IO requests 2011-02-17T00:53:19-08:00
CD_IO_RQ_W_SM CD_disk01_cell 356,091 IO requests 2011-02-17T00:54:19-08:00
CD_IO_RQ_W_SM CD_disk01_cell 358,111 IO requests 2011-02-17T00:55:19-08:00
CD_IO_RQ_W_SM CD_disk01_cell 381,131 IO requests 2011-02-17T00:56:19-08:00
CD_IO_RQ_W_SM CD_disk01_cell 454,151 IO requests 2011-02-17T00:57:19-08:00
CD_IO_RQ_W_SM CD_disk01_cell 470,171 IO requests 2011-02-17T00:58:19-08:00
CD_IO_RQ_W_SM CD_disk01_cell 640,191 IO requests 2011-02-17T00:59:20-08:00
CD_IO_RQ_W_SM CD_disk01_cell 850,211 IO requests 2011-02-17T01:00:20-08:00
To receive some help on specific performance metric, use
list metricdefinition <metric_name> DETAIL
For Example:
CellCLI> list metricdefinition Io_LOAD DETAIL
name: IO_LOAD
description: "Average I/O load for hard disks"
metricType: Instantaneous
objectType: CELL
unit: Number
To display specific metric value, use:
CellCLI> LIST METRICCURRENT CL_CPUT DETAIL
name: CL_CPUT
alertState: normal
collectionTime: 2011-02-17T00:39:32-08:00
metricObjectName: cell
metricType: Instantaneous
metricValue: 30.6 %
objectType: CELL
LIST command also accepts where clause (attribute filters):
To Show all immediate non-zero performance metric values:
LIST METRICCURRENT where metricValue > 0
CD_IO_TM_R_LG CD_disk02_cell 36,321 us
CD_IO_TM_R_SM CD_disk01_cell 1,347,527 us
CD_IO_TM_R_SM CD_disk02_cell 1,151,048 us
CD_IO_TM_R_SM CD_disk03_cell 931,721 us
CD_IO_TM_R_SM CD_disk04_cell 2,286,866 us
CD_IO_TM_R_SM CD_disk05_cell 958,574 us
To show historical data, use LIST METRICHISTORY Command:
You can use metricobjectname to show specific disk and collectiontime to show specific timeframe.
Make sure to filter data as default "list metrichistory" would provide too much data to comprehend
CellCLI> list metrichistory CD_IO_RQ_W_SM where metricobjectname = CD_disk01_cell and collectiontime > '2011-02-17T00:53:01-08:00' and metricvalue > 0
CD_IO_RQ_W_SM CD_disk01_cell 350,071 IO requests 2011-02-17T00:53:19-08:00
CD_IO_RQ_W_SM CD_disk01_cell 356,091 IO requests 2011-02-17T00:54:19-08:00
CD_IO_RQ_W_SM CD_disk01_cell 358,111 IO requests 2011-02-17T00:55:19-08:00
CD_IO_RQ_W_SM CD_disk01_cell 381,131 IO requests 2011-02-17T00:56:19-08:00
CD_IO_RQ_W_SM CD_disk01_cell 454,151 IO requests 2011-02-17T00:57:19-08:00
CD_IO_RQ_W_SM CD_disk01_cell 470,171 IO requests 2011-02-17T00:58:19-08:00
CD_IO_RQ_W_SM CD_disk01_cell 640,191 IO requests 2011-02-17T00:59:20-08:00
CD_IO_RQ_W_SM CD_disk01_cell 850,211 IO requests 2011-02-17T01:00:20-08:00
Labels:
Database Internals,
Exadata,
Oracle,
Performance
Tuesday, February 15, 2011
Blog monetization - some thoughts
Since I enabled AdSense on my blog I started to look for what monetization of the blog is. To my surprise, this is a huge industry and it is not based on generation of my money just by creation of a good content.
My "simple minded" understanding of how people earning money on blogs was that one who creates good content, brings more visitors. These visitors suppose to "produce" some clicks on AsSense; at some point this "clickng" would translate into nice check once in a while.
Not that simple - first, there is a "blogsphere war" around - some people prefer blogspot, and some rave about wordpress. Monetization gurus warn about using blogspot, as at some point, it prevents blog owner from converting his blog into "lean, mean money making machine" - which brings in question point - why to make blog to begin with? - to express yourself or to make money? If blog is done just for money - this is garbage content with no spirit and no true continuity, and this garbage will saturate search engines and will only hide good information from people who need it.
I think it should be a matter of balance - it is understandable, that people love rewards and for many monetization is not about money, but rather seeing that their work is been rewarded, may be not in direct way, but a very "real" way.
When you look around - you see tons of advertised blog software and portals that for some "small" money will post your blog information around tons of other blogs, etc. There is other software that will generate dozens (or more) blogs for you with the questionable content (from a copyright perspective) and, again, will supposedly generate money for you.
First I was quite shocked. Does this blogging bacchanalia means that normal blogger, who just writes really good and authentic stuff, has almost zero chances to be heard, unless he joins money making and content faking crowd?
I just touched this topic - may be I wrong, most probably I need to learn much more about the subject - this is quite interesting phenomena.
Overall - we need better "google", better search engines - we need TRUTH SEARCH ENGINES, We need technology that will identify truth and real, good information and will spit all the junk to where it belongs - garbage bin of search engines, not our screens
Surprisingly, I came to this conclusion and that was not my intention at the beginning when I start writing this piece (Honest!)
My "simple minded" understanding of how people earning money on blogs was that one who creates good content, brings more visitors. These visitors suppose to "produce" some clicks on AsSense; at some point this "clickng" would translate into nice check once in a while.
Not that simple - first, there is a "blogsphere war" around - some people prefer blogspot, and some rave about wordpress. Monetization gurus warn about using blogspot, as at some point, it prevents blog owner from converting his blog into "lean, mean money making machine" - which brings in question point - why to make blog to begin with? - to express yourself or to make money? If blog is done just for money - this is garbage content with no spirit and no true continuity, and this garbage will saturate search engines and will only hide good information from people who need it.
I think it should be a matter of balance - it is understandable, that people love rewards and for many monetization is not about money, but rather seeing that their work is been rewarded, may be not in direct way, but a very "real" way.
When you look around - you see tons of advertised blog software and portals that for some "small" money will post your blog information around tons of other blogs, etc. There is other software that will generate dozens (or more) blogs for you with the questionable content (from a copyright perspective) and, again, will supposedly generate money for you.
First I was quite shocked. Does this blogging bacchanalia means that normal blogger, who just writes really good and authentic stuff, has almost zero chances to be heard, unless he joins money making and content faking crowd?
I just touched this topic - may be I wrong, most probably I need to learn much more about the subject - this is quite interesting phenomena.
Overall - we need better "google", better search engines - we need TRUTH SEARCH ENGINES, We need technology that will identify truth and real, good information and will spit all the junk to where it belongs - garbage bin of search engines, not our screens
Surprisingly, I came to this conclusion and that was not my intention at the beginning when I start writing this piece (Honest!)
Labels:
blog monetization,
blogging,
money
Monday, February 7, 2011
SQLS*Plus/SQLSPlus - SQL*Plus for SQL Server
IMHO this is a very useful application:
SQLS*Plus for SQL Server (http://www.memfix.com/)
When working with SQL Server and trying to use "sqlcmd", it is always coming to mind, that Oracle SQL*Plus is the best database command line application and it would be great to have one for SQL Server - so SQLS*Plus is exactly what is needed.
SQLS*Plus for SQL Server (http://www.memfix.com/)
When working with SQL Server and trying to use "sqlcmd", it is always coming to mind, that Oracle SQL*Plus is the best database command line application and it would be great to have one for SQL Server - so SQLS*Plus is exactly what is needed.
Monday, January 3, 2011
Beware:Legal Help and Legal Fees
One of the items that technical founders underestimate and frankly do not understand, is importance of using legal help and also importance of controlling legal fees.
Not having proper agreements and legal setup at the beginning of the company existence will cause many problems going forward.
One of the simple cases: When company is founded, it is very important to set up equity vesting schedule - if you just say that 100% of equity is yours, or split it among the founders, any coming investors will request recapitalization and will re-establish proper vesting from scratch, so after years of work you may end up vesting from zero.
It is best to find legal help through trusted recommendations. Also, you need to make sure that your lawyer has specific experience and references related to work with start up companies - especially your corporate lawyer.
Lawyers like doctors - you need corporate lawyer to deal with company matters, you need IP layers to work with your patents and at some point you many need a litigators well.
Also, as a founder, make sure to retain services of your personal corporate lawyer.
Understand this very clearly - company corporate lawyer is NOT your personal corporate lawyer.
When you starting the company it may seem that way, but you need to recognize clearly - your interests are NOT the company interests. They are aligned in 99% of the cases, but the last 1% is what really matters. Matters especially when investors are being involved.
Silicon Valley is full of stories when founders are totally diluted and left with nothing while companies are sold for 100's of millions of dollars, or when companies are liquidated by investors because they thought that profitable company is progressing too slow for their portfolio.
One sensitive matter here is IP. Founders are brainwashed, that IP should be automatically assigned to the company. The question is WHY? Of course, your business partner would want this, or investors may want this too. But this is clear conflict of interests. Why to do this immediately and to create a huge personal risk exposure?
There are many better options. For example: You may lease IP to your company (for annual fee with interest) and sign agreement that you'll assign it after initial investment of over 1M or even after exit of over 5M, etc (some reasonable condition). This way, if company have to shut down, your IP is not part of the assets and can not be taken from you. Also, since company would own you some money, you'll be establish yourself as one of the creditors. This will also prevent unscrupulous investors from "sending you to cleaners"
Remember, as a technical founder your ideas and your IP is what you have and contribute from an asset perspective and you need to keep it as long as possible and to make sure to be paid for it fairly, not to surrender it just because your partner or corp lawyer says so,
Another thing - always think not just about best possible outcome, but about worst possible outcome as well and make sure to be ready for it. What would happen if your partner leaves tomorrow (for any reason) - can he just walk away with all the equity? - What would happen with the company then? (this is why you need vesting, proper vesting cliff and a right of company to purchase his shares for a very small price, etc). Overall, you need trusted qualified legal advice.
Now in regards to controlling fees - you need to control your talking, control your agenda and control / inspect your legal bills. If you planning to engage into casual conversation with your lawyer - literally - check if this is billable or now. Lawyers derive lots of their income from phone conversation - so be extremely clear, short and precise!
If you plan to engage lawyer into some kind of clearly defined activity - like asking to prepare a document, etc - always ask how long would it take, as well if he can assign this task to associate with the much lower rate.
If your lawyer is dealing with something that can be very taxing for company finance if billed by an hour, request this to be bullied as a project with the cap and in general, try to assign cap (top limit) to the project.
At the end I would like to recommend amazing book that I found after long search - would I read this book earlier, I would have saved thousand of dollars -
Taming the Lawyers: What to Expect in a Lawsuit and How to Make Sure Your Attorney Gets Results (Taking Control)
Not having proper agreements and legal setup at the beginning of the company existence will cause many problems going forward.
One of the simple cases: When company is founded, it is very important to set up equity vesting schedule - if you just say that 100% of equity is yours, or split it among the founders, any coming investors will request recapitalization and will re-establish proper vesting from scratch, so after years of work you may end up vesting from zero.
It is best to find legal help through trusted recommendations. Also, you need to make sure that your lawyer has specific experience and references related to work with start up companies - especially your corporate lawyer.
Lawyers like doctors - you need corporate lawyer to deal with company matters, you need IP layers to work with your patents and at some point you many need a litigators well.
Also, as a founder, make sure to retain services of your personal corporate lawyer.
Understand this very clearly - company corporate lawyer is NOT your personal corporate lawyer.
When you starting the company it may seem that way, but you need to recognize clearly - your interests are NOT the company interests. They are aligned in 99% of the cases, but the last 1% is what really matters. Matters especially when investors are being involved.
Silicon Valley is full of stories when founders are totally diluted and left with nothing while companies are sold for 100's of millions of dollars, or when companies are liquidated by investors because they thought that profitable company is progressing too slow for their portfolio.
One sensitive matter here is IP. Founders are brainwashed, that IP should be automatically assigned to the company. The question is WHY? Of course, your business partner would want this, or investors may want this too. But this is clear conflict of interests. Why to do this immediately and to create a huge personal risk exposure?
There are many better options. For example: You may lease IP to your company (for annual fee with interest) and sign agreement that you'll assign it after initial investment of over 1M or even after exit of over 5M, etc (some reasonable condition). This way, if company have to shut down, your IP is not part of the assets and can not be taken from you. Also, since company would own you some money, you'll be establish yourself as one of the creditors. This will also prevent unscrupulous investors from "sending you to cleaners"
Remember, as a technical founder your ideas and your IP is what you have and contribute from an asset perspective and you need to keep it as long as possible and to make sure to be paid for it fairly, not to surrender it just because your partner or corp lawyer says so,
Another thing - always think not just about best possible outcome, but about worst possible outcome as well and make sure to be ready for it. What would happen if your partner leaves tomorrow (for any reason) - can he just walk away with all the equity? - What would happen with the company then? (this is why you need vesting, proper vesting cliff and a right of company to purchase his shares for a very small price, etc). Overall, you need trusted qualified legal advice.
Now in regards to controlling fees - you need to control your talking, control your agenda and control / inspect your legal bills. If you planning to engage into casual conversation with your lawyer - literally - check if this is billable or now. Lawyers derive lots of their income from phone conversation - so be extremely clear, short and precise!
If you plan to engage lawyer into some kind of clearly defined activity - like asking to prepare a document, etc - always ask how long would it take, as well if he can assign this task to associate with the much lower rate.
If your lawyer is dealing with something that can be very taxing for company finance if billed by an hour, request this to be bullied as a project with the cap and in general, try to assign cap (top limit) to the project.
At the end I would like to recommend amazing book that I found after long search - would I read this book earlier, I would have saved thousand of dollars -
Taming the Lawyers: What to Expect in a Lawsuit and How to Make Sure Your Attorney Gets Results (Taking Control)
Subscribe to:
Posts (Atom)