Do not forget to execute catsbp.sql after oracle upgrade
I still see some people forget to execute catsbp.sql after upgrade database. In the SBP installation guide (readme file), it has below content:
The point 5 lets us know we do not need to execute 6, 7 during upgrade, but the guide does not mention whether we should do this after upgrade. After testing upgrading from 10g to 11g again, we definitely need to run catsbp.sql after upgrade! If we do not run this script, the oracle internal dictionary is not updated. For example, we cannot query SBP information from dba_registry_history.
So by following the oracle upgrade guide and SBP readme file, below should be the right steps:
1. install oracle software only
2. install SBP by referring the readme file (note: it tells us we don’t need to execute catsbp.sql in this phase)
3. dbua
4. database upgrade post actions
5. back to SBP readme file and run catsbp.sql, utlrp.sql for target instance.
Best regards,
James
Hi James,
Thanks for sharing.
Regards,
Is it for upgrade to Oracle 11g? I don't see any of those scripts mentioned in 12c upgrade.
You could find it in README.html file of Oracle® Database SAP® Bundle Patch 12.1.0.2.4 - 201509 under section 2.2 Installing the SAP Bundle Patch.
I've just finished installing Oracle® Database Patch (21551086) version 12.1.0.2.9 on Windows and I still don't see reference to those scripts in readme.html.
Maybe it's not required anymore?
Hi Igor,
Thanks for your attention.
catsbp.sql is the script for Unix OS, however the similar script in windows is catbundle.sql. I checked both 11g and 12c readme file.
for 11g, the readme explicitly execute catbundle.sql. However 12c does not explicitly execute
catbundle.sql, just mentions one word
catbundle.sql.You just follow up the readme file for 12c.
All we can do is to strictly following up the readme file. 🙂
Best regards,
James
Many thanks James for sharing this. Very good point.
It's not actually clearly stated in the Upgrade guide that we have to continue with the point 7 of the README, but it makes a lot of sense. It just says that you need to run the post-installation steps, which is another section (2.3) in the README file.
Thanks.
Cheers.
yes, it is not clear, so many people did not apply catsbp.sql finally. Also since the system will be running without executing catsbp.sql. so it is hard for people to remember this.
However in some cases, there will be some weird problems if we do not run catsbp.sql
It's quite clear to that catsbp must be launched after SBP installation, upgrade etc. Usually SAP system is stopped.
We have a debate with no clear anwer here - what would happen in case SAP system would be online during catsbp run? What exactly happens/might happen to a SAP system? Data in oracle data dictionary are updated by catsbp but SAP should load fresh information from data dictionary every time they're neede, right?
Hi Jan,
I don't know what will happen. You already executed catsbp.sql during sap online? If so, you can raise a ticket to SAP to confirm, otherwise you have to avoid run catsbp.sql when sap is online.
Best regards,
James
BTW, the 'readme.html' that comes along with each SBP says to run catsbp only "For Container Databases only*"
So, I doubt if it is a mandatory step for stand alone databsaes.
however, I have run this script multiple times post upgrade to 12.1/2.* I did not notice any issue.
Hi Dilkush,
The document was for 10g, 11g, back then 12c was not referred. However I checked the 12c readme file, this is "for container database only":
o post-process a container database, theÂ
catsbp
 andÂrmsbp
 scripts require all pluggable databases (PDBs) to be open in read/write mode. Both scripts post-process the root container and all PDBs.------------------------------------------------------------------------------------------------------------------------------
Only this, the following section is for both container and non-container architecture.
Best regards,
James