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数据库中查看、修改归档模式
Oracle数据库中查看、修改归档模式一、查看数据库是否为归档模式以下提供两种方式查看数据库是否为归档模式:1、select name,log_mode from v$database;在com中执行如下:C:\Users\xiezhanglin>sqlplus system/saSQL*Plus: Release 10.2.0.1.0 - Production on 星期五12月17 17:11:25 2010Copyright (c) 1982, 2005, Oracle. All rights reserved.连接到:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Partitioning, OLAP and Data Mining optionsSQL>select name,log_mode from v$database;NAME LOG_MODE--------- ------------ORCL NOARCHIVELOG可以看到实例为orcl的数据库归档模式为NOARCHIVELOG2、archive log list;(该方法需要as sysdba)在com中执行如下:C:\Users\xiezhanglin>sqlplus system/sa as sysdba;SQL*Plus: Release 10.2.0.1.0 - Production on 星期五12月17 17:14:17 2010Copyright (c) 1982, 2005, Oracle. All rights reserved.连接到:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Partitioning, OLAP and Data Mining optionsSQL>archive log list;数据库日志模式非存档模式自动存档禁用存档终点USE_DB_RECOVERY_FILE_DEST最早的联机日志序列23当前日志序列25二、非归档模式修改为归档模式的步骤1、用system登录。
查询oracle归档日志是否开启,Oracle开启归档日志以及关闭归档日志
查询oracle归档⽇志是否开启,Oracle开启归档⽇志以及关闭归档⽇志racle数据库可以运⾏在2种模式下:归档模式(archivelog)和⾮归档模式(noarchivelog)归档模式可以提⾼Oracle数据库的可恢复性,⽣产数据库都应该运⾏在此模式下,归档模式应该和相应的备份策略相结合,只有归档模式没有相应的备份策略只会带来⿇烦。
本⽂简单介绍如何启⽤和关闭数据库的归档模式。
1.归档⽇志开启准备⼯作:1.进⼊dos窗⼝—>>> 菜单键+R,进⼊ 运⾏ 界⾯,输⼊cmd2.登录 sqlplus,—>> ⽅法: sqlplus/nolog,切忌:不要输⼊sqlplus/noarchivelog; 加上 分隔符 ;,这样进⼊的sqlplus的命令参数帮助3.登⼊管理员—>> ⽅法: conn/as sysdba;4.开启归档⽇志4.1 shutdown immediate; –关闭数据库4.2 startup mount; – 打开数据库4.3 alter database archivelog;—开启归档⽇志4.4 alter database open;–开启数据库4.5 archive log list; – 查看归档⽇志是否开启开启状态:数据库⽇志模式 存档模式⾃动存档 启⽤存档终点 USE_DB_RECOVERY_FILE_DEST最早的联机⽇志序列 49下⼀个存档⽇志序列 51当前⽇志序列 515.关闭归档⽇志5.1 shutdown immediate;5.2 startup mount;5.3 alter database noarchivelog;5.4 alter database open;5.5 archive log list ;–查看归档⽇志是否关闭数据库⽇志模式 ⾮存档模式⾃动存档 禁⽤存档终点 USE_DB_RECOVERY_FILE_DEST最早的联机⽇志序列 49当前⽇志序列 51归档⽇志开启语句:Microsoft Windows [版本 6.1.7601]版权所有 (c) 2009 Microsoft Corporation。
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 语句中指定数据库的日志模式。
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数据库来说,默认的日志归档路径通常是闪回恢复区($ORACLE_BASE/flash_recovery_area)。
这个区域被设计为自动管理并存储与恢复相关的文件,如归档日志文件、备份集和控制文件等。
通过合理地配置闪回恢复区,可以大大简化数据库的恢复过程,并提高恢复的成功率。
然而,在实际的生产环境中,由于磁盘空间、IO性能或安全策略等因素的限制,可能需要将归档路径设置为其他位置。
这时,可以通过修改数据库的配置参数来实现。
例如,可以使用ALTER SYSTEM命令来设置log_archive_dest参数,指定归档日志文件的保存位置。
需要注意的是,设置归档路径时应该确保路径的有效性和安全性,避免由于路径错误或权限不足等问题导致归档失败。
此外,对于需要高可用性和容灾的数据库系统来说,还可以考虑将归档日志文件复制到远程站点或使用第三方备份软件进行备份。
这样,即使本地数据库发生故障或数据丢失,也可以从远程站点或备份中恢复数据,保证业务的连续性。
总之,数据库归档路径是数据库管理中不可忽视的一环。
合理地设置和管理归档路径,可以提高数据库的安全性、可靠性和性能表现。
Oracle归档日志文件
Oracle归档⽇志⽂件今天数据群有⼈反应⽹站不能正常打开,经检查Oracle数据库远程连不上,提⽰信息:ORA-00257: archiver error. Connect internal only, until freed。
可能是archivelog满了。
以前学习SQL只关注CRUD,对⽇志了解甚少,此次宕机虽然对⽣成没有造成恶劣影响,但也是因为业务不熟悉所致,特花⼀天时间学习并记录Oracle⽇志归档功能。
.以下内容针对没有使⽤Oracle ASM磁盘组情况,使⽤了Oracle ASM磁盘组的情况以后分析。
Oracle⽇志操作模式分为两种:ARCHIVELOG、NOARCHIVELOG连接Oracle终端windows系统:sqlplusLinux系统:先登录ssh,切换到oracle⽤户,再启动sqlplus登录oracle查看当前⽇志操作模式通⽤⽅法:SELECT log_mode from v$database;sys⽤户:开启⽇志归档启⽤归档⽇志前要先停⽌数据库shutdown immediate;数据库以mount⽅式启动startup mount;改变⽇志模式启⽤数据库归档alter database archivelog;关闭归档alter database noarchivelog;打开数据库alter database open;查看归档⽇志信息archive log list;查看默认闪回归档存储路径show parameter db_recovery_file_dest;Oracle11g版本,ORACLE默认的⽇志归档路径为闪回恢复区($ORACLE_BASE/fast_recovery_area)。
对于这个路径,Oracle有⼀个限制,就是默认只有4G的空间,⽽且不只是归档⽇志的默认路径,也是备份⽂件和闪回⽇志的默认地址,这样的话归档⽇志锁使⽤的空间就达不到4G。
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修改归档日志路径与格式
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数据库中一种重要的日志记录方式,它记录了数据库中所有发生的修改操作,包括插入、更新、删除等。
归档日志的作用是用于数据库的恢复和回滚操作,确保数据库的完整性和可靠性。
二、启用归档模式1. 确认数据库当前日志模式在连接数据库后,可以使用以下SQL语句确认当前的数据库日志模式:```SELECT log_modeFROM v$database;```如果返回结果为ARCHIVELOG,则表示数据库已经处于归档模式;如果返回结果为NOARCHIVELOG,则表示数据库尚未启用归档模式。
2. 修改数据库为归档模式如果数据库尚未启用归档模式,可以使用以下步骤将数据库修改为归档模式:```SHUTDOWN IMMEDIATE;STARTUP MOUNT;ALTER DATABASE ARCHIVELOG;ALTER DATABASE OPEN;```通过以上步骤,数据库将被修改为归档模式,并可以开始处理归档日志。
三、配置归档参数1. 确认归档目标归档目标是指归档日志文件的存储位置。
可以使用以下SQL语句确认当前的归档目标:```SHOW PARAMETER LOG_ARCHIVE_DEST;```如果没有设置归档目标,需要通过以下SQL语句进行设置:```ALTER SYSTEM SETLOG_ARCHIVE_DEST_1='LOCATION=/archivelog';```其中,/archivelog为归档日志存储的路径,可以根据实际情况进行调整。
2. 确认归档模式归档模式是指数据库在何种情况下触发归档日志的记录。
可以使用以下SQL语句确认当前的归档模式:```SHOW PARAMETER LOG_ARCHIVE_START;```如果归档模式未启用,需要通过以下SQL语句进行设置:```ALTER SYSTEM SET LOG_ARCHIVE_START=TRUE;```通过以上步骤,归档参数将被正确配置,数据库可以开始处理归档日志。
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;数据库已更改。
Oracle归档模式及归档日志的操作
Oracle归档模式及归档日志的操作1归档模式及归档日志基本概念:1.1为什么要给Oracle做归档操作:Oracle数据库有联机重做日志,这个日志是记录对数据库所做的修改,比如插入,删除,更新数据等,对这些操作都会记录在联机重做日志里。
当ORACLE数据库运行在ARCHIVELOG(归档模式)模式时,所有的事务重做日志都将保存.这意味着对数据库进行的所有事务都留有一个备份,尽管重做日志以循环方式工作,但在一个重做日志被覆盖前均将为其建立一个副本.在重做日志文件复制完成之前,ORACLE数据库将停止一切新的操作,在旧的事务记录完成之前ORACLE不对其进行覆盖.有了所有事务的副本,数据库就可以从所有类型的失败中恢复,包括用户错误或磁盘崩溃.这是一种最安全的数据库工作方式。
在实际开发中,归档模式是符合开发的,归档模式可以提高Oracle数据库的可恢复性,生产数据库都应该运行在此模式下,数据库使用归档方式运行时才可以进行灾难性恢复。
1.2归档模式和非归档模式的区别:非归档模式只能做冷备份,并且恢复时只能做完全备份.最近一次完全备份到系统出错期间的数据不能恢复.归档模式可以做热备份,并且可以做增量备份,可以做部分恢复.1.3什么是归档日志:归档日志(Archive Log)是非活动的重做日志备份.通过使用归档日志,可以保留所有重做历史记录,当数据库处于ARCHIVELOG模式并进行日志切换式,后台进程ARCH会将重做日志的内容保存到归档日志中.当数据库出现介质失败时,使用数据文件备份,归档日志和重做日志可以完全恢复数据库。
2Linux系统开启归档模式:使用ssh登录到Linux系统:2.1切换到oracle用户,然后使用sqlplus /nolog登录到oracle数据上:su -oraclesqlplus /nolog2.2使用oracle系统管理员sysdba登录到数据库:conn /as sysdba2.3查看当前oracle的模式:select log_mode from v$database;如果当前模式为NOARCHIVELOG,就说明没有开启归档模式2.4关闭数据库,启动到mount状态:shutdown immediate;startup mount;2.5修改数据库为归档模式alter database archivelog; (此处的分号不可以省略)(如果是归档模式改为非归档,则执行:alter database noarchivelog;)2.6启动数据库:alter database open;2.7再次验证:执行select log_mode from v$database;可查看到oracle已经修改为归档模式了3Windows开启归档模式:3.1打开sqlplus工具:sqlplus工具路径:F:\Oracle\product\11.2.0\dbhome_1\BIN中的sqlplus.exe双击打开即可。
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归档日志空间设置及查看归档空间不足引发的问题及解决方法【VIP专享】
Oracle归档日志空间设置及查看归档空间不足引发的问题及解决方法【VIP专享】Oracle归档日志空间不足引发的问题及解决方法归档日志空间不足现的问题的现象1、软件正在操作,突然点击任何菜单无反应;2、打开登录界面后,输入用户名和密码长时间没反应;3、再次打开登录界面登录时,登录画面异常,同时输入用户名和密码后,出现需要提交license提示界面;以下系统管理员操作4、oracle登录操作系统,输入以下命令:[oracle@OASERVER ~]$sqlplussql>connect oa/oa //回车后出现报错5、打开EM时(IE中输入http://10.31.1.200:1158/em),报ORA-00257、ORA-01033等错误;6、oracle客户端工具(如:PLSQL Developer等)连接数据库时报ORA-00257、ORA-01033等错误;*************************************************************** ****************说明:因oracle归档日志还在开启,需定期检测归档日志占用空间大小,归归档日志达到一定比例时要及时清理,以防止归档日志问题导致的oracle服务停止现象,从而影响使用使用OA系统。
1、检测oracle是否可以正常归档oracle用户登录系统[oracle@OASERVER ~]$sqlplussql>connect / as sysdbasql>select * from v$logGROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIME-------- ------- ---------- ---------- ---------- --- ------ ------------- ------------1 1 263 52428800 1 NO CURRENT 5924771 13-DEC-102 1 261 52428800 1 YES INACTIVE 5878129 12-DEC-103 1 262 52428800 1 YES INACTIVE 5899219 13-DEC-10说明:上面列表可看出ARC列可正常归档,如果全部为NO,oracle将无法进行归档,此时oracle实例会自动关闭。
Oracle 配置归档文件格式
Oracle 配置归档文件格式
当数据库处理ARCHIVELOG模式时,如果进行日志切换,后台进程将自动生成归档日志。
归档日志的默认位置为%ORACLE_HOEM%\RDBMS,在Oracle 11g中,归档日志的默认文件名格式为ARC%S%_%R%T。
为了改变归档日志的位置和名称格式,必须改变相应的初始化参数。
初始化参数LOG_ARCHIVE_FORMA T用于指定归档日志的文件名称格式,设置该初始化参数时,可以指定以下匹配符:
●%s 日志序列号。
●%S 日志序列号,但带有前导0。
●%t 重做线程号。
●%T 重做线程号,但带有前导0。
●%a 活动ID号。
●%d 数据库ID号。
●%r RESETLOGS的ID值。
需要注意,在Oracle 11g中,配置归档日志文件格式时,必须带有%s,%t和%r匹配符,其他匹配符可有可无。
配置了归档文件格式后,必须重新启动数据库。
例如:SQL> alter system set log_archive_format='%s_%t_%r.arc'
2 scope=spfile;
系统已更改。
SQL> shutdown immediate;
SQL> startup
修改初始化参数LOG_ARCHIVE_FORMA T并重启数据库后,实始化参数配置将会生效。
进行日志切换时,会生成该格式的归档日志文件。
Oracle归档的开启和关闭
Oracle归档的开启和关闭⼀、开启归档1.设置归档⽬录alter system set log_archive_dest_1='location=/arch' scope=spfile;2.设置归档⽇志格式alter system set log_archive_format='arch_%t_%s_%r.arc' scope=spfile;3.⼀致性关闭数据库shutdown [immediate | normal]4.启动到mount阶段(startup mount)5.切换到归档模式(alter database archivelog[manual])6.切换到open阶段(alter database open)7.查看是否归档模式(archive log list;)Database log mode Archive ModeAutomatic archival EnabledArchive destination /arch/orclOldest online log sequence 32855Next log sequence to archive 32859Current log sequence 32859select log_mode from v$database;LOG_MODE-------------------ARCHIVELOGselect archiver from v$instance;ARCHIVE-----------------STARTED8.⼿⼯切换⽇志alter system switch logfile;select name from v$archived_log;⼆、关闭归档1.⼀致性关闭数据库shutdown [immediate | normal]2.启动到mount阶段(startup mount)3.切换到归档模式(alter database noarchivelog)4.切换到open阶段(alter database open)5.查看是否归档模式(archive log list;)Database log mode No Archive ModeAutomatic archival DisabledArchive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 35837Current log sequence 35841select log_mode from v$database;LOG_MODE-------------------NOARCHIVELOGselect archiver from v$instance;ARCHIVE-----------------STOPPED。
oracle数据库归档日志使用情况
oracle数据库归档日志使用情况Oracle数据库归档日志使用情况概述:数据库归档日志是Oracle数据库中一个重要的组成部分,它用于记录数据库的所有变更操作,以便数据库在出现故障或需要恢复时能够通过日志进行数据的恢复。
本文将详细介绍Oracle数据库归档日志的使用情况,包括归档日志的作用、生成方式、存放位置以及管理方法等。
一、归档日志的作用数据库归档日志的主要作用是提供了数据的完整性和可恢复性。
当数据库发生故障,如硬件故障、数据库崩溃或意外删除数据等情况,通过归档日志可以使数据库回滚到故障前的状态或恢复数据至故障发生时的状态。
此外,归档日志还可以用于数据库的灾难恢复、数据库的克隆和备份等操作。
当数据库需要从远程站点进行恢复或克隆时,可以通过归档日志来还原数据库至远程站点的状态,实现数据的同步。
同时,归档日志还可以用于数据库的备份,确保备份是最新的,并且能够完全恢复数据库。
二、归档日志的生成方式Oracle数据库归档日志有两种生成模式,一种是归档模式,另一种是非归档模式。
1. 归档模式数据库处于归档模式时,它会自动将日志文件复制到指定的目录中,以便进行数据的归档和恢复。
在归档模式下,数据库的归档日志会自动生成,并且只有归档日志被才会被复制到指定的归档目录中。
归档模式是默认的数据库模式,它可以通过以下命令进行启用:ALTER DATABASE ARCHIVELOG;2. 非归档模式与归档模式相反,非归档模式下数据库不会自动进行归档操作,也就是说不会生成归档日志。
这种模式适用于对数据的可恢复性要求不高的情况,或者是为了降低数据库的I/O负载,减少磁盘空间的占用。
非归档模式可以通过以下命令进行启用:ALTER DATABASE NOARCHIVELOG;需要注意的是,一旦数据库启用了归档模式,就不能再切换到非归档模式。
因此,在启用归档模式前需要谨慎考虑数据库的需求和成本效益。
三、归档日志的存放位置归档日志的存放位置由参数log_archive_dest_n(n为1-10的整数)指定。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
oracle 归档日志文件路径设置
2012-05-23 15:37:42| 分类:oracle | 标签:oracle log_archive_dest |举报|字号订阅
1:首先查看是否是归档模式运行archive log list 命令(必须以sys身份运行)
运行结果如下;
2:通过上面的信息可以看出已经是归档模式了(如果是非归档模式参考博主的
另一篇文章有关“归档日志与非归档日志切换”), 查看归档日志文件
存放在哪个位置运行show parameter log_archive_dest 命令运行结果如下;
3: 在上面的信息中可以看到,log_archive_dest 的路径为空,我们可以设置这个路径来存放归档日志文件,运行alter system
set log_archive_dest='d:/xxx/xxx' scope=spfile;(xxx代表存放路径,最好指定scope=spfile 否则的话重启db,则配置不会生效); 运行结果会出现在如下错误:
第1 行出现错误:
ORA-02097: 无法修改参数, 因为指定的值无效
ORA-16018: 无法将LOG_ARCHIVE_DEST 与LOG_ARCHIVE_DEST_n
或DB_RECOVERY_FILE_DEST 一起使用
出现错误的原因是db_recovery_file_dest的参数已经被设置了,去查询一下看看,果真如此。
4: 查看db_recovery_file_dest 参数设置,运行show
parameter db_recovery_file_dest 命令运行结果如下;
可以看到已经默认设置了归档的路径。
5:db_recovery_file_dest是缺省的归档位置,下面把它设置为"空",然后设置log_archive_dest参数,指定另外一个非缺省的参数
重启db 如下图
运行shutdown immediate;
运行startup mount;
运行alter database open;
运行show parameter db_recovery_file_dest 查看是否已经设置为空运行结果如下图
可以看到已经设置为空下面接着使用
alter system set log_archive_dest='xxxxxx' scope = spfile 设置归档日志文件路径运行结果如下图
运行show parameter log_archive_dest 命令查看归档日志文件路径是否已经设置成功运行结果如下图
可以看到已经设置成功
执行alter system archive log current 命令进行手动归档运行结果如下
查看归档日志文件,看看是否已经进行归档运行命令
select name,completion_time from v$archived_log; 结果如下
可以看到在些文件夹下面生成了归档日志文件。