selectname,log_mode,open_mode from v$database;
創(chuàng)新互聯(lián)公司是一家專注于成都做網(wǎng)站、成都網(wǎng)站建設(shè)與策劃設(shè)計,商都網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十余年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:商都等地區(qū)。商都做網(wǎng)站價格咨詢:18982081108
NAME LOG_MODE OPEN_MODE
--------- ------------ -----------------
CKDB ARCHIVELOG READ WRITE
若是歸檔模式,則LOG_MODE=ARCHIVELOG
若是非歸檔模式,則LOG_MODE=NOARCHIVELOG
先查出當(dāng)前數(shù)據(jù)庫使用的歸檔目錄是在哪,這個我昨天回答過一個問題。
你可以參考一下。
然后,便可以到操作系統(tǒng)上,看歸檔目錄所在的文件系統(tǒng)使用情況,如
一般的
unix
上,df
-g
以
GB
為單位看,linux
上,
df
-h,
為以
GB
為單位看。
如果文件系統(tǒng)空間使用率達(dá)
90%
了,那就是快滿了。
可以通過備份至磁帶,再刪除的方式進(jìn)行。
如果是設(shè)置了
db_recovery_file_dest
及
db_recovery_file_dest_size
參數(shù)啟用了
flash
recovery
area
后,
可能會由于該區(qū)域滿而導(dǎo)致無法歸檔.
由于對
flash
recovery
area
的信息是記錄于
rman
repository
及控制文件中的,
因而,
僅是從磁盤刪除舊的備份或是歸檔日志并不足夠,
因為rman
repository
及控制文件中仍持有該空間被使用的信息.
因而,
可增大
db_recovery_file_dest_size
的值,
或是從rman
中執(zhí)行crosscheck
archivelog
all;
來標(biāo)記相關(guān)歸檔日志已被刪除,
再執(zhí)行rman
delete
expired
archivelog
all;
來刪除其記錄.
最好的方式為rman
backup
archivelog
until
logseq
delete
all
input;
這樣一則進(jìn)行了備份,
二則也刪除了flash
recovery
area
中的空間,
并更新了控制文件.
同時,可使用
select
*
from
v$RECOVERY_FILE_DEST;
來了解
recovery
area
中允許的最大空間,已用的空間,可以被數(shù)據(jù)庫自動回收的空間。
并進(jìn)而使用
select
file_type,
PERCENT_SPACE_USED
,
PERCENT_SPACE_RECLAIMABLE,
NUMBER_OF_FILES
from
v$RECOVERY_AREA_USAGE;
來了解
recovery
area
中各類文件所占用的空間百分比。
如果
recovery
area
是放在
asm
的
diskgroup
中的,還需要注意
相應(yīng)的
diskgroup
中是否仍有空間。
可
11g
的
asm,
可在操作系統(tǒng)命令行,執(zhí)行
asmcmd
進(jìn)入命令行后
lsdg
命令,來查看
diskgroup
的總空間及剩余空間量。
1、常用命令 SQL show parameter log_archive_dest; SQL archive log list; SQL select * from V$FLASH_RECOVERY_AREA_USAGE; ARCHIVELOG 96.62 0 141 SQL select sum(percent_space_used)*3/100 from v$flash_recovery_area_usage; 2.9904 SQL show parameter recover; db_recovery_file_dest string /u01/oracle/flash_recovery_area db_recovery_file_dest_size big integer 2G 2、刪除日志 cd $ORACLE_BASE/flash_recovery_area/orcl/archivelog 轉(zhuǎn)移或清除對應(yīng)的歸檔日志, 刪除一些不用的日期目錄的文件,注意保留最后幾個文件在刪除歸檔日志后,必須用RMAN維護(hù)控制文件,否則空間顯示仍然不釋放。 3、rman target sys/password RMAN crosscheck archivelog all; RMAN delete expired archivelog all; 或者 RMAN delete archivelog until time “sysdate-1″; 4、再查 SQL select * from V$FLASH_RECOVERY_AREA_USAGE; 5、修改大小 SQL alter system set db_recovery_file_dest_size=4G scope=both;
大多數(shù)人會去先檢查放歸檔的目錄的磁盤空間是否滿了,通過該歸檔目錄空余情況來判斷歸檔空間是否滿了,但我覺得這個方法不一定代表實際情況,你看到的可能是一個表面現(xiàn)象。
默認(rèn)情況下我們在dbca建庫時,會把歸檔放在$ORACLE_HOME/flash_recovery_area下,并且oracle默認(rèn)給FRA配置的大為2g
這里需要足以兩個參數(shù):
db_recovery_file_deststring/oracle/flash_recovery_area
db_recovery_file_dest_sizebiginteger2G
這里總結(jié)一句,如果db_recovery_file_dest下的存放的歸檔大小達(dá)到db_recovery_file_dest_size即使該目錄下仍然有磁盤空間剩余,oracle也不會去寫。
這里我建議按照如下步驟去確定:歸檔空間是否滿了?
1.首先從系統(tǒng)層面確定歸檔目錄存放的磁盤空間情況:
[oracle@localhostbdump]$df-h
FilesystemSizeUsedAvailUse%Mountedon
/dev/mapper/VolGroup00-LogVol0026G12G14G46%/
/dev/sda219G16G2.8G85%/oracle
/dev/sda199M24M71M25%/boot
tmpfs978M508M470M52%/dev/shm
2.確定歸檔存放目錄,歸檔存放目錄大小
SQLarchiveloglist;
DatabaselogmodeArchiveMode
AutomaticarchivalEnabled
ArchivedestinationUSE_DB_RECOVERY_FILE_DEST-------這里默認(rèn)使用的是DB_RECOVERY_FILE_DEST
Oldestonlinelogsequence17
Nextlogsequencetoarchive20
Currentlogsequence20
----也可以按照以下方式查詢歸檔放置的地方
SQLshowparameterdb_
NAMETYPEVALUE
-----------------------------------------------------------------------------
db_keep_cache_sizebiginteger0
db_namestringlixora
db_recovery_file_deststring/oracle/flash_recovery_area
db_recovery_file_dest_sizebiginteger2G
db_recycle_cache_sizebiginteger0
db_unique_namestringlixora
-----這里可以看到閃回恢復(fù)區(qū)里的空間使用情況:
SQLselect*Fromv$flash_recovery_area_usage;
FILE_TYPEPERCENT_SPACE_USEDPERCENT_SPACE_RECLAIMABLENUMBER_OF_FILES
----------------------------------------------------------------------
CONTROLFILE000
ONLINELOG4.8801
ARCHIVELOG76.05047
BACKUPPIECE3.103
IMAGECOPY000
FLASHBACKLOG000
6rowsselected.
------注意這一步才是真正查看歸檔空間的實際使用情況:
SQLselect*fromv$recovery_file_dest;
NAMESPACE_LIMITSPACE_USEDSPACE_RECLAIMABLENUMBER_OF_FILES
----------------------------------------------------------------------------
/oracle/flash_recovery_area21474836481804771840051
但是還是在系統(tǒng)層面去查看磁盤空間。