45fan.com - 路饭网

搜索: 您的位置主页 > 网络频道 > 阅读资讯:在Oracle中将归档与非归档切换的方法

在Oracle中将归档与非归档切换的方法

2016-08-29 11:46:32 来源:www.45fan.com 【

在Oracle中将归档与非归档切换的方法

归档时,Oralce会自动的将所产后的日志记录自动的归档,非归档模式,则将产生的日志覆盖,对于大多数的DB来说,要求是运行在归档状态下。

归档与非归档的切换,一般有两种方法,一种是在创建数据库进,选项到归档与非归档模式,另一种是,在DB运行过程中,进行切换。

对于第一种,创建时可以选择,不再说明。

对于第二种:需要说明的是,归档与非归档的切换,只能在DB的 Mount 状态下进行。所以要切换,首先要让DB到Mount 状态下。切换完成后,再将DB置于 Open 状态下。

过程如下:

SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。


SQL> startup mount
ORACLE 例程已经启动。

Total System Global Area 97589952 bytes
Fixed Size 453312 bytes
Variable Size 58720256 bytes
Database Buffers 37748736 bytes
Redo Buffers 667648 bytes
数据库装载完毕。


SQL> alter database archivelog;

数据库已更改。

SQL> archive log list
数据库日志模式 存档模式
自动存档 禁用
存档终点 D:/oracle/ora92/RDBMS
最早的概要日志序列 121
下一个存档日志序列 123
当前日志序列 123
SQL> alter database open;

数据库已更改。

SQL> select log_mode from v$database;

LOG_MODE
------------
ARCHIVELOG

那么,如何知道当前的DB是不是运行在归档模式下呢?

有以下的两种方法:

第一:静态视图法:

SQL> select log_mode from v$database;

LOG_MODE
------------
ARCHIVELOG

还有一种,是用Oracle提供的命令法:

SQL> archive log list
数据库日志模式 存档模式
自动存档 禁用
存档终点 D:/oracle/ora92/RDBMS
最早的概要日志序列 121
下一个存档日志序列 123
当前日志序列 123

对于上面的“自动存档 禁用”,意思是将当前归档是否自动进行,如果不是,就要手动归档了。

即:如果DB是“存档模式”,但自动存档是“禁用”时,此时Oracle允许归档,但是要手工归档,是“启用”时,DB会自动归档。
手工归档可以用下面的方法:

SQL> alter system switch logfile;

可以将当前的日志文件进行切换。

现在数据库处于归档模式,要从归档模式转变成非归档模式,操作如下:

SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount
ORACLE 例程已经启动。

Total System Global Area 85006980 bytes
Fixed Size 453252 bytes
Variable Size 46137344 bytes
Database Buffers 37748736 bytes
Redo Buffers 667648 bytes
数据库装载完毕。

SQL> alter database noarchivelog;

数据库已更改。

SQL> alter database open;

数据库已更改。

SQL> archive log list;
数据库日志模式 非存档模式
自动存档 启用
存档终点 d:/oracle/ora92/RDBMS
最早的概要日志序列 31
当前日志序列 33

就可以了。

 

本文地址:http://www.45fan.com/a/question/69214.html
Tags: oracle 切换 归档
编辑:路饭网
关于我们 | 联系我们 | 友情链接 | 网站地图 | Sitemap | App | 返回顶部