归档日志切换
这里以数据库为单机,已开启本地归档为例,测试归档日志文件的切换。
由于本地归档是异步写入归档日志文件的,REDO日志在写入联机日志文件后,再由专门的归档线程负责将这些REDO日志写入本地归档日志文件。通过归档切换功能,可以将这些已经写入联机日志文件,还没有写入归档日志文件的REDO日志,写入到归档日志文件中。
执行以下SQL命令,可以完成归档切换功能。三条语句功能系统,手工切换时只需要选择一条执行即可。本章将从这三个语句分别测试。
SQL>alter database archivelog current;
SQL>alter system archive log current;
SQL>alter system switch logfile;
测试之前,我们使用如下语句查询下归档日志文件信息。
SQL>select t.STATUS, t.PATH, t.ARCH_LSN, t.CLSN from "V$ARCH_FILE"t;
结果展示如下,可以看到数据库中第16个归档文件为活跃状态,说明是此文件为正在使用的归档日志文件。
方式一(alter database archivelog current)
做一些简单插入、删除或创建表等数据操作,使用如下命令切换归档:
SQL>alter database archivelog current;
再次查询V$ARCH_FILE可以看到第16个文件已经为INACTIVE状态。
稍等片刻查询,可以看到生成第17个归档文件,状态为ACTIVE。
方式二(alter system archive log current)
删除刚才创建的表,或者做简单插入、更新、删除表数据等数据库操作,使用如下命令切换归档:
SQL>alter system archive log current;
再次查询V$ARCH_FILE可以看到第17个文件已经为INACTIVE状态。
稍等片刻查询,可以看到生成第18个归档文件,状态为ACTIVE。
方式三(alter system switch logfile)
再做一些简单插入、删除或创建表等操作,然后使用如下命令切换归档:
SQL>alter system switch logfile;
操作完成后查询V$ARCH_FILE,可以看到第18个文件已经为INACTIVE状态。
稍等片刻查询,可以看到生成第19个归档文件,状态为ACTIVE。