在 ORACLE 数据库中实现从非归档模式到归档模式的转化

一、查看数据库运行模式  
可以用超级用户(INTERNAL)在SQLPLUS中使用命令ARCHIVE LOG LIST查看  
SQL> archive log list  
Database log mode       No Archive Mode  
Automatic archival      Disabled  
Archive destination      /export/home/oracle/product/8.1.7/dbs/arch  
Oldest online log sequence   28613  
Current log sequence     28615  
或者用:  
SQL> SELECT NAME,LOG_MODE FROM V$DATABASE;  
  
NAME    LOG_MODE  
--------  ------------  
BIGSUN   NOARCHIVELOG  
如看到如上情况,则证明是非归档(NOARCHIVELOG)模式。  
  
二、关闭数据库  
通知相关人员后,发布如下命令关闭数据库:  
SQL> shutdown immediate  
  
三、设置相应的初始化参数  
参数文件一般存放在$ORACLE_HOME/dbs目录下,格式为:initSID.ora,其中SID为数据库名。可以使用VI命令进行编辑。  
1、设置归档路径  
a)LOG_ARCHIVE_DEST和LOG_ARCHIVE_DUPLEX_DEST参数  
这两个参数指明了归档日志存放的两个路径,如果只设置第一个,则归档日志只存放到一个路径。  
例:  
log_archive_dest=/disk1/archive  
log_archive_duplex_dest=/disk2/archive  
  
b)LOG_ARCHIVE_DEST_n参数  
其中n为1-5的整数,必需从低到高设置(注:9i 中已经调整为 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秒。  
  
a)和b)两种方式是排斥的,即只能设置其中的一种,a)和b)的不同之处在于:  
a)最多只能设置2个归档路径,而b)最多可设置5个。  
a)中只能指定本地目录,b)中可指定远程服务目录。  
如果使用a)方式,则log_archive_dest是强制(MANDATORY)归档目录,而log_archive_duplex_dest为可选(OPTIONAL)目录。  
a)中不能使用REOPEN关键字。  
所以推荐使用b)方式。  
  
2、设置归档日志文件名格式  
例:  
log_archive_format=arch%S.arc  
其中%S为日志序列号,则生成的归档日志文件名为arch001.arc、arch002.arc等。  
  
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的设置不起作用。  
  
4、控制归档路径是否可用  
例:  
log_archive_dest_state_1=DEFER  
log_archive_dest_state_2=ENABLE  
此参数和log_archive_dest_n参数配对使用,缺省值为ENABLE,如果想停止使用一个归档目录,只需将其对应的log_archive_dest_state_n参数值设置为DEFER。  
  
5、实现自动归档(可选)  
log_archive_start=true  
log_archive_max_processes=2  
在ORACLE中,自动归档的进程名为ARC0、ARC1等,log_archive_start参数说明是否采用自动归档,值为true表示采用,为 false时必须采用命令来手工备份。log_archive_max_processes表示在log_archive_start为true时运行几个归档进程来完成归档工作,取值范围为1-10。  
  
四、更改数据库运行模式  
在SQLPLUS中执行命令:  
SQL> startup mount  
SQL> alter database archivelog;  
SQL> alter database open;  
  
至此,模式转化工作已经大功告成。但需要注意的是,由于更改了数据库结构,如有数据库安全方面的需要,必须关闭数据库并完全备份。

http://www.matrix.org.cn/thread.shtml?topicId=25412&forumId=36

About this Entry

This page contains a single entry by Sky published on December 16, 2005 11:23 AM.

Windows 2000 telnet服务简明教程 was the previous entry in this blog.

千年悬空寺的不倒之谜 is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.