OracleGoldenGate同步服務歸檔空間維護【推薦】

ORA-00257: archiver error. Connect internal only, until freed

10余年的昆都侖網站建設經驗,針對設計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。營銷型網站的優(yōu)勢是能夠根據用戶設備顯示端的尺寸不同,自動調整昆都侖建站的顯示方式,使網站能夠適用不同顯示終端,在瀏覽器中調整網站的寬度,無論在任何一種瀏覽器上瀏覽網站,都能展現優(yōu)雅布局與設計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯公司從事“昆都侖網站設計”,“昆都侖網站推廣”以來,每個客戶項目都認真落實執(zhí)行。

查看歸檔日志序列

SQL> archive log list;

Automatic archival    Enabled #自動歸檔
Archive destination    USE_DB_RECOVERY_FILE_DEST #歸檔目錄為指定的閃回恢復區(qū)
Oldest online log sequence  174  #最舊的在線日志序列
Next log sequence to archive  176  #下一個日志序列歸檔
Current log sequence    176  #當前日志序列

歸檔日志默認是保存在oracle系統(tǒng)的閃回恢復區(qū)(Flash recovery area)

查看閃回恢復區(qū)參數

SQL> show parameter db_recovery_file_dest;

NAME          TYPE   VALUE
-----------------------    --------- ----------------------------
db_recovery_file_dest     string  /data/oracle/flash_recovery_area
db_recovery_file_dest_size    big integer  3G

檢查flash recovery area的使用情況

SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;

FILE_TYPE   PERCENT_SPACE_USED  PERCENT_SPACE_RECLAIMABLE  NUMBER_OF_FILES
---------   ------------------  -------------------------  --------------
CONTROL FILE   0       0       0
REDO LOG    0       0       0
ARCHIVED LOG   99.98      0       23
BACKUP PIECE   0       0       0
IMAGE COPY    0       0       0
FLASHBACK LOG   0       0       0
FOREIGN ARCHIVED LOG 0       0       0

 可以看到ARCHIVE LOG日志已占用99.98%的閃存空間

方案一:刪除過期歸檔日志,增大閃回恢復區(qū)空間大小

若有需要先行將歸檔日志備份再刪除

一、刪除歸檔日志文件

找到歸檔日志存放目錄:/data/oracle/flash_recovery_area/ORCL/archivelog

刪除不需要的歸檔日志文件

直接刪除歸檔日志后,必須用RMAN維護控制文件

二、使用RMAN維護控制文件

[oracle@dbsrc ~]$ rman target sys/pass
RMAN> crosscheck backup;     #核對所有備份集
RMAN> run{
delete noprompt obsolete;
crosscheck archivelog all;
delete noprompt expired archivelog all;
crosscheck backup;
delete noprompt expired backup;
}
RMAN> exit;

run{}中的命令被視為一個作業(yè),一個失敗整個命令停止執(zhí)行

delete obsolete;                    #刪除超出保存策略的備份

crosscheck archivelog all;          #檢查無效的歸檔日志(失效的標記為expired)

delete expired archivelog all;      #刪除expired的歸檔日志

delete expired backup;              #刪除所有失效的備份集

 delete expired   刪除的是那些本來RMAN以為存在但是實際上在磁盤或者磁帶上已經被刪除了的信息,刪除的只是RMAN資料庫中的記錄;

delete obsolete  刪除舊于備份保留策略定義的備份數據同時也更新RMAN資料庫以及控制文件。

noprompt         指無需確認

三、增大閃回恢復區(qū)空間大小

SQL> alter system set db_recovery_file_dest_size=8G;

查看閃回恢復區(qū)參數

SQL> show parameter db_recovery_file_dest;

四、重新檢查flash recovery area的使用情況

SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;

FILE_TYPE   PERCENT_SPACE_USED  PERCENT_SPACE_RECLAIMABLE  NUMBER_OF_FILES
---------   ------------------  -------------------------  --------------
CONTROL FILE    0       0       0
REDO LOG     0       0       0
ARCHIVED LOG    4.5      0       3
BACKUP PIECE    0       0       0
IMAGE COPY    0       0       0
FLASHBACK LOG    0       0       0
FOREIGN ARCHIVED LOG  0       0       0

