• Oracle 归档与非归档的切换


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

    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;

    NAME    LOG_MODE
    --------  ------------
    BIGSUN   NOARCHIVELOG


    对于非归档模式的数据库该为归档模式(主要以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;

    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;

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

    特别指出的是在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; --强制系统进行日志切换,可马上观察到归档日志的产生

    归档模式转化为非归档模式
    在这里所有的操作要在数据库的那台机器上操作,用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;
    这些都没有问题以后,数据库问题就解决了。

  • 相关阅读:
    本月周六周日LIST集合
    c#动态调用WEBSERVICE接口
    c#调用
    web上传下载文件
    MVC 的知识
    MongoDB 无法创建抽象类的问题,
    并行活动
    C# 字符串计算表达式
    c# 将字符串转换为逻辑表达式(字符串转换布尔)
    C# 中间语言、CLR、CTS、CLS
  • 原文地址:https://www.cnblogs.com/datalife/p/1985285.html
Copyright © 2020-2023  润新知