暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

关于redo_log&归档关闭

原创 麦华锦 2021-03-15
939

配置数据库归档模式(ARCHIVELOG/NOARCHIVELOG)
本文介绍如何启动或关闭数据库归档模式
Oracle数据库可以运行在2种模式下:归档模式(archivelog)和非归档模式(noarchivelog)
归档与非归档的区别请参考ORACLE相关文档。
数据库循环使用LOG文件,若数据库处于“非归档日志”模式,当LOG文件被使用后,文件中记录的重做信息将覆盖。为了恢复数据库,必须启用归档。
归档模式可以提高Oracle数据库的可恢复性,生产数据库都应该运行在此模式下,归档模式应该和相应的备份策略相结合,只有归档模式没有相应的备份策略只会带来麻烦。

[系统环境]
OS Version:
Microsoft Window XP Professional 版本2002 Service Pack 3

Oracle Version:
SQL> select * from v$version;

BANNER

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production

[操作步骤]

一、设置NOARCHIVELOG—>ARCHIVELOG
1、确认当前数据模式
SQL> select dbid, name, log_mode from v$database;

        DBID NAME      LOG_MODE
  ---------- --------- ------------
  1182163329 ORCL      NOARCHIVELOG
  注:通过查询v$database进行确认数据库当前处于何种模式

2、干净关闭数据库(shutdown normal或shutdown immediate)
  SQL> shutdown normal
  数据库已经关闭。
  已经卸载数据库。
  ORACLE 例程已经关闭。

3、启动数据库至MOUNT状态
  (a)启动数据库到NOMOUNT状态
  SQL> startup nomount
  ORACLE 例程已经启动。

  Total System Global Area  209715200 bytes
  Fixed Size                  1248140 bytes
  Variable Size              79692916 bytes
  Database Buffers          125829120 bytes
  Redo Buffers                2945024 bytes
 
  (b)执行alter database mount更改数据到MOUNT状态
  SQL> alter database mount;
  数据库已更改。
  注:通过分步操作使数据库启动至MOUNT状态

4、设置数据库为ARCHIVELOG状态(alter database archivelog)
  (a)更改前状态:
  SQL> archive log list
  数据库日志模式             非存档模式
  自动存档             禁用
  存档终点            USE_DB_RECOVERY_FILE_DEST
  最早的联机日志序列     6
  当前日志序列           8

  (b)执行更改命令:alter database archivelog
  SQL> alter database archivelog;
  数据库已更改。

  (c)更改后状态:
  SQL> archive log list
  数据库日志模式            存档模式
  自动存档             启用
  存档终点            USE_DB_RECOVERY_FILE_DEST
  最早的联机日志序列     6
  下一个存档日志序列   8
  当前日志序列           8

5、打开数据库
  SQL> alter database open;
  数据库已更改。

二、设置ARCHIVELOG—>NOARCHIVELOG
1、确认当前数据模式
SQL> archive log list
数据库日志模式 存档模式
自动存档 启用
存档终点 USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列 6
下一个存档日志序列 8
当前日志序列 8

2、干净关闭数据库(shutdown normal或shutdown immediate)
  SQL> shutdown immediate
  数据库已经关闭。
  已经卸载数据库。
  ORACLE 例程已经关闭。

3、启动数据库至MOUNT状态
  SQL> startup mount
  ORACLE 例程已经启动。

  Total System Global Area  209715200 bytes
  Fixed Size                  1248140 bytes
  Variable Size              79692916 bytes
  Database Buffers          125829120 bytes
  Redo Buffers                2945024 bytes
  数据库装载完毕。

4、设置数据库为NOARCHIVELOG状态(alter database noarchivelog)
  (a)更改前状态:
  SQL> archive log list
  数据库日志模式            存档模式
  自动存档             启用
  存档终点            USE_DB_RECOVERY_FILE_DEST
  最早的联机日志序列     6
  下一个存档日志序列   8
  当前日志序列           8

  (b)执行更改命令:alter database noarchivelog
  SQL> alter database noarchivelog;
  数据库已更改。

  (c)更改后状态:
  SQL> archive log list
  数据库日志模式             非存档模式
  自动存档             禁用
  存档终点            USE_DB_RECOVERY_FILE_DEST
  最早的联机日志序列     6
  当前日志序列           8

5、打开数据库
  SQL> alter database open;
  数据库已更改。

[说明]
1、Oracle10g之前,你还需要修改初始化参数使数据库处于自动归档模式。有两种方式,如下
(a)在pfile中设置如下参数:
log_archive_start = true
重启数据库此参数生效,此时数据库处于自动归档模式。
(b)以在数据库启动过程中,手工执行:
archive log start
使数据库启用自动归档,但是重启后数据库仍然处于手工归档模式。

2、从Oracle10g开始,log_archive_start参数已经废除

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论