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

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


咨詢
建站咨詢
