Oracle该为归档模式
------------------------------------------
一、了解概念
1、oracle关于归档日志和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)才能被下一次使用。
不管数据库是否是归档模式,重做日志是肯定要写的。而只有数据库在归档模式下,重做日志才会备份,形成归档日志。
归档日志结合全备份,用于数据库出现问题后的恢复使用。
2、ORACLE的Redologfile文件最大能有多大?
参考: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分钟切换一次
4、Oracle归档日志
参考:http://blog.youkuaiyun.com/leshami/article/details/5784713
这对归档日志详细的介绍;
二、开始实施归档
1、Oracle联机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
2、Oracle转为归档模式
参考: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==========
866

被折叠的 条评论
为什么被折叠?



