修改oracle数据库为归档模式

参考博客:http://blog.csdn.net/codesaint/article/details/1901030

  Oracle分为非归档模式(NOARCHIVELOG)  和归档模式(ARCHIVELOG)。非归档模式不产生归档日志,虽然节省了硬盘空间,但是备份方案选择很有限,通常只能选择冷备份。还原也只能还原到备份那一时刻的数据,通常也仅在开发时使用,Oracle安装默认就是非归档模式。在生产环境中我们因该使用归档模式,它会产生归档日志,可以使用多种备份和还原方案,对与Oracle管理员来说应该更改模式是必然的选择。

1.查看数据库现有模式:
select name,log_mode from v$database;

SQL> select name,log_mode from v$database;

NAME LOG_MODE
--------- ------------
ZEN NOARCHIVELOG

或者用这一句:

archive log list;

SQL> archive log list;
数据库日志模式 非存档模式
自动存档 禁用
存档终点 USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列 82
当前日志序列 84

2.指定归档日志路径:

SQL> alter system set log_archive_dest_1='location=D:Oralogarchive_log';

系统已更改。

注意:10g如果不手工设置归档路径,默认会把归档日志放到闪回区里

3.关闭数据库
SQL> shutdown immediate

4.启动数据mount状态:

SQL> startup mount;
ORACLE 例程已经启动。

Total System Global Area 1071333376 bytes
Fixed Size 1375792 bytes
Variable Size 536871376 bytes
Database Buffers 528482304 bytes
Redo Buffers 4603904 bytes
数据库装载完毕。

5、修改数据库为归档模式:

SQL> alter database archivelog;

数据库已更改。

6、打开数据库,查询:


SQL> alter database open;

数据库已更改。

SQL> archive log list;
数据库日志模式 存档模式
自动存档 启用
存档终点 D:Oralogarchive_log
最早的联机日志序列 82
下一个存档日志序列 84
当前日志序列 84

7.修改日志文件命名格式:

SQL> alter system set log_archive_max_processes = 5;

系统已更改。

SQL> alter system set log_archive_format = "archive_%t_%s_%r.log" scope=spfile;

系统已更改。

原文地址:https://www.cnblogs.com/Alex-Zeng/p/3141266.html