欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

数据库归档模式设置步骤

程序员文章站 2022-06-02 23:40:32
...

欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入 三.实例运行状态下 ,自动归档方式和手动归档方式的相互转变。 1.可以用命令archive log list 来查看归档的方式, SQL archive log list Database log mode Archive Mode Automatic archival Enable

欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入

  三.实例运行状态下,自动归档方式和手动归档方式的相互转变。

  1.可以用命令archive log list 来查看归档的方式,

  SQL> archive log list

  Database log mode Archive Mode

  Automatic archival Enabled

  Archive destination /u01/admin/wilson/test

  Oldest online log sequence 116

  Next log sequence to archive 118

  Current log sequence 118

  2.如果开始在参数log_archive_star=false(手动方式)的情况下运行了数据库,怎么修改为自动方式?

  先建立个文件,来存放归档日志,在/u01/admin/wilson/目录下建立文件夹arcdest。

  然后

  SQL> alter system archive log start to '/u01/admin/wilson/archdest';

  System altered.

  现在就是自动方式归档了,

  SQL> alter system set log_archive_start=true scope=spfile;

  System altered.

  修改了初始化参数 log_archive_start=true ,下次重新启动还是动方式归档。

  3.把自动方式改为手动方式,

  SQL> alter system archive log stop;

  System altered.

  SQL> alter system set log_archive_start=false scope=spfile;

  System altered.

  在这里要说明一下,在11g中,只要处于Archivelog模式中,那么它的归档方式就为自动方式,没有了自动方式归档和手动方式的转换。

  在归档模式下,在一组online redo log 被覆盖之前,必须先将其归档到指定的地方,不然数据库会hang在那里!!!

  四.归档文件的路径

  1.在较早的版本中,位置由参数log_archive_dest和log_archive_duplex_dest来指定,只能是两个。在数据库的标准版中,则必须使用它们。

  2.现在使用参数log_archive_dest_n来指定,最多可以指定10个(n=1...10),只能在企业版数据库中使用。

  主要介绍log_archive_dest_n对于log_archive_dest_n,有

  log_archive_dest_1=”location=/archive/ mandatory”

  log_archive_dest_1=”location=/archive/ optional”

  log_archive_dest_2=”service=standy_db1”

  其中location是本地地址,service是网络远端地址,

  Mandatory表示在一个online redo log file 在被重写之前,它必须先归档到这个地址,

  Optional表示即使一个online redo log file没有归档到这个地址,它也可以被重写。

  3.对于参数log_archive_min_succeed_dest,如

  log_archive_min_succeed_dest=2,则表示在一个online redo log file 在被重写之前,它必须先归档到2个地方。

  结合着参数log_archive_dest_n 和log_archive_min_succeed_dest来看,在一个online redo log file 在被重写之前,它必须完成:

  (1)全部成功写入到带mandatory参数的归档地址。

  (2)成功归档的地址要大于或者等于log_archive_min_succeed_dest所规定的数值。

  也就是说如果(1)归档的地址数目大于(2)中的数值,则(2)中所规定的数值忽略,以(1)为准。如果(2)中规定的数值大于(1)中的数值,首先(1)全部要归档成功,然后还要达到(2)中所归档的数值。

  4.log_archive_dest_state_n可以动态的控制一个归档地址是否有效。

  如

  log_archive_dest_state_1=enable表示log_archive_dest_1的归档地址可以被使用。

  log_archive_dest_state_2=defer表示log_archive_dest_2的归档地址不可以被使用

  log_archive_dest_state_3=alternate 表示log_archive_dest_3的归档地址当前不可以被使用,但

  是当有另一个地址失效时,它自动成为可以使用地址。

  5.归档文件名的格式

  log_archive_dest_n规定了归档文件的地址目录,但是真正的文件名格式由参数log_archive_format来设置。

  例如 /u01/admin/wilson/test/ wilson_%t_%S_%r.arc

  其中 /u01/admin/wilson/test由log_archive_dest_n规定,wilson_%t_%S_%r.arc由log_archive_format规定。

  (1)%t:线程号,显示为V$instance视图thread#列,在RAC数据库有用,单实例中为1。

  (2)%s或者%S:表示日志切换序列号,这个变量能够保证任何一个数据库中的归档日志都不会彼此重写。%S的意思是每个序列号一样长,10位,不够长度,前面补零。

  (3)%r:场景号,如果进行了不完全恢复,这个变量就十分重要。

  11g中文件名的格式规定必须要上述三个:%s或者%S,%t,%r。

[1] [2] [3]

数据库归档模式设置步骤