五、添加定時任務,清理歸檔日志存儲空間

1、新建腳本文件存放文件夾

[root@dbsrc ~]# mkdir -p /backup/oracledata

2、編輯腳本內容

[root@dbsrc ~]# vim /backup/oracledata/oracle_archivelog_clean.sh

#腳本內容 (/backup/oracledata/oracle_archivelog_clean.sh)刪除三天前的所有歸檔文件
find /data/oracle/flash_recovery_area/ORCL/archivelog/ -mtime +3 -name "201*" -exec rm -rf {} \;

3、設置腳本文件權限

[root@dbsrc ~]# chmod 777 /backup/oracledata/oracle_archivelog_clean.sh

4、添加計劃任務(系統(tǒng)調度任務和用戶調度任務添加其一)

系統(tǒng)任務調度:系統(tǒng)周期性所要執(zhí)行的工作,比如寫緩存數據到硬盤、日志清理等。在/etc目錄下crontab文件,這個就是系統(tǒng)任務調度的配置文件。

用戶任務調度:用戶定期要執(zhí)行的工作,比如用戶數據備份、定時郵件提醒等。用戶可以使用crontab工具來定制自己的計劃任務。所有用戶定義的crontab文件都被保存在 /var/spool/cron目錄中。其文件名與用戶名一致。

1)、系統(tǒng)任務調度

編輯系統(tǒng)任務計劃

[root@dbsrc ~]# vim /etc/crontab

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
#SHELL 變量指定了系統(tǒng)要使用哪個shell,這里是bash
#PATH 變量指定了系統(tǒng)執(zhí)行命令的路徑
#MAILTO 變量指定了crond的任務執(zhí)行信息將通過電子郵件發(fā)送給root用戶,如果MAILTO變量的值為空,則表示不發(fā)送任務執(zhí)行信息給用戶

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed

#(*):代表所有 (,):多個值間隔 (-):范圍連接符
#(/)指定時間間隔頻率,例如(*/10)如果在minute字段,表示每十分鐘執(zhí)行一次
# 以管理員身份每天凌晨05:00,執(zhí)行相應目錄下的腳本任務
0 5 * * * root /backup/oracledata/oracle_archivelog_clean.sh

2)、用戶任務調度

編輯用戶任務計劃

[root@dbsrc ~]# crontab -e

#以管理員身份每天凌晨05:00,執(zhí)行相應目錄下的腳本
0 5 * * * /backup/oracledata/oracle_archivelog_clean.sh

無需再添加執(zhí)行用戶,否則任務計劃無法執(zhí)行,將有以下報錯

[root@dbsrc ~]# cat /var/spool/mail/root

From root@dbsrc.localdomain Tue Aug 7 05:00:01 2018
Return-Path: <root@dbsrc.localdomain>
X-Original-To: root
Delivered-To: root@dbsrc.localdomain
Received: by dbsrc.localdomain (Postfix, from userid 0)
  id 9662C2827; Tue, 7 Aug 2018 05:00:01 +0800 (CST)
From: "(Cron Daemon)" <root@dbsrc.localdomain>
To: root@dbsrc.localdomain
Subject: Cron <root@dbsrc> root /backup/oracledata/oracle_archivelog_clean.sh
Content-Type: text/plain; charset=UTF-8
Auto-Submitted: auto-generated
Precedence: bulk
X-Cron-Env: <XDG_SESSION_ID=6910>
X-Cron-Env: <XDG_RUNTIME_DIR=/run/user/0>
X-Cron-Env: <LANG=en_US.UTF-8>
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=root>
X-Cron-Env: <USER=root>
Message-Id: <20180806210001.9662C2827@dbsrc.localdomain>
Date: Tue, 7 Aug 2018 05:00:01 +0800 (CST)

/bin/sh: root: command not found

查看用戶計劃

[root@dbsrc ~]# crontab -l

0 5 * * * /backup/oracledata/oracle_archivelog_clean.sh

5、查看cron服務是否在設定時間調用

[root@dbsrc ~]# cat /var/log/cron

