提示:由于兼容性问题,公众号代码会自动换行,建议横屏阅读或左右滑动代码观看
这章是补充上一章推送中关于Oracle数据库归档模式和非归档模式的切换,首先我们查看数据库现有模式可使用以下语句:

也可以用下面的语句 (该方法需要as sysdba角色登录)

一. 对于非归档模式的数据库该为归档模式
主要以Oracle 10g为参考,使用以下步骤:
1. 修改存档路径

该语句含义是确定归档日志的路径,实际上Oracle 10g可以生成多份一样的日志,保存多个位置,以防不测,再添加一个日志位置可使用以下语句。
SQL>alter system set log_archive_dest_2='location=/oracle/oracle10g/log2/archive_log';
2.关闭数据库

3.启动数据mount状态

4、修改数据库为归档模式

5、打开数据库,查询

修改日志文件命名格式:
SQL> alter system set log_archive_max_processes = 5;
SQL> alter system set log_archive_format = "archive_%t_%s_%r.log" scope=spfile;
修改完成后可以查看日志模式是否修改成功。

特别指出的是在Oracle 9i中还要修改参数log_archive_start=true才能生效,oracle 10g中已经废除了该参数,所以不需要设置该参数。
Oracle 9i启动归档
1,在DOS命令行下运行进入SQL管理员操作控制台。
sqlplus "/ as sysdba"
2,关闭Oracle数据库。
shutdown immediate;
3,启动数据库到mount状态。
startup mount;
4,启用(禁止)归档模式。
alter database archivelog(noarchivelog);
5,打开数据库。
alter database open;
6,查看是否开启了归档模式。
archive log list;
7,开启(停止)归档模式。
archivelog start(stop);
8,强制系统进行日志切换,可马上观察到归档日志的产生
alter system switch logfile;
二. 归档模式转化为非归档模式
在这里所有的操作要在数据库的那台机器上操作,用SYS用户进行登录,首先设置归档进程关闭。

然后关闭数据库

再后面把数据库启动到mount的模式

ORA-32004报错是因为刚才修改了系统参数log_archive_start,但是这不会影响后续操作。

关闭flash闪回数据库模式,如果不关闭的话,在后面关闭归档日志的时候就会出现讨厌的ORA-38774错误。

接着把数据库改为非归档模式

都修改好了以后,然后打开数据库

察看一下归档日志的空间大小

接着看一下log日志的状态

再看一下闪回日志使用状况


这些都没有问题以后,数据库的归档模式和非归档模式问题就解决了。
扫描下方二维码或搜索微信号Medoci关注本公众号,了解相关更新

推荐阅读:




