IBM Support

Uninstallation failure for the Administration Center - removing ODM entries on AIX

Preventive Service Planning


Abstract

When uninstallation for the TSM Administration Center or Integrated Solutions Console (ISC) fails, use these instructions to remove entries for these components from the Object Data Manager (ODM) database on AIX.

Content

Note: Use the instructions below only when the uninstaller program fails to remove the Administration Center entries from the ODM database. See APAR IC48937 for more information about the installation error that occurs when the ODM entries are not correctly removed by the uninstaller.

To remove the ODM entries, you must perform operations on each Globally Unique Identifier (GUID). For each GUID, determine if it is referenced in any of the five classes in the Software Vital Product Data (SWVPD). The five classes are: lpp, product, vendor, history and inventory.

List of GUIDs for the Administration Center:

TIVsm-admincenter
tivoli.tsm.server.admincenter
admincenter
07681838b3993cf412d858c5b6083a63
10f0b955b159943a96e34f1003a7063e
13d7472a8ea54a61321e42f3a0b52f64
184e8957368e9239c13d5c8108773aea
21dde986483508d2bf7bc4781d8bf8e7
235a58f2ff4e7d24ac103f50b951096c
2f0f338f548978fbb15776156562becf
334e4fc2e2436de3eb16435e571bfa2c
3359fc4707903a2e4c32157dc3b56f47
4f79d4ae9c0a88a908ef2aba4cefbb41
4fc8ac35e346b372b1e29dd25821c338
5004d881fa06c841ada41cfdce3a2534
570688c494090ef15ad41d59f81ec697
6745eb395f1a51547935ddaae7e97ff0
681b06a8ad0e320bc5ad0c61ff3cfe3c
88265baa3ce54e93e3e4214349e54b2f
8ed24aa2872a92ba17bf54d44f72798f
901d9c440289754076102af517bcf3a5
9289fc2b9a567da16f36b7a714f31a12
a199552ecd9bd427d362472286f2f0f9
a39994681262078aa72829d452b758fa
a4fddbbac29438f3027def2d143209be
a6c4d2bd91bd90421eb2a752c2c1a4e2
a8e30d170bb03a852b701d7ad37ac034
a90ff805edcbce8b9af0be416eb33ed0
ae0d5e1a1ad84947b6c3321ee8967851
b45608f32cde58801df6c0085a001bed
ce9ca21e7135e3bcf794c9aa066432c3
d6ff2ac9482ff1b5d339b4b96af32dec
d7cfbec3578d8f4d467bf398f265d40b
d96e834da9f4d1992c7d1a967b4ab622
e247d70592a8182bd11363f6288764ab
e5fc975a862f615307f87d0ed53ee6c4
ef5691b351c663d38cd5cebad42d4344
f12e5ee534ab05bf3b873cad365741a5
f281fdb5b7fb0a99a3c07151bd330cfc
f75c2b7d772274d2e35ebbdf2874e059

Remove entries from the lpp class

For each GUID in the list, search the lpp class.

1. Run the command:

    ODMDIR=/usr/lib/objrepos odmget -q "name = Product GUID" lpp

If the GUID is found, you will see output like the following:
    lpp:
    name = "Product GUID"
    size = 0
    state = 5
    cp_flag = 131345
    group = ""
    magic_letter = ""
    ver = 1
    rel = 1
    mod = 0
    fix = 0
    description = "Description of Product"
    lpp_id = 1043

2. Record the lpp_id associated with each GUID, as shown in the output of this command. (The lpp_id is used later.)

3. For each entry found, run the following command to remove it:
    ODMDIR=/usr/lib/objrepos odmdelete -o lpp -q "name = Product GUID"

4. To verify that the entry was removed, rerun the command:
    ODMDIR=/usr/lib/objrepos odmget -q "name = Product GUID" lpp
If the entry was successfully removed, there should be no output.

Remove entries from the product class

For each GUID in the list, search the product class.

1. Run the command:
    ODMDIR=/usr/lib/objrepos odmget -q "lpp_name = Product GUID" product

If the GUID is found, you will see output like the following:
    product:
    lpp_name = "Product GUID"
    comp_id = ""
    update = 0
    cp_flag = 131345
    fesn = ""
    name = "Product GUID"
    state = 5
    ver = 1
    rel = 1
    mod = 0
    fix = 0
    ptf = ""
    media = 0
    sceded_by = ""
    fixinfo = ""
    prereq = ""
    description = "Description of Product"
    supersedes = ""

