最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Oracle中的歸檔日志文件詳解

 更新時間:2025年08月29日 09:18:03   作者:DG0913L  
文章介紹了Oracle數(shù)據(jù)庫的歸檔模式設(shè)置、日志歸檔原理及管理方法,包括如何檢查歸檔狀態(tài)、配置歸檔路徑和命名格式、處理空間不足導(dǎo)致的掛起問題,以及歸檔日志的刪除方式(手工/ RMAN)和控制文件信息維護

1、概念

歸檔是將聯(lián)機重做日志以文件的形式保存到硬盤,聯(lián)機日志歸檔的前提條件是數(shù)據(jù)庫要處于歸檔模式。

當數(shù)據(jù)庫處于 ARCHIVELOG 模式并進行日志切換時,后臺進程 ARCH 會將聯(lián)機重做日志的內(nèi)容保存到歸檔日志中,當數(shù)據(jù)庫出現(xiàn)介質(zhì)故障時,使用數(shù)據(jù)文件備份、歸檔日志和聯(lián)機重做日志可以完全恢復(fù)數(shù)據(jù)庫到正常狀態(tài)。

Oracle 數(shù)據(jù)庫設(shè)置為歸檔模式之后,如果歸檔空間寫滿,數(shù)據(jù)庫的 redo 文件不能歸檔,會出現(xiàn)數(shù)據(jù)庫掛起的問題,導(dǎo)致 數(shù)據(jù)庫無法使用。

2、查看數(shù)據(jù)庫是否為歸檔模式

SQL> archive log list;Database log mode Archive ModeAutomatic archival EnabledArchive destination /app/archiveOldest online log sequence 30Next log sequence to archive 34Current log sequence 34SQL> select log_mode from v$database;LOG_MODE------------------------------------ARCHIVELOG

3、打開或關(guān)閉歸檔模式

如果需要打開或關(guān)閉歸檔模式,在數(shù)據(jù)庫處于 mount 狀態(tài)時使用如下命令:

3.1 打開歸檔模式

alter database archivelog;

3.2 關(guān)閉歸檔模式

alter database noarchivelog;

4、配置歸檔的位置

當數(shù)據(jù)庫處于歸檔模式時,進行日志切換時后臺進程將自動生成歸檔日志。

4.1 查看歸檔進程數(shù)

初始化參數(shù) LOG_ARCHIVE_MAX_PROCESSES 用于指定最大歸檔進程個數(shù)。

通過改變該初始化參數(shù)的取值,可以動態(tài)地增加或減少歸檔進程的個數(shù)。

SQL> show parameter LOG_ARCHIVE_MAX_PROCESSES;
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_archive_max_processes            integer     4

4.2 配置歸檔的位置

可以使用 LOG_ARCHIVE_DEST_n 配置多個歸檔位置:該參數(shù)最多可以指定 10 個歸檔位置。

格式如下:

ALTER SYSTEM SET log_archive_dest_1 = 'location = 路徑1';
ALTER SYSTEM SET log_archive_dest_2 = 'location = 路徑2';
.....

4.2.1 查看歸檔文件

SQL> select sequence#, name from v$archived_log;
SEQUENCE#  NAME
---------- --------------------------------------------------------------------------------
34 /app/archive/orcl_62725153_0000000034_1_1125947150.dbf

可知歸檔的文件位置 /app/archive/

4.2.2 修改歸檔日志的位置為:/home/oracle/archivelog

SQL> alter system set log_archive_dest_1 = 'location=/app/archive' scope = both sid='*';
SQL> archive log list;
SQL> alter system switch logfile;
SQL> select sequence#, name from v$archived_log;
SQL> select sequence#, name from v$archived_log;
SEQUENCE#  NAME
---------- --------------------------------------------------------------------------------
34 /app/archive/orcl_62725153_0000000034_1_1125947150.dbf
35 /app/archive/orcl_62725153_0000000035_1_1125947150.dbf

5、配置歸檔日志文件的名稱格式

初始化參數(shù) LOG_ARCHIVE_FORMAT 用于指定歸檔日志文件的名稱格式。

設(shè)置該初始化參數(shù)時,可以指定以下匹配符:

  • (1)%s:日志序列號;
  • (2)%S:日志序列號(帶有前導(dǎo) 0);
  • (3)%t:線程編號;
  • (4)%T:線程編號(帶有前導(dǎo) 0);
  • (5)%a:活動 ID 號;
  • (6)%d:數(shù)據(jù)庫 ID 號;
  • (7)%r:RESETLOGS的ID值。

歸檔日志的文件名稱格式設(shè)置如下:

SQL> alter system set LOG_ARCHIVE_FORMAT = 'orcl_%d_%S_%t_%r.dbf' scope = spfile sid='*';

重啟數(shù)據(jù)庫使設(shè)置生效

SQL> shutdown immediate
SQL> startup

查看參數(shù) LOG_ARCHIVE_FORMAT 的值:

SQL> show parameter LOG_ARCHIVE_FORMAT
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_archive_format                   string      orcl_%d_%S_%t_%r.dbf

查看歸檔日志:

SQL> select sequence#, name from v$archived_log;

6、刪除歸檔日志

6.1 手工刪除歸檔日志文件

