Oracle 分为非归档模式(NOARCHIVELOG) 和归档模式(ARCHIVELOG) 。非归档模式不产生归档日志,虽然节省了硬盘空间,但是备份 方案选择很有限,通常只能选择冷备份。还原也只能还原到备份那一时刻的数据,通常也仅在开发时使用(据说在数据仓库中也使用),Oracle 安装默认就是非 归档模式。在生产环境中我们因该使用归档模式,它会产生归档日志,可以使用多种备份和还原方案,对与Oracle 管理员来说应该更改模式是必然的选择。
首先查看数据库 现有模式可使用以下语句
select name,log_mode from v$database;
也可以用下面的语句
archive log list ;( 该方法需要as sysdba)
对于非归档模式的数据库该为归档模式(主要以Oracle 10g 为参考)使用以下步骤:
1. SQL> alter system set log_archive_dest_1='location=/oracle/oracle10g/log/archive_log';
该语句含义是确定归档日志的路径,实际上Oracle 10g 可以生成多份一样的日志,保存多个位置,以防不测
例如再添加一个日志位置可使用以下语句
SQL>alter system set log_archive_dest_2='location=/oracle/oracle10g/log2/archive_log';
2. 关闭数据库
SQL> shutdown immediate
3. 启动数据mount 状态:
SQL> startup mount;
4 、修改数据库为归档模式:
SQL> alter database archivelog;
5 、打开数据库,查询:
SQL> alter database open;
修改日志文件命名格式:
SQL> alter system set log_archive_max_processes = 5;
SQL> alter system set log_archive_format = "archive_%t_%s_%r.log" scope=spfile;
修改完成后可以查看日志模式是否修改成功!
特别指出的是在Oracle 9i 中还要修改参数alter system set log_archive_start = true 才能生效,oracle 10g 中已经废除了该参数,所以不需要设置该参数。
原帖地址:http://space.itpub.net/52280/viewspace-539637