zoukankan      html  css  js  c++  java
  • oracle11g设置归档模式和非归档模式

    1、首先查看当前数据库是否处于归档模式
          
        可使用如下两种方式查看
    1.1 
    select name, log_mode from v$database;
     
    log_mode的值为 NOARCHIVELOG 表示数据库处于非归档模式
     
    log_mode的值为 ARCHIVELOG 表示数据库处于归档模式
     
    1.2 
    archive log list; (此方法需要 as sysdba)
     
    Database log mode 的值为 No Archive Mode
    Automatic archival 的值为 Disabled 
    表示当前数据库处于非归档模式
     
    Database log mode 的值为 Archive Mode
    Automatic archival 的值为 Enabled
    表示数据库已开启归档模式
     
    2、非归档模式的数据库更改为归档模式
        
       数据库从非归档模式更改为归档模式需要数据库处于mount状态下。
        以下操作适用于oracle10g以上版本,对于oracle8i和9i不适用。
    2.1 关闭数据库
    shutdown immediate;
     
    2.2 启动数据库到mount状态
    startup mount;
     
    2.3 修改数据库为归档模式
    alter database archivelog;
     
    2.4 打开数据库
    alter database open;
     
    2.5 查询数据库是否已处于归档模式
    archive log list;
     
    数据库已由非归档模式更改为归档模式
    2.6 修改日志文件命名格式
    alter system set log_archive_max_processes = 5; 
    alter system set log_archive_format = "archive_%t_%s_%r.log" scope=spfile;

     
      此处修改后如果重启,则重启后归档的日志文件格式会更改为 archive_%t_%s_%r.log 格式,否则仍是默认的格式。
     
    2.7 更改日志文件路径
    alter system set log_archive_dest_1='location=/data/archivelog/orcl'; 
     
      此时 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;
     
      可以看出在归档当前重做日志后从v$archived_log中能查到当前被归档的重做日志,由于没有重启数据库,所以归档日志的文件格式仍然是默认的格式。
    注:
    <
        alter system switch logfile 是强制日志切换,不一定就归档当前的重做日志文件(若自动归档打开,就归档前的重做日志,若自动归档没有打开,就不归档当前重做日志。)
        alter system archive log current 是归档当前的重做日志文件,不管自动归档有没有打都归档。
        主要的区别在于:
        alter system switch logfile 对单实例数据库或RAC中的当前实例执行日志切换;
        alter system archive log current  会对数据库中的所有实例执行日志切换。
    >
     
    2.9 重启数据库
    shutdown immediate;
    startup
     
    2.10 查询归档信息
    archive log list;
     
     
        数据库由非归档模式更改为归档模式
     
    3、归档模式的数据库更改为非归档模式
        
       数据库从非归档模式更改为归档模式需要数据库处于mount状态下。
        以下操作适用于oracle10g以上版本,对于oracle8i和9i不适用。
    3.1 关闭数据库
      如果数据库处于打开状态则需要先关闭数据库,如果数据库处于关闭状态,则直接执行3.2步即可。
      关闭数据库之前归档当前重做日志
      alter system archive log current;
      shutdown immediate;
     
    3.2 启动数据库到mount状态
    startup mount;
    3.3 查看的数据库的归档信息
    archive log list;
    或者
    select name, log_mode from v$database;
     
     
    3.4 更改归档模式为非归档模式
    alter database noarchivelog;
     
    3.4 查看的数据库的归档信息
    archive log list;
    或者
    select name, log_mode from v$database;
     
    3.5 打开数据库
    alter database open;
     
     
        数据库由归档模式更改为非归档模式
  • 相关阅读:
    Oracle11g聚合函数
    和为S的连续正数数列,动态规划,C++
    统计一个数组在排序数组中出现的次数,C++,二分查找
    寻找两个链表的第一个公共子节点,C++
    二维数组中的查找
    数组中的逆序对,C++,分治算法
    得到从小到大的第N个丑数的三种方式(C++)一维动态规划
    连续字数组的最大和(Java)一个int数组,求其中的最大的连续数的和
    n个整数,求这中间最小的k个整数(Java)
    两个字符串的最长公共子串求法(C++、动态规划)
  • 原文地址:https://www.cnblogs.com/hftian/p/9061429.html
Copyright © 2011-2022 走看看