Thursday, September 29, 2011

How to create a lock on a DB2 table

I spent a while figuring this out (to set up a problem/resolution scenario for ITCAM) and figured I would share.

By default, DB2 has auto-commit turned ON. So any time you run a SQL statement, it's automatically followed by a COMMIT. To change this, the easy way is:

db2 +c "delete from your_table_name where your_where_clause"

Then any other application or process trying to read or write this table will have to wait until the lock is cleared before returning. So if you open another window and run 'db2 select * from your_table_name', it will just sit there.

To clear the lock, run:

db2 commit

More info is here:


Monday, September 26, 2011

Tivoli Common Reporting Security - Removing users from administrator roles

In Tivoli Common Reporting, by default, all users will have administrative privileges.  So, every user you create in TCR will have access to the Launch->Administration option and he/she can edit data sources, cancel scheduled jobs and perform various administrative tasks.   While this is great for test environments, it is absolutely not desirable for production implementations.   So, how do we turn off this major security hole?   Fortunately, there is an easy but not well-documented way.
 
1. Logon as tipadmin/tcradmin in Tivoli Common Reporting portal and select Reporting->Common Reporting
2. Click Launch->Administration
3. Goto Security Tab.
4. Select Cognos.
5. Make sure you selected, Users, Groups and Roles option in the left pane.
6. The list of roles will be listed. Go to the next page on the list. 
7. Select "System Administrators" role that is listed at the very bottom.
8. Click on the "Properties" option to edit the role settings.
9. Click on the "members" tab.
10. Click on the "Add" link to add specific users to TCR administration role.  Typically, the TCR users you created will be under VMMProvider.
11. Next select the "Everyone" group by selecting the checkbox next to it and click "Remove" link.
12. Click OK to save the changes.
13. Log out and log back in as an ordinary user. Now the "Launch->Administration" option will not appear anymore.
 
Hope this helps,
 

Tuesday, September 6, 2011

Fixing perl's CPAN on CentOS

If you are using CentOS 5.5 and trying to download perl modules with CPAN, you may come across this error:

Undefined subroutine &Compress::Zlib::gzopen called at /usr/lib/perl5/5.8.8/CPAN.pm line 5721

When working with Tivoli software, it is helpful to use virtual machines. You can save images for different app/version combinations and retrieve them when you need to develop or test something. CentOS is the open source brand for Red Hat, so it works really well when you have to install multiple VMs but don't want the hassle of tracking RHEL licenses. Sometimes you may have to modify various file contents to look more like RHEL itself, but in general CentOS does the trick.

Recently, I was attempting to write a perl script to parse XML files.  I chose to download the XML::LibXML module because it is very flexible and pretty fast. I started CPAN with:

user@system> cpan

Then I attempted the install:

user@system> install XML::LibXML

but then I got the 'Undefined subroutine...' error above. I tried running CPAN with the alternate command:

user@system> perl -MCPAN -e shell

I also tried to install other packages (such as DBD::DB2), but they generated the same error. I have been using the same CentOS 5.5 image for a couple of years, so it made sense to update the perl packages. Same error.

After some Google research, it appears that another error may have a similar cause.
(note the different package and line #):

Undefined subroutine &Compress::Zlib::gzopen called at /usr/lib/perl5/5.8.8/CPAN/Tarzip.pm line 122

It took a while to piece together this solution in steps, so hopefully this can save someone else a little time.

1. Install the yum utilities:

user@system> yum install yum-utils
(This contains the yum-complete-transaction executable, which does what its name says.  Description here.)


2. Get libxml2:

user@system> yum install libxml2-devel

user@system> yum-complete-transaction
(notice it's yum-, NOT the normal yum with a space)


3. Update software packages:

But use yum from the command line to do it instead of the built-in CentOS  'Software Updater'.  Run this:

user@system> yum check-update

It will outline all the available updates and ask if you want to execute them. Go ahead and say yes. There may be libraries in some of those packages that will be required to build perl modules. (In a single run, I had 242 installs and 242 removes, and it completed all of them. In my previous attempts to do the same thing from the Software Updater, the Package Manager would hang every time.)

user@system> yum-complete-transaction
(this will just make sure they're all done)


4. Run CPAN:

user@system> perl -MCPAN -e shell

Within CPAN, run these commands in this order:

cpan> force install Scalar::Util

cpan> force install IO::Compress::Base

cpan> force install Compress::Raw::Zlib

cpan> force install IO::Compress::Gzip

cpan> force install Compress::Zlib


after running all of these, CPAN should run just fine. Go ahead and download any perl packages you want.

Saturday, August 27, 2011

Verify the CloudBurst 2.1 Tivoli software stack

Verify the CloudBurst 2.1 Tivoli software stack:

The advantages an appliance brings with it are often achieved by complex
tasks; many times this complexity is hidden by the interface to the appliance, giving the user a limited view of the entire configuration and integration points. But a user may need to verify or re-verify the software stack when the environment changes (restoring backup images in a disaster recovery scenario), making modifications to hardware configurations (like when you add new blades) or software configurations (like when you add new networks with VLAN tagging). In this article, the author provides a quick guide to verifying the IBM CloudBurst 2.1 Tivoli software stack.

Friday, July 15, 2011

Emailing Reports in TCR

The latest version of TCR supports Report Emailing and scheduling feature. However this feature is hidden deep in the menu options and this article shows how to email your report.



  1. First make sure that you configured TCR for emailing using the tcr_cogconfig.sh or by using "Cognos Configuration" application in Windows.

  2. Now to email a report, click on "Run with Options" icon against the report. It is a green arrow icon appearing on the same row as the report name.

  3. Now click on "To specify a time to run the report, or additional formats, languages or delivery options, use advanced options" link that appears to the right.

  4. In the advanced options page, click on "Run in the background" and "Now" under Time and Mode.

  5. Choose the appropriate format such as PDF.

  6. Under Delivery, uncheck save report.

  7. Under Delivery:, check send the report by email and click on "Edit options" right next to it.

  8. In the "Set Email Options" page, set the email receipients, (separated by commas). Edit the subject and body if necessary.

  9. Ensure the "Attach the report" is clicked. Alternatively, you can send a TCR link to the receipients. Click OK.

  10. Ensure that "Prompt for values" is checked. Now click Run.

  11. Now any report parameter values will be prompted and once you entered them and click finish,

  12. Finally, click OK to confirm and now the report will be generated and emailed to the receipients.

Hope this helps.

Wednesday, June 29, 2011

Importing Custom Images in TCR Cognos Reports

If you are developing custom Cognos reports in Tivoli Common Reporting, one of the basic needs in custom reporting is to include your company logo or custom images in your reports.  This article describes steps necessary to include custom logos in your Cognos reports.
 
  1. First assemble the custom images that you need to include.  These images must be in JPG or GIF format.
  2. Copy these images to the following directory location in TCR.  Or, you can create a subdirectory under the directory below and put your images under the subdirectory.
    <installdir>/../tipv2/profiles/TIPProfile/installedApps/TIPCell/IBM Cognos 8.ear/p2pd.war/tivoli
  3. Important: Also copy the images to <installdir>/../tipv2Components/TCRComponent/cognos/webcontent/tivoli directory or any of its subdirectory.
  4. Now you can drag and drop image objects in Report Studio in your report designs.  After dropping a image object, right click on it and select "Edit Image URL". 
  5. Specify the image url as "../tivoli/mylogo.jpg" if your images are located in tivoli folder in the above example. Modify the URL to include subdirectory names in case your images are located in the subdirectory of tivoli folder in steps 2 & 3.

That's it, Happy Reporting!