数据库启动的三个阶段
-
startup nomount
数据库根据初始化文件启动实例,分配内存给系统全局区SGA,并启动所有的后台进程。
打开alert log和trace file。
这个阶段实例会启动,但数据库无法访问。在nomount阶段,主要是用来创建数据库,重建控制文件或者进行备份与还原操作。 -
alter database mount
这个阶段实例会加载数据库,但还不真正打开它。实例根据初始化文件中指定的控制文件,读取数据文件和连接重做日志文件的名字和状态。进行文件的存在检查。
在这个阶段可以进行重命名数据文件,启用或禁用联机重做日志的归档, 恢复数据库。 -
alter database open
数据库实例打开数据文件,联机重做日志,检查数据库一致性。 所有用户可以访问数据库。
数据库关闭的四种模式
Abort 启动时必须进行数据库恢复。
PDB的四种状态
- Open 全完启动
- Open Read Only
- Migrate
- Mounted 关闭状态
启动关闭PDB
启动pdb
Alter pluggable database <pdb_name> open;
或者
Alter pluggable database all open;
关闭pdb
Alter pluggable database <pdb_name> close;
或者
Alter pluggable database all close;
PDB的Save state / discard state
默认PDB在数据库启动的时候都是Mount状态。可以使用Save State来保存PDB的状态,下次启动数据库时恢复成保存的状态。
Alter pluggable database <pdb_name> open;
Alter pluggable database <pdb_name> save state;
或者
Alter pluggable database all save state;
下次启动数据库,PDB自动就是open状态了。
Alter pluggable database <pdb_name> discard state;
或者
Alter pluggable database all discard state;
移除保存状态模式,下次启动数据库,PDB是默认的Mounted状态。
show con_name 显示当前容器名称
SQL> show con_name
CON_NAME
------------------------------
CDB$ROOT
V$PDBS视图查看PDB的状态。
SQL> select con_id, name, open_mode from v$pdbs;
CON_ID NAME OPEN_MODE
---------- ------------------------------ ----------
2 PDB$SEED READ ONLY
3 PDB1 READ WRITE
DBA_PDB_SAVED_STATES查看pdb保存的state。
SQL> SELECT con_id, con_name, state from dba_pdb_saved_states;
CON_ID CON_NAME STATE
---------- -------------------- --------------
3 PDB1 OPEN
标签:Oracle19C,database,数据库,state,PDB,pluggable,Oracle,Alter
From: https://www.cnblogs.com/slqleozhang/p/17026097.html