`
hainianqinas
  • 浏览: 82771 次
  • 性别: Icon_minigender_1
  • 来自: 黑龙江
社区版块
存档分类
最新评论

oracle 归档与不归档

阅读更多

1. 查看数据库的归档模式

(1)使用命令:

-------------------------------------------------
    SQL> archive log list
数据库日志模式 存档模式
自动存档 启用
存档终点 f:\oradata\dblearn\arch
最早的概要日志序列 14
下一个存档日志序列 16
当前日志序列 16

-------------------------------------------------

(2)查询字典视图:

-------------------------------------------------
SQL> select name,log_mode from v$database;
NAME      LOG_MODE
--------- ------------
DBLEARN   ARCHIVELOG
-------------------------------------------------

2. 归档模式的一些常见设置

归档模式涉及到很多系统参数,可以通过设置这些参数启动或关闭归档模式、归档日志存储的目录、是否多路归档等等,这些参数一般以“log_archive_*”开头。使用下列命令可以查看:

-------------------------------------------------
    SQL> show parameter log_archive;
-------------------------------------------------

2.1 设置归档日志的路径

设置归档日志的路径有两种方式:

(1)LOG_ARCHIVE_DEST和LOG_ARCHIVE_DUPLEX_DEST参数

这两个参数指明了归档日志存放的两个路径,如果只设置第一个,则归档日志只存放到一个路径。

例:

-------------------------------------------------
log_archive_dest=/disk1/archive 
log_archive_duplex_dest=/disk2/archive
-------------------------------------------------

(2)LOG_ARCHIVE_DEST_n参数

其中n为1-10的整数,必需从低到高设置,下面举例说明:

-------------------------------------------------
log_archive_dest_1="LOCATION=/archive MANDATORY REOPEN" 
log_archive_dest_2="SERVICE=standby_db1 MANDATORY REOPEN=600" 
log_archive_dest_3="LOCATION=/archive2 OPTIONAL"
-------------------------------------------------

LOCATION关键字说明是本机的一个目录,而SERVICE关键字说明是已经在Net8中进行了配置的其他数据库主机的别名。

MANDATORY关键字说明联机日志文件必须要成功归档到这个目录后才能被覆写(联机日志文件是重复使用的文件)。缺省为可选(OPTIONAL),即即使归档不成功也可以覆写。在设置时应该至少有一个本地(LOCATION)强制(MANDATORY)归档目录。

REOPEN关键字说明如果归档不成功时系统要重新尝试归档,缺省每300秒尝试一次直到成功。可以通过=n来指定尝试的时间间隔,如log_archive_dest_2中的时间间隔为600秒,而log_archive_dest_1中的时间间隔为300秒。

两种方式比较:

1)和2)两种方式是排斥的,即只能设置其中的一种,1)和2)的不同之处在于:

1)最多只能设置2个归档路径,而2)最多可设置10个。

1)中只能指定本地目录,2)中可指定远程服务目录。

如果使用1)方式,则log_archive_dest是强制(MANDATORY)归档目录,而log_archive_duplex_dest为可选(OPTIONAL)目录。

1)中不能使用REOPEN关键字。

所以推荐使用2)方式。

修改这些参数可以有两种方式:

(1) 如果确定数据库是使用initSID.ora类型的参数文件,可以直接在参数文件中修改;

如果是使用Spfile类型的参数文件,可以使用命令直接动态修改:

-------------------------------------------------
SQL> alter system set log_archive_dest_1="LOCATION=/archive MANDATORY”
-------------------------------------------------

2.2 控制归档路径是否可用

-------------------------------------------------
  log_archive_dest_state_1=DEFER 
log_archive_dest_state_2=ENABLE

-------------------------------------------------

此参数和log_archive_dest_n参数配对使用,缺省值为ENABLE,如果想停止使用一个归档目录,只需将其对应的log_archive_dest_state_n参数值设置为DEFER。

2.3 设置最小归档数

例:

log_archive_min_succeed_dest=2

此参数说明至少有2个归档路径归档成功后才能覆写联机日志文件,此参数和归档路径参数联用。

如归档路径参数设置为:

log_archive_dest_1="LOCATION=/archive MANDATORY REOPEN"

log_archive_dest_2="SERVICE=standby_db1 OPTIONAL"

log_archive_dest_3="LOCATION=/archive2 OPTIONAL"

则 log_archive_dest_1必须归档成功(MANDATORY),log_archive_dest_2、 log_archive_dest_3中必须有一个归档成功(log_archive_min_succeed_dest=2)后才能覆写联机日志文件。 同样,如果log_archive_dest_n中的MANDATORY关键字个数大于log_archive_min_succeed_dest,则 log_archive_min_succeed_dest的设置不起作用。

2.4 改变数据库的归档模式

(1) 设置为归档模式

-------------------------------------------------
SQL> alter database archivelog;
-------------------------------------------------

(2) 设置为不归档模式

-------------------------------------------------

   SQL> alter database noarchivelog;
-------------------------------------------------

2.5 设置归档日志的命名方式

log_archive_format=arch%S.arc

其中%S为日志序列号,则生成的归档日志文件名为arch001.arc、arch002.arc等。

2.6 设置归档进程数

log_archive_max_processes=2

设置两个归档进程,arch0,arch1。log_archive_max_processes表示在log_archive_start为true时运行几个归档进程来完成归档工作,取值范围为1-10。

2.7 自动归档与手动归档

(1)自动归档

log_archive_start参数说明是否采用自动归档,值为true表示采用,为 false时必须采用命令来手工备份。如果在数据库设置为归档模式的时候忘记了设置这个参数,那么ARCH进程没有启动,此时也可以直接使用命令启动ARCH进程:

-------------------------------------------------
SQL> alter system archive log start;
-------------------------------------------------

(2) 手动归档

-------------------------------------------------
SQL> alter system archive log current;
系统已更改。
-------------------------------------------------

2.8 从不归档到归档模式的实例

-------------------------------------------------
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount;
ORACLE 例程已经启动。

    Total System Global Area  135338868 bytes
Fixed Size                   453492 bytes
Variable Size             109051904 bytes
Database Buffers           25165824 bytes
Redo Buffers                 667648 bytes
数据库装载完毕。
SQL> alter database archivelog;
数据库已更改。
SQL> archive log list;
数据库日志模式            存档模式
自动存档             启用
存档终点            f:\oradata\dblearn\arch
最早的概要日志序列     14
下一个存档日志序列   16
当前日志序列           16
-------------------------------------------------

2.9 从归档到不归档模式的实例

-------------------------------------------------
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount;
ORACLE 例程已经启动。

    Total System Global Area  135338868 bytes
Fixed Size                   453492 bytes
Variable Size             109051904 bytes
Database Buffers           25165824 bytes
Redo Buffers                 667648 bytes
数据库装载完毕。
SQL> alter database noarchivelog;

    数据库已更改。

    SQL> archive log list;
数据库日志模式             非存档模式
自动存档             启用
存档终点            f:\oradata\dblearn\arch
最早的概要日志序列     14
当前日志序列           16
SQL> alter database open;

    数据库已更改。
SQL> alter system archive log stop;

    系统已更改。

    SQL> archive log list;
数据库日志模式             非存档模式
自动存档             禁用
存档终点            f:\oradata\dblearn\arch
最早的概要日志序列     14
当前日志序列           16
-------------------------------------------------

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics