新聞中心
清理數(shù)據(jù)庫(kù)歸檔日志和釋放空間

公司主營(yíng)業(yè)務(wù):成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。成都創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。成都創(chuàng)新互聯(lián)推出坊子免費(fèi)做網(wǎng)站回饋大家。
隨著企業(yè)業(yè)務(wù)的不斷發(fā)展,數(shù)據(jù)庫(kù)的使用頻率和數(shù)據(jù)量也在不斷增加。而對(duì)于數(shù)據(jù)庫(kù)管理員來(lái)說(shuō),保證數(shù)據(jù)庫(kù)的高效穩(wěn)定運(yùn)行是其最基本的職責(zé)。其中,清理數(shù)據(jù)庫(kù)歸檔日志和釋放空間是其中非常重要的一項(xiàng)任務(wù)。
一、數(shù)據(jù)庫(kù)歸檔日志的作用
數(shù)據(jù)庫(kù)歸檔日志是RDBMS自動(dòng)創(chuàng)建的日志文件,記錄了數(shù)據(jù)庫(kù)中的所有操作。歸檔日志與Redo日志不同,Redo日志是在數(shù)據(jù)庫(kù)運(yùn)行時(shí)自動(dòng)生成的,當(dāng)數(shù)據(jù)庫(kù)發(fā)生崩潰或意外宕機(jī)等異常情況時(shí),可以利用Redo日志恢復(fù)數(shù)據(jù)。而歸檔日志則是在執(zhí)行備份操作時(shí)才進(jìn)行生成的,是備份的關(guān)鍵所在。
歸檔日志的作用主要有四個(gè)方面:
1.恢復(fù)數(shù)據(jù):當(dāng)數(shù)據(jù)庫(kù)發(fā)生崩潰等異常情況時(shí),可以利用歸檔日志恢復(fù)數(shù)據(jù)。
2.備份:對(duì)數(shù)據(jù)庫(kù)進(jìn)行備份時(shí),需要使用歸檔日志記錄備份時(shí)間之后的更改,從而確保備份的完整性。
3.數(shù)據(jù)庫(kù)性能優(yōu)化:添加或刪除表空間時(shí),需要進(jìn)行歸檔操作,歸檔日志的產(chǎn)生就是為了記錄這一操作。
4.數(shù)據(jù)備份:作為歸檔目錄的一部分,磁盤(pán)上應(yīng)保留歸檔的日志,以方便將來(lái)的數(shù)據(jù)備份。
二、釋放空間的必要性
隨著數(shù)據(jù)庫(kù)不斷增長(zhǎng),數(shù)據(jù)庫(kù)的存儲(chǔ)空間會(huì)不斷被占用。如果不及時(shí)釋放空間,就會(huì)導(dǎo)致數(shù)據(jù)庫(kù)性能下降,甚至在空間被完全占滿時(shí),數(shù)據(jù)庫(kù)將無(wú)法繼續(xù)運(yùn)行。
釋放空間的方式有多種,不同的數(shù)據(jù)庫(kù)軟件也有不同的處理方式。一般而言,釋放空間可以通過(guò)清理冗余數(shù)據(jù)、清理日志文件、清理存儲(chǔ)過(guò)程和刪除不必要的索引等方式實(shí)現(xiàn)。
三、清理數(shù)據(jù)庫(kù)歸檔日志和釋放空間的方法
1.清理數(shù)據(jù)庫(kù)歸檔日志
在Oracle數(shù)據(jù)庫(kù)中,歸檔日志占用的磁盤(pán)空間通常是比較大的。因此,對(duì)于Oracle數(shù)據(jù)庫(kù)來(lái)說(shuō),清理歸檔日志是一個(gè)比較重要的操作。
清理方法如下:
在SQLPlus中以SYSDBA用戶登錄,并切換至歸檔模式。
ALTER SYSTEM SET log_archive_dest_state_2=OFF;
然后,清空數(shù)據(jù)庫(kù)中的日志文件:
ALTER SYSTEM SWITCH LOGFILE;
啟動(dòng)歸檔操作:
ALTER SYSTEM SET log_archive_dest_state_2=ENABLE SCOPE=BOTH;
有了這些操作,就可以將歸檔日志文件清理干凈,釋放出大量的磁盤(pán)空間。
2.釋放數(shù)據(jù)庫(kù)空間
釋放數(shù)據(jù)庫(kù)空間的方法比較多,可以利用存儲(chǔ)過(guò)程、SQL腳本等多種方式實(shí)現(xiàn)。
其中,一種比較簡(jiǎn)單的方法是通過(guò)刪除不必要的索引來(lái)實(shí)現(xiàn):
USE [YourDatabase];
GO
SELECT name,
OBJECT_NAME(object_id) AS ObjectName,
index_id,
avg_fragmentation_in_percent
FROM sys.dm_db_index_physical_stats (DB_ID(N’YourDatabase’), NULL, NULL, NULL, NULL)
WHERE avg_fragmentation_in_percent > 30
ORDER BY avg_fragmentation_in_percent DESC;
查看存在空間碎片化的索引,選擇需要?jiǎng)h除的索引,在SQL腳本中加上DROP操作即可。
在使用以上方式之前,切記在備份數(shù)據(jù)庫(kù)后再進(jìn)行相關(guān)操作,以避免意外數(shù)據(jù)損失。
四、
清理database歸檔日志和釋放空間是數(shù)據(jù)庫(kù)系統(tǒng)管理的一項(xiàng)非常重要的任務(wù),可以更大限度地提升數(shù)據(jù)庫(kù)的性能和穩(wěn)定性。通過(guò)歸檔日志的清理,可以釋放出大量的磁盤(pán)空間,提高數(shù)據(jù)庫(kù)系統(tǒng)的穩(wěn)定性;而釋放空間,則可以避免數(shù)據(jù)庫(kù)磁盤(pán)空間被耗光的風(fēng)險(xiǎn),確保數(shù)據(jù)的正常運(yùn)行。
對(duì)于一名數(shù)據(jù)庫(kù)管理員來(lái)說(shuō),清理數(shù)據(jù)庫(kù)歸檔日志和釋放空間是非常重要的一項(xiàng)工作,也是維護(hù)數(shù)據(jù)庫(kù)穩(wěn)定運(yùn)行的關(guān)鍵所在。
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián),建站經(jīng)驗(yàn)豐富以策略為先導(dǎo)10多年以來(lái)專注數(shù)字化網(wǎng)站建設(shè),提供企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),響應(yīng)式網(wǎng)站制作,設(shè)計(jì)師量身打造品牌風(fēng)格,熱線:028-86922220Oracle Archive log 導(dǎo)致 磁盤(pán)沒(méi)空間了 怎么辦
1、磁盤(pán)攔余豎毀團(tuán)空間擴(kuò)容。
2、全備份數(shù)據(jù)庫(kù)簡(jiǎn)大,刪除部分歸檔。(會(huì)導(dǎo)致無(wú)法恢復(fù)到以前的時(shí)間點(diǎn))
Oracle Archive log 導(dǎo)致磁盤(pán)沒(méi)空間了一般是要?jiǎng)h除部分歸檔日志以留出更多的空間。
一、采用以下這種方法刪除歸檔日志:
1. 進(jìn)入rman
2. connect target /
3. crosscheck archivelog all;
4. delete expired archivelog all;
這時(shí)候再去OEM中看就一定看不到,如果從來(lái)沒(méi)有做過(guò)這純辯洞個(gè)動(dòng)作的話,可以比較從這個(gè)動(dòng)作前的controlfile后動(dòng)作后的controlfile的大小。
一個(gè)ORACLE歸檔日志經(jīng)常滿,灶蔽表現(xiàn)為/oraarchive
這個(gè)文件空間占用100%的時(shí)候,很多人選擇直接刪除,ORACLE很智能,可以正確的刪除歸檔和FLASHBACK。注意:ORACLE歸檔日志對(duì)于ORACLE的數(shù)據(jù)恢復(fù)和備份非常重要,不到萬(wàn)不得已不要?jiǎng)h除歸檔日志。
二、刪除歸檔日志的過(guò)程
以O(shè)RACLE用戶身份登錄到數(shù)據(jù)庫(kù)服務(wù)器主機(jī)或通過(guò)網(wǎng)絡(luò)連接
進(jìn)入ORACLE數(shù)據(jù)備份工具
rman target/
或rman target/@orcl
在命令窗口里面執(zhí)行
DELETE ARCHIVELOG ALL COMPLETED BEFORE ‘SYSDATE-7’;
說(shuō)明:
SYSDATA-7,表明做枯當(dāng)前的系統(tǒng)時(shí)間7天前,before關(guān)鍵字表示在7天前的歸檔日志,如果使用了閃回功能,也會(huì)刪除閃回的數(shù)據(jù)。
一、背景
今天接到開(kāi)發(fā),說(shuō)Oracle遠(yuǎn)程連不上了,可能是archivelog滿了。我登陸Oracle試了下,提示
ORA-00257: archiver error. Connect internal only, until freed。
考慮到前些天已經(jīng)擴(kuò)大了硬盤(pán)空間,應(yīng)該是archive log大小已經(jīng)達(dá)到Oracle中對(duì)archive log大小的限制。而DBA已經(jīng)放假了。因此決定清除下無(wú)用的日志同時(shí)修改下對(duì)日志大小的限制。
由升鉛于我對(duì)Oracle并不熟悉,因此在完成后將整個(gè)過(guò)程記老笑拿錄下來(lái),便于以后查閱。
二、環(huán)境
RHEL 6.3 + Oracle 11gR2
三、過(guò)程
由于archive log空間滿導(dǎo)致了不能遠(yuǎn)程登錄,因此ssh到服務(wù)器后,使用sqlplus sys/pass as sysdba登陸oracle。
首先看archiv log所在位侍搭置
SQL> show parameter log_archive_dest;
會(huì)看到類似下面的結(jié)果
NAMETYPEVALUE
log_archive_dest string
log_archive_dest_ string
log_archive_dest_ string
這時(shí)候如果value是空的,可以嘗試
SQL> archive log list;
然后我查看了下使用情況
SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;
FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES
—
CONTROLFILE .1
ONLINELOG 2.3
ARCHIVELOG 99.2
BACKUPPIECE
IMAGECOPY
FLASHBACKLOG 0
顯然,已經(jīng)使用了超過(guò)99%的日志空間
這時(shí)候,我直接進(jìn)入flash_recovery_are的目錄
cd /orace/app/oracle/flash_recovery_area/ORCL/archivelog
然后我決定先備份下相關(guān)文件
tar Jcvf arlog..tar.xz *
之一次操作時(shí)發(fā)現(xiàn)會(huì)提示文件在壓縮過(guò)程中變化了。才想起來(lái)我沒(méi)有停止Oracle服務(wù)。因此回到sqlplus先將Oracle停下來(lái)
SQL> shutdown immediate;
這個(gè)過(guò)程等待了好久才完成。。
這時(shí)候重新打包。打包過(guò)程持續(xù)了差不多兩個(gè)多小時(shí)。。。
完成后,先把壓縮包備份到其他目錄并且scp到了一臺(tái)備份文件用的服務(wù)器。然后很暴力地刪除了這個(gè)文件夾下2023年的全部目錄
1 rm -rf 2023_*
完成了。將數(shù)據(jù)庫(kù)啟動(dòng)起來(lái)
sqlplus sys/pass as sysdba
SQL> startup
我之一次startup失敗了,提示ORA-03113: end-of-file on communication channel。我又重新執(zhí)行了下
SQL> startup mount
成功。用rman修復(fù)相關(guān)信息
rman target sys/pass
RMAN> delete expired archivelog all;
完成后,回到sqlplus修改archivelog大小
SQL> alter system set db_recovery_file_dest_size=5G scope=spfile;
修改完不會(huì)立即生效。需要重啟Oracle
SQL> shutdown immediate
SQL> startup
這時(shí)候查看大小
SQL> show parameter db_recover
NAME TYPEVALUE
…
db_recovery_file_dest_sizebig integer 5G
整個(gè)過(guò)程就完成了。
關(guān)于清除數(shù)據(jù)庫(kù)歸檔空間的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
成都網(wǎng)站建設(shè)選創(chuàng)新互聯(lián)(?:028-86922220),專業(yè)從事成都網(wǎng)站制作設(shè)計(jì),高端小程序APP定制開(kāi)發(fā),成都網(wǎng)絡(luò)營(yíng)銷推廣等一站式服務(wù)。
名稱欄目:清理數(shù)據(jù)庫(kù)歸檔日志和釋放空間。(清除數(shù)據(jù)庫(kù)歸檔空間)
轉(zhuǎn)載來(lái)于:http://fisionsoft.com.cn/article/dhogeee.html


咨詢
建站咨詢
