zhangchaoming 2020-06-08
安装Oracle12C后,默认是没有开启归档模式的,可按以下方式开启。
1、查看归档相关信息:
archive log list
可以看到数据库未开启归档。
2、关闭数据库:
shutdown immediate
3、启动数据库至mount状态:
startup mount
4、开启数据库归档模式:
alter database archivelog;
再查看归档相关信息:
archive log list
可以看到,归档模式已开启,归档日志目录为USE_DB_RECOVERY_FILE_DEST,也就是用的DB_RECOVERY_FILE_DEST(闪回文件目录)。
查看DB_RECOVERY_FILE_DEST目录:
show parameter DB_RECOVERY_FILE_DEST
可以看到,闪回文件目录在$ORACLE_HOME目录下面。
5、修改归档日志存放目录。(可选)
现在归档日志是存放在闪回文件目录下,闪回文件目录又在$ORACLE_HOME目录下,如果想把归档日志存放在其他目录(例如单独的数据文件存放目录),可用以下方法:
alter system set log_archive_dest_1=‘location=/data/oracle/rcas/RCAS/archivelog‘;
再查看归档相关信息:
archive log list
Archive destination(归档日志目录)已更改。
6、启动数据库至open状态:
alter database open;
完毕。
在网上找到关于DB_RECOVERY_FILE_DEST、LOG_ARCHIVE_DEST、LOG_ARCHIVE_DEST_n的区别描述,如下:
DB_RECOVERY_FILE_DEST:指定闪回恢复区路径。
LOG_ARCHIVE_DEST:指定归档文件存放的路径,该路径只能是本地磁盘,默认为’’。
LOG_ARCHIVE_DEST_n:默认值为’’。Oracle最多支持把日志文件归档到10个地方,n从1到10。归档地址可以为本地磁盘,或者网络设备。
三者关系:
1、 如果设置了DB_RECOVERY_FILE_DEST,就不能设置LOG_ARCHIVE_DEST,默认的归档日志存放于DB_RECOVERY_FILE_DEST指定的闪回恢复区中。可以设置LOG_ARCHIVE_DEST_n,如果这样,那么归档日志不再存放于DB_RECOVERY_FILE_DEST中,而是存放于LOG_ARCHIVE_DEST_n设置的目录中。如果想要归档日志继续存放在DB_RECOVERY_FILE_DEST中,可以通过如下命令:alter system set log_archive_dest_1=’location=USE_DB_RECOVERY_FILE_DEST’;
2、如果设置了LOG_ARCHIVE_DEST,就不能设置LOG_ARCHIVE_DEST_n和DB_RECOVERY_FILE_DEST。如果设置了LOG_ARCHIVE_DEST_n,就不能设置LOG_ARCHIVE_DEST。也就是说,LOG_ARCHIVE_DEST参数和DB_RECOVERY_FILE_DEST、LOG_ARCHIVE_DEST_n都不共存。而DB_RECOVERY_FILE_DEST和LOG_ARCHIVE_DEST_n可以共存。
3、 LOG_ARCHIVE_DEST只能与LOG_ARCHIVE_DUPLEX_DEST共存。这样可以设置两个归档路径。LOG_ARCHIVE_DEST设置一个主归档路径,LOG_ARCHIVE_DUPLEX_DEST设置一个从归档路径。所有归档路径必须是本地的。
4、 如果LOG_ARCHIVE_DEST_n设置的路径不正确,那么Oracle会在设置的上一级目录归档。