Oracle Apps DBA

My photo
More than 5+ Years of IT Experience in administering Enterprise wide Multi Vendor UNIX Servers, Oracle Databases (8i to 11gR2), Middle-tiers, Applications and Clusters. I am a Sun Certified System Administrator (SCSA) for Solaris 10, oracle 10g database certified associate(OCA), Oracle 10g Database certified professional (OCP) and Oracle E-Business suite R12 certified professionl(OCP)

Oracle Database and Applications

Monday, 27 October 2014

Updating bash shell on Oracle Solaris 11.2 without SRU update

Oracle will release periodic updates for Oracle Solaris Operating System packages as Support Repository Updates (SRU). The latest available SRU is "Oracle Solaris 11.2.3.4.1 Support Repository Update"

Each SRU contains updates for multiple packages. If you want to update a specific package then you need to use locking mechanism on packages.

This method will be helpful if customers are not willing to update full SRU Immediately. They can update individual packages according to their requirements and at later stage they can update the complete SRU.

In this demonstration we will update bash shell independently of SRU cycle.

Steps:

- Check Existing version of bash

root@soltest1:~# pkg list bash
pkg list bash
NAME (PUBLISHER)                                  VERSION                    IFO
shell/bash                                        4.1.11-0.175.2.0.0.42.1    i--


- Check for available updates

root@soltest1:~# pkg list -af shell/bash
pkg list -af shell/bash
NAME (PUBLISHER)                                  VERSION                    IFO
shell/bash                                        4.1.11-0.175.2.3.0.4.0     ---
shell/bash                                        4.1.11-0.175.2.2.0.8.0     ---
shell/bash                                        4.1.11-0.175.2.2.0.7.0     ---
shell/bash                                        4.1.11-0.175.2.0.0.42.1    i--
shell/bash                                        4.1.9-0.175.1.13.0.1.0     ---
shell/bash                                        4.1.9-0.175.1.0.0.24.0     ---
shell/bash                                        4.1.9-0.175.0.0.0.2.537    ---
shell/bash                                        4.0.28-0.151.0.1           ---
root@soltest1:~# 

Installed version - 4.1.11-0.175.2.0.0.42.1

- Check package contents and lock status

root@soltest1:~# pkg contents -m userland-incorporation | grep shell/bash
pkg contents -m userland-incorporation | grep shell/bash
depend facet.version-lock.shell/bash=true fmri=pkg:/shell/bash@4.1.11-0.175.2.0.0.42.1 type=incorporate


root@soltest1:~# pkg facet -a version-lock.shell/bash
pkg facet -a version-lock.shell/bash
FACET                                                            VALUE SRC
facet.version-lock.shell/bash                                    True  system
root@soltest1:~# 


-  Lets try to update bash/shell without changing its facet "lock" status

root@soltest1:~# pkg update shell/bash@4.1.11-0.175.2.3.0.4.0
pkg update shell/bash@4.1.11-0.175.2.3.0.4.0
Creating Plan (Solver setup): /
pkg update: No matching version of shell/bash can be installed:
  Reject:  pkg://solaris/shell/bash@4.1.11,5.11-0.175.2.3.0.4.0:20141002T223817Z
  Reason:  This version is excluded by installed incorporation pkg://solaris/consolidation/userland/userland-incorporation@0.5.11,5.11-0.175.2.0.0.42.1:20140623T010405Z
root@soltest1:~# 


It will not proceed as its not able to find the matching version of other packages.


- Change the facet value for shell/bash

root@soltest1:~# pkg change-facet -r version-lock.shell/bash=false
pkg change-facet -r version-lock.shell/bash=false
            Packages to change:   1
     Variants/Facets to change:   1
       Create boot environment:  No
Create backup boot environment: Yes
PHASE                                          ITEMS
Removing old actions                             1/1
Updating package state database                 Done 
Updating package cache                           0/0 
Updating image state                            Done 
Creating fast lookup database                   Done 
Updating package cache                           1/1 
root@soltest1:~# 




- Update shell/bash package with specific SRU release

root@soltest1:~# pkg update shell/bash@4.1.11-0.175.2.3.0.4.0
pkg update shell/bash@4.1.11-0.175.2.3.0.4.0
            Packages to update:   1
       Create boot environment:  No
Create backup boot environment: Yes
DOWNLOAD                                PKGS         FILES    XFER (MB)   SPEED
Completed                                1/1           5/5      0.5/0.5 38.9k/s

PHASE                                          ITEMS
Removing old actions                             3/3
Installing new actions                           5/5
Updating modified actions                        3/3
Updating package state database                 Done 
Updating package cache                           1/1 
Updating image state                            Done 
Creating fast lookup database                   Done 
Updating package cache                           1/1 
root@soltest1:~# 



- Check the Installed version of shell/bash

root@soltest1:~# pkg list -af shell/bash
pkg list -af shell/bash
NAME (PUBLISHER)                                  VERSION                    IFO
shell/bash                                        4.1.11-0.175.2.3.0.4.0     i--
shell/bash                                        4.1.11-0.175.2.2.0.8.0     ---
shell/bash                                        4.1.11-0.175.2.2.0.7.0     ---
shell/bash                                        4.1.11-0.175.2.0.0.42.1    ---
shell/bash                                        4.1.9-0.175.1.13.0.1.0     ---
shell/bash                                        4.1.9-0.175.1.0.0.24.0     ---
shell/bash                                        4.1.9-0.175.0.0.0.2.537    ---
shell/bash                                        4.0.28-0.151.0.1           ---
root@soltest1:~# 


The shell/bash package has been updated. The facet value of the package cannot be changed until you update the full SRU.

After updating the full SRU and  rebooting system from the updated B.E. the facet value can be changed.


- Change the facet value

root@soltest1:~# pkg facet -a version-lock.shell/bash
FACET                                                            VALUE SRC
facet.version-lock.shell/bash                                    False local
root@soltest1:~# 


root@soltest1:~# pkg change-facet  version-lock.shell/bash=true
            Packages to change:   1
     Variants/Facets to change:   1
       Create boot environment:  No
Create backup boot environment: Yes
PHASE                                          ITEMS
Installing new actions                           1/1
Updating package state database                 Done 
Updating package cache                           0/0 
Updating image state                            Done 
Creating fast lookup database                   Done 
Updating package cache                           1/1 
root@soltest1:~# pkg facet -a version-lock.shell/bash
FACET                                                            VALUE SRC
facet.version-lock.shell/bash                                    True  local
root@soltest1:~# 


Same procedure is applicable for other packages as well. All packages can be updated individually without SRU cycle.

Thanks for reading.

regards,
X A H E E R



2 comments:

Anonymous said...

hello! thank you! it's realy work! But how update shell if i have non-global zones?

Blogger said...

Searching for the Ultimate Dating Website? Create an account to find your perfect match.