设置初始数据库存档模式
可以在CREATE DATABASE语句中将初始归档模式设置为数据库创建的一部分。通常,您可以在创建数据库时使用默认的NOARCHIVELOG模式,因为无需归档该进程生成的重做信息。创建数据库后,决定是否更改初始存档模式。
如果指定ARCHIVELOG模式,则必须设置初始化参数,以指定存档重做日志文件的目标(请参阅“设置存档目标的初始化参数”)。
更改数据库归档模式
要更改数据库的归档模式,请使用带有ARCHIVELOG或NOARCHIVELOG子句的ALTER DATABASE语句。要更改存档模式,必须使用管理员权限(AS SYSDBA)连接到数据库。
以下步骤将数据库归档模式从NOARCHIVELOG切换到ARCHIVELOG:
- 关闭数据库实例。
SHUTDOWN IMMEDIATE
在切换数据库归档模式之前,必须首先关闭打开的数据库并关闭所有关联的实例。如果任何数据文件需要介质恢复,则无法将模式从ARCHIVELOG更改为NOARCHIVELOG。
- 备份数据库。
在对数据库进行任何重大更改之前,请始终备份数据库以防止出现任何问题。这将是您在NOARCHIVELOG模式下对数据库的最终备份,如果在更改为ARCHIVELOG模式期间出现问题,则可以使用它。有关进行数据库备份的信息,请参见“Oracle数据库备份和恢复用户指南”。 - 编辑初始化参数文件以包含指定归档重做日志文件的目标的初始化参数(请参阅“设置归档目标的初始化参数”)。
- 启动一个新实例并挂载,但不要打开数据库。
STARTUP MOUNT
要启用或禁用存档,必须装入数据库但不能打开。
- 更改数据库归档模式。然后打开数据库以进行正常操作。
ALTER DATABASE ARCHIVELOG; ALTER DATABASE OPEN;
- 关闭数据库
SHUTDOWN IMMEDIATE
- 备份数据库。
更改数据库归档模式会更新控制文件。更改数据库归档模式后,必须备份所有数据库文件和控制文件。之前的任何备份都不再可用,因为它是在NOARCHIVELOG模式下进行的。
有关在使用Real Application Clusters时切换归档模式的详细信息,请参阅“Oracle Real Application Clusters管理和部署指南”
执行手动存档
如“在ARCHIVELOG模式下运行数据库”中所述,为了方便和高效,自动存档通常是最好的。但是,您可以仅将数据库配置为手动存档。要在手动归档模式下操作数据库,请按照“更改数据库归档模式”中所述的过程进行操作,但使用以下语句替换步骤5中的ALTER DATABASE语句:
ALTER DATABASE ARCHIVELOG MANUAL;
在手动ARCHIVELOG模式下操作数据库时,必须归档已填充的重做日志文件的非活动组,否则可以暂时中止数据库操作。要手动归档已填充的重做日志组,请使用管理员权限进行连接。确保数据库已安装或打开。使用带有ARCHIVE LOG子句的ALTER SYSTEM语句手动存档已填充的重做日志文件。以下语句归档所有未归档的日志文件:
ALTER SYSTEM ARCHIVE LOG ALL;
使用手动存档模式时,无法在存档目标中指定任何备用数据库。
即使启用了自动存档,您也可以使用手动存档执行此操作,例如将非活动的已填充重做日志成员组重新归档到另一个位置。在这种情况下,实例可以在完成手动归档之前重用重做日志组,从而覆盖文件。如果发生这种情况,数据库会将错误消息写入警报日志。
调整Archiver进程数
LOG_ARCHIVE_MAX_PROCESSES初始化参数指定数据库最初启动的ARCn进程数。默认为四个进程。
要避免启动其他ARCn进程的任何运行时开销,可以设置LOG_ARCHIVE_MAX_PROCESSES初始化参数以指定在实例启动时最多启动30个ARCn进程。 LOG_ARCHIVE_MAX_PROCESSES参数是动态的,因此您可以使用ALTER SYSTEM语句更改它。
以下语句将数据库配置为在启动时启动六个ARCn进程:
ALTER SYSTEM SET LOG_ARCHIVE_MAX_PROCESSES=6;
该语句还对当前运行的实例产生直接影响。它将当前运行的ARCn进程数增加或减少到六个。
参考资料
https://docs.oracle.com/cd/E11882_01/server.112/e25494/archredo.htm#ADMIN11333