设置初始归档模式

来源:互联网 发布:mac 安装win分区 编辑:程序博客网 时间:2024/05/18 02:09

一、什么是归档模式

       Oracle数据库有联机重做日志,这个日志是记录对数据库所做的修改,比如插入,删除,更新数据等,对这些操作都会记录在联机重做日志里。一般数据库至少要有2个联机重做日志组。当一个联机重做日志组被写满的时候,就会发生日志切换,这时联机重做日志组2成为当前使用的日志,当联机重做日志组2写满的时候,又会发生日志切换,去写联机重做日志组1,就这样反复进行。
  如果数据库处于非归档模式,联机日志在切换时就会丢弃. 而在归档模式下,当发生日志切换的时候,被切换的日志会进行归档。比如,当前在使用联机重做日志1,当1写满的时候,发生日志切换,开始写联机重做日志2,这时联机重做日志1的内容会被拷贝到另外一个指定的目录下。这个目录叫做归档目录,拷贝的文件叫归档重做日志。数据库使用归档方式运行时才可以进行灾难性恢复。


二、归档模式与非归档模式的主要区别:

非归档模式只能做冷备份,并且恢复时只能做完全备份.最近一次完全备份到系统出错期间的数据不能恢复.
归档模式可以做热备份,并且可以做增量备份,可以做部分恢复.
用ARCHIVE LOG LIST 可以查看期模式状态时归档模式还是非归档模式.

三、初始归档模式的设置:

 

1、用sysdba 身份登陆,并用archive log list 命令查看当前模式状态:

sql>conn /as sysdba;

sql>archive log list

 

(如果当前状态是非归档模式,则会出现如下信息:)

Database log mode             No Archive Mode
Automatic archival             Disabled
Archive destination             /data/oracle/product/10.2.0/db_1//dbs/arch
Oldest online log sequence     256
Current log sequence           258

 

(如果当前状态是归档模式,则会出现类似如下的信息:)

Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     256
Next log sequence to archive   258
Current log sequence           258

 

2、shutdown normal/immediat(只对于当前状态是非归档模式,进行如下一系列操作)

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

 

3、正常关闭后,以mount方式打开数据库(打开控制文件,不打开数据文件)

sql>startup mount

ORA-32004: obsolete and/or deprecated parameter(s) specified
ORACLE instance started.

Total System Global Area  171966464 bytes
Fixed Size                   787988 bytes
Variable Size             145488364 bytes
Database Buffers           25165824 bytes
Redo Buffers                 524288 bytes

 

4、设置数据库为归档模式,使用如下命令:

SQL> alter database archivelog;(注意:archivelog不是archive log,是连在一起的,不是分开的)

Database altered.

 

5、设置为归档模式后打开数据库:

sql>alter database open;

Database altered.

 

6、将数据设置为自动归档使用下列命令:

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

System altered.

 

7、使用archive log list命令确认当前模式是归档模式,并且是自动存档:

sql>archive log list

Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     256
Next log sequence to archive   258
Current log sequence           258

 

这样,oracle现在便工作在归档模式下了。

0 0