在给数据库打补丁的时候,看文档中都有一个步骤"SQL> @catbundle.sql psu apply",那么这个脚本是不是每次打补丁都要去执行呢。

下图是截自补丁的readme

8b609f1796764122a5695911e35b77a3.png

总结来说就是:

1. dbca图形化创建的数据库实例,需要执行catbundle.sql

2. dbca -silent静默方式创建的数据库实例,需要执行catbundle.sql

注意这里的数据库实例既包含打补丁之前已经存在的,还包含打补丁之后新建的。

如果之前打过补丁,并且执行过catbundle.sql,那么这次再打补丁就不需要再执行一次catbundle.sql了。

查阅MOS(Doc ID 605795.1)

1ba391e13404de422328ce57dddf10bd.png

可以看到即使是上面不需要执行catbundle.sql的情况,执行catbundle.sql也没啥坏处,而且还能将打补丁的信息注册到dba_registry_history表中。特别注意这里的第二段话,如果你在打补丁之后,用dbca建库,他自动会在dba_registry_history记录补丁信息,但是仍然需要你再执行一次catbundle.sql。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