Aug 7 05:00:01 dbsrc CROND[12655]: (root) CMD (root /backup/oracledata/oracle_archivelog_clean.sh)
Aug 7 05:01:01 dbsrc CROND[12795]: (root) CMD (run-parts /etc/cron.hourly)
Aug 7 05:01:01 dbsrc run-parts(/etc/cron.hourly)[12795]: starting 0anacron
Aug 7 05:01:01 dbsrc run-parts(/etc/cron.hourly)[12804]: finished 0anacron

6、查看shell腳本是否報錯(cat /var/spool/mail/用戶名)

[root@dbsrc ~]# cat /var/spool/mail/root
From root@dbsrc.localdomain Tue Aug 7 05:00:01 2018
Return-Path: <root@dbsrc.localdomain>
X-Original-To: root
Delivered-To: root@dbsrc.localdomain
Received: by dbsrc.localdomain (Postfix, from userid 0)
  id 9662C2827; Tue, 7 Aug 2018 05:00:01 +0800 (CST)
From: "(Cron Daemon)" <root@dbsrc.localdomain>
To: root@dbsrc.localdomain
Subject: Cron <root@dbsrc> /backup/oracledata/oracle_archivelog_clean.sh
Content-Type: text/plain; charset=UTF-8
Auto-Submitted: auto-generated
Precedence: bulk
X-Cron-Env: <XDG_SESSION_ID=6910>
X-Cron-Env: <XDG_RUNTIME_DIR=/run/user/0>
X-Cron-Env: <LANG=en_US.UTF-8>
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=root>
X-Cron-Env: <USER=root>
Message-Id: <20180806210001.9662C2827@dbsrc.localdomain>
Date: Tue, 7 Aug 2018 05:00:01 +0800 (CST)
find: ‘/data/oracle/flash_recovery_area/ORCL/archivelog/2018_08_04': No such file or directory

 7、重啟crond服務

[root@dbsrc ~]# service crond restart

或者

[root@dbsrc ~]# /etc/init.d/crond restar

注釋

service crond start //啟動服務
service crond stop //關閉服務
service crond restart //重啟服務
service crond reload //重新載入配置
service crond status //查看服務狀態(tài)

crontab [-u user] [ -e | -l | -r ]
-e:編輯某個用戶的crontab文件內容。如果不指定用戶,則表示編輯當前用戶的crontab文件。
-l:顯示某個用戶的crontab文件內容,如果不指定用戶,則表示顯示當前用戶的crontab文件內容。
-r:從/var/spool/cron目錄中刪除某個用戶的crontab文件,如果不指定用戶,則默認刪除當前用戶的crontab文件。
-i:在刪除用戶的crontab文件時給確認提示。

#提示You have new mail in /var/spool/mail/root解決
[root@dbsrc ~]# echo "unset MAILCHECK">> /etc/profile;
[root@dbsrc ~]# source /etc/profile 

方案二:修改歸檔目錄位置

一、創(chuàng)建新的歸檔文件存放目錄

[root@dbsrc ~]# mkdir /data/oracle/archive_log

二、設置目錄擁有者和權限

[root@dbsrc ~]# chown -R oracle:oinstall /data/oracle/archive_log
[root@dbsrc ~]# chmod –R 775 /data/oracle/archive_log

三、禁止往閃回恢復區(qū)放歸檔日志

SQL> alter system set db_recovery_file_dest='';

四、設置歸檔日志存放目錄

SQL> alter system set log_archive_dest='/data/oracle/archive_log';

五、查看歸檔日志序列

SQL> archive log list;
Automatic archival    Enabled
Archive destination    /data/oracle/archive_log
Oldest online log sequence  174
Next log sequence to archive  176
Current log sequence    176

總結

以上所述是小編給大家介紹的Oracle GoldenGate同步服務歸檔空間維護,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對創(chuàng)新互聯網站的支持!

當前名稱:OracleGoldenGate同步服務歸檔空間維護【推薦】
網址分享:http://muchs.cn/article36/igessg.html

成都網站建設公司_創(chuàng)新互聯,為您提供定制開發(fā)、網站設計營銷型網站建設、企業(yè)網站制作、App設計、手機網站建設

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

綿陽服務器托管