1:首先查看是否是归档模式 运行 archive log list 命令(必须以sys身份运行)
2:查看归档日志文件存放在哪个位置
运行 show parameter log_archive_dest 命令
3: log_archive_dest 的路径为空,我们可以设置这个路径来存放归档日志文件,运行 alter system set log_archive_dest=’d:/xxx/xxx’ scope=spfile;(xxx代表存放路径,最好指定 scope=spfile 否则的话重启db,则配置不会生效); 运行结果会出现在如下错误:
第 1 行出现错误:
ORA-02097: 无法修改参数, 因为指定的值无效
ORA-16018: 无法将 LOG_ARCHIVE_DEST 与 LOG_ARCHIVE_DEST_n 或 DB_RECOVERY_FILE_DEST 一起使用
出现错误的原因是db_recovery_file_dest的参数已经被设置了,去查询一下看看,果真如此。
4: 查看 db_recovery_file_dest 参数设置,运行 show parameter db_recovery_file_dest 命令运行结果如下;
可以看到已经默认设置了归档的路径。
5:db_recovery_file_dest是缺省的归档位置,下面把它设置为”空”,然后设置log_archive_dest参数,指定另外一个非缺省的参数
重启db 如下图
运行 shutdown immediate;
运行 startup mount;
运行 alter database open;
运行 show parameter db_recovery_file_dest 查看是否已经设置为空
可以看到已经设置为空 下面接着使用
alter system set log_archive_dest=’xxxxxx’ scope = spfile 设置归档日志文件路径
注:如果是log_archive_dest_n则后面必须加上location=表示存放在本地,代码如下:
alter system set log_archive_dest_1=’location=/u01/archivelog’ scope =spfile;
运行 show parameter log_archive_dest 命令查看归档日志文件路径是否已经设置成功
可以看到已经设置成功
执行 alter system archive log current 命令进行手动归档
查看归档日志文件,看看是否已经进行归档 运行命令select name,completion_time from v$archived_log;
可以看到在些文件夹下面生成了归档日志文件。