Heim > Datenbank > MySQL-Tutorial > Hauptteil

Oracle启用自动归档模式

WBOY
Freigeben: 2016-06-07 17:34:57
Original
1087 Leute haben es durchsucht

Oracle数据库有联机重做日志,这个日志是记录对数据库所做的修改,比如插入,删除,更新数据等,对这些操作都会记录在联机重做日

Oracle的归档模式

一 查看oracle数据库是否为归档模式:

1.select name,log_mode from v$database;

NAME LOG_MODE
------------------ ------------------------
QUERY NOARCHIVELOG

 

2.使用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 739
Current log sequence 741

二 什么是Oracle归档模式?

Oracle数据库有联机重做日志,这个日志是记录对数据库所做的修改,比如插入,删除,更新数据等,对这些操作都会记录在联机重做日志里。一般数据库至少要有2个联机重做日志组。当一个联机重做日志组被写满的时候,就会发生日志切换,这时联机重做日志组2成为当前使用的日志,当联机重做日志组2写满的时候,又会发生日志切换,去写联机重做日志组1,就这样反复进行。 如果数据库处于非归档模式,联机日志在切换时就会丢弃. 而在归档模式下,当发生日志切换的时候,被切换的日志会进行归档。比如,当前在使用联机重做日志1,当1写满的时候,,发生日志切换,开始写联机重做日志2,这时联机重做日志1的内容会被拷贝到另外一个指定的目录下。这个目录叫做归档目录,拷贝的文件叫归档重做日志。 数据库使用归档方式运行时才可以进行灾难性恢复。 1.归档日志模式和非归档日志模式的区别非归档模式只能做冷备份,并且恢复时只能做完全备份.最近一次完全备份到系统出错期间的数据不能恢复. 归档模式可以做热备份,并且可以做增量备份,可以做部分恢复. 用ARCHIVE LOG LIST 可以查看期模式状态时归档模式还是非归档模式.

三 配置数据库的归档模式 改变非归档模式到归档模式:

1)SQL>SHUTDOWN NORMAL/IMMEDIATE;
2)SQL>START MOUNT;
3)SQL>ALTER DATABASE ARCHIVELOG;
4)SQL>ALTER DATABASE OPEN;

5)SQL>做一次完全备份,因为非归档日志模式下产生的备份日志对于归档模式已经不可用了.这一步非非常重要! 改变归档模式到非归档模式:

1)SQL>SHUTDOWN NORMAL/IMMEDIATE;
2)SQL>START MOUNT;
3)SQL>ALTER DATABASE NOARCHIVELOG;
4)SQL>ALTER DATABASE OPEN;

3.启用自动归档:
LOG_ARCHIVE_START=TRUE 归档模式下,日志文件组不允许被覆盖(重写),当日志文件写满之后,如果没有进行手动归档,那么系统将挂起,知道归档完成为止. 这时只能读而不能写. 运行过程中关闭和重启归档日志进程 SQL>ARCHIVE LOG STOP SQL>ARCHIVE LOG START

4.手动归档:
LOG_ARCHIVE_START=FALSE

 
 
归档当前日志文件

SQL>ALTER SYSTEM ARCHIVE LOG CURRENT;

 
 
归档序号为052的日志文件

SQL>ALTER SYSTEM ARCHIVE LOG SEQUENCE 052;

 
 
归档所有日志文件
 
SQL>ALTER SYSTEM ARCHIVE LOG ALL;

 
 
改变归档日志目标

SQL>ALTER SYSTEM ARCHIVE LOG CURRENT TO '&PATH';

5.归档模式和非归档模式的转换第4步的逆过程.

6.配置多个归档进程

Q:什么时候需要使用多个归档进程?

A:如果归档过程会消耗大量的时间,那么可以启动多个归档进程,这是个动态参数,可以用ALTER SYSTEM动态修改.

SQL>ALTER SYSTEM SET LOG_ARCHIVE_MAX_PROCESSES=10;

Oracle9i中最多可以指定10个归档进程与归档进程有关的动态性能视图 v$bgprocess,v$archive_processes

7.配置归档目标,多归档目标,远程归档目标,归档日志格式归档目标 LOG_ARCHIVE_DEST_n 本地归档目标:

SQL>LOG_ARCHIVE_DEST_1 = "LOCATION=D:ORACLEARCHIVEDLOG"; 远程归档目标: SQL>LOG_ARCHIVE_DEST_2 = "SERVICE=STANDBY_DB1"; 强制的归档目标,如果出错,600秒后重试: SQL>ALTER SYSTEM SET LOG_ARCHIVE_DEST_4 = "LOCATION=E:ORACLEARCHIVEDLOG MANDATORY REOPEN=600"; 可选的归档目标,如果出错,放弃归档: SQL>ALTER SYSTEM SET LOG_ARCHIVE_DEST_3 = "LOCATION=E:ORACLEARCHIVEDLOG OPTIONAL"; 归档目标状态:关闭归档目标和打开归档目标关闭归档目标1 SQL>ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_1 = DEFER 打开归档目标2 SQL>ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2 = ENABLE 归档日志格式 LOG_ARCHIVE_FORMAT 8.获取归档日志信息 V$ARCHVIED_LOG V$ARCHVIE_DEST V$LOG_HISTORY V$DATABASE V$ARCHIVE_PROCESSES ARCHIVE LOG LIST;

相关阅读:

Oracle 11G RAC 修改归档模式

Oracle手工完全恢复案例(归档模式)

Oracle手工恢复案例(非归档模式)

Oracle归档模式设置的相关指令与简要说明

Oracle 10g 归档模式下备份脚本

linux

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage