首先查看数据库现有模式可使用以下语句
select name,log_mode from v$database;
也可以用下面的语句
archive log list;(该方法需要as sysdba)
对于非归档模式的数据库该为归档模式,使用以下步骤:
1.
SQL>alter system set log_archive_dest_1='location=D:\oralog';
该语句含义是确定归档日志的路径,实际上Oracle 10g可以生成多份一样的日志,保存多个位置,以防不测
例如再添加一个日志位置可使用以下语句
SQL>alter system set log_archive_dest_2='location=D:\oralog';
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; ---参数默认情况下是2,数据库启动二个arch进程,如果归档很多,oracle也会根据需要增加arch的进程。 当然如果你能预知这种情况,就可以先增加这个参数,以免运行的时候在去启动这个进程
SQL> alter system set log_archive_format = "archive_%t_%s_%r.log" scope=spfile;
修改完成后可以查看日志模式是否修改成功!
select name,log_mode from v$database;
也可以用下面的语句
archive log list;(该方法需要as sysdba)
特别指出的是在Oracle 9i中还要修改参数log_archive_start = true才能生效,oracle 10g中已经废除了该参数,所以不需要设置该参数。
对于归档模式的数据库该为非归档模式,使用以下步骤,
第一步骤:关闭数据库
SQL>shutdown immediate;
第二步骤:启动数据库至MOUNT状态
SQL>startup mount;
第三步骤:执行命令alter database noarchivelog;进行修改
SQL>alter database noarchivelog;
第四步骤:确认执行结果
SQL>select log_mode from v$database;
LOG_MODE
————
NOARCHIVELOG
我们看到数据库又改变为在非归档模式下工作了。
第五步:打开数据库,将数据库改变至OPEN状态
SQL>alter database open;
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29392174/viewspace-1064145/
,如需转载,请注明出处,否则将追究法律责任。