oracle11g更改归档模式、目录、日志大小
ORACLE 11G 归档清理操作方式
ORACLE 11G 归档清理操作方式1、输入CMD命令,进入DOS命令窗口,通过SQLPLUS连接ORACLE数据库,如下图2、输入命令: show parameter db_recovery;如下图Db_recovery_file_dest 中TYPE值为string,VALUE值为空时,表示未打开恢复区,这时只需要在服务器上手工删除归档日志文件即可;否则还需要使用RMAN命令删除;当然也可以不考虑此参数,先手工删除归档日志后,再RMAN命令清除。
3、输入QUIT命令退出SQLPLUS返回DOS窗口,然后切换到RMAN.exe目录下,输入命令:rman target sys/密码,回车后再次输入密码,进入到RMAN命令行4、输入命令:list archivelog all;如下图,显示归档日志所在磁盘目录和文件名5、手工在磁盘上删除归档日志文件;然后检验一次,输入命令:crosscheck archivelog all;如下图6、最后使用RMAN使用归档日志,输入命令:delete expired archivelog all--sqlplus sys/DHHZDHHZ@ORCL AS sysdba1、开启归档a. 关闭数据库shutdown immediateb. startup mountc. alter database archivelogd. alter database opne2、禁止归档a. 关闭数据库shutdown immediateb. startup mountc. alter database noarchivelogd. alter database open3、归档信息可以通过如下语句查看SQL> archive log listDatabase log mode Archive ModeAutomatic archival EnabledArchive destination E:\oracle\ora92\database\archive Oldest online log sequence 131Next log sequence to archive 133Current log sequence 133。
oracle11g_ASM_归档日志闪回区目录空间使用率100%的解决办法
XX项目故障解决库——VER 1.02012年6月文挡名称初稿审核建立日期作者文档修订记录章节编号章节名称修订内容简述修订日期修订前版本号目录1.总统架构 (4)2.故障解决库 (4)3.详细解决方法 (5)3.1.序号1 (5)3.1.1.解决方法 (5)1.总统架构架构图:2.故障解决库序号发生时间故障现象故障原因解决方法详见3.详细解决方法前期预防详见3.详细解决方法解决人联系方式1 2012年10月9日上午11时数据库系统宕机,应用系统停用。
自动备份脚本中,删除归档日志的命令没有添加noprompt参数,需要人工输入YES确认,不能自动执1、备份最近3天的归档日志。
2、删除最近2天归档日志。
3、正常关闭数据库。
4、正常开启数据库。
5、开启相关应用系统。
6、做数据库完全备份。
7、更改自动备份脚本,添监控归档目录空间使用百分比,一旦超过80%开始告警。
select file_type,percent_space_usedasused,percent_space_reclaimable asreclaimable,number_of_files as行,造成存放归档日志的闪回区目录空间使用率积累到100%,引起数据库系统宕机。
加noprompt参数。
测试自动备份脚本。
"number" fromv$flash_recovery_area_usage;3.详细解决方法3.1.序号13.1.1.解决方法1、备份最近3天的归档日志。
# cd /home/db/oracle_backup# mkdir 2012_10_07# mkdir 2012_10_08# mkdir 2012_10_09# su - grider$ asmcmdASMCMD> lsARCVG/DBVG/ASMCMD> cd ARCVGASMCMD> lsJXPAEA/ASMCMD> cd JXPAEAASMCMD> lsARCHIVELOG/CONTROLFILE/ONLINELOG/ASMCMD> cd ARCHIVELOGASMCMD> cd 2012_10_07ASMCMD> cp thread_1_seq_14696.9677.796359843 /home/db/oracle_backup/2012_10_07/ ……2、删除最近2天归档日志。
oracle11g开启归档模式及修改归档目录日志满
oracle11g开启归档模式及修改归档⽬录⽇志满oracle 11g开启归档模式及修改归档⽬录⽇志满/s/blog_95b5eb8c01018ylb.htmloracle 11g开启归档模式及修改归档⽬录2011-06-28 22:29在Oracle 11g,开启archive log模式时,默认归档⽬录为db_recovery_file_dest指定。
此参数在pfile/spfile中可以指定:db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'更改归档模式需要在mount状态下,更改归档模式。
SQL> shutdown immediate;Database closed.Database dismounted.ORACLE instance shut down.SQL> startup mountORACLE instance started.--如果安装多个库,会报错,找不到句柄exit 再⽤管理员进⼊Total System Global Area 1258291200 bytesFixed Size 1219160 bytesVariable Size 318768552 bytesDatabase Buffers 922746880 bytesRedo Buffers 15556608 bytesDatabase mounted.SQL> alter database archivelog;Database altered.SQL> alter database open;Database altered.SQL> archive log list;Database log mode Archive ModeAutomatic archival EnabledArchive destination USE_DB_RECOVERY_FILE_DESTOldest online log sequence 15Next log sequence to archive 17Current log sequence 17更改log_archive_dest_1参数可更改归档⽇志⽬录(pfile/spfile中参数db_recovery_file_dest指定的⽬录将⽆效)SQL> alter system set log_archive_dest_1='location=/data/oracle/log1/archive_log'; 最后的⽬录名称需要为archive_log! Linux:alter system set log_archive_dest_1='location=/u01/oracle/log/archive_log';System altered.SQL> archive log list;Database log mode Archive ModeAutomatic archival EnabledArchive destination /data/oracle/log1/archive_logOldest online log sequence 26Next log sequence to archive 28Current log sequence 28实际上从Oracle 10g开始,可以⽣成多份⼀样的⽇志,保存多个位置,以防不测,⽅法如下:SQL>alter system set log_archive_dest_2='location=/data/oracle/log2/archive_log';SQL> archive log list;Database log mode Archive ModeAutomatic archival EnabledArchive destination /data/oracle/log2/archive_log 只能看到最新设置的归档⽬录。
oracle归档操作步骤
oracle归档操作步骤
Oracle的归档操作主要包括开启归档模式、修改归档日志路径以及删除归档日志等步骤。
1.查看归档模式是否开启以及重做日志存放路径。
可以通过执行SQL
命令archive log list来查看归档日志的状态,以及SELECT * FROM v$logfile ORDER BY group#;来查看重做日志的存放路径。
2.开启归档模式。
首先关闭数据库实例,然后启动到mount状态,接着
修改数据库为归档模式,最后打开数据库。
3.修改归档日志路径。
如果需要修改归档日志的路径,可以通过修改初
始化参数log_archive_dest_1的值来实现。
注意新路径必须已经存在,且每个目录都必须存在。
4.实验是否成功将路径做了修改。
可以通过切换重做日志的活跃状态来
触发日志备份,生成新的归档日志,并检查新的归档日志是否保存在设置的目录下。
5.删除归档日志。
首先通过执行crosscheck archivelog all;命令
来检查归档日志文件,然后通过执行delete expired archivelog all;命令来删除校验失败的记录。
oracle 11gR2 改数据库为归档模式
oracle 11gR2 改数据库为归档模式前几天在公司做了oracle 11gR2 rac for aix的安装实验,记录了下将数据库非归档模式改为归档模式的步骤,和10g步骤差不多,以下为详细步骤:第一步:设置归档目录大小和路径[oracle@p520:/oracle/app/oracle]$sqlplus "/as sysdba"SQL*Plus: Release 11.2.0.1.0 Production on Fri Feb 26 09:56:24 2010Copyright (c) 1982, 2009, Oracle. All rights reserved.Connected to:Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit ProductionWith the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,Data Mining and Real Application Testing optionsSQL> show parameter db_recoverNAME TYPE VALUE------------------------------------ ----------- ------------------------------db_recovery_file_dest stringdb_recovery_file_dest_size big integer 0SQL> alter system set db_recovery_file_dest='+dgrecover' scope=spfile;System altered.SQL> show parameter spfileNAME TYPE VALUE------------------------------------ ----------- ------------------------------spfile string +DGSYSTEM/orcl/spfileorcl.oraSQL> alter system set db_recovery_file_dest_size=8G scope=spfile;System altered.第二步:修改cluster_database的值为falseQL> alter system set cluster_database=false scope=spfile sid='orcl1';System altered.第三步:停止所有节点上的实例[oracle@p520:/oracle/app/oracle]$srvctl stop database -d orcl第四步:启动到mount状态,改数据库为archivelog[oracle@p520:/oracle/app/oracle]$sqlplus / as sysdbaSQL*Plus: Release 11.2.0.1.0 Production on Fri Feb 26 10:00:25 2010 Copyright (c) 1982, 2009, Oracle. All rights reserved.Connected to an idle instance.SQL> startup mountORACLE instance started.Total System Global Area 2137886720 bytesFixed Size 2208496 bytesVariable Size 1526730000 bytesDatabase Buffers 603979776 bytesRedo Buffers 4968448 bytesDatabase mounted.SQL> alter database archivelog;Database altered.第五步:修改cluster_database的值为tuceSQL> alter system set cluster_database=true scope=spfile sid='orcl1';System altered.第六步:关闭数据库,用srvctl 启动所有节点上的实例SQL> shutdown immediateORA-01109: database not openDatabase dismounted.ORACLE instance shut down.SQL> exitDisconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,Data Mining and Real Application Testing options[oracle@p520:/oracle/app/oracle]$srvctl start database -d orcl第七步:检查数据库是否为归档模式[oracle@p520:/oracle/app/oracle]$sqlplus / as sysdbaSQL*Plus: Release 11.2.0.1.0 Production on Fri Feb 26 10:05:13 2010Copyright (c) 1982, 2009, Oracle. All rights reserved.Connected to:Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit ProductionWith the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,Data Mining and Real Application Testing optionsSQL> archive log list;Database log mode Archive ModeAutomatic archival EnabledArchive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 70Next log sequence to archive 71Current。
(完整版)oracle11g dataguard 完全手册
oracle11g dataguard 完全手册一、前言:网络上关于dataguard的配置文章很多,但是很多打着oracle11g的文章实际都是只能在9 10 上运行,比如FAL_CLIENT在11g中已经废弃,但是现在网络上的文章都是没有标注这一点。
而且对于具体含义语焉不详对于新手只能知其然而不知其所以然。
这篇文章我就想让像我这样的人对于dataguard配置不仅仅知道怎么配置,还要知道为什么需要这样配置,这样的效果才是最好的。
这篇文章不仅仅是记录如何配置,还介绍了为什么是这样,以及注意要点,我希望这个文章可以作为进行dataguard配置的一个参考手册。
二、前提1.主库是归档模式:如果我们不清楚为什么是归档模式,那我们就应该也不会清楚dataguard是用来做什么的。
透过很多修饰的官方语言,我们需要明确DG(dataguard简称,后同)实际上的作用就是用来高可用。
而实现原理就是从主库获取数据到从库,在主库发生异常的时候,从库接管主库,完成身份的变化。
可以一个主库,最多9个从库。
同时分为逻辑standby和物理standby这里我们讨论的是物理standby.一旦创建并配置成standby 后,dg 负责传输primary数据库redo data 到standby 数据库,standby 数据库通过应用接收到的redo data 保持与primary 数据库的事务一致。
这下清楚了吧,需要保证主从库一致,需要传输archive log和redo log到从库,如果不是归档模式无法保证主从库的数据一致。
2.从库只需要安装数据库软件,数据从主库传输后完成。
3.很多人说11g有了active dataguard(ADG),逻辑standby 实际上已经没什么用处了。
4.主从库硬件最好一致。
oracle数据库版本需要一致。
(1)内存检查项:# grep MemTotal /proc/meminfo交换分区检查项:如果内存在1-2G,swap是1.5倍;2-16G,1倍;超过16G,设置为16G即可。
ORACLE数据库调整归档日志空间大小
ORACLE数据库归档日志满后造成无法启动/连接的处理方法在\app\Administrator\diag\rdbms\orcl\orcl\trace(其中orcl根据具体的数据库实例名称而定)路径下的log中可以看到以下信息:ORA-19815: W ARNING: db_recovery_file_dest_size of 2147483648 bytes is 100.00% used, and has 0 remaining bytes available.Wed Jan 9 15:00:29 2013************************************************************************You have following choices to free up space from flash recovery area:1. Consider changing RMAN RETENTION POLICY. If you are using Data Guard,then consider changing RMAN ARCHIVELOG DELETION POLICY.2. Back up files to tertiary device such as tape using RMANBACKUP RECOVERY AREA command.3. Add disk space and increase db_recovery_file_dest_size parameter toreflect the new space.4. Delete unnecessary files using RMAN DELETE command. If an operatingsystem command was used to delete files, then use RMAN CROSSCHECK andDELETE EXPIRED commands.ORA-19815: W ARNING: db_recovery_file_dest_size of 2147483648 bytes is 100.00% used, and has 0 remaining bytes available.这句日志意思是db_recovery_file_dest_size已经满了,导致数据库无法启动。
修改Oracle归档日志大小
1、创建2个新的日志组
alter database add logfile group 4 ('H:\ORACLE\ORADATA\YLZHIS\redo04.log') size 50M;
alter database add logfile group 5 ('H:\ORACLE\ORADATA\YLZHIS\redo05.log') size 50M;
1.alter database drop logfile group 1;
2.alter database drop logfile group 2;
3.alter database drop logfile group 3;
4、操作系统下删除原日志组1、2、3中的文件
2、切换当前日志到新的日志组
1.alter system switch logfile; select * from v$log;可能需要多次执行,确认日志已经切换到4或者5
2.alter system checkpoint;
3、删除旧的日志组
改变归档日志大小只有改变日志组的大小。
方法:加入新的大的日志文件,然后删掉旧的小的日志文件
假设现有三个日志组,每个组内有一个成员,每个成员的大小为1MB,现在想把此三个日志组的成员大小都改为10MB
先查询联机日志文件路径 select * from v$logfile
alter database add logfile group 3 ('H:\ORACLE\ORADATA\YLZHIS\redo03.log') size 50M;
6、切换日志组
1.alter system switch logfile; select * from v$log;可能需要多次执行,确认日志已经切换到4、5、6
11g rac 修改redo日志的大小
11grac修改redo日志的大小1.查看当前redo日志的情况sys@RACDB>SELECT l.group#, l.thread#, f.member, l.archived, l.status, (bytes/1024/1024) size_mb FROM v$log l,v$logfile f WHERE f.group# = l.group# ORDER BY 1,2;2.执行以下语句,创建新的日志组,作为过渡日志组alter database add logfile thread 1 group 5 ('+DATA/racdb/onlinelog/group_5_1.log') size 100M;alter database add logfile thread 1 group 6 ('+DATA/racdb/onlinelog/group_6_1.log') size 100M;alter database add logfile thread 2 group 7 ('+DATA/racdb/onlinelog/group_7_1.log') size 100M;alter database add logfile thread 2 group 8 ('+DATA/racdb/onlinelog/group_8_1.log') size 100M;3.多次切换日志组,直到要替换的日志组变为INACTIVE状态(所有节点执行)sys@RACDB>alter system switch logfile;sys@RACDB>select group#,THREAD#,status,archived,bytes/1024/1024 MB from v$log; GROUP# THREAD# STATUS ARC MB------ ------- ---------- --- ----------1 1 INACTIVE YES 502 1 INACTIVE YES 503 2 INACTIVE NO 504 2 INACTIVE YES 505 1 ACTIVE YES 1006 1 CURRENT NO 1007 2 INACTIVE YES 1008 2 INACTIVE YES 1004.删除日志组1,2,3,4sys@RACDB>alter database drop logfile group 1;sys@RACDB>alter database drop logfile group 2;sys@RACDB>alter database drop logfile group 3;sys@RACDB>alter database drop logfile group 4;sys@RACDB>select group#,THREAD#,status,archived,bytes/1024/1024 MB from v$log;GROUP# THREAD# STATUS ARCHIVED MB------ ------- ---------- ---------- ----------5 1 ACTIVE YES 1006 1 CURRENT NO 1007 2 INACTIVE YES 1008 2 INACTIVE YES 1005.重新添加日志组1,2,3,4分配日志文件大小为100MBalter database add logfile thread 1 group 1 ('+DATA/racdb/onlinelog/group_1_1.log','+FRA/racdb/onlinelog/group_1_2.log') size 100M;alter database add logfile thread 1 group 2 ('+DATA/racdb/onlinelog/group_2_1.log','+FRA/racdb/onlinelog/group_2_2.log') size 100M;alter database add logfile thread 2 group 3 ('+DATA/racdb/onlinelog/group_3_1.log','+FRA/racdb/onlinelog/group_3_2.log') size 100M;alter database add logfile thread 2 group 4 ('+DATA/racdb/onlinelog/group_4_1.log','+FRA/racdb/onlinelog/group_4_2.log') size 100M;添加玩后,查看日志组sys@RACDB>select group#,THREAD#,status,archived,bytes/1024/1024 MB from v$log;GROUP# THREAD# STATUS ARCHIVED MB------ ------- ---------- ---------- ----------1 1 CURRENT NO 1002 1 INACTIVE YES 1003 2 UNUSED YES 1004 2 UNUSED YES 1005 1 INACTIVE YES 1006 1 INACTIVE YES 1007 2 CURRENT NO 1008 2 INACTIVE YES 1006.切换日志组,使日志组5,6,7,8变为INACTIVEsys@RACDB>alter system switch logfile;sys@RACDB>select group#,THREAD#,status,archived,bytes/1024/1024 MB from v$log;GROUP# THREAD# STATUS ARCHIVED MB------ ------- ---------- ---------- ----------1 1 CURRENT NO 1002 1 INACTIVE YES 1003 2 INACTIVE YES 1004 2 CURRENT NO 1005 1 INACTIVE YES 1006 1 INACTIVE YES 1007 2 INACTIVE YES 1008 2 INACTIVE YES 1007.删除过渡日志组5,6,7,8sys@RACDB>alter database drop logfile group 5;sys@RACDB>alter database drop logfile group 6;sys@RACDB>alter database drop logfile group 7;sys@RACDB>alter database drop logfile group 8;8.最后查看修改后的日志情况。
oracle11g rac开启关闭、设置归档小结
关闭1.先关数据库:代码如下:[oracle@oeltan1 ~]$ srvctl stop database -d tantest2.再关闭crs服务代码如下:root@oeltan1 ~]# crsctl stop crs启动:代码如下:[root@oeltan1 ~]# crsctl start crs[oracle@oeltan1 ~]$srvctl start asm -n node_name上述开机一般已经启动代码如下:[oracle@oeltan1 ~]$ srvctl start database -d tantest归档设置:1. 分别创建两个实例的asm目录任意一个实例,grid用户下:代码如下:# su - grid[grid@oeltan1 ~]$ sqlplus /as sysasmsql> select name from v$asm_diskgroup;name--------------------------------------------------------------------------------crsdata1fri12 sql> alter diskgroup fri add directory '+fri/tantest'; sql> alter diskgroup fri add directory '+fri/tantest/arch1';还可以通过asmcmd创建目录:123 asmcmd> pwd +fri/tantest asmcmd> mkdir arch22.修改归档参数任意一个实例,oracle用户下:12 alter system set log_archive_dest_1='location=+fri/tantest/arch1' scope=both sid='tantest1'; alter system set log_archive_dest_1='location=+fri/tantest/arch2' scope=both sid='tantest2';3.两个节点上分别都执行:1234 sql> shutdown immediate; sql> startup mount; sql> alter database archivelog; sql> alter database open;--修改一个实例时,另一个实例不能在open状态,否则报ora-01126: database must be mounted in this instance and not open in any4.分别检查:12345678910111213141516 sql> archive log list database log mode archive mode automatic archival enabled archive destination +fri/tantest/arch1 oldest online log sequence 14next log sequence to archive 15 current log sequence 15 sql> archive log list database log mode archive mode automatic archival enabled archive destination +fri/tantest/arch2 oldest online log sequence 6 next log sequence to archive 7 current log sequence 7 sql>更多信息请查看IT技术专栏。
oracle修改归档日志路径与格式
db_recovery_file_dest_size
big integer 4182M
修改: SQL> alter system set log_archive_dest_1 = 'location=/data1/arch' scope=spfile;
四、重启数据库生效
手动切换日志查看是否生成: alter system switch logfile;
----已经开启归档模式
Archive destination USE_DB_RECOVERY_FILE_DEST ----修改此归档路径
Oldest online log sequence 3
Next log sequence to archive 5
Current log sequence 5
二、修改归档日志格式
NAME
TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest
string /oracle/app/fast_recovery_area
log_archive_format
string %t_%s_%r.dbf
修改格式: SQL> alter system set log_archive_format='%t_%s_%r.arch' scope=spfile;
三、修改日志路径
SQL> show parameter DB_RECOVERY_FILE_DEST;
大佬我的初始化后novacell0依旧没数据但是不影响向后指向但是在创建主机后会报错
Oracle归档模式及归档日志的操作
ORACLE归档模式及归档日志的操 作
归档模式及归档日志基本概念
为什么要给Oracle做归档操作? Oracle数据库有联机重做日志,这个日志是记录对数据库所做的修改,比如插 入,删除,更新数据等,对这些操作都会记录在联机重做日志里。 当ORACLE数据库运行在ARCHIVELOG(归档模式)模式时,所有的事务重做日志 都将保存.这意味着对数据库进行的所有事务都留有一个备份,尽管重做日志以 循环方式工作,但在一个重做日志被覆盖前均将为其建立一个副本.在重做日志 文件复制完成之前,ORACLE数据库将停止一切新的操作,在旧的事务记录完成之 前ORACLE不对其进行覆盖.有了所有事务的副本,数据库就可以从所有类型的失 败中恢复,包括用户错误或磁盘崩溃.这是一种最安全的数据库工作方式。在实 际开发中,归档模式是符合开发的,归档模式可以提高Oracle数据库的可恢复 性,生产数据库都应该运行在此模式下,数据库使用归档方式运行时才可以进 行灾难性恢复。
LINUX系统开启归档模式
修改数据库为归档模式(需在关闭数据库后操作,操作完成后启动数据库) alter database 改为非归档,则执行: alter database noarchivelog;)
WINDOWS开启归档模式
删除归档日志释放磁盘空间
先查看归档日志状态: RMAN>list archivelog all; 手工删除归档日志文件(删除7天前的所有归档日志) RMAN>DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7'; 说明: SYSDATA-7,表明当前的系统时间7天前,before关键字表示在7天前的归档日志, 如果使用了闪回功能,也会删除闪回的数据。 同样道理,也可以删除从7天前到现在的全部日志,不过这个命令要考虑清楚, 做完这个删除,最好马上进行全备份数据库。
oracle 11g rac中归档文件的命名参数
在Oracle 11g RAC(Real Application Clusters)中,归档日志文件的命名通常依赖于几个参数来确保唯一性和便于管理。
以下是与归档文件命名相关的参数:1. `LOG_ARCHIVE_DEST_n`:这个参数定义了归档重做日志文件存放的位置,其中`n`是序号,可以设置多个归档目的地。
2. `DB_UNIQUE_NAME`:此参数用于设置数据库实例的唯一名称。
在某些情况下,该参数会影响归档文件的名称,以确保每个实例生成的归档日志具有唯一的名称。
3. `LOG_ARCHIVE_FORMAT`:通过这个参数,可以自定义归档日志文件的命名格式。
它支持一些特定的替换变量,如`%t`代表线程号,`%s`代表序列号,`%r`代表重置日志文件时生成的唯一值等。
4. `LOG_SEQUENCE`:指定每个日志文件的序列号。
在归档日志文件命名时,通常会包含这个序列号以维持顺序。
5. `MAXLOGFILES` 和`MAXLOGMEMBERS`:这些参数定义了在线重做日志组和成员的最大数量,它们间接影响了归档文件的命名,因为一旦达到最大日志组数,系统会开始循环使用日志文件,并在归档文件名中反映出来。
6. `FAL_SERVER` 和`FAL_CLIENT`:如果使用了Flash Recovery Area (FRA),则归档重做日志文件可能会被自动移动到FRA,并且其路径将会体现在归档文件名中。
7. `COMPATIBLE` 参数:虽然不直接涉及归档文件的命名,但设置兼容级别可能会影响到归档处理的行为。
默认情况下,如果不自定义`LOG_ARCHIVE_FORMAT`参数,Oracle 11g RAC的归档重做日志文件将使用类似以下格式的命名方式:`ARCn/%$x.%$g/%$s`其中:- `ARCn` 表示归档重做日志文件的缩写。
- `%$x` 是线程号(对于RAC环境)。
- `%$g` 是日志组号。
Oracle归档日志与非归档日志的切换及路径设置
Oracle归档⽇志与⾮归档⽇志的切换及路径设置--====================-- Oracle 归档⽇志--====================Oracle可以将联机⽇志⽂件保存到多个不同的位置,将联机⽇志转换为归档⽇志的过程称之为归档。
相应的⽇志被称为归档⽇志。
⼀、归档⽇志是联机重做⽇志组⽂件的⼀个副本包含redo记录以及⼀个唯⼀的log sequence number对⽇志组中的⼀个⽇志⽂件进⾏归档,如果该组其中⼀个损坏,则另⼀个可⽤的⽇志将会被归档对于归档模式的⽇志切换,当⽇志归档完成后,下⼀个⽇志才能被覆盖或重新使⽤⾃动归档功能如开启,则后台进程arcn在⽇志切换时⾃动完成归档,否则需要⼿动归档归档⽇志⽤途恢复数据库更新standby数据库使⽤LogMiner 提取历史⽇志的相关信息⼆、⽇志的两种模式1.⾮归档模式不适⽤与⽣产数据库创建数据库时,缺省的⽇志管理模式为⾮归档模式当⽇志切换,检查点产⽣后,联机重做⽇志⽂件即可被重新使⽤联机⽇志被覆盖后,介质恢复仅仅⽀持到最近的完整备份不⽀持联机备份表空间,⼀个表空间损坏将导致整个数据库不可⽤,需要删除掉损坏的表空间或从备份恢复对于操作系统级别的数据库备份需要将数据库⼀致性关闭应当备份所有的数据⽂件、控制⽂件(单个)、参数⽂件、密码⽂件、联机⽇志⽂件(可选)2.归档模式能够对联机⽇志⽂件进⾏归档,⽣产数据库强烈建议归档在⽇志切换时,下⼀个即将被写⼊⽇志组必须归档完成之后,⽇志组才可以使⽤归档⽇志的Log sequence number信息会记录到控制⽂件之中必须有⾜够的磁盘空间⽤于存放归档⽇志Oracle 9i 需要设置参数log_archive_start=true 才能够进⾏⾃动归档备份与恢复⽀持热备份,且当某个⾮系统表空间损坏,数据库仍然处于可⽤状态,且⽀持在线恢复使⽤归档⽇志能够实现联机或脱机时点恢复(即可以恢复到指定的时间点、指定的归档⽇志或指定的SCN)三、两种模式的切换设置及⼿动归档1.⾮归档到归档模式a.⼀致性关闭数据库(shutdown [immediate | transactional |normal])b.启动到mount阶段(startup mount)c.切换到归档模式(alter database archivelog [manual])d.切换到open阶段(alter database open)e.对数据做⼀个完整备份(full backup)--演⽰⾮归档到归档模式SQL> ARCHIVE LOG LIST --查看数据库是否处于归档模式Database log mode No Archive ModeAutomatic archival DisabledArchive destination USE_DB_RECOVERY_FILE_DESTOldest online log sequence 14Current log sequence 16SQL> SELECT log_mode FROM v$database; --查看数据库是否处于归档模式LOG_MODE------------NOARCHIVELOGSQL> SHUTDOWN IMMEDIATE; --⼀致性关闭数据库Database closed.Database dismounted.ORACLE instance shut down.SQL> STARTUP MOUNT; --启动到mount状态ORACLE instance started.Total System Global Area 251658240 bytesFixed Size 1218796 bytesVariable Size 75499284 bytesDatabase Buffers 171966464 bytesRedo Buffers 2973696 bytesDatabase mounted.SQL> ALTER DATABASE ARCHIVELOG; --切换到⾃动归档模式Database altered.SQL> ALTER DATABASE OPEN; --切换到open状态Database altered.SQL> ARCHIVE LOG LIST; --查看数据库的归档状态Database log mode Archive Mode --已置为归档模式Automatic archival Enabled --对⽇志进⾏⾃动归档Oldest online log sequence 14Next log sequence to archive 16Current log sequence 16--备份数据库步骤省略2.归档模式切换到⾮归档模式(步骤同⾮归档到归档模式仅仅是c步骤使⽤alter database noarchivelog,演⽰省略)a.⼀致性关闭数据库(shutdown [immediate | transactional |normal])b.启动到mount阶段(startup mount)c.切换到归档模式(alter database noarchivelog )d.切换到open阶段(alter database open)e.对数据做⼀个完整备份(full backup)3.⼿动归档⼿动归档时需要将⽇志模式切换为alter database archivelog manual再使⽤alter system archive log current | all 实现归档更多⼿动归档命令:ALTER SYSTEM archive_log_clause注意:⼿动归档模式下不⽀持stanby数据库在alter database archivelog模式下也可以实现对⽇志的归档SQL> ALTER DATABASE ARCHIVELOG MANUAL; --将⽇志模式切换为⼿⼯归档模式Database altered.SQL> ALTER DATABASE OPEN; --打开数据库Database altered.SQL> ALTER SYSTEM ARCHIVE LOG CURRENT; --对当前的⽇志进⾏归档(建议在mount阶段完成)System altered.SQL> ALTER SYSTEM ARCHIVE LOG ALL; --对所有的⽇志进⾏归档alter system archive log all*ERROR at line 1:ORA-00271: there are no logs that need archiving --没有需要归档的⽇志通过设置LOG_ARCHIVE_MAX_PROCESSES 参数,可以指定数据库规定所需初始化的进程数,缺省的归档进程数为2⼀般情况下不需要修改该参数,Oracle会根据归档情况⾃动启动额外的归档进程也可以动态的增加或减少归档进程数,⽐如有些业务在⽉底需要进⾏⼤量归档,平时则归档较少,对此可以动态修改修改⽅法ALTER SYSTEM SET LOG_ARCHIVE_MAX_PROCESSES=3;5.配置归档(两种归档位置配置⽅法)a.归档到本机且少于等于两个归档位置设置LOG_ARCHIVE_DEST和LOG_ARCHIVE_DUPLEX_DEST参数alter system set log_archive_dest = '/u01/app/oracle/archivelog1' scope = spfile;alter system set log_archive_duplex_dest = '/u01/app/oracle/archivelog2' scope = spfile;b.归档到本机或远程主机设置LOG_ARCHIVE_DEST_n 参数,n最⼤值为10alter system set log_archive_dest_1 = 'LOCATION=/u01/app/oracle/archivelog3';alter system set log_archive_dest_2 = 'SERVICE=standby1';对于远程归档位置,SERVICE选项需要指定远程数据库的⽹络服务名(在tnsnames.ora⽂件中配置)LOG_ARCHIVE_DEST_n的两个常⽤选项MANADATORY | OPTIONAL:MANADATORY表⽰归档必须成功复制到⽬的路径之后,联机重做⽇志才能被复⽤,OPTIONAL正好相反REOPEN:指定归档失败后指定间隔多少时间重试归案,缺省的为300秒⽰例:log_archive_dest_1 = 'LOCATION=/u01/app/oracle/archivelog3 manadatory reopen = 600'log_archive_dest_2 = 'SERVICE=standby1 manadatory reopen'c.两种归档⽅法异同(前者log_archive_dest、log_archive_duplex_dest ,后者log_archive_dest_n)两者都可以归档到本机,后者可以归档到远程主机,前者不⽀持该功能前者最多配置两个归档位置,后者可以配置10个归档位置两者互不兼容,要么使⽤前者,要么使⽤后者使⽤后者归档到本地时需要增加LOCATION选项,备份到远程主机需要使⽤SERVICE选项但上述两种⽅式未指定路径时,归档⽇志位于db_recovery_file_dest 缺省为$ORACLE_BASE/flash_recovey_aread.归档⽇志命名格式设置LOG_ARCHIVE_FORMAT参数,Unix下的缺省设置为LOG_ARCHIVE_FORMAT=%t_%s_%r.dbf%s: ⽇志序列号:%S: ⽇志序列号(带有前导)%t: 重做线程编号.%a: 活动ID号%d: 数据库ID号%r RESETLOGS的ID值.alter system set log_archive_format = 'arch_%t_%s_%r.arc';e.归档位置状态Valid/Invalid --磁盘位置及服务名等是否有效Enabled/Disabled --磁盘位置的可⽤状态及数据库能否使⽤该归档位置Active/Inactive --访问归档⽬的地是否有异常f.归档成功的最⼩个数(使⽤参数log_archive_min_succeed_dest = n)alter system set log_archive_min_succeed_dest = 2; --缺省为1联机重做⽇志组能够被覆盖的前提所有强制路径归档位置成功实现归档归档⽬的地的成功归档的个数⼤于或等于上述参数设定的值当强制个数⼤于该参数设定的个数,则以强制个数为准当强制个数⼩于该参数设定的个数,则可选的成功归档路径加上强制的归档路径个数⾄少等于该参数设定值g.控制归档的可⽤性(使⽤参数log_archive_dest_state_n)alter system set log_archive_dest_state_1 = enable | deferenable -->缺省状态,可以在该归档位置进⾏归档defer -->禁⽤该归档位置h.演⽰归档路径配置及查看归档进程,归档位置状态SQL> ARCHIVE LOG LIST; --查看⽇志是否处于归档状态Database log mode Archive ModeAutomatic archival EnabledArchive destination USE_DB_RECOVERY_FILE_DESTOldest online log sequence 24Next log sequence to archive 26Current log sequence 26SQL> ho ps -ef | grep ora_arc --查看归档进程是否已启动oracle 4062 1 0 11:43 ? 00:00:00 ora_arc0_orcloracle 4064 1 0 11:43 ? 00:00:00 ora_arc1_orclSQL> SHOW PARAMETER ARCHIVE --查看归档路径是否已设置,为空值表⽰未设置------------------------------------ ----------- ------------------------------archive_lag_target integer 0log_archive_config stringlog_archive_dest stringlog_archive_dest_1 stringlog_archive_dest_10 stringlog_archive_dest_2 stringlog_archive_dest_3 stringlog_archive_dest_4 stringlog_archive_dest_5 stringlog_archive_dest_6 stringlog_archive_dest_7 stringNAME TYPE VALUE------------------------------------ ----------- ------------------------------log_archive_dest_8 stringlog_archive_dest_9 stringlog_archive_dest_state_1 string enablelog_archive_dest_state_10 string enablelog_archive_dest_state_2 string enablelog_archive_dest_state_3 string enablelog_archive_dest_state_4 string enablelog_archive_dest_state_5 string enablelog_archive_dest_state_6 string enablelog_archive_dest_state_7 string enablelog_archive_dest_state_8 string enableNAME TYPE VALUE------------------------------------ ----------- ------------------------------log_archive_dest_state_9 string enablelog_archive_duplex_dest stringlog_archive_format string %t_%s_%r.dbflog_archive_local_first boolean TRUElog_archive_max_processes integer 2log_archive_min_succeed_dest integer 1log_archive_start boolean FALSE --该参数在9i中使⽤log_archive_trace integer 0remote_archive_enable string trueSQL> alter system set log_archive_dest = '/u01/app/oracle/archivelog1' scope = spfile; System altered.SQL> alter system set log_archive_duplex_dest= '/u01/app/oracle/archivelog2' scope=spfile; System altered.SQL> alter system set log_archive_format = 'arch_%t_%s_%r.arc' scope = spfile;--设定完毕后需要重新启动实例,在此省略关闭启动信息SQL> ho ls /u01/app/oracle/archivelog1 --查看归档路径下是否存在⽂件或⽂件夹SQL> ho ls /u01/app/oracle/archivelog2 --查看归档路径下是否存在⽂件或⽂件夹SQL> alter system archive log current; --⼿动进⾏归档System altered.SQL> ho ls -l /u01/app/oracle/archivelog1 --在指定的⽂件夹archivelog1已产⽣归档⽇志total 18224-rw------- 1 oracle oinstall 18636800 Jul 28 20:39 arch_1_26_724852763.arcSQL> ho ls -l /u01/app/oracle/archivelog2 --在指定的⽂件夹archivelog2已产⽣归档⽇志total 18224-rw------- 1 oracle oinstall 18636800 Jul 28 20:39 arch_1_26_724852763.arcSQL> ho mkdir /u01/app/oracle/archivelog3 --创建新的归档路径SQL> ho mkdir /u01/app/oracle/archivelog4 --创建新的归档路径SQL> alter system set log_archive_dest_1 = 'location=/u01/app/oracle/archivelog3'2 scope = spfile;System altered.SQL> alter system set log_archive_dest_2 = 'location=/u01/app/oracle/archivelog4'2 scope = spfile;System altered.SQL> shutdown immediate; --关闭实例Database closed.Database dismounted.ORACLE instance shut down.SQL> startup --启动实例后,收到错误提⽰表明两种归档⽅式不兼容ORA-16019: cannot use LOG_ARCHIVE_DEST_1 with LOG_ARCHIVE_DEST or LOG_ARCHIVE_DUPLEX_DEST--关于上述设置导致的错误处理请参照:⼜⼀例SPFILE设置错误导致数据库⽆法启动SPFILE错误导致数据库⽆法启动--下⾯是正确的处理办法,应当先将⼀种归档⽅式路径置空,此处是将log_archive_dest置空SQL> alter system set log_archive_dest = '' scope = spfile;System altered.--此处是将log_archive_duplex_dest置空SQL> alter system set log_archive_duplex_dest = '' scope = spfile;System altered.--接下来再设定log_archive_dest_1,log_archive_dest_2SQL> alter system set log_archive_dest_1 = 'location=/u01/app/oracle/archivelog3'2 scope = spfile;System altered.SQL> alter system set log_archive_dest_2 = 'location=/u01/app/oracle/archivelog4'2 scope = spfile;System altered.--由于没有配置standby服务器,所以省略配置到远程主机--设定完毕后需要重新启动实例,此时系统能正常启动,在此省略关闭启动信息SQL> alter system archive log current; --进⾏⼿动归档System altered.SQL> ho ls -l /u01/app/oracle/archivelog3/ --查看归档⽇志total 27752-rw------- 1 oracle oinstall 28382208 Aug 2 13:46 arc_1_38_724852763.arcSQL> ho ls -l /u01/app/oracle/archivelog4/ --查看归档⽇志total 27752-rw------- 1 oracle oinstall 28382208 Aug 2 13:45 arc_1_38_724852763.arcSQL> col dest_name format a20;SQL> col destination format a30;SQL> select dest_name,status,archiver,destination,2 log_sequence,reopen_secs,transmit_mode,process3 from v$archive_dest; --查看归档⽬的地的相关状态信息DEST_NAME STATUS ARCHIVER DESTINATION LOG_SEQUENCE REOPEN_SECS TRANSMIT_MOD PROCESS -------------------- --------- ---------- ------------------------------ ------------ ----------- ------------ -------LOG_ARCHIVE_DEST_1 VALID ARCH /u01/app/oracle/archivelog3/ 38 300 SYNCHRONOUS ARCHLOG_ARCHIVE_DEST_2 VALID ARCH /u01/app/oracle/archivelog4/ 38 300 SYNCHRONOUS ARCHLOG_ARCHIVE_DEST_3 INACTIVE ARCH 0 0 SYNCHRONOUS ARCH-----------------------------------------------------------------------------------------------------------------------SQL> alter system set log_archive_dest_state_2 = defer; --停⽤log_archive_dest_state_2System altered.SQL> show parameter log_archive_dest_stateNAME TYPE VALUE------------------------------------ ----------- ---------------log_archive_dest_state_1 string enablelog_archive_dest_state_10 string enablelog_archive_dest_state_2 string DEFER --该路径显⽰为deferlog_archive_dest_state_3 string enablelog_archive_dest_state_4 string enablelog_archive_dest_state_6 string enablelog_archive_dest_state_7 string enablelog_archive_dest_state_8 string enablelog_archive_dest_state_9 string enableSQL> alter system archive log current; --⼿动归档System altered.SQL> ho ls -l /u01/app/oracle/archivelog3; --可以看出archivelog3⽐archivelog4多出⼏个归档⽂件total 124772 --建议将多出⽂件件的使⽤系统命令复制到archivelog4-rw------- 1 oracle oinstall 28382208 Aug 2 13:46 arc_1_38_724852763.arc-rw------- 1 oracle oinstall 1788416 Aug 2 20:41 arc_1_39_724852763.arc-rw------- 1 oracle oinstall 30257664 Aug 2 22:21 arc_1_40_724852763.arc-rw------- 1 oracle oinstall 30257664 Aug 2 22:22 arc_1_41_724852763.arc-rw------- 1 oracle oinstall 30257664 Aug 2 22:22 arc_1_42_724852763.arc-rw------- 1 oracle oinstall 6647296 Aug 2 22:23 arc_1_43_724852763.arcSQL> ho ls -l /u01/app/oracle/archivelog4;total 29504-rw------- 1 oracle oinstall 28382208 Aug 2 13:45 arc_1_38_724852763.arc-rw------- 1 oracle oinstall 1788416 Aug 2 20:41 arc_1_39_724852763.arcSQL> alter system set log_archive_dest_state_2 = enable; --启⽤log_archive_dest_state_2 System altered.SQL> alter system archive log current; --⼿动归档System altered.SQL> ho ls -l /u01/app/oracle/archivelog3; --启⽤后出现了相同的arc_1_44_724852763.arc⽂件total 124856-rw------- 1 oracle oinstall 28382208 Aug 2 13:46 arc_1_38_724852763.arc-rw------- 1 oracle oinstall 1788416 Aug 2 20:41 arc_1_39_724852763.arc-rw------- 1 oracle oinstall 30257664 Aug 2 22:21 arc_1_40_724852763.arc-rw------- 1 oracle oinstall 30257664 Aug 2 22:22 arc_1_41_724852763.arc-rw------- 1 oracle oinstall 30257664 Aug 2 22:22 arc_1_42_724852763.arc-rw------- 1 oracle oinstall 81408 Aug 2 22:25 arc_1_44_724852763.arcSQL> ho ls -l /u01/app/oracle/archivelog4;total 29588-rw------- 1 oracle oinstall 28382208 Aug 2 13:45 arc_1_38_724852763.arc-rw------- 1 oracle oinstall 1788416 Aug 2 20:41 arc_1_39_724852763.arc-rw------- 1 oracle oinstall 81408 Aug 2 22:25 arc_1_44_724852763.arc四、归档⽇志相关视图v$archived_log -->从控制⽂件中获得归档的相关信息v$archive_dest -->归档路径及状态v$log_history -->控制⽂件中⽇志的历史信息v$database -->查看数据库是否处于归档状态v$archive_processes -->归档相关的后台进程信息命令:archive log listSQL> select name,sequence#,registrar,standby_dest,archived,status2 from v$archived_log;NAME SEQUENCE# REGISTR STA ARC S------------------------------------------------------- ---------- ------- --- --- -/u01/app/oracle/archivelog4/arc_1_38_724852763.arc 38 FGRD NO YES A/u01/app/oracle/archivelog3/arc_1_39_724852763.arc 39 ARCH NO YES A/u01/app/oracle/archivelog4/arc_1_39_724852763.arc 39 ARCH NO YES A/u01/app/oracle/archivelog3/arc_1_40_724852763.arc 40 ARCH NO YES A/u01/app/oracle/archivelog3/arc_1_41_724852763.arc 41 ARCH NO YES A/u01/app/oracle/archivelog3/arc_1_42_724852763.arc 42 ARCH NO YES A/u01/app/oracle/archivelog3/arc_1_43_724852763.arc 43 ARCH NO YES A/u01/app/oracle/archivelog3/arc_1_44_724852763.arc 44 FGRD NO YES A/u01/app/oracle/archivelog4/arc_1_44_724852763.arc 44 FGRD NO YES A转:/leshami/article/details/5784713ORA-16032,ORA-09291,ORA-04018的解决⽅法:#原因描述:数据库服务器挂载的⼀块硬盘坏掉了,重新启动操作系统后发现数据库启动不了了,启动报错:ORA-16032: parameter LOG_ARCHIVE_DEST_1 destination string cannot be translated说明:之前Oracle开启过归档⽇志且⽇志就是存储在该块硬盘,后来因为⽇志导致数据库变慢就把归档关掉了。
ORACLE 11G ,归档日志
Data files
Database
Redo log files
Archived log files
获取归档信息
执行SQL命令:
ARCHIVE LOG LIST;
v$DATABASE: – NAME – LOG_MODE
v$INSTANCE: ARCHIVER
日志模式—非归档模式
特点: 不能在open状态下进行数据库的物理备份 要定期进行数据库的完全备份 数据库失败时,只能将数据库恢复到上一次完 全备份点 只能用于实例恢复
将数据库的状态改变到mount状态: alter database archivelog
启动数据库: alter database open
归档重做日志—手工归档
启动手工归档:
Alter database archivelog manual;
归档所有未归档的重做日志:
Alter system archive log all;
log_archive_dest_state_2=enable
log_archive_dest_state_3=defer
: log_archive_dest_30:第30个位置
log_archive_dest_state_n: 某位置是否有效
设置归档日志的位置
log_archive_format:指定文件名的格式
例如:
log_archive_format=arc%s.%t log_archive_min_succeed_dest
示例
log_archive_dest_1=‘location=/usr/oracle’
log_archive_dest_2=‘location= /usr/oracle’ log_archive_dest_3=‘service=standby’
ORACLE数据库调整归档日志空间大小
ORACLE数据库归档日志满后造成无法启动/连接的处理方法在\app\Administrator\diag\rdbms\orcl\orcl\trace(其中orcl根据具体的数据库实例名称而定)路径下的log中可以看到以下信息:ORA-19815: W ARNING: db_recovery_file_dest_size of 2147483648 bytes is 100.00% used, and has 0 remaining bytes available.Wed Jan 9 15:00:29 2013************************************************************************You have following choices to free up space from flash recovery area:1. Consider changing RMAN RETENTION POLICY. If you are using Data Guard,then consider changing RMAN ARCHIVELOG DELETION POLICY.2. Back up files to tertiary device such as tape using RMANBACKUP RECOVERY AREA command.3. Add disk space and increase db_recovery_file_dest_size parameter toreflect the new space.4. Delete unnecessary files using RMAN DELETE command. If an operatingsystem command was used to delete files, then use RMAN CROSSCHECK andDELETE EXPIRED commands.ORA-19815: W ARNING: db_recovery_file_dest_size of 2147483648 bytes is 100.00% used, and has 0 remaining bytes available.这句日志意思是db_recovery_file_dest_size已经满了,导致数据库无法启动。
修改oracle重做日志文件大小
修改oracle重做⽇志⽂件⼤⼩1. 创建3个新的⽇志组SQL> ALTER DATABASE ADD LOGFILE GROUP 4 ('/u01/app/oracle/oradata/orcl/redo06.log') SIZE 500M; SQL> ALTER DATABASE ADD LOGFILE GROUP 5 ('/u01/app/oracle/oradata/orcl/redo05.log') SIZE 500M; SQL> ALTER DATABASE ADD LOGFILE GROUP 6 ('/u01/app/oracle/oradata/orcl/redo06.log') SIZE 500M;查看⽇志组SQL> select * from v$logfile;2.切换当前⽇志到新的⽇志组SQL> alter system switch logfile;SQL> alter system switch logfile;SQL> alter system switch logfile;切到要删除为INCACTIVE才⾏SQL> select group#,sequence#,bytes,members,status from v$log;GROUP# SEQUENCE# BYTES MEMBERS STATUS---------- ---------- ---------- ---------- ----------------1 139 ******** 1 INACTIVE2 137 ******** 1 INACTIVE3 138 ******** 1 INACTIVE4 140 524288000 1 ACTIVE5 141 524288000 1 CURRENT6 136 524288000 1 INACTIVE3.删除旧的⽇志组SQL> alter database drop logfile group 1;Database altered.SQL> alter database drop logfile group 2;Database altered.SQL> alter database drop logfile group 3;查看是否删除了⽇志组SQL> select group#,sequence#,bytes,members,status from v$log;GROUP# SEQUENCE# BYTES MEMBERS STATUS---------- ---------- ---------- ---------- ----------------4 140 524288000 1 INACTIVE5 141 524288000 1 CURRENT6 136 524288000 1 INACTIVE4.操作系统删除原⽇志组1、2、3中的⽂件[oracle@oracle122 log]$ cd /u01/app/oracle/oradata/orcl[oracle@oracle122 orcl]$[oracle@oracle122 orcl]$ pwd/u01/app/oracle/oradata/orcl[oracle@oracle122 orcl]$ lscontrol01.ctl example01.dbf redo01.log redo02.log redo03.log redo04.log redo05.log redo06.log sysaux01.dbf system01.dbftemp01.dbf undotbs01.dbf users01.dbf[oracle@oracle122 orcl]$ rm -rf redo01.log[oracle@oracle122 orcl]$ rm -rf redo02.log[oracle@oracle122 orcl]$ rm -rf redo03.log5.重建⽇志组1、2、3SQL> ALTER DATABASE ADD LOGFILE GROUP 1 ('/u01/app/oracle/oradata/orcl/redo01.log') SIZE 500M;SQL> ALTER DATABASE ADD LOGFILE GROUP 2 ('/u01/app/oracle/oradata/orcl/redo02.log') SIZE 500M;SQL> ALTER DATABASE ADD LOGFILE GROUP 3 ('/u01/app/oracle/oradata/orcl/redo03.log') SIZE 500M;7.删除中间过渡⽤的⽇志组4、5、6 ,在删除时查询select group#,sequence#,bytes,members,status from v$log; 删除组是否为INACTIVE,如果不是INACTIVE 就要执⾏alter system switch logfile;查询看⼀下SQL> select group#,sequence#,bytes,members,status from v$log;GROUP# SEQUENCE# BYTES MEMBERS STATUS---------- ---------- ---------- ---------- ----------------1 148 524288000 1 CURRENT2 143 524288000 1 INACTIVE3 144 524288000 1 INACTIVE4 146 524288000 1 INACTIVE5 147 524288000 1 INACTIVE6 145 524288000 1 INACTIVESQL> alter database drop logfile group 4;Database altered.SQL> alter database drop logfile group 5;Database altered.SQL> alter database drop logfile group 6;Database altered.8.到操作系统删除组4、5、6[oracle@oracle122 orcl]$ rm -rf redo04.log[oracle@oracle122 orcl]$ rm -rf redo05.log[oracle@oracle122 orcl]$ rm -rf redo06.log9.备份当前最新的控制⽂件SQL> alter database backup controlfile to trace resetlogs ;。
ORACLE归档日志设置
在ORACLE 数据库的开发环境和测试环境中,数据库的日志模式和自动归档模式一般都是不设置的,这样有利于系统应用的调整,也免的生成大量的归档日志文件将磁盘空间大量的消耗。
但在系统上线,成为生产环境时,将其设置为日志模式并自动归档就相当重要了,因为,这是保证系统的安全性,有效预防灾难的重要措施。
这样,通过定时备份数据库和在两次备份间隔之间的日志文件,可以有效的恢复这段时间的任何时间点的数据,可以在很多时候挽回或最大可能的减少数据丢失。
一、要使OARCLE 数据库进行日志的自动归档,需要做两方面的事情;1.是数据库日志模式的设置(可为Archive Mode 和No Archive Mode);2.就是自动归档模式设置(Automatic archival,可为Enabled 和Disabled)。
二、如何查看数据库的现行日志和自动归档模式的设置可用archive log list 命令来查看。
运行在日志自动归档模式下的数据库系统查看结果如下(一般是生产环境):SQL> archive log listDatabase log mode Archive ModeAutomatic archival EnabledArchive destination /backup/archivelogOldest online log sequence 2131Next log sequence to archive 2133Current log sequence 2133没有启动数据库日志模式和自动归档的数据库系统查看结果如下(一般是测试环境):SQL> archive log listDatabase log mode No Archive ModeAutomatic archival DisabledArchive destination /u01/app/oracle/product/8.1.7/dbs/archOldest online log sequence 194Current log sequence 196三. 数据库日志模式的设置在创建数据库时,可以在CREATE DATABASE 语句中指定数据库的日志模式。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
oracle11g更改归档模式、目录、日志大小
一、更改Oracle为归档模式
1.关闭oracle
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
2.启动为mount状态
SQL> startup mount
ORACLE instance started.
Total System Global Area 2572144640 bytes
Fixed Size 2283984 bytes
Variable Size 738199088 bytes
Database Buffers 1828716544 bytes
Redo Buffers 2945024 bytes
Database mounted.
3.更改为归档模式
SQL> alter database archivelog
Database altered.
备注:‘archivelog’为归档模式;‘noarchivelog’为非归档模式。
4.更改数据库为‘打开’状态
SQL> alter database open
5.查看归档模式信息
SQL> archvie log list
它会提示归档的模式、是否启用、参数
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 88
Next log sequence to archive 90
Current log sequence 90
二、更改归档目录
1.查看参数db_recovery_file_dest
(1)“db_recovery_file_dest”是用于定义存储归档日志的目录。
通过show parameter命令,显示参数的值为(默认为)fast_recovery_area。
示例如下:SQL> show parameter db_recovery
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest string D:\oracle\fast_recovery_area db_recovery_file_dest_size big integer 4182M
(2)查看v$recovery_file_dest视图,可得知fast_recovery_area的空间限制、已使用的空间、文件数等。
SQL> select * from v$recovery_file_dest;
NAME SPACE_LIMIT SPACE_USED SPACE_RECLAIMABLE NUMBER_OF_FILES
----------- ---------- ----------------- ---------------
D:\oracle\fast_recovery_area 4385144832 4346230272 2741248 102
2.更改归档日志目录
语法:alter system set 参数=值scope=spfile;
示例:SQL> alter system set db_recovery_file_dest='D:\oracle\archivelog' scope=spfile;
System altered.
三、更改归档日志大小
1.查看参数'db_recovery_file_dest_size'值
SQL> show parameter db_recover
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest string D:\oracle\archivelog db_recovery_file_dest_size big integer 4182M
2.更改参数'db_recovery_file_dest_size'值大小
SQL> alter system set db_recovery_file_dest_size=41820M scope=spfile; System altered.
3.关闭数据库,重启数据库
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup open;
ORACLE instance started.
Total System Global Area 2572144640 bytes
Fixed Size 2283984 bytes
Variable Size 738199088 bytes
Database Buffers 1828716544 bytes
Redo Buffers 2945024 bytes
Database mounted.
Database opened.
4.再次查看参数'db_recovery_file_dest_size'值
SQL> show parameter db_reco
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest string D:\oracle\archivelog db_recovery_file_dest_size big integer 41820M。