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;
 
 
    數據庫由歸檔模式更改為非歸檔模式


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM