Chinaunix首页 | 论坛 | 博客
  • 博客访问: 91352
  • 博文数量: 20
  • 博客积分: 1450
  • 博客等级: 上尉
  • 技术积分: 270
  • 用 户 组: 普通用户
  • 注册时间: 2004-10-14 10:43
文章存档

2010年(20)

我的朋友

分类: Oracle

2010-04-30 14:40:24

Archivelog在Oracle 8i、9.01、9.2环境下的设置方法
李守亮 2003-06-16
 
一、实现步骤
二、日志参数及含义
三、归档命令及含义
四、具体实例

一、实现步骤:
1、管理器
1)环境为oracle 8i时:
# su - oracle
$ svrmgrl
SVRMGR> connect internal
SVRMGR> shutdown immediate
SVRMGR> startup mount [dbname]
SVRMGR> alter database [dbname] archivelog; --起用归档模式
SVRMGR> archive log start   --启动自动归档模式,重起数据库后,按init.ora配置
SVRMGR> alter database [dbname] open;  --打开数据库
SVRMGR> exit
2)环境为oracle8i 或oracle 9i时:
# su - oracle
$ sqlplus /nolog
> connect / as sysdba
> alter database [dbname] archivelog; --起用归档模式
> archive log start   --启动自动归档模式,重起数据库后,按init.ora配置
> alter database [dbname] open;  --打开数据库
> exit
注:切换归档和非归档模式,请在数据库mount上但没有open的时候设置,一旦设置了archivelog属性,只有在下次设置alter database noarchivelog才能更改为非归档属性;反之亦然。
缺省归档路径为$ORACLE_HOME/dbs/arch,如果需要暂时修改归档路径,使用命令:alter system archive log start to '/u02/archive'
2、修改数据库初始化参数文件,定义归档模式(自动)、归档日志文件保存路径、归档日志文件命名方法
1)环境为oracle 8i或oracle 9.01时:
修改数据库参数文件$ORACLE_HOME/admin/[oradb]/pfile/init[ORACLE_SID].ora,
取消以下语句的#注释
log_archive_start = true
log_archive_dest_1 = "location=/u02/archive"
log_archive_format = %%ORACLE_SID%%T%TS%S.ARC
注:format参数
%T:线程号,左边填满0,如arch0000000001
%t:线程号,不填0,如arch1
%S:日志序号,左边填满0,如arch0000000189
%s:日志序号,不填0,如arch189
2)环境为oracle 9.2时:
归档日志参数不在init.ora文件设置,而在$ORACLE_HOME/dbs/spfile[ORACLE_SID].ora文件中设置,设置方法也有所不同。
为确保更改生效,建议使用sys用户以sysdba身份登陆dbastudio,更改“节点“——〉例程——〉数据库——〉所有数据库参数——〉spfile中的archive log参数

3、重新启动数据库
重新启动数据库后,读取init[oracle_sid].ora或spfile[oracle_sid].ora中的设置,归档日志永久生效。
 

二、日志参数含义:
归档模式是自动还是手工,true为自动,false为手工
log_archive_start = true
归档日志文件所保存的路径
log_archive_dest_1 = "location=/u02/archive"
归档日志文件的命名方法
log_archive_format = %%ORACLE_SID%%T%TS%S.ARC
 
三、归档命令:
启动自动归档模式,系统重起后,将按init.ora中的参数log_archive_start的值设置归档方式
SVRMGR> archive log start
启动手工归档模式
SVRMGR> archive log stop
查看归档信息:重做日志是否归档方式、是自动归档还是手工归档、归档路径、最旧的联机日志循序号...
SVRMGR> archive log list
归档一个已满,但没有归档的联机重做日志
SVRMGR> archive log next
归档所有已满,但没有归档的联机重做日志
SVRMGR> archive log all
SVRMGR> alter system switch logfile; 
强制系统进行日志切换,可马上观察到归档日志的产生
SVRMGR> alter system archive log start to '/u02/archive';
将归档日志路径改为/u02/archive,但如果需要永久生效,请根据不同版本修改init*.ora或spfile*.ora文件

四、具体实例:
一)oracle8i和9.01环境:
#su - oralce
$ svrmgrl
Oracle Server Manager Release 3.1.7.0.0 - Production
Copyright (c) 2000, Oracle Corporation.  All Rights Reserved.
Oracle8i Enterprise Edition Release 8.1.7.3.0 - 64bit Production
With the Partitioning option
JServer Release 8.1.7.3.0 - 64bit Production
SVRMGR> connect internal
连接成功。
SVRMGR> shutdown
已关闭数据库。
已卸下数据库。
已关闭 ORACLE 实例。
SVRMGR> startup mount
已启动 ORACLE 实例。
系统全局区域合计有                         57124108个字节
Fixed Size                                          70924个字节
Variable Size                                    40198144个字节
Database Buffers                                 16777216个字节
Redo Buffers                                        77824个字节
已装入数据库。
SVRMGR> alter database archivelog;
语句已处理。
SVRMGR> archive log start
语句已处理。
SVRMGR> alter database open;
语句已处理。
SVRMGR> alter system switch logfile; --强制系统进行日志切换,可马上观察到归档日志的产生
语句已处理。
SVRMGR> exit
服务器管理程序结束。

修改数据库参数文件$ORACLE_HOME/admin/oradb/pfile/init[oracle_sid].ora,
取消以下语句的#注释
log_archive_start = true
log_archive_dest_1 = "location=/u07/archive"
log_archive_format = %%ORACLE_SID%%T%TS%S.ARC
关闭数据库,重新启动
查看/u07/archive目录下,可以看到类似ORADBT001S01201.ARC的文件,说明归档成功

二)oracle 9.2环境:
$ sqlplus /nolog
SQL*Plus: Release 9.2.0.1.0 - Production on 星期一 6月 16 10:30:23 2003
Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
SQL> connect / as sysdba
已连接。
SQL> startup mount
ORACLE 例程已经启动。
Total System Global Area  320308312 bytes
Fixed Size                   730200 bytes
Variable Size             285212672 bytes
Database Buffers           33554432 bytes
Redo Buffers                 811008 bytes
数据库装载完毕。
SQL> alter database archivelog;
数据库已更改。
SQL> archive log start
已处理的语句
SQL> alter database open;
数据库已更改。
SQL> alter system switch logfile;
系统已更改。
SQL> archive log list;
数据库日志模式            存档模式
自动存档             启用
存档终点            /opt/oracle/OraHome1/dbs/arch
最早的概要日志序列     3
下一个存档日志序列   5
当前日志序列           5
SQL>exit

使用sys用户以sysdba身份登陆dbastudio,更改“节点“——〉例程——〉数据库——〉所有数据库参数——〉spfile中的archive log相关参数
log_archive_start = true
log_archive_dest_1 = "location=/u02/archive"
log_archive_format = %%ORACLE_SID%%T%TS%S.ARC
log_archive_stat_1 = enable

重新启动数据库
阅读(1077) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~