[转载]启用oracle的archive模式

已有 989 次阅读2013-9-8 19:35 |个人分类:oracle历程| oracle, system, create


经验:
alter system set log_archive_dest=’D:/oracle/archivelog’ scope=spfile;
alter system set log_archive_start=true scope=spfile;
之后,
create pfile from spfile
可验证加上没

 

 

 

 

一、查看数据库运行模式  
可以用超级用户(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的整数,必需从低到高设置,下面举例说明:  
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。  
补充说明:(
        设置系统自动归档
         <手工设置自动归档
        1.archive log start.
        临时把自动归档打开,如果要永久自动归档,需要设置参数 log_archive_start

        alter system set log_archive_start=true.
        无法修改指定的初始化参数,因为log_archive_start是个静态参数.
        正确的方法
        alter system set log_archive_start=true scope=spfile;
        先在实例参数文件中改,然后当实例重新加载参数文件的时候生效。>

        多归档进程
        增加或者减少归档进程,修改参数:log_archive_max_processes
        Alter system set log_archive_max_processes=2

        实例启动后激活自动归档
        Alter system archive log start.这是个sql命令,遵循oracle sql标准的命令,可以在oracle的一切环境下使用,如JDBC。
        在sqlplus中直接使用 archive log start. 叫做sqlplus命令,在sqlplus工具下使用的。

        手动归档:
        Alter system archive log current.
)  
四、更改数据库运行模式  
在SQLPLUS中执行命令:  
SQL> startup mount  
SQL> alter database archivelog;  
SQL> alter database open;  
  
至此,模式转化工作已经大功告成。但需要注意的是,由于更改了数据库结构,如有数据库安全方面的需要,必须关闭数据库并完全备份。

 

 


====补充10g中设置自动归档模式
在pfile中增加
*.log_archive_dest_1=”LOCATION=D:/oracle/product/10.1.0/arc1″  
*.log_archive_dest_2=”LOCATION=D:/oracle/product/10.1.0/arc2″  
*.log_archive_max_processes=2  

 

startup mount的时候
alter database archivelog;

 

如果是oracle9i,还需要更改如下参数:
alter system set log_archive_start=true scope=spfile;
但是如果在10g中也更改这些参数,数据库重启时会有如下提示:
ORA-32004: obsolete and/or deprecated parameter(s) specified
alter system set log_archive_format=’%t_%s.dbf’ scope=spfile;
但是如果在10g中也更改这些参数,数据库会不能启动,如下提示:
ORA-32004: obsolete and/or deprecated parameter(s) specified
ORA-19905: log_archive_format must contain %s, %t and %r

 

10g不用增加log_archive_start=true


路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 加入社区

意见
反馈