一 設定為歸檔方式
1 sql> archive log list; #檢視是不是歸檔方式
2 sql> alter system set log_archive_start=true scope=spfile; #啟用主動歸檔
sql> alter system set log_archive_dest=''location=/oracle/ora9/oradata/arch'' scope=spfile;
#設定歸檔路徑
sql> alter system set log_archive_dest_1=''location=/oracle/ora9/oradata/arch1'' scope=spfile;
sql> alter system set log_archive_dest_2=''location=/oracle/ora9/oradata/arch2'' scope=spfile;
#如果歸檔到兩個位置,則可以通過上邊方法實現
sql> alter system set log_archive_format=''arch_%d_%t_%r_%s.log'' #設定歸檔日記款式
3 sql> shutdown immediate;
4 sql> startup mount; #開啟控制檔案,不開啟資料檔案
5 sql> alter database archivelog; #將資料庫切換為歸檔模式
6 sql> alter database open; #將資料檔案開啟
7 sql> archive log list; #檢視此時是否處於歸檔模式
8 查詢以確定資料庫位於archivelog模式中且歸檔過程正在執行
sql> select log_mode from v$database;
sql> select archiver from v$instance;
9 日誌切換
sql> alter system switch logfile;
10 這次日誌切換將歸檔寫到兩個目標地,
1,即第二步的/oracle/ora9/oradata/arch1和/oracle/ora9/oradata/arch1,要是要對目錄確認
在oracle情況中執行如下查詢:
sql> select name from v$archived_log;
而後在作業系統中確認查詢所列出的檔案
二 設定非歸檔方式
1 sql> archive log list; #檢視是否是歸檔方式
2 sql> alter system set log_archive_start=false scope=spfile; #禁用自動歸檔
3 sql> shutdown immediate;
4 sql> startup mount; #開啟控制檔案,不開啟資料檔案
5 sql> alter database noarchivelog; #將資料庫切換為非歸檔模式
6 sql> alter database open; #將資料檔案開啟
7 sql> archive log list; #檢視此時便處於非歸檔模式
三 歸檔相關命令
archive log stop;
archive log start;
archive log list;
show parameters;
show parameters log_archive_start;
show parameters log_archive_max_process; #歸檔程序數
alter system set log_archive_max_process=5; #將歸檔程序數改為5
select * from v$bgprocess; #檢察後台程序
四 歸檔日誌刪除
os層面非正常刪除
find /oraarchive -xdev -mtime +7 -name "*.dbf" -exec rm -f {} ;
1. 進入rman
2. connect target /
3. crosscheck archivelog all;
4. delete expired archivelog all;
這時候我們再去oem中看就一定看不到,如果你的從來沒有做過這個動作的話,我們可以比較從這個動作前的controlfile後動作後的controlfile的大小!
oracle正確刪除歸檔並**空間的方法
rman target/
或rman target/@orcl
在命令視窗裡面執行
delete archivelog all completed before 'sysdate-7';
五、rman歸檔備份策略和指令碼
------rman 備份指令碼
rman target /
configure retention policy to recovery window of 3 days;
level0_backup.sh
#!/bin/ksh
#lzccb rman full backup
#export env
cd /oraclebackup
rman cmdfile=level0_backup.sql msglog=/oraclebackup/level0_`date +'%y%m%d%h%m'`.log
level0_backup.sql
connect target /
run {
allocate channel c1 type disk;
allocate channel c2 type disk;
backup incremental level 0
tag 'level0 include controlfile'
format '/oraclebackup/level0_%d_%u.bak'
database;
release channel c1;
release channel c2;
crosscheck backup;
delete noprompt expired backup;
delete noprompt obsolete;
----crontab -e
0 5 * * 1,4 /oraclebackup/level0_backup.sh 1>/oraclebackup/crontab_rman.log 2>&1 &
[@more@]
Oracle資料庫歸檔模式
1 登入 sqlplus,方法 sqlplus nolog,2 登入管理員 方法 conn as sysdba 3 開啟歸檔日誌 3.1 shutdown immediate 關閉資料庫 3.2 startup mount 開啟資料庫 3.3 alter database archivelog 開啟...
更改oracle資料庫歸檔模式
更改資料庫的歸檔模式需要重新啟動資料庫,在mount模式下修改,以下是乙個簡要的步驟說明 n 修改必要的初始化引數 n 以immediate方式關閉資料庫 n 啟動例項到mount狀態 n 更改執行模式並開啟資料庫 以下簡單介紹如何啟用和關閉資料庫德歸檔模式 n log archive start ...
oracle資料庫的歸檔模式
什麼是oracle歸檔模式?oracle資料庫有聯機重做日誌,這個日誌是記錄對資料庫所做的修改,比如插入,刪除,更新資料等,對這些操作都會記錄在聯機重做日誌裡。一般資料庫至少要有2個聯機重做日誌組。當乙個聯機重做日誌組被寫滿的時候,就會發生日誌切換,這時聯機重做日誌組2成為當前使用的日誌,當聯機重做...