Oracle数据库的体系结构和用户管理(5)

LGWR进程负责将重做日志缓冲区中的日志数据写入日志文件组。数据库在运行时,如果对数据进行修改,则产生日志信息,日志信息首先产生于重做日志缓冲区中。此缓冲器按照“先进先出”的原则进行操作,当日志信息满足一定条件是,由LGWR进程将日志数据写入日志文件。系统通常有多个日志文件,日志写入进程以循环的方式将数据写入文件。

5)CKPT进程

CKPT进程是确保数据缓冲区中所有修改过的数据块都写入数据文件的机制。当检查点完成后,CKPT进程负责更新数据文件头和控制文件、保存检查点信息,以保证数据库日志文件和数据文件同步。在数据库恢复时只需要找到CKPT保存的最后一次检查点,就可以根据它确定日志文件中恢复数据的开始位置,然后重新执行其之后的日志记录即可。

6)ARCn进程

ARCn进程即归档日志进程,是一个可选进程,只有在打开日志归档时才有该进程。该进程的主要作用是发生日志切换时将写满的联机日志文件复制到归档目录。

二、CDB与PDB的基本操作

和之前版本的Oracle不同,Oracle 12c可以作为单个数据库使用(通过再安装时取消勾选“创建为容器数据库”复选框),也可根据企业需要,提供若干个可插拔PDB数据库。每个PDB可以由不同的DBA维护。下面介绍CDB和PDB的基本维护。

[oracle@oracle ~]$ source .bash_profile [oracle@oracle ~]$ sqlplus / as sysdba <!--以sys用户登录数据库--> SQL*Plus: Release 12.2.0.1.0 Production on Tue Jan 7 14:58:04 2020 Copyright (c) 1982, 2016, Oracle. All rights reserved. Connected to: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production SQL> startup; <!--启动数据库--> ORACLE instance started. Total System Global Area 1660944384 bytes Fixed Size 8793448 bytes Variable Size 1056965272 bytes Database Buffers 587202560 bytes Redo Buffers 7983104 bytes Database mounted. Database opened. SQL> SQL> show con_name; <!--查看当前所在的容器--> CON_NAME ------------------------------ CDB$ROOT <!--CDB$ROOT代表当前在CDB下面--> SQL> SQL> show pdbs; <!--查看数据库的所有容器--> CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 ORCLPDB MOUNTED <!--状态为mounted(并没有open)--> SQL> SQL> alter pluggable database orclpdb open; <!--CDB下修改可插拔数据库orclpdb为打开状态--> Pluggable database altered. SQL> SQL> alter session set container=orclpdb; <!--CDB下切换会话到PDB(orclpdb)中--> Session altered. SQL> SQL> show con_name; <!--再次查看当前位置已经位于orclpdb中--> CON_NAME ------------------------------ ORCLPDB SQL>

从CDB切换到PDB以及相关的操作如下:

SQL> show con_name; <!--查看当前位置--> CON_NAME ------------------------------ CDB$ROOT SQL> SQL> alter session set container=orclpdb; <!--切换会话到PDB中--> Session altered. SQL> SQL> show con_name; <!--查询当前容器--> CON_NAME ------------------------------ ORCLPDB SQL> SQL> shutdown immediate; <!--在PDB中关闭可插拔数据库--> Pluggable Database closed. SQL> SQL> startup; <!--在PDB中打开可插拔数据库--> Pluggable Database opened. SQL> SQL> alter session set container=cdb$root; <!--切换会话到CDB中--> Session altered. SQL> SQL> show con_name; <!--再次查看当前的位置--> CON_NAME ------------------------------ CDB$ROOT SQL>

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/374791edb744d280f0c5ab3ac7203636.html