[oracle@node1 archive]$ cd /app/archive/
[oracle@node1 archive]$ ll -r
總用量 4516
-rw-r----- 1 oracle oinstall   10752 2月   2 10:54 orcl_62725153_0000000036_1_1125947150.dbf
-rw-r----- 1 oracle oinstall   54784 2月   2 10:51 orcl_62725153_0000000035_1_1125947150.dbf
-rw-r----- 1 oracle oinstall 4551680 2月   2 10:46 orcl_62725153_0000000034_1_1125947150.dbf
[oracle@node1 archive]$ rm -rf orcl_62725153_0000000034_1_1125947150.dbf
[oracle@node1 archive]$ ll
總用量 68
-rw-r----- 1 oracle oinstall 54784 2月   2 10:51 orcl_62725153_0000000035_1_1125947150.dbf
-rw-r----- 1 oracle oinstall 10752 2月   2 10:54 orcl_62725153_0000000036_1_1125947150.dbf

查看歸檔日志:

SQL> select sequence#, name from v$archived_log;
SEQUENCE#  NAME
---------- --------------------------------------------------------------------------------
34 /app/archive/orcl_62725153_0000000034_1_1125947150.dbf
35 /app/archive/orcl_62725153_0000000035_1_1125947150.dbf
36 /app/archive/orcl_62725153_0000000036_1_1125947150.dbf

雖然物理文件已經(jīng)刪除,但是歸檔日志文件的信息還在。

6.2 用 RMAN 刪除數(shù)據(jù)庫記錄的歸檔列表信息

[oracle@node1 ~]$ rman target /

RMAN> list archivelog all;

List of Archived Log Copies for database with db_unique_name ORCL
=====================================================================

Key     Thrd Seq     S Low Time 
------- ---- ------- - ---------
36      1    34      X 02-FEB-23
        Name: /app/archive/orcl_62725153_0000000034_1_1125947150.dbf

37      1    35      A 02-FEB-23
        Name: /app/archive/orcl_62725153_0000000035_1_1125947150.dbf

38      1    36      A 02-FEB-23
        Name: /app/archive/orcl_62725153_0000000036_1_1125947150.dbf


RMAN> crosscheck archivelog all;

released channel: ORA_DISK_1
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=1996 device type=DISK
validation failed for archived log
archived log file name=/app/archive/orcl_62725153_0000000034_1_1125947150.dbf RECID=36 STAMP=1127731566
validation succeeded for archived log
archived log file name=/app/archive/orcl_62725153_0000000035_1_1125947150.dbf RECID=37 STAMP=1127731881
validation succeeded for archived log
archived log file name=/app/archive/orcl_62725153_0000000036_1_1125947150.dbf RECID=38 STAMP=1127732067
Crosschecked 3 objects

RMAN> delete expired archivelog all;

released channel: ORA_DISK_1
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=1996 device type=DISK
List of Archived Log Copies for database with db_unique_name ORCL
=====================================================================

Key     Thrd Seq     S Low Time 
------- ---- ------- - ---------
36      1    34      X 02-FEB-23
        Name: /app/archive/orcl_62725153_0000000034_1_1125947150.dbf


Do you really want to delete the above objects (enter YES or NO)? yes
deleted archived log
archived log file name=/app/archive/orcl_62725153_0000000034_1_1125947150.dbf RECID=36 STAMP=1127731566
Deleted 1 EXPIRED objects
RMAN> select sequence#, name from v$archived_log;select sequence#, name from v$archived_log;
SEQUENCE#  NAME
---------- --------------------------------------------------------------------------------
34 
35 /app/archive/orcl_62725153_0000000035_1_1125947150.dbf
36 /app/archive/orcl_62725153_0000000036_1_1125947150.dbf

6.3 清除 v$archived_log 視圖中的過期信息

使用 RMAN 命令刪除歸檔后,v$archived_log 視圖中的 name 列為空,但其他列的信息仍然存在。

出現(xiàn)這種現(xiàn)象的原因是因為使用 RMAN 命令在刪除歸檔日志的時候不能夠清除控制文件中的內(nèi)容。

6.3.1 清除控制文件中關(guān)于 v$archived_log 的信息

SQL> execute sys.dbms_backup_restore.resetCfileSection(11);
PL/SQL procedure successfully completed.

6.3.2 查詢發(fā)現(xiàn) v$archived_log 視圖中的信息全部被清除了

SQL> select sequence#, name from v$archived_log;
 SEQUENCE# NAME
---------- -----------------------------

6.3.3 將未過期的歸檔文件信息重新注冊到控制文件中

RMAN> catalog start with '/app/archive/';

using target database control file instead of recovery catalog
searching for all files that match the pattern /app/archive/

List of Files Unknown to the Database
=====================================
File Name: /app/archive/orcl_62725153_0000000035_1_1125947150.dbf
File Name: /app/archive/orcl_62725153_0000000036_1_1125947150.dbf

Do you really want to catalog the above files (enter YES or NO)? yes
cataloging files...
cataloging done

List of Cataloged Files
=======================
File Name: /app/archive/orcl_62725153_0000000035_1_1125947150.dbf
File Name: /app/archive/orcl_62725153_0000000036_1_1125947150.dbf
RMAN> select sequence#, name from v$archived_log;
 SEQUENCE# NAME
---------- --------------------------------------------------------------------------------
        35 /app/archive/orcl_62725153_0000000035_1_1125947150.dbf
        36 /app/archive/orcl_62725153_0000000036_1_1125947150.dbf

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

龙游县| 桓仁| 博白县| 教育| 当雄县| 建湖县| 工布江达县| 西和县| 信丰县| 兴隆县| 桂平市| 新源县| 繁峙县| 湖南省| 阳原县| 东宁县| 灵宝市| 横山县| 浮梁县| 房产| 垦利县| 平远县| 普兰县| 青河县| 阿拉善左旗| 胶南市| 万年县| 龙门县| 娄底市| 灵川县| 登封市| 梁山县| 荆门市| 九江县| 阿巴嘎旗| 抚松县| 平定县| 乐都县| 克拉玛依市| 新巴尔虎右旗| 丽水市|