Oracle 改变重做日志位置或名称
oracle——数据库日志存放位置
oracle——数据库⽇志存放位置1,默认情况下,oracle的⽇志⽂件记录在$ORACLE/rdbms/log⽬录下[plain]1. [oracle@oracle log]$ pwd2. /home/oracle/oracle/product/10.2.0/db_1/rdbms/log⽇志⽂件为(alert_<ORACLE_SID>.log):[plain]1. [oracle@oracle log]$ ll2. 总计 8483. -rw-rw-r-- 1 aaa aaa 962 06-20 15:57 alert_TESTDB.log2,如果不是在默认位置,则可通过sql查询⽇志⽂件位置:[plain]1. SQL> show parameter dump_dest2.3. NAME TYPE4. ------------------------------------ ----------------------5. VALUE6. ------------------------------7. background_dump_dest string8. /home/oracle/oracle/admin/TESTDB/bdump9. core_dump_dest string10. /home/oracle/oracle/admin/TESTDB/cdump11. user_dump_dest string12. /home/oracle/oracle/admin/TESTDB/udump其中background_dump_dest的value值即为⽇志⽂件存放位置----------------------------------------------------------------------------------------------oracle11g修改了⽇志系统,不在使⽤oracle9的alert_$ORACLE_SID.log⽇志,修改为Diag Alert 和Diag Trace两个⽬录保存xml格式和⽂本格式的⽇志,这个两个⽬录分别放置于/oracle/oracle/diag/rdbms/rac/rac1/trace和/oracle/oracle/diag/rdbms/rac/rac1/alert⽬录下,也可以使⽤sql>select name ,value from v$diag_info命令来查询。
oracle db_file_name_convert转换规则
oracle db_file_name_convert转换规则
`DB_FILE_NAME_CONVERT` 是 Oracle 数据库的一个初始化参数,用于在自动存储管理 (ASM) 和非 ASM 文件系统之间转换数据文件和重做日志文件的名称。
这个参数在将数据库从非 ASM 迁移到 ASM 或在混合环境中管理时特别有用。
参数 `DB_FILE_NAME_CONVERT` 接受一个字符串,该字符串包含两个部分,由逗号分隔:
1. 非 ASM 文件路径模式。
2. ASM 文件路径模式。
例如:
```css
DB_FILE_NAME_CONVERT=/u01/app/oracle/oradata,+DATA
```
在这个例子中,非 ASM 文件路径模式是 `/u01/app/oracle/oradata`,而ASM 文件路径模式是 `+DATA`。
当数据库需要转换文件名时,它将使用这两个模式来生成新的文件路径。
当你设置这个参数后,Oracle 会自动将所有非 ASM 数据文件和重做日志文件的名称转换为 ASM 格式。
这包括备份和归档日志文件。
需要注意的是,这个参数只影响新创建的文件或需要重命名的文件。
已经存在的文件不会受到影响。
此外,如果你在迁移过程中遇到任何问题或不确定如何设置这个参数,建议与 Oracle 支持服务或经验丰富的 Oracle DBA 咨询。
oracle 重做日志文件
重做日志文件重做日志文件记录的两类数据:1.修改前的数据2.修改后的数据当满足一定条件时先将修改操作所产生的重做记录写入重做日志文件中,然后才将内存中的修改结果成批的写入数据文件,最后在提交事务重做日志文件是由重做记录组成的,重做记录是由修改向量组成的。
当用户执行一条update 语句对某一个表中的记录进行修改时,会生成一条记录,这条记录用多个向量记录下了被这条语句修改过的各个db块中的信息。
重做记录采用循环的方式在SGA区的重做日志缓存区中进行缓冲,并且由后台进程LGWR 写入到其中的某个重做日志文件中。
用户无论何时提交事务,LGWR都会将该事务的重做记录从SGA的重做日志缓存区写入到某个重做日志文件中,并且为提交的每个事务分别分配一个识别重做记录的系统修改编号。
只有当与已知事务相关的所有重做记录都安全的写入重做日志文件后,用户进程才被告之已经提交。
LGWR进程在开始写入下一个重做日志文件之前,必须确保这个即将覆盖的重做日志文件已经完成了如下的工作:1.如果数据库处于“非归档日志模式(noarchivelog)”,则该重做日志文件中的所有重做记录所对应的修改结果,必须全部被写入到数据文件中。
2.如果数据库处于“归档日志模式(archivelog)”,则该重做日志文件中的所有重做记录所对应的修改结果,必须全部被写入到数据文件中,并且归档进程ARCH已经将该重做日志文件进行了归档。
活动的,非活动的,当前的联机重做日志文件LGWR当前写入的重做日志文件称为当前的联机重做日志文件,例程恢复时需要的重做日志文件称为活动的重做日志文件,例程恢复时不需要的重做日志文件称为非活动的重做日志文件。
如果已经能够进行归档,oracle就不能重新使用或重写活动的重做日志文件,知道ARCH 存储了这个文件的内容。
如果不能进行归档,当最后一个重做日志文件被填满是时,将通过重写的方法继续使用第一个可用的活动重做日志文件。
日志切换1.当一个重做日志文件被完全填满,必须填写下一个联机重做日志文件2.手动强制执行日志切换强制切换日志,需要有alter system权限,使用alter system switch logfile强制切换日志顺序号没次发生日志切换和LGWR开始进行填写时,oracle都会为每个联机重做日志文件分配一个新的日志序列号重做日志文件的归档归档就是在重做日志文件被覆盖之前,将该重做日志文件通过复制操作系统文件的方式,保存到指定的位置。
Oracle Archive log
Oracle归档日志(Archive Log 一)归档日志即重做日志的备份,使用归档日志的目的是为了实现介质恢复。
一.日志操作模式1.Noarchivelog(非归档模式)不保存重做日志。
不能在open状态下进行物理备份;要定期执行完全数据库备份;只能将数据库恢复到上次的完全备份点。
2.Archivelog当进行日志切换时,ARCH进程会将重做日志的内容复制到归档日志中。
在归档重做日志前,新事务变化不能覆盖旧事务变化。
可以在open 状态下进行物理备份。
可以将数据库恢复到失败前的状态。
可以是用备份数据库与主数据库保持同步。
二.开启归档1.改变日志操作模式shutdown immediate;startup mount;alter database archivelog;alter database open;修改日志操作模式后,必须重新备份数据库2.归档重做日志1).手工归档alter system archive log all;2).自动归档设置初始化参数:log_archive_start=trueshutdown immediate;startup pfile=.3).检查日志操作模式archive log list;三.指定归档位置1.使用log_archive_dest1).设置归档目录log_archive_dest log_archive_duplex_dest 2).设置归档日志格式2.使用log_archive_dest_n1).指定归档位置log_archive_dest_1=’location=f:\arc1’log_archive_dest_3=’service=standby’2).设置其他初始化参数log_archive_dest_state_1=enablelog_archive_dest_state_3=defer四.相关的一些脚本1.显示日志操作模式select log_mode from v$database2.显示归档日志信息select name,sequence#,first_change# from v$archived_log3.显示归档日志位置select destination from v$arvhive_dest4.显示日志历史信息select * from v$loghist;Oracle中的归档日志(Archive Log 二)在Oracle中,数据一般是存放在数据文件中,不过数据库与Oracle 最大的区别之一就是数据库可以在数据出错的时候进行恢复。
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;命令来删除校验失败的记录。
oracle8管理控制文件和重做日日志文件
2021/2/17
oracle8管理控制文件和重做日日志文件
移动重做日志文件
Open状态下移动redo文件 • 确保处于inactive状态 • Host copy • 执行alter database rename file A to B语句 • 备份控制文件或数据库
学习改变命运,知 识创造未来
2021/2/17
oracle8管理控制文件和重做日日志文件
重做日志文件管理
• 重做日志文件的作用
• 数据库恢复中起到非常重要的作用 • 例程恢复、介质恢复以及事务的撤销
• 重做日志文件组\成员
• Redo01.log\redo02_1.log\redo02_2.log • Maxlogfiles:重做日志文件组的最大数量 • Maxlogmembers:每个组成员的最大数量
• Alter tablespace temp add tempfile ‘%oracle_home%\oradata\orcl\temp01.dbf’
探讨Oracle数据库管理之控制文件
探讨Oracle数据库管理之控制文件杜战伟【摘要】控制文件作为Oracle数据库管理的物理文件之一,数据库的名字以及数据文件的位置信息由它记录。
控制文件一旦损坏,电脑将无法正常工作。
因此控制文件十分重要,其管理的重点在于防御。
本文将对控制文件的相关内容作介绍,为安全管理Oracle控制文件提出了相关的方法。
%The control file was one of the physical files of the Oracle database management,the name and loaction of data files were recorded by it.Once the control file is damaged,the computer will not work properly.So the control file is very important,the focus of its management lies in defense.This article will introduce the related content of the control file, and put forward the related methods for the safety management of Oracle control file.【期刊名称】《电子测试》【年(卷),期】2016(000)010【总页数】3页(P90-91,98)【关键词】Oracle;数据库管理;控制文件【作者】杜战伟【作者单位】西安秦皇医院信息部,西安,710016【正文语种】中文控制文件是一个很小的二进制文件,用于对数据库的维护和记录,无论何时打开Oracle数据库,在此之前Oracle服务器都要对控制文件进行访问。
控制文件一旦出现问题,会导致Oracle数据库无法正常工作。
数据库的启动以及正常运行都离不开控制文件。
oracle日志位置
audit日志:审计的信息,对应系统初始化参数文件参数audit_file_dest
对应的就是它的位置。
redo 日志:存放数据库的更改信息,select member from v$logfile;member就代表它的位置
归档日志:redo日志的历史备份,select * from v$parameter where name like 'log_archive_dest%'; 它的value的值就是位置
பைடு நூலகம்
show parameter spfile;查看当前系统加载的参数文件
因为spfile.ora文件为二进制文件,手动修改spfile.ora后,oracle无法识别,也就无法启动了。解决办法如下:
1。找到pfile文件:在10.0.2\admin\实例名\pfile\文件夹下有个init.ora.xxxxxxxxxxx 文件,该文件为带时间戳的pfile文件,将时间戳去掉,变成init.ora文件。
3。将新生成的文件spfileSID.ora拷贝到 "10.2.0\db_1\database\”,目录下覆盖原文件,如果存在initSID.ora文件请重命名。
4。在管理工具-服务中重新启动oracle系列服务,即可解决上述问题。
2。开始-运行-cmd
>sqlplus /nolog
sql>conn 用户名/密码 as sysdba
sql>startup pfile='10.0.2\admin\实例名\pfile\init.ora';
启动成功后
sql>create spfile='path/spfileSID.ora' from pfile='10.0.2\admin\实例名\pfile\init.ora';
oracle 10g 11g日志文件路径
oracle 10g 11g日志文件路径2014年5月22日10:55Oracle数据库的最常用问题定位日志是alert日志,Oracle数据库的日志文件alert_$ORACLE_SID.log记录了重作日志的转换,数据库启动和关闭,数据库结构的改变,回退段的修改,死锁,内部错误等信息。
1. 在Oracle 10g 与9i及其以前的版本中,数据库日志文件的路径是:$ORACLE_BASE/admin/$ORACLE_SID/bdump/alert_$ORACLE_SID.log2. 从oracle11g 开始,oracle数据库以XML与传统的文本两种格式提供Alert 日志。
新的日志位置由Automatic Diagnostic Repository (ADR) 決定。
可以通过新的初始化参数DIAGNOSTIC_DEST 控制ADR BASE 的位置。
SYS@yt>show parameter diagnostic_destNAME TYPE VALUE----------------------------------------------------------------------------diagnostic_dest string/u01如果沒有设定这个初始化参数的位置,而设置ORACLE_BASE 环境参数的话,那么,则ORACLE_HOME/log 即为DIAGNOSTIC_DEST。
11gOracle数据库的日志文件的路径是:$ORACLE_BASE/diag/rdbms/$ORACLE_SID/$ORACLE_SID/trace11g Alert log XML文件位置:SYS@yt>select value from v$diag_info where name ='Diag Alert';11g Alert log 文本文件位置:SYS@yt>select value from v$diag_info where name ='Diag Trace';分区新分区1 的第1 页。
oracle修改归档日志路径与格式
NAME
TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_format
string %t_%s_%r.dbf
修改格式: SQL> alter system set log_archive_format='%t_%s_%r.arch' scope=spfile;
string /oracle/app/fast_recovery_area
db_reger 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
二、修改归档日志格式
默认格式是:“ %t_%s_%r.dbf”,我们尝试将格式修改为“%t_%s_%r.arch”,这是一个静态参数,需要重新启动数据库才生效。 SQL> show parameter log_archive_format;
请求出错错误代码503请尝试刷新页面重试
oracle修 改 归 档 日 志 路 径 与 格 式
Oracle 显示重做日志信息
Oracle 显示重做日志信息对于DBA而言,可能经常要查询重做日志文件,以了解其使用情况。
要了解Oracle数据库的日志文件信息,可以查询如表11-2所示的数据字典视图和动态性能视图。
表11-2 包含重做日志文件信息的视图视图说明V$LOG 包含从控制文件中获取的所有重做日志文件的基本信息V$LOGFILE 包含各个成员日志文件的信息,例如成员的状态和所属的重做日志组V$LOG_HISTROY 包含重做日志文件的历史信息下面列出了V$LOG的结构信息:SQL> desc v$log名称是否为空? 类型---------------------------- ------------------- --------------GROUP# NUMBERTHREAD# NUMBERSEQUENCE# NUMBERBYTES NUMBERMEMBERS NUMBERARCHIVED V ARCHAR2(3)STATUS V ARCHAR2(16)FIRST_CHANGE# NUMBERFIRST_TIME DA TE其中,GROUP#字段显示的是重做日志文件组的编号,THREAD#显示的是重做日志组所属的日志写入线程,SEQUENCE#字段显示的是重做日志组的日志序列号,BYTES字段显示重做日志组中各个成员的大小,MEMBERS字段显示的是重做日志组中的成员数,ARCHIVED字段显示的是重做日志的归档情况,STA TUS字段显示重做日志组的状态(CURRENT表示当前正在使用的,NACTIVE表示非活动组,ACTIVE表示归档未完成),FIRST_CHANGE#字段显示的是重做日志组上一次写入时的系统改变号SCN,FIRST_TIME 字段显示的是重做日志组上一次写入的时间。
Oracle的闪回恢复区和归档日志多路径设置
Oracle的闪回恢复区和归档⽇志多路径设置Oracle9i开始提供闪回查询,以便能在需要的时候查到过去某个时刻的⼀致性数据,这是通过Undo实现的。
这个功能有很⼤的限制,就是相关事务的undo不能被覆盖,否则就⽆⼒回天了。
oracle10g⼤⼤的增强了闪回查询的功能,并且提供了将整个数据库回退到过去某个时刻的能⼒,这是通过引⼊⼀种新的flashback log实现的。
flashback log有点类似redo log,只不过redo log将数据库往前滚,flashback log则将数据库往后滚。
为了保存管理和备份恢复相关的⽂件,oracle10g提供了⼀个叫做闪回恢复区(Flashback recovery area)的新特性,可以将所有恢复相关的⽂件,⽐如flashback log,archive log,backup set等,放到这个区域集中管理。
1.设置闪回恢复区闪回恢复区主要通过3个初始化参数来设置和管理db_recovery_file_dest :指定闪回恢复区的位置db_recovery_file_dest_size :指定闪回恢复区的可⽤空间⼤⼩db_flashback_retention_target :指定数据库可以回退的时间,单位为分钟,默认1440分钟,也就是⼀天。
当然,实际上可回退的时间还决定于闪回恢复区的⼤⼩,因为⾥⾯保存了回退所需要的flash log。
所以这个参数要和db_recovery_file_dest_size配合修改。
2.启动flashback database设置了闪回恢复区后,可以启动闪回数据库功能。
⾸先,数据库必须已经处于归档模式1.关闭数据库SQL> shutdown immediate;2.启动数据库为mount模式SQL> startup mount3.显⽰和修改归档模式SQL> archive log listSQL> alter database archivelog;SQL> alter database open4.设置归档⽇志的格式SQL>alter system set log_archive_format='ARC%s%t%r.log' scope=spfile;5.设置归档⽇志的存放路径SQL>alter system set log_archive_dest='+data/arcl' scope=spfile;SQL>shutdown immediateSQL>startup6.强制切换归档⽇⾄SQL>alter system switch logfile;7.取消归档SQL>alter database noarchivelog;参数1.格式参数%s⽇志序列号%S⽇志序列号(带前导的0)%t重做线程编号%a活动的ID号%d数据库ID号%r RESELOGS的iD值SQL> archive log list;Database log mode Archive ModeAutomatic archival EnabledArchive destination USE_DB_RECOVERY_FILE_DESTOldest online log sequence 156Next log sequence to archive 158Current log sequence 158然后,启动数据库到mount状态SQL> shutdown immediate;Database closed.Database dismounted.ORACLE instance shut down.SQL> startup mountORACLE instance started.Total System Global Area 285212672 bytesFixed Size 1218992 bytesVariable Size 75499088 bytesDatabase Buffers 205520896 bytesRedo Buffers 2973696 bytesDatabase mounted.SQL>alter database flashback on;数据库已更改。
Oracle11g数据库基础教程课后习题答案
Oracle11g数据库基础教程参考答案第1章Oracle 11g数据库安装与配置1.简答题(1)企业版数据库服务器包含所有的数据库组件,主要针对高端的应用环境,适用于安全性和性能要求较高的联机事务处理(OLTP)、查询密集型的数据仓库和要求较高的Internet应用程序:标准版数据库服务器提供大部分核心的数据库功能和特性,适合于工作组或部门级的应用程序:个人版数据库服务器只提供基本数据库管理功能和特性,适合单用户的开发环境,为用户提供开发测试平台。
(2)常用数据库类型包括事务处理类、数据仓库类以通用类型。
其中事务处理类型主要针对具有大量并发用户连接,并且用户主要执行简单事务处理的应用环境。
事务处理数据库的典型应用有银行系统数据库、Internet电子商务数据库、证券交易系统数据库等。
对于需要较高的可用性和事务处理性能、存在大量用户并行访问相同数据以及需要较高恢复性能的数据库环境,事务处理类型的配置可以提供最佳性能;数据仓库类型的数据库主要针对有大量的对某个主题进行复杂查询的应用环境。
数据仓库的典型应用有客户订单研究、支持呼叫、销售预测、采购模式以及其他战略性业务问题的历史数据研究。
对于需要对大量数据进行快速访问,以及复杂查询的数据库环境,数据仓库类型配置是最佳选择;通用类型配置的数据库是事务处理数据库与数据仓库配置的折衷方案。
既可以支持大量并发用户的事务处理,又可以快速对大量历史数据进行复杂的数据扫描和处理。
(3)数据库名可以由字母、数字、下划线(_)、#和美元符号($)组成,且必须以字母开头,长度不超过30个字符。
在单机环境中,可以不设置域名,域名长度不能超过128个字符。
Oracle服务标识符(SID)是一个Oracle实例的唯一名称标识,长度不能超过12个字符。
(4)● OracleServiceORCL:数据库服务(数据库实例),是Oracle核心服务,是数据库启动的基础,只有该服务启动,Oracle数据库才能正常启动。
Oracle 重做日志简介
Oracle 重做日志简介日志文件也称为重做日志文件(Redo Log File),重做日志文件用于记载事务操作所引起的数据库变化。
执行DDL或DML操作时,Oracle会将事务变化的信息顺序写入重做日志。
当丢失或损坏数据库中的数据时,Oracle会根据重做日志文件中的记录,恢复丢失的数据。
1.重做记录重做日志文件是由重做记录组成,重做记录又称为重做条目,它由一组修改向量组成。
每个修改向量都记录了数据库中某个数据块所做的修改。
例如,如果用户执行了一条UPDATE语句对某个表中的一条记录进行修改,同时将生成一条重做记录。
这条重做记录可能由多个变更向量组成,在这些变更向量中记录了所有被这条语句修改过的数据块中的信息,被修改的数据块包括表中存储这条记录的数据块,以及回退段中存储的相应的回退条目的数据块。
如果由于某种原因导致数据库丢失了这条UPDA TE语句操作的结果,则可以通过与这条UPDATE语句对应的重做记录找到被修改结果并复制到各个数据块中,从而完成数据恢复。
利用重做记录,不仅能够恢复对数据文件所做的修改操作,还能够恢复对回退段所做的修改操作。
因此,重做日志文件不仅可以保护用户数据库,还能够保护回退段数据。
在进行数据库恢复时,Oracle会读取每个变更向量,然后将其中记录的修改信息重新应用到相应的数据块上。
重做记录将以循环方式在SGA区的重做日志高速缓存中进行缓存,并且由后台进程LGWR写入到重做日志文件中。
当一个事条被提交时,LGWR进程将与该事务相关的所有重做记录全部写入重做日志文件中,同时生成一个“系统变更码SCN”。
系统变更码SCN 会随重做记录一起保存到重做日志文件中,以标识与重做记录相关的事务。
只有当某个事务所产生的重做记录全部被写入重做日志文件后,Oracle才会认为该事务提交成功。
2.写入重做日志文件在Oracle中,用户对数据库所做的修改首先被保存在内存中,这样可以提高数据库的性能,因为对内存中的数据进行操作要比对磁盘进行操作快得多。
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会根据 重做日志文件中的记录,重新执行对 数据库所做的更改,从而将数据库恢 复到一致的状态。
04 Oracle重做日志文件和归 档日志的管理和维护
日志文件的备份与恢复
备份策略
制定定期备份和增量备份策略,确保重做日志文件和归档日志的安全。
恢复方法
在发生故障时,根据备份情况选择适当的恢复方法,如全量恢复或增量恢复。
日志文件的清理与维护
清理过期日志
定期清理过期或不再需要的日志文件 ,释放存储空间。
Oracle重做日志文件和归档日志
contents
目录
• Oracle重做日志文件 • 归档日志 • Oracle重做日志文件和归档日志的关系 • Oracle重做日志文件和归档日志的管理
和维护 • Oracle重做日志文件和归档日志的故障
处理
ቤተ መጻሕፍቲ ባይዱ
01 Oracle重做日志文件
重做日志文件的作用
数据恢复
THANKS FOR WATCHING
感谢您的观看
存储容量
需要合理规划存储空间,确保有足够的空间存储归档日志文件,避 免空间不足导致数据库故障。
归档日志的恢复
恢复方法
当数据库发生故障时,可以使用归档日志进行恢复。可以选择完全恢复或部分恢复,根据需要选择相应的归档日志文 件。
恢复过程
在恢复过程中,需要按照时间顺序应用归档日志文件,确保数据的一致性。可以使用RMAN(Oracle Recovery Manager)进行自动恢复或手动恢复。
oracle_重做日志文件--笔记
oracle_重做⽇志⽂件--笔记重做⽇志⽂件(redo log file)⽬录重做⽇志⽂件相关。
重做⽇志⽂件简介。
查询重做⽇志⽂件的信息。
⽇志切换。
管理⽇志⽂件组增删⽇志⽂件组。
增删⽇志⽂件成员。
归档与⾮归档模式。
⼀.重做⽇志⽂件相关。
Oracle引⼊重做⽇志的⽬的:数据库的恢复。
Oracle相关进程:重做⽇志写进程(LGWR)。
重做⽇志性质:联机⽇志⽂件,oracle服务器运⾏时需要管理它们。
相关数据字典:v$log ; v$logfile。
操作者权限:具有sys⽤户或system⽤户权限。
1.1重做⽇志⽂件的规划。
(于⽹络上收集)联机⽇志⽂件的规划原则如下:1:分散放开,多路复⽤。
⼀般会将同⼀组的不同⽇志成员⽂件放到不同的磁盘或不同的裸设备上。
以提⾼安全性。
2:把重做⽇志放在速度最快的硬盘上(即:⽇志所在的磁盘应当具有较⾼的I/O),⼀般会将⽇志⽂件放在裸设备上。
3:把重做⽇志⽂件设为合理⼤⼩:例如,增⼤⽇志⽂件⼤⼩可以加快⼀些⼤型的INSERT、UPDATE、DELETE操作,也能降低⽇志⽂件切换频率。
减少⼀些⽇志等待事件。
⼀般根据具体业务情况有所不同。
⼀般⽇志组⼤⼩应满⾜⾃动切换间隔⾄少15-20分钟左右业务需求4:ORACLE推荐,同⼀个重做⽇值组下的所有重做⽇志⽂件⼤⼩、成员个数⼀致.⼆.重做⽇志⽂件简介。
2.1重做⽇志重做⽇志⽂件⼜叫联机⽇志⽂件,记录了对数据库修改的信息,包括⽤户对数据修改和数据库管理员对数据库结构的修改。
2.2重做⽇志的作⽤。
它主要⽤于在oracle发⽣故障的时候和数据库备份⽂件配合恢复数据库。
⼀般来说,数据库故障丢失数据,有两种情况。
⼀是,因为停电或死机,脏块未写⼊磁盘,造成该数据丢失。
⼆是,磁盘损坏,数据全完蛋。
对应第⼀种情况,oracle会使⽤实例恢复,使⽤重做⽇志⾃动恢复数据,不需要⽤户⼲预。
没错,实例恢复,它是⾃动的。
对应第⼆种情况,便需要DBA使⽤备份,重做⽇志,归档⽇志来恢复数据了。
总结联机重做日志文件
学习任务:解释联机重做日志文件的目的联机重做日志文件的结构控制日志切换和检查点多重映像和维护联机重做日志文件获取联机重做日志文件的信息每个数据库至少需要拥有两个联机重做日志文件,因为Oracle是以循环方式来使用联机重做日志文件的。
为了避免由于单点故障造成丢失数据库信息,可以考虑使用日志文件副本。
一组相同的联机重做日志文件副本称作联机重做日志组。
属于日志组的每个文件被称为日志成员,并且同一个日志组的不同日志成员互为镜像,LGWR后台进程向组内所有联机重做日志文件并发写入相同信息,组内的每个成员都有相同的日志序列号和同样的大小。
注意:如果某个重做日志文件被破坏,只要它所在的日志组中至少有一个成员还可以用,则Oracle可以正常运行,不过在警告文件中记录有一个重做日志文件无法使用。
添加联机重做日志文件组ALTER DAT ABASE ADD LOGFILE GROUP 3 ('$HOME/ORADAT A/u01/log3a.rdo','$HOME/ORADATA/u02/log3b.rdo')SIZE 1M;添加联机重做日志文件成员ALTER DAT ABASE ADD LOGFILE MEMBER'$HOME/ORADATA/u04/log1c.rdo' TO GROUP 1,'$HOME/ORADATA/u04/log2c.rdo' TO GROUP 2,'$HOME/ORADATA/u04/log3c.rdo' TO GROUP 3;删除联机重做日志文件组ALTER DAT ABASE DROP LOGFILE GROUP 3;注意:1.不能删除数据库仅有的两个日志组;2.当数据库处于归档模式下,确保日志组已经归档;3.不能删除当前日志组;4.在删除了日志组之后,应该手工删除其对应物理文件。
删除联机重做日志文件成员ALTER DAT ABASE DROP LOGFILE MEMBER '$HOME/ORADATA/u04/log3c.rdo';删除日志成员限制:1.不能删除日志组的唯一成员;2.如果数据库处于归档模式下,要确保日志成员所在组已经归档;3.不能删除当前日志组的日志成员;4.在删除了日志成员时,并未删除操作系统文件,应该手工删除其对应物理文件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Oracle 改变重做日志位置或名称
在所有后台进程中,LGWR进程活动最为频繁,它需要不断地将事务变化由重做日志缓冲区写入重做日志中。
在数据库文件、控制文件和重做日志这3种文件中,重做日志的I/O操作最频繁。
为了提高I/O性能,应将重做日志分布到I/O操作相对较少、速度最快的磁盘设备上。
规划重做日志时,应将同一个日志组的不同日志成员尽可能地分布到不同磁盘上,以防止磁盘损坏而导致所有日志成员丢失。
例如,假设在初始阶段,日志组二中的日志成员被放在同一块磁盘上,但是后来出于完全和性能方法的考虑,DBA为服务器新增加了一块磁盘,并且将日志组二中的一个日志成员移动到新磁盘上,此时就需要改变该日志成员的存放位置。
下面修改重做日志文件的名称和位置的具体操作步骤如下:
(1)关闭数据库。
SQL> connect /as sysdba
SQL> shutdown
(2)复制或移动日志成员到目标位置。
当闭数据库后,DBA就可以使用操作系统命令复制或移动日志成员到新位置。
例如,修改原日志文件的名称。
(3)重新启动数据库实例,加载数据库,但是不打开数据库。
SQL> startup mount;
(4)使用带RENAME FILE子句的ALTER DATABASE语句重新设置重做日志文件的路径和名称。
SQL> alter database rename file
2 'd:\app\Administrator\oradata\orcl\redo03.log',
3 'd:\app\Administrator\oradata\orcl\redo02.log',
4 'd:\app\Administrator\oradata\orcl\redo01.log'
5 to
6 'd:\app\Administrator\oradata\orcl\redo03a.log',
7 'd:\app\Administrator\oradata\orcl\redo02a.log',
8 'd:\app\Administrator\oradata\orcl\redo01a.log';
数据库已更改。
(5)打开数据库
SQL> alter database open;
(6)备份控制文件
重新启动数据库后,对联机重做日志文件的修改将生效。
通过查询数据字典V$LOGFILE 可以获知数据库现在所使用的重做日志文件。