最保险的的方式是物理冷备份,不要轻易试水!!
以下是物理热备份:
查询当前的模式
selectname,log_mode from v$database;
配置数据库的归档模式
1.改变非归档模式到归档模式:
1)SQL>conn / as sysdba (以DBA身份连接数据库)
2)SQL>shutdown immediate; (立即关闭数据库)
3)SQL>startup mount (启动实例并加载数据库,但不打开)
4)SQL>alter database archivelog; (更改数据库为归档模式)
5)SQL>alter database open; (打开数据库)
6)SQL>alter system archive log start; (启用自动归档)
7)SQL>exit (退出)
做一次完全备份,因为非归档日志模式下产生的备份日志对于归档模式已经不可用了.这一步非非常重要!
2.改变归档模式到非归档模式:
1)SQL>SHUTDOWNNORMAL/IMMEDIATE;
2)SQL>STARTUPMOUNT;
3)SQL>ALTERDATABASE NOARCHIVELOG;
4)SQL>ALTERDATABASE OPEN;
3.启用自动归档:LOG_ARCHIVE_START=TRUE
归档模式下,日志文件组不允许被覆盖(重写),当日志文件写满之后,如果没有进行手动归档,那么系统将挂起,直到归档完成为止.
这时只能读而不能写.
运行过程中关闭和重启归档日志进程
SQL>ARCHIVELOG STOP
SQL>ARCHIVELOG START
4.手动归档:LOG_ARCHIVE_START=FALSE
归档当前日志文件
SQL>ALTERSYSTEM ARCHIVE LOG CURRENT;
归档序号为052的日志文件
SQL>ALTERSYSTEM ARCHIVE LOG SEQUENCE 052;
归档所有日志文件
SQL>ALTERSYSTEM ARCHIVE LOG ALL;
改变归档日志目标
SQL>ALTERSYSTEM ARCHIVE LOG CURRENT TO '&PATH';
5.归档模式和非归档模式的转换
第4步的逆过程.
6.配置多个归档进程
Q:什么时候需要使用多个归档进程?
A:如果归档过程会消耗大量的时间,那么可以启动多个归档进程,这是个动态参数,可以用ALTERSYSTEM动态修改.
SQL>ALTERSYSTEM 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>ALTERSYSTEM SET LOG_ARCHIVE_DEST_4 = "LOCATION=E:ORACLEARCHIVEDLOG MANDATORYREOPEN=600";
可选的归档目标,如果出错,放弃归档:
SQL>ALTERSYSTEM SET LOG_ARCHIVE_DEST_3 = "LOCATION=E:ORACLEARCHIVEDLOGOPTIONAL";
归档目标状态:关闭归档目标和打开归档目标
关闭归档目标1
SQL>ALTERSYSTEM SET LOG_ARCHIVE_DEST_STATE_1 = DEFER
打开归档目标2
SQL>ALTERSYSTEM SET LOG_ARCHIVE_DEST_STATE_2 = ENABLE
归档日志格式
LOG_ARCHIVE_FORMAT
8.获取归档日志信息
V$ARCHIVED_LOG
V$ARCHIVE_DEST
V$LOG_HISTORY
V$DATABASE
V$ARCHIVE_PROCESSES
ARCHIVELOG LIST;
出处:http://zhan.renren.com/javabar?tagId=132778&page=1&from=pages&checked=true