ITPub博客

首页 > 数据库 > Oracle > Oracle 修改归档模式

Oracle 修改归档模式

原创 Oracle 作者:萌萌二泡哥 时间:2013-12-24 15:09:29 0 删除 编辑
首先查看数据库现有模式可使用以下语句 
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/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2013-12-18

  • 博文量
    9
  • 访问量
    124093