签到成功

知道了

CNDBA社区CNDBA社区

Oracle 归档与非归档的切换

2016-11-25 15:57 2347 0 原创 Oracle 11g
作者: dave


首先查看数据库现有模式可使用以下语句
select name,log_mode from v$database;
也可以用下面的语句
archive log list;(该方法需要as sysdba) http://www.cndba.cn/Dave/article/1270

SQL> archive log list
Database log mode       No Archive Mode
Automatic archival      Disabled
Archive destination      /export/home/oracle/product/8.1.7/dbs/arch
Oldest online log sequence   28613
Current log sequence     28615

SQL> SELECT NAME,LOG_MODE FROM V$DATABASE; http://www.cndba.cn/Dave/article/1270

http://www.cndba.cn/Dave/article/1270
http://www.cndba.cn/Dave/article/1270

NAME    LOG_MODE
--------  ------------
BIGSUN   NOARCHIVELOG http://www.cndba.cn/Dave/article/1270


对于非归档模式的数据库该为归档模式(主要以Oracle 10g为参考)使用以下步骤:
1. SQL> alter system set log_archive_dest_1='location=/oracle/oracle10g/log/archive_log';
该语句含义是确定归档日志的路径,实际上Oracle 10g可以生成多份一样的日志,保存多个位置,以防不测

例如再添加一个日志位置可使用以下语句
SQL>alter system set log_archive_dest_2='location=/oracle/oracle10g/log2/archive_log';

2.关闭数据库
SQL> shutdown immediate

3.启动数据mount状态:
SQL> startup mount;

4、修改数据库为归档模式:
SQL> alter database archivelog; http://www.cndba.cn/Dave/article/1270

5、打开数据库,查询:
SQL> alter database open;

修改日志文件命名格式:
SQL> alter system set log_archive_max_processes = 5;
SQL> alter system set log_archive_format = "archive_%t_%s_%r.log" scope=spfile; http://www.cndba.cn/Dave/article/1270

修改完成后可以查看日志模式是否修改成功!

http://www.cndba.cn/Dave/article/1270

特别指出的是在Oracle 9i中还要修改参数log_archive_start = true才能生效,oracle 10g中已经废除了该参数,所以不需要设置该参数。

Oracle 9i启动归档
1,sqlplus "/ as sysdba" 在DOS命令行下运行进入SQL管理员操作控制台。
2,shutdown immediate;  关闭ORACLE数据库。
3,startup mount;       启动数据库到mount状态
4,alter database archivelog(noarchivelog); 启用(禁止)归档模式。
5,alter database open;  打开数据库。
6,archive log list; 查看是否开启了归档模式
7,archive log start(stop);   开启(停止)归档模式。
8, alter system switch logfile; --强制系统进行日志切换,可马上观察到归档日志的产生http://www.cndba.cn/Dave/article/1270

归档模式转化为非归档模式
在这里所有的操作要在数据库的那台机器上操作,用SYS用户进行登录,首先设置归档进程关闭。
alter system set log_archive_start=false scope=spfile;
然后关闭数据库
shutdown immediate
再后面把数据库启动到mount的模式
startup mount
关闭flash闪回数据库模式,如果不关闭的话,在后面关闭归档日志的时候就会出现讨厌的ORA-38774错误。
alter database flashback off
接着把数据库改为非归档模式
alter database noarchivelog;
都修改好了以后,然后打开数据库
Alter database open;
察看一下归档日志的空间大小
select * from v$recovery_file_dest;
接着看一下log日志的状态
select * from v$log;
再看一下闪回日志使用状况
select * from v$flash_recovery_area_usage;
这些都没有问题以后,数据库问题就解决了。

http://www.cndba.cn/Dave/article/1270

版权声明:本文为博主原创文章,未经博主允许不得转载。

oracle 11g

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
dave

dave

关注

人的一生应该是这样度过的:当他回首往事的时候,他不会因为虚度年华而悔恨,也不会因为碌碌无为而羞耻;这样,在临死的时候,他就能够说:“我的整个生命和全部精力,都已经献给世界上最壮丽的事业....."

  • 2235
    原创
  • 2
    翻译
  • 535
    转载
  • 185
    评论
  • 访问:6527339次
  • 积分:4223
  • 等级:核心会员
  • 排名:第1名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by CNDBA · 皖ICP备2022006297号-1·

        QQ交流群

        注册联系QQ