「这是我参与11月更文挑战的第10天,活动详情查看:2021最后一次更文挑战」
自从12C开始支持pdb以来,我们多多少少的接触或是使用了ORACLE的CDB+PDB的模式,对于数据库实例开启后,PDB为mount状态,需要再次开启,我想大家应该也觉得不是很方便。
下面就来聊聊关于PDB启动的几种方式:
一、手动启动
打开数据库实例时,默认PDB是mounted状态,需要手动执行命令打开PDB:
1 | bash复制代码SQL> show pdbs |
这个方法,最为常见,但是每次开库都要去手动执行,在当今自动化运维的社会,显得很不自动化,如果为RAC数据库,需要每个实例都手动去开启。
二、触发器启动
1 | sql复制代码--创建触发器,cdb启动时,open所有的pdb |
三、SAVE STATE
通过设置视图DBA_PDB_SAVED_STATES来控制PDB的启动模式:
1 | bash复制代码--这里我们先DROP触发器 |
总结:
三种方式都可以打开PDB,孰优孰劣大家自可斟酌。
个人建议是第三种方式,从12C开始就可以支持,设置简单,方便快捷,缺点是基于实例的,如果是RAC需要实例都需要去保存一下。不像触发器是基于数据库的,当然触发器可以是万能的。
本文转载自: 掘金