1、首先查看当前数据库是否处于归档模式
可使用如下两种方式查看
1.1
select name, log_mode from v$database;
![](http://img.blog.itpub.net/blog/attachment/201505/20/26508908_1432091750KCcx.png?x-oss-process=style/bb)
![](http://img.blog.itpub.net/blog/attachment/201505/20/26508908_1432091750KCcx.png?x-oss-process=style/bb)
log_mode的值为 NOARCHIVELOG 表示数据库处于非归档模式
![](http://img.blog.itpub.net/blog/attachment/201505/20/26508908_1432091776YC83.png?x-oss-process=style/bb)
![](http://img.blog.itpub.net/blog/attachment/201505/20/26508908_1432091776YC83.png?x-oss-process=style/bb)
log_mode的值为 ARCHIVELOG 表示数据库处于归档模式
1.2
archive log list; (此方法需要 as sysdba)
![](http://img.blog.itpub.net/blog/attachment/201505/20/26508908_1432091821zsUE.png?x-oss-process=style/bb)
![](http://img.blog.itpub.net/blog/attachment/201505/20/26508908_1432091821zsUE.png?x-oss-process=style/bb)
Database log mode 的值为 No Archive Mode
Automatic archival 的值为 Disabled
表示当前数据库处于非归档模式
![](http://img.blog.itpub.net/blog/attachment/201505/20/26508908_14320918400hMU.png?x-oss-process=style/bb)
![](http://img.blog.itpub.net/blog/attachment/201505/20/26508908_14320918400hMU.png?x-oss-process=style/bb)
Database log mode 的值为 Archive Mode
Automatic archival 的值为 Enabled
表示数据库已开启归档模式
2、非归档模式的数据库更改为归档模式
数据库从非归档模式更改为归档模式需要数据库处于mount状态下。
以下操作适用于oracle10g以上版本,对于oracle8i和9i不适用。
2.1 关闭数据库
shutdown immediate;
![](http://img.blog.itpub.net/blog/attachment/201505/20/26508908_1432091858e5po.png?x-oss-process=style/bb)
![](http://img.blog.itpub.net/blog/attachment/201505/20/26508908_1432091858e5po.png?x-oss-process=style/bb)
2.2 启动数据库到mount状态
startup mount;
![](http://img.blog.itpub.net/blog/attachment/201505/20/26508908_14320918722bvJ.png?x-oss-process=style/bb)
![](http://img.blog.itpub.net/blog/attachment/201505/20/26508908_14320918722bvJ.png?x-oss-process=style/bb)
2.3 修改数据库为归档模式
alter database archivelog;
![](http://img.blog.itpub.net/blog/attachment/201505/20/26508908_1432091905TKuQ.png?x-oss-process=style/bb)
![](http://img.blog.itpub.net/blog/attachment/201505/20/26508908_1432091905TKuQ.png?x-oss-process=style/bb)
2.4 打开数据库
alter database open;
![](http://img.blog.itpub.net/blog/attachment/201505/20/26508908_1432091918SK4O.png?x-oss-process=style/bb)
![](http://img.blog.itpub.net/blog/attachment/201505/20/26508908_1432091918SK4O.png?x-oss-process=style/bb)
2.5 查询数据库是否已处于归档模式
archive log list;
![](http://img.blog.itpub.net/blog/attachment/201505/20/26508908_1432091939RNrR.png?x-oss-process=style/bb)
![](http://img.blog.itpub.net/blog/attachment/201505/20/26508908_1432091939RNrR.png?x-oss-process=style/bb)
数据库已由非归档模式更改为归档模式
2.6 修改日志文件命名格式
alter system set log_archive_max_processes = 5;
alter system set log_archive_format = "archive_%t_%s_%r.log" scope=spfile;
![](http://img.blog.itpub.net/blog/attachment/201505/20/26508908_1432092074i7NC.png?x-oss-process=style/bb)
![](http://img.blog.itpub.net/blog/attachment/201505/20/26508908_1432092074i7NC.png?x-oss-process=style/bb)
此处修改后如果重启,则重启后归档的日志文件格式会更改为 archive_%t_%s_%r.log 格式,否则仍是默认的格式。
2.7 更改日志文件路径
alter system set log_archive_dest_1='location=/data/archivelog/orcl';
![](http://img.blog.itpub.net/blog/attachment/201505/20/26508908_14320920945R3x.png?x-oss-process=style/bb)
![](http://img.blog.itpub.net/blog/attachment/201505/20/26508908_14320920945R3x.png?x-oss-process=style/bb)
此时 Archive destination的值更改为 /data/archivelog/orcl
该语句含义是确定归档日志的路径,实际上Oracle 10g以后可以生成多份一样的日志,保存多个位置,以防不测
例如再添加一个日志位置可使用以下语句
SQL>alter system set log_archive_dest_2='location=/bak/orcl/archive_log';
2.8 归档当前重做日志
select name from v$archived_log;
alter system archive log current;
![](http://img.blog.itpub.net/blog/attachment/201505/20/26508908_14320921204gpY.png?x-oss-process=style/bb)
![](http://img.blog.itpub.net/blog/attachment/201505/20/26508908_14320921204gpY.png?x-oss-process=style/bb)
可以看出在归档当前重做日志后从v$archived_log中能查到当前被归档的重做日志,由于没有重启数据库,所以归档日志的文件格式仍然是默认的格式。
注:
<
alter system switch logfile 是强制日志切换,不一定就归档当前的重做日志文件(若自动归档打开,就归档前的重做日志,若自动归档没有打开,就不归档当前重做日志。)
alter system archive log current 是归档当前的重做日志文件,不管自动归档有没有打都归档。
主要的区别在于:
alter system switch logfile 对单实例数据库或RAC中的当前实例执行日志切换;
alter system archive log current 会对数据库中的所有实例执行日志切换。
alter system archive log current 是归档当前的重做日志文件,不管自动归档有没有打都归档。
主要的区别在于:
alter system switch logfile 对单实例数据库或RAC中的当前实例执行日志切换;
alter system archive log current 会对数据库中的所有实例执行日志切换。
>
2.9 重启数据库
shutdown immediate;
startup
![](http://img.blog.itpub.net/blog/attachment/201505/20/26508908_1432092148EAFt.png?x-oss-process=style/bb)
![](http://img.blog.itpub.net/blog/attachment/201505/20/26508908_1432092148EAFt.png?x-oss-process=style/bb)
2.10 查询归档信息
archive log list;
![](http://img.blog.itpub.net/blog/attachment/201505/20/26508908_1432092162eOMq.png?x-oss-process=style/bb)
![](http://img.blog.itpub.net/blog/attachment/201505/20/26508908_1432092162eOMq.png?x-oss-process=style/bb)
数据库由非归档模式更改为归档模式
3、归档模式的数据库更改为非归档模式
数据库从非归档模式更改为归档模式需要数据库处于mount状态下。
以下操作适用于oracle10g以上版本,对于oracle8i和9i不适用。
3.1 关闭数据库
如果数据库处于打开状态则需要先关闭数据库,如果数据库处于关闭状态,则直接执行3.2步即可。
关闭数据库之前归档当前重做日志
alter system archive log current;
shutdown immediate;
![](http://img.blog.itpub.net/blog/attachment/201505/20/26508908_1432092232TYN8.png?x-oss-process=style/bb)
![](http://img.blog.itpub.net/blog/attachment/201505/20/26508908_1432092232TYN8.png?x-oss-process=style/bb)
3.2 启动数据库到mount状态
startup mount;
![](http://img.blog.itpub.net/blog/attachment/201505/20/26508908_1432092248DOYk.png?x-oss-process=style/bb)
![](http://img.blog.itpub.net/blog/attachment/201505/20/26508908_1432092248DOYk.png?x-oss-process=style/bb)
3.3 查看的数据库的归档信息
archive log list;
或者
select name, log_mode from v$database;
![](http://img.blog.itpub.net/blog/attachment/201505/20/26508908_1432092262PLn7.png?x-oss-process=style/bb)
![](http://img.blog.itpub.net/blog/attachment/201505/20/26508908_1432092262PLn7.png?x-oss-process=style/bb)
3.4 更改归档模式为非归档模式
alter database noarchivelog;
![](http://img.blog.itpub.net/blog/attachment/201505/20/26508908_1432092275DRMP.png?x-oss-process=style/bb)
![](http://img.blog.itpub.net/blog/attachment/201505/20/26508908_1432092275DRMP.png?x-oss-process=style/bb)
3.4 查看的数据库的归档信息
archive log list;
或者
select name, log_mode from v$database;
![](http://img.blog.itpub.net/blog/attachment/201505/20/26508908_1432092291u5Bu.png?x-oss-process=style/bb)
![](http://img.blog.itpub.net/blog/attachment/201505/20/26508908_1432092291u5Bu.png?x-oss-process=style/bb)
3.5 打开数据库
alter database open;
![](http://img.blog.itpub.net/blog/attachment/201505/20/26508908_14320923060M0k.png?x-oss-process=style/bb)
![](http://img.blog.itpub.net/blog/attachment/201505/20/26508908_14320923060M0k.png?x-oss-process=style/bb)
数据库由归档模式更改为非归档模式
本文摘自:http://blog.itpub.net/26508908/viewspace-1663566/