Oracle该为归档模式

Oracle该为归档模式

------------------------------------------

一、了解概念

1oracle关于归档日志和redo日志区别

参考:http://blog.sina.com.cn/s/blog_a32b97f101016egf.html

环境Oracle9i下,Oracle9i中有2种日志,一种称为RedoLog(重做日志),另一种叫做ArchiveLog(归档日志),但是这两种日志在Oracle9i数据库中所起到的作用相信很难有人说清楚,下面我就结合自己对Oracle9i的认识来进行一下说明

重做日志redo logfile是LGWR进程从Oracle实例中的redo log buffer写入的,是循环利用的。就是说一个redo log file(group)写满后,才写下一个。

归档日志archivelog是当数据库运行在归档模式下时,一个redo log file(group)写满后,由ARCn进程将重做日志的内容备份到归档日志文件下,然后这个redolog file(group)才能被下一次使用。

不管数据库是否是归档模式,重做日志是肯定要写的。而只有数据库在归档模式下,重做日志才会备份,形成归档日志。

归档日志结合全备份,用于数据库出现问题后的恢复使用。

 

2ORACLERedologfile文件最大能有多大?

参考:http://blog.chinaunix.net/uid-22948773-id-3154216.html

对于4K大小的块来说,单个数据文件最大为power(2,22)*4k =16G。

对于8K大小的块来说,单个数据文件最大为power(2,22)*8k =32G。

对于16K大小的块来说,单个数据文件最大为power(2,22)*8k=64G。

对于32K大小的块来说,单个数据文件最大为power(2,22)*8k=128G。

 

3、怎样设置redolog文件的大小

参考:http://blog.itpub.net/15874680/viewspace-557483/

Q:怎样设置redolog文件的大小。

A:设置redolog文件的原则就是要保证30分钟之内进行logswitch.

logswitch的信息被记录在alertSID.log中。

-------------------------------------------------------

MonMay513:53:311997

Thread1advancedtologsequence68

Currentlog#2seq#68mem#0:/u05/dbs/log2ween.dbf

-------------------------------------------------------

 

如果两次switch的时间是10分钟,你需要增加redolog文件到三倍的尺寸。

如果两次switch的时间是15分钟,你需要增加redolog文件到两倍的尺寸。

如果两次switch的时间超过30分钟,你不需要需要增加redolog文件的尺寸。

oracle官方建议是20分钟切换一次

 

 

4Oracle归档日志

参考:http://blog.youkuaiyun.com/leshami/article/details/5784713

这对归档日志详细的介绍;

 

二、开始实施归档

1Oracle联机REDO日志大小的修改方法

原名为:Oracle归档日志大小的修改方法

参考:http://database.51cto.com/art/201011/234063.htm

摘要:

如果需要修改Oracle归档日志的大小,就需要加入新的大的日志文件,然后删掉旧的小的日志文件,下文对该方法的实现过程作了详细的介绍,希望对您能有所启迪。

 

正文:

Oracle归档日志相信大家都不会陌生,下面就为您介绍Oracle归档日志大小的修改方法,希望对您学习Oracle归档日志方面能够有所帮助。

方法:加入新的大的日志文件,然后删掉旧的小的日志文件

假设现有三个日志组,每个组内有一个成员,每个成员的大小为1MB,现在想把此三个日志组的成员大小都改为10MB

1、创建2个新的日志组

 

  • alter database add logfile group 4 ('D:\ORACLE\ORADATA\ORADB\REDO04_1.LOG') size 1024k;   
  • alter database add logfile group 5 ('D:\ORACLE\ORADATA\ORADB\REDO05_1.LOG') size 1024k;  

2、切换当前日志到新的日志组

 

  • alter system switch logfile;   
  • alter system switch logfile;  

3、删除旧的日志组

 

  • alter database drop logfile group 1;   
  • alter database drop logfile group 2;   
  • alter database drop logfile group 3;  

4、操作系统下删除原日志组1、2、3中的文件

5、重建日志组1、2、3

 

  • alter database add logfile group 1 ('D:\ORACLE\ORADATA\ORADB\REDO01_1.LOG') size 10M;   
  • alter database add logfile group 2 ('D:\ORACLE\ORADATA\ORADB\REDO02_1.LOG') size 10M;   
  • alter database add logfile group 3 ('D:\ORACLE\ORADATA\ORADB\REDO03_1.LOG') size 10M;  

6、切换日志组

 

  • alter system switch logfile;   
  • alter system switch logfile;   
  • alter system switch logfile;  

7、删除中间过渡用的日志组4、5

 

  • alter database drop logfile group 4;   
  • alter database drop logfile group 5;  

8、到操作系统下删除原日志组4、5中的文件

9、备份当前的最新的控制文件

 

  • SQL> connect internal   
  • SQL> alter database backup controlfile to trace resetlogs  

 

2Oracle转为归档模式

参考:http://www.blogjava.net/freeman1984/archive/2011/05/17/350375.html

 

首先查看数据库现有模式可使用以下语句

select name,log_mode fromv$database;

也可以用下面的语句

archive log list;(该方法需要assysdba)

 

对于非归档模式的数据库该为归档模式(主要以Oracle10g为参考)使用以下步骤:

  • 1. 设置归档日志文件

SQL> alter system setlog_archive_dest_1=’location=/oracle/oracle10g/log/archive_log’;

该语句含义是确定归档日志的路径,实际上Oracle10g可以生成多份一样的日志,保存多个位置,以防不测

 

例如再添加一个日志位置可使用以下语句

SQL>alter system setlog_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;

 

修改完成后可以查看日志模式是否修改成功!

 

特别指出的是在Oracle9i中还要修改参数log_archive_start = true才能生效,oracle 10g中已经废除了该参数,所以不需要设置该参数。

————————————————————————————————

SQL> shutdownimmediate

Database closed.

Database dismounted.

ORACLE instance shutdown.

SQL> startup mount

ORACLE instance started.

 

Total System Global Area1258291200 bytes

Fixed Size 1978336 bytes

Variable Size 318771232bytes

Database Buffers922746880 bytes

Redo Buffers 14794752bytes

Database mounted.

SQL> alter databasearchivelog;

 

Database altered.

 

SQL> alter databaseopen;

 

Database altered.

 

SQL>

 

 

==========END==========


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值