生产环境关闭与开启Oracle PDB

【运维场景】

在运维Oracle PDB的时候经常要开启和关闭PDB,对关闭和开启PDB的操作要非常熟悉。

【操作方法】

1. PDB的打开与关闭

关闭和开启DB的时候要看DB的警告日志,日志位置(在Oracle用户下查看)

tail -100f $ORACLE_BASE/diag/rdbms/<db_name>/<SID>/trace/alert_<SID>.log

以下操作均是使用sys用户操作!

--单机,开启和关闭

--在CDB下操作

-- 关闭单个PDB

alter session set container=cdb$root;
alter pluggable database pdb1 close immediate; -- 推荐
or
alter pluggable database pdb1 close;

-- 开启单个PDB

alter pluggable database pdb1 open;
alter pluggable database pdb1 open force;
alter pluggable database pdb1 open read only;

--开启所有PDB

alter pluggable database all open;
alter pluggable database all open read only;

--在PDB下操作

alter session set container=pdb1;
alter database open;

--RAC,开启和关闭

# 注意开启PDB后,可能与PDB相关的服务没有启动,需要手动启动服务。


--在CDB下操作
alter session set container=cdb$root;
--关闭所有实例上的PDB1
alter pluggable database pdb1 colse immediate instances=all; -推荐
alter pluggable database pdb1 close instances=all;
-- 启动关闭实例也可以关闭实例下的PDB
shutdown immediate
--开启所有实例上的PDB1
alter pluggable database pdb1 open instances=all;
--开启所有实例上的所有PDB
alter pluggable database all open instances=all;
-- 检查单个PDB下的服务
srvctl status service -d dbname -pdb pdb1
例如看到服务名是pdb1_s
-- 启动服务
srvctl start service -d dbname -s pdb1_s
-- 检查这个CDB下的服务
srvctl status service -d dbname

2. 设置PDB随着CDB自启动

从12.1.0.2开始,在PDB是READ WRITE状态操作,即OPEN状态,设置PDB随着CDB自启动.

--设置所有PDB

--在CDB下操作

alter session set container=cdb$root;
alter pluggable database all save state;
alter pluggable database all discard state;

--设置单个PDB

--在CDB下操作

alter pluggable database pdb1 save state;
alter pluggable database pdb1 discard state;

显示名称PDB or CDB

show con_name
posted @ 2023-07-28 11:48  寻梦99  阅读(1182)  评论(0)    收藏  举报