oracle的 归档日志 archivelog

前端之家收集整理的这篇文章主要介绍了oracle的 归档日志 archivelog前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
归档日志 archivelog 5.1 归档和非归档的区别 1)归档会在日志切换时,备份历史日志,用于OLTP,可以进行冷备份和热备份,可以实现数据库完全恢复、不完全恢复(基于时间点) 2)归档会启用arcn的后台进程、占用磁盘空间 3)非归档用于OLAP/DSS,只能冷备份,只能恢复到最后一次备份状态 5.2 查看归档模式: 02:34:50 sql>archive log list; Database log mode Archive Mode Automatic archival Enabled Archive destination /u01/disk1/timran/ Oldest online log sequence 1 Next log sequence to archive 2 Current log sequence 2 5.3 设置归档模式 02:35:50 sql> shutdown immediate //这里shutdown 一定要immediate方式 Database closed. Database dismounted. ORACLE instance shut down. 02:36:40 sql> startup mount //到mount下设置 02:37:50 sql>alter database noarchivelog; Database altered. 02:37:55 sql> archive log list; Database log mode No Archive Mode Automatic archival Disabled Archive destination /u01/disk1/timran/ Oldest online log sequence 1 Current log sequence 2 02:38:15 sql> alter database archivelog; //换回来,我们不要No Archive Mode 02:38:30 sql> alter database open; 5.4、归档日志的路径及命名方法 指定归档日志存放处及命名, 如果log_archive_dest_n为空,归档日志文件目录为log_archive_dest,如果log_archive_dest值也是空,则默认的是db_recover_file_dest参数指定的位置。缺省安装后db_recover_file_des指向了你的flash_recovery_area 注意:另外指定并不意味着你要取消闪回恢复区的参数,因为这个闪回恢复区不仅存放归档日志,还有RMAN的备份及闪回日志等等。 02:39:20 sql> show parameter archive NAME TYPE VALUE ------------------------------------ ----------- -------------------------------------- archive_lag_target integer 0 log_archive_config string log_archive_dest string log_archive_dest_1 string location=/u01/disk1/timran/ mandatory log_archive_dest_10 string log_archive_dest_2 string log_archive_dest_3 ... log_archive_duplex_dest string log_archive_format string arch_%t_%r_%s.log ... sql> show parameter db_recovery NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ db_recovery_file_dest string /u01/flash_recovery_area db_recovery_file_dest_size big integer 2G sql> 首先来看这两个参数: log_archive_dest_n log_archive_format log_archive_dest_n (n:1-10) 表示可以有10个目标路径存放归档日志(镜像关系),即可以多路复用10个归档日志的备份。如上显示我只使用了log_archive_dest_1,也就是说只有一套归档日志,没有做镜像,若是生产系统最好能再加一个指定。 sql> alter system set log_archive_dest_1='location=/u01/disk1/timran'; //把历史日志归档到本机目录下 (location 代表本机) sql> alter system set log_archive_dest_2='service=standby'; //远程备份,把历史日志备份到服务名为test的另外的数据库上。(service 代表远程),配置双机时有用。 sql> alter system set log_archive_dest_1='location=/u01/disk1/timran mandatory'; //mandatory 强制归档:只有在归档成功之后,重做日志才能被覆盖,在设置时至少应该有一个本地(location) 强制(mandatory)归档目录(考点) //默认optional,即使归档没有成功也可以覆盖联机日志文件。 log_archive_format 是定义命名格式的,我使用了下面三个内置符号(模板),其含义是: %t ,thread# , 日志线程号 %s ,sequence ,日志序列号 %r ,resetlog ,代表数据库的周期 sql> alter system set log_archive_format ='arch_%t_%r_%s.log' scope=spfile; 再来看看这两个参数: log_archive_dest log_archive_duplex_dest 如果都定义了可以完成两路复用(镜像)但只能指定本机location,无法指定远程。 一旦使用log_archive_dest_n,log_archive_dest参数就失效了,log_archive_dest与log_archive_dest_n互斥。 5.5 在liunx下查看归档进程 [oracle@timran timran]$ ps -ef |grep ora_arc oracle 1215 2435 0 13:26 pts/2 00:00:00 grep ora_arc oracle 31796 1 0 13:00 ? 00:00:00 ora_arc0_timran11g oracle 31798 1 0 13:00 ? 00:00:00 ora_arc1_timran11g ARCn就是归档进程,这里启动了两个arc0和arc1,最多可达30个,由log_archive_max_processes参数指定。 5.6 日志归档: 1)自动归档,日志切换时 2)手工 3)在归档时,会把归档信息写入到控制文件 02:44:00 sql> alter system switch logfile; //手工归档方法一。 02:46:30 sql> alter system archive log current; //手工归档方法二,此方式仅限于Archive mode。 查看已经归档日志: 02:48:08 sql> select name from v$archived_log; NAME -------------------------------------------------------------------------------------------------------- /u01/disk1/timran/arch_1_782662700_141.log /u01/disk1/timran/arch_1_782662700_142.log /u01/disk1/timran/arch_1_782662700_143.log /u01/disk1/timran/arch_1_782662700_144.log /u01/disk1/timran/arch_1_782662700_145.log /u01/disk1/timran/arch_1_788918717_1.log /u01/disk1/timran/arch_1_788918717_2.log /u01/disk1/timran/arch_1_788918717_3.log 05:47:10 sql> 原文链接:https://www.f2er.com/oracle/213633.html

猜你在找的Oracle相关文章