2. For each entry found, run the following command to remove it:
    ODMDIR=/usr/lib/objrepos odmdelete -o product -q "lpp_name = Product GUID"

3. To verify that the entry was removed, rerun the command:
    ODMDIR=/usr/lib/objrepos odmget -q "lpp_name = Product GUID" product

If the entry was successfully removed, there should be no output.


Remove entries from the vendor class

For each GUID in the list, search the vendor class.

1. Run the command:
    ODMDIR=/usr/lib/objrepos odmget -q "GUID = Product GUID" vendor

If the GUID is found, you will see output like the following:
    vendor:
    GUID = "Product GUID"
    ver = 1
    rel = 1
    mod = 0
    fix = 0
    type = 1
    ddir = "install/directory"
    uninstaller = "location/of/uninstaller"
    msgcat = ""
    msgnumber = 0
    msgset = 0
    lpp_id = 1043
    PGUID = "Parent GUID"
    time = 1023223295
    instance = 1
    description = "Description of Product"
    misc1 = ""
    misc2 = ""
    misc3 = ""

Note that the lpp_id is also included in this record.

2. For each entry found, run the following command to remove it:
    ODMDIR=/usr/lib/objrepos odmdelete -o vendor -q "GUID = Product GUID"

3. To verify that the entry was removed, rerun the command:
    ODMDIR=/usr/lib/objrepos odmget -q "GUID = Product GUID" vendor

If the entry was successfully removed, there should be no output.

Remove entries from the history class

For each GUID in the list, search the history class. To search the history class, you must use the lpp_id that you obtained from the lpp or the vendor steps above.

1. Run the following command, using the lpp_id that you obtained when removing the entries from the lpp class or the vendor class:
    ODMDIR=/usr/lib/objrepos odmget -q "lpp_id = ID" history

If the lpp_id is found, you will see output like the following:
    history:
    lpp_id = id
    event = 2
    ver = 1
    rel = 1
    mod = 0
    fix = 0
    ptf = ""
    corr_svn = ""
    cp_mod = ""
    cp_fix = ""
    login_name = ""
    state = 1
    time = 1023223295
    comment = ""

2. For each entry found, run the following command to remove it:
    ODMDIR=/usr/lib/objrepos odmdelete -o history -q "lpp_id = ID"

3. To verify that the entry was removed, rerun the command:
    ODMDIR=/usr/lib/objrepos odmget -q "lpp_id = ID" history

If the entry was successfully removed, there should be no output.

Remove entries from the inventory class

To search the inventory class, you must use the lpp_id that you obtained from the lpp or the vendor steps above. Note that only Components will have inventory entries (so you do not need to check any lpp_id that is a Product or Feature).

1. Run the command:
    ODMDIR=/usr/lib/objrepos odmget -q "lpp_id = ID" inventory

If the lpp_id is found, you will see output like the following:
    inventory:
    lpp_id = id
    private = 0
    file_type = 0
    format = 1
    loc0 = "location/of/file/installed/with/component
    loc1 = ""
    loc2 = ""
    size = 779
    checksum = 25483
    Note: You will have an inventory entry for each file that is installed for a particular lpp_id associated with a component, so in most cases, you will see multiple entries after running this command.

2. To remove all entries for a particular lpp_id, run the command:
    ODMDIR=/usr/lib/objrepos odmdelete -o inventory -q "lpp_id = ID"

3. To verify that the entry was removed, rerun the command:
    ODMDIR=/usr/lib/objrepos odmget -q "lpp_id = ID" inventory

If the entry was successfully removed, there should be no output.

4. Ensure that there are no entries for the TSM Administration Center in the file /usr/lib/objrepos/vpd.properties. This is a plain ASCII file. Remove any lines that refer to TSM Administration Center by deleting them.

[{"Product":{"code":"SSGSG7","label":"Tivoli Storage Manager"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Component":"Server","Platform":[{"code":"PF002","label":"AIX"}],"Version":"All Supported Versions","Edition":"","Line of Business":{"code":"LOB26","label":"Storage"}}]

Document Information

Modified date:
17 June 2018

UID

swg21240202