Oracle啟動和歸檔模式


數據庫運行

 

Oracle數據庫的完整啟動過程是分步驟完成的,包含以下3個步驟:

 

啟動實例–>加載數據庫–>打開數據庫

 

因為Oracle數據庫啟動過程中不同的階段可以對數據庫進行不同的維護操作,對應我們不同的需求,所以就需不同的模式啟動數據庫。

 

1、Oracle啟動需要經歷四個狀態:SHUTDOWN 、NOMOUNT 、MOUNT 、OPEN
2、Oracle關閉的四種方式:Normal, Immediate, Transactional, Abort
3、啟動和關閉過程詳解

 

這里寫圖片描述

 

Oracle數據庫狀態

查看狀態

select status from v$instance;

一、NoMount 狀態(啟動實例不加載數據庫)

命令:startup nomount

講解:這種啟動模式只會創建實例,並不加載數據庫,Oracle僅為實例創建各種內存結構和服務進程,不會打開任何數據文件。在NoMount模式下,只能訪問那些與SGA區相關的數據字典視圖,包括VPARAMETER、VSGA、VPROCESS和VSESSION等,這些視圖中的信息都是從SGA區中獲取的,與數據庫無關。

模式用途:創建新數據庫、重建控制文件

二、Mount模式(加載數據庫但不打開數據庫)

命令:startup mount

講解:這種啟動模式將為實例加載數據庫,但保持數據庫為關閉狀態。因為加載數據庫時需要打開數據庫控制文件,但數據文件和重做日志文件都都無法進行讀寫,所以用戶還無法對數據庫進行操作。在Mount模式下,只能訪問那些與控制文件相關的數據字典視圖,包括VTHREAD、VCONTROLFILE、VDATABASE、VDATAFILE 和 V$LOGFILE等,這些視圖都是從控制文件中獲取的。

模式用途:重命名數據文件、添加、刪除或重命名重做日志文件、執行數據庫完全恢復操作、改變數據庫的歸檔模式;

三、Open狀態(正常打開數據庫)

命令:startup [open]

講解:正常按3個步驟啟動數據庫。

模式用途:平時不對數據庫做什么維護,像只做應用開發,用這個模式就好了;

四、強制啟動狀態

命令:startup force

用途&講解:在某些情況下,使用前面的各種模式都無法成功啟動數據庫時,可以嘗試強制啟動模式。

五、其他狀態

使用Alter Database語句,還可以在各啟動模式間切換。並且,還可以對數據庫設置不同的狀態用於不同的操作,如受/非受限抽狀態、只讀。

 

 

數據庫關閉

一、Nomal(正常關閉方式)

命令:shutdown nomal

講解:正常方式關閉數據時,Oracle執行如下操作:
①、阻止任何用戶建立新的連接。
②、等待當前所有正在連接的用戶主動斷開連接(此方式下Oracle不會立即斷掉當前用戶的連接,這些用戶仍然操作相關的操作)。
③、一旦所有的用戶都斷開連接,則立即關閉、卸載數據庫,並終止實例。(所以,一般以正常方式關閉數據庫時,應該通知所有在線的用戶盡快斷開連接)

二、Immediate(立即關閉方式)

命令:shutdown immediate

講解:Oracle執行如下操作:
①、阻止任何用戶建立新的連接,同時阻止當前連接的用戶開始任何新的事務。
②、Oracle不等待在線用戶主動斷開連接,強制終止用戶的當前事務,將任何未提交的事務回退。(如果存③、在太多未提交的事務,此方式將會耗費很長時間終止和回退事務)
直接關閉、卸載數據庫,並終止實例。

三、Transactional(事務關閉方式)

命令:shutdown transactional

講解:這種方式介於正常關閉方式跟立即關閉方式之間,響應時間會比較快,處理也將比較得當。執行過程如下:
①、阻止任何用戶建立新的連接,同時阻止當前連接的用戶開始任何新的事務。
②、等待所有未提交的活動事務提交完畢,然后立即斷開用戶的連接。
③、直接關閉、卸載數據庫,並終止實例。

四、Abort(終止關閉方式)

命令:shutdown abort

講解:這是比較粗暴的一種關閉方式,當前面3種方式都無法關閉時,可以嘗試使用終止方式來關閉數據庫。但是以這種方式關閉數據庫將會丟失一部份數據信息,當重新啟動實例並打開數據庫時,后台進程SMON會執行實例恢復操作。一般情況下,應當盡量避免使用這種方式來關閉數據庫。執行過程如下:
①、阻止任何用戶建立新的連接,同時阻止當前連接的用戶開始任何新的事務。
②、立即終止當前正在執行的SQL語句。
③、任何未提交的事務均不被退名。
④、直接斷開所有用戶的連接,關閉、卸載數據庫,並終止實例。

 

數據庫狀態切換

SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> startup mount

ORACLE instance started.

--如果安裝多個庫,會報錯,找不到句柄,句柄在這里的作用,現在個人理解為默認實例,所以當我使用

shutdown immediate退出之后,再使用 startup mount無法執行,會出現

ORA-12514: TNS:listener does not currently know of service requested in connect descriptor,需要將我之前的實例改掉,解決方案如下
set ORACLE_SID=ORCL//這里改成我要啟動的實例 set TWO_TASK=

有兩個實例的時候,操作每個數據庫實例之前也要設置ORACLE_SID變量 (使用sql窗口工具必須)

歸檔模式

查看當前模式

select name,log_mode from v$database;

 

在Oracle數據庫中,主要有兩種日志操作模式:歸檔模式(archivelog mode)及非歸檔模式(noarchivelog mode)。在默認情況下oracle數據庫采用的是非歸檔模式。作為一個合格的DBA,應當深入了解這兩種日志操作模式的特點,並且保證數據庫運行在合適的日志操作模式下。在講重做日志歸檔模式(archivelog mode)及非歸檔模式(noarchivelog mode)之前我們先簡單的了解一下oracle的日志切換步驟。oracle數據庫的重做日志是重復寫的,一般來說oracle數據庫擁有多個重做日志組(redo log group),每個重做日志組又包含多個成員(詳細介紹請查考oracle官方文檔),我們大部分的數據更改操作都會寫入在線日志中,也就是當前正在使用的重做日志。當一個重做日志寫滿或DBA發出switch log命令的時候就會發生日志切換,如果oracle運行在非歸檔模式下,oracle直接覆蓋寫下一個重做日志組。如果oracle運行在歸檔模式下則oracle會查詢即將寫入的重做日志是否歸檔,沒有歸檔則等待其歸檔,等歸檔完成以后再覆蓋寫入重做日志記錄。當然如果發生了歸檔等待的話可以通過添加重做日志組或開啟更多的歸檔進程來避免這個等待事件。總的來說重做日志歸檔模式(archivelog mode)及非歸檔模式(noarchive mode)的最重要的區別就是當前的重做日志切換以后會不會被歸檔進程(archive process)copy到歸檔目的地(log_archive_dest)。

 

      一. 非歸檔模式(noarchivelog mode)的利與弊

 

           當oracle數據庫運行在非歸檔模式下,控制文件確定了發生日志切換以后重做日志文件不需要歸檔,同時對於(日志寫進程)LGWR來說此重做日志組是可以直接使用的。非歸檔模式(noarchivelog mode)只能提供實例級別的故障恢復,需要介質恢復的時候oracle就愛莫能助了。如果很不幸的發生了,那么我們只能把數據庫恢復到過去的某個時間點上,前提是你完全冷備份了數據庫。從備份時間點到故障發生期間的所有數據都只有丟失了。而且當oracle運行在非歸檔模式(noarchivelog mode)下的時候數據庫不提供在線的表空間備份,換句話說熱備是不可用的。

 

      二. 歸檔模式(archivelog mode)的利與弊

 

           當oracle數據庫運行在歸檔模式下,控制文件確定了發生日志切換后的重做日志文件在歸檔前是不能被日志寫進程)LGWR重用的。歸檔模式(archivelog mode)下oracle數據庫能從實例,介質的失敗中得到恢復,當然最近一次的數據庫全備及備份以來的所有歸檔日志的備份時必須的。同時我們還能利用歸檔日志的重放來完成oracle standby的搭建(oracle standby以后會介紹,請大家留意)。歸檔模式(archivelog mode)又可以分為手動歸檔和自動歸檔,顧名思義手動歸檔需要DBA的干預;而自動歸檔,oracle會自己完成歸檔任務。

 

      通過上面的簡單描述我們應該對兩種模式的利與弊有所了解了,但是具體選擇哪種模式則需要我們從實際情況出發綜合考慮。不過作為生產環境一般都是選用歸檔模式(archivelog mode)。接下來將要介紹一下當前模式的查詢以及模式的切換。

 

      三. 當前模式查詢

 

           可以通過以下方式查詢當前數據庫是運行在哪種模式下的:

 

           [oracle@localhost~]$ sqlplus "/ as sysdba"                                                                               

 

           SQL> archive log list
           Database log mode              Archive Mode
           Automatic archival             Enabled
           Archive destination            /u01/oradata/archive_sid
           Oldest online log sequence     9975
           Next log sequence to archive   9977
           Current log sequence           9977

 

           SQL> select name,log_mode from v$database;

 

           NAME      LOG_MODE
           --------- ------------
           SID      ARCHIVELOG    

 

      四. 模式切換

 

          

1.非歸檔到歸檔模式

        a.一致性關閉數據庫(shutdown [immediate | transactional |normal])

        b.啟動到mount階段(startup mount)

        c.切換到歸檔模式(alter database archivelog  [manual])

        d.切換到open階段(alter database open)

        e.對數據做一個完整備份(full backup)

        --演示非歸檔到歸檔模式

            SQL> ARCHIVE LOG LIST    --查看數據庫是否處於歸檔模式

            Database log mode              No Archive Mode

            Automatic archival             Disabled

            Archive destination            USE_DB_RECOVERY_FILE_DEST

            Oldest online log sequence     14

            Current log sequence           16

            SQL> SELECT log_mode FROM v$database;  --查看數據庫是否處於歸檔模式

 

            LOG_MODE

            ------------

            NOARCHIVELOG       

 

            SQL> SHUTDOWN IMMEDIATE;     --一致性關閉數據庫

            Database closed.

            Database dismounted.

            ORACLE instance shut down.

            SQL> STARTUP MOUNT;         --啟動到mount狀態

            ORACLE instance started.

 

            Total System Global Area  251658240 bytes

            Fixed Size                  1218796 bytes

            Variable Size              75499284 bytes

            Database Buffers          171966464 bytes

            Redo Buffers                2973696 bytes

            Database mounted.

            SQL> ALTER DATABASE ARCHIVELOG;  --切換到自動歸檔模式

            Database altered.

            SQL> ALTER DATABASE OPEN;        --切換到open狀態

            Database altered.

            SQL> ARCHIVE LOG LIST;           --查看數據庫的歸檔狀態

            Database log mode              Archive Mode    --已置為歸檔模式

            Automatic archival             Enabled         --對日志進行自動歸檔

            Archive destination            USE_DB_RECOVERY_FILE_DEST

            Oldest online log sequence     14

            Next log sequence to archive   16

            Current log sequence           16

            --備份數據庫步驟省略

 

    2.歸檔模式切換到非歸檔模式(步驟同非歸檔到歸檔模式僅僅是c步驟使用alter database noarchivelog,演示省略)

        a.一致性關閉數據庫(shutdown [immediate | transactional |normal])

        b.啟動到mount階段(startup mount)

        c.切換到歸檔模式(alter database noarchivelog  )

        d.切換到open階段(alter database open)

        e.對數據做一個完整備份(full backup)

       

    3.手動歸檔

        手動歸檔時需要將日志模式切換為alter database archivelog manual

        再使用alter system archive log current | all 實現歸檔

        更多手動歸檔命令:ALTER SYSTEM archive_log_clause

        注意:

            手動歸檔模式下不支持stanby數據庫

            在alter database archivelog模式下也可以實現對日志的歸檔

           

            SQL> ALTER DATABASE ARCHIVELOG MANUAL;     --將日志模式切換為手工歸檔模式

 

            Database altered.

 

            SQL> ALTER DATABASE OPEN;                  --打開數據庫

 

            Database altered.

 

            SQL> ALTER SYSTEM ARCHIVE LOG CURRENT;     --對當前的日志進行歸檔(建議在mount階段完成)

 

            System altered.

 

            SQL> ALTER SYSTEM ARCHIVE LOG ALL;         --對所有的日志進行歸檔

            alter system archive log all

            *

            ERROR at line 1:

            ORA-00271: there are no logs that need archiving  --沒有需要歸檔的日志

 

    4.歸檔進程的調整

        通過設置LOG_ARCHIVE_MAX_PROCESSES 參數,可以指定數據庫規定所需初始化的進程數,缺省的歸檔進程數為2

        一般情況下不需要修改該參數,Oracle會根據歸檔情況自動啟動額外的歸檔進程

        也可以動態的增加或減少歸檔進程數,比如有些業務在月底需要進行大量歸檔,平時則歸檔較少,對此可以動態修改

        修改方法

            ALTER SYSTEM SET LOG_ARCHIVE_MAX_PROCESSES=3;

   

    5.配置歸檔(兩種歸檔位置配置方法)

        a.歸檔到本機且少於等於兩個歸檔位置

            設置LOG_ARCHIVE_DEST和LOG_ARCHIVE_DUPLEX_DEST參數

            alter system set log_archive_dest = '/u01/app/oracle/archivelog1' scope = spfile;

            alter system set log_archive_duplex_dest = '/u01/app/oracle/archivelog2' scope = spfile;

           

        b.歸檔到本機或遠程主機

            設置LOG_ARCHIVE_DEST_n 參數,n最大值為10

            alter system set log_archive_dest_1 = 'LOCATION=/u01/app/oracle/archivelog3';

            alter system set log_archive_dest_2 = 'SERVICE=standby1';

            對於遠程歸檔位置,SERVICE選項需要指定遠程數據庫的網絡服務名(在tnsnames.ora文件中配置)

            LOG_ARCHIVE_DEST_n的兩個常用選項

                MANADATORY | OPTIONAL:

                    MANADATORY表示歸檔必須成功復制到目的路徑之后,聯機重做日志才能被復用,OPTIONAL正好相反

                REOPEN:

                    指定歸檔失敗后指定間隔多少時間重試歸案,缺省的為300秒

                示例:

                log_archive_dest_1 = 'LOCATION=/u01/app/oracle/archivelog3 manadatory reopen = 600'

                log_archive_dest_2 = 'SERVICE=standby1 manadatory reopen'

               

        c.兩種歸檔方法異同(前者log_archive_dest、log_archive_duplex_dest ,后者log_archive_dest_n)

            兩者都可以歸檔到本機,后者可以歸檔到遠程主機,前者不支持該功能

            前者最多配置兩個歸檔位置,后者可以配置10個歸檔位置

            兩者互不兼容,要么使用前者,要么使用后者

            使用后者歸檔到本地時需要增加LOCATION選項,備份到遠程主機需要使用SERVICE選項

            但上述兩種方式未指定路徑時,歸檔日志位於db_recovery_file_dest 缺省為$ORACLE_BASE/flash_recovey_area

           

        d.歸檔日志命名格式

            設置LOG_ARCHIVE_FORMAT參數,Unix下的缺省設置為LOG_ARCHIVE_FORMAT=%t_%s_%r.dbf

                %s: 日志序列號:

                %S: 日志序列號(帶有前導)

                %t: 重做線程編號.

                %T: 重做線程編號(帶有前導)

                %a: 活動ID號

                %d: 數據庫ID號

                %r RESETLOGS的ID值.

            alter system set log_archive_format = 'arch_%t_%s_%r.arc';

           

        e.歸檔位置狀態

            Valid/Invalid      --磁盤位置及服務名等是否有效

            Enabled/Disabled   --磁盤位置的可用狀態及數據庫能否使用該歸檔位置

            Active/Inactive    --訪問歸檔目的地是否有異常

           

        f.歸檔成功的最小個數(使用參數log_archive_min_succeed_dest = n)

            alter system set log_archive_min_succeed_dest = 2;   --缺省為1

            聯機重做日志組能夠被覆蓋的前提

                所有強制路徑歸檔位置成功實現歸檔

                歸檔目的地的成功歸檔的個數大於或等於上述參數設定的值

                當強制個數大於該參數設定的個數,則以強制個數為准

                當強制個數小於該參數設定的個數,則可選的成功歸檔路徑加上強制的歸檔路徑個數至少等於該參數設定值

       

        g.控制歸檔的可用性(使用參數log_archive_dest_state_n)

            alter system set log_archive_dest_state_1 = enable | defer

            enable  -->缺省狀態,可以在該歸檔位置進行歸檔

            defer   -->禁用該歸檔位置

           

        h.演示歸檔路徑配置及查看歸檔進程,歸檔位置狀態

            SQL> ARCHIVE LOG LIST;         --查看日志是否處於歸檔狀態

            Database log mode              Archive Mode

            Automatic archival             Enabled

            Archive destination            USE_DB_RECOVERY_FILE_DEST

            Oldest online log sequence     24

            Next log sequence to archive   26

            Current log sequence           26

 

            SQL> ho ps -ef | grep ora_arc    --查看歸檔進程是否已啟動

            oracle    4062     1  0 11:43 ?        00:00:00 ora_arc0_orcl

            oracle    4064     1  0 11:43 ?        00:00:00 ora_arc1_orcl

 

            SQL> SHOW PARAMETER ARCHIVE  --查看歸檔路徑是否已設置,為空值表示未設置

 

            NAME                                 TYPE        VALUE

            ------------------------------------ ----------- ------------------------------

            archive_lag_target                   integer     0

            log_archive_config                   string

            log_archive_dest                     string

            log_archive_dest_1                   string

            log_archive_dest_10                  string

            log_archive_dest_2                   string

            log_archive_dest_3                   string

            log_archive_dest_4                   string

            log_archive_dest_5                   string

            log_archive_dest_6                   string

            log_archive_dest_7                   string

 

            NAME                                 TYPE        VALUE

            ------------------------------------ ----------- ------------------------------

            log_archive_dest_8                   string

            log_archive_dest_9                   string

            log_archive_dest_state_1             string      enable

            log_archive_dest_state_10            string      enable

            log_archive_dest_state_2             string      enable

            log_archive_dest_state_3             string      enable

            log_archive_dest_state_4             string      enable

            log_archive_dest_state_5             string      enable

            log_archive_dest_state_6             string      enable

            log_archive_dest_state_7             string      enable

            log_archive_dest_state_8             string      enable

 

            NAME                                 TYPE        VALUE

            ------------------------------------ ----------- ------------------------------

            log_archive_dest_state_9             string      enable

            log_archive_duplex_dest              string

            log_archive_format                   string      %t_%s_%r.dbf

            log_archive_local_first              boolean     TRUE

            log_archive_max_processes            integer     2

            log_archive_min_succeed_dest         integer     1

            log_archive_start                    boolean     FALSE --該參數在9i中使用

            log_archive_trace                    integer     0

            remote_archive_enable                string      true

            standby_archive_dest                 string      ?/dbs/arch

 

 

            SQL> alter system set log_archive_dest = '/u01/app/oracle/archivelog1' scope = spfile;

 

            System altered.

 

            SQL> alter system set log_archive_duplex_dest= '/u01/app/oracle/archivelog2' scope=spfile;

 

            System altered.

 

            SQL> alter system set log_archive_format = 'arch_%t_%s_%r.arc' scope = spfile;

 

            --設定完畢后需要重新啟動實例,在此省略關閉啟動信息

 

            SQL> ho ls /u01/app/oracle/archivelog1  --查看歸檔路徑下是否存在文件或文件夾

 

            SQL> ho ls /u01/app/oracle/archivelog2  --查看歸檔路徑下是否存在文件或文件夾

 

            SQL> alter system archive log current;  --手動進行歸檔

 

            System altered.

 

            SQL> ho ls -l /u01/app/oracle/archivelog1   --在指定的文件夾archivelog1已產生歸檔日志

            total 18224

            -rw------- 1 oracle oinstall 18636800 Jul 28 20:39 arch_1_26_724852763.arc

 

            SQL> ho ls -l /u01/app/oracle/archivelog2   --在指定的文件夾archivelog2已產生歸檔日志

            total 18224

            -rw------- 1 oracle oinstall 18636800 Jul 28 20:39 arch_1_26_724852763.arc

 

            SQL> ho mkdir /u01/app/oracle/archivelog3   --創建新的歸檔路徑

 

            SQL> ho mkdir /u01/app/oracle/archivelog4   --創建新的歸檔路徑

 

            SQL> alter system set log_archive_dest_1 = 'location=/u01/app/oracle/archivelog3'

              2 scope = spfile;

 

            System altered.

 

            SQL>  alter system set log_archive_dest_2 = 'location=/u01/app/oracle/archivelog4'

              2   scope = spfile;

 

            System altered.

 

            SQL> shutdown immediate;       --關閉實例

            Database closed.

            Database dismounted.

            ORACLE instance shut down.

            SQL> startup                   --啟動實例后,收到錯誤提示表明兩種歸檔方式不兼容

            ORA-16019: cannot use LOG_ARCHIVE_DEST_1 with LOG_ARCHIVE_DEST or LOG_ARCHIVE_DUPLEX_DEST

 

            --關於上述設置導致的錯誤處理請參照:又一例SPFILE設置錯誤導致數據庫無法啟動

                                                SPFILE錯誤導致數據庫無法啟動

 

            --下面是正確的處理辦法,應當先將一種歸檔方式路徑置空,此處是將log_archive_dest置空

            SQL> alter system set log_archive_dest = '' scope = spfile;

 

            System altered.

           

            --此處是將log_archive_duplex_dest置空

            SQL> alter system set log_archive_duplex_dest = '' scope = spfile;

 

            System altered.

           

            --接下來再設定log_archive_dest_1,log_archive_dest_2

            SQL> alter system set log_archive_dest_1 = 'location=/u01/app/oracle/archivelog3'

              2 scope = spfile;

 

            System altered.

 

            SQL> alter system set log_archive_dest_2 = 'location=/u01/app/oracle/archivelog4'

              2  scope = spfile;

 

            System altered.

           

            --由於沒有配置standby服務器,所以省略配置到遠程主機

            --設定完畢后需要重新啟動實例,此時系統能正常啟動,在此省略關閉啟動信息

           

            SQL> alter system archive log current;  --進行手動歸檔

 

            System altered.

 

            SQL> ho ls -l /u01/app/oracle/archivelog3/   --查看歸檔日志

            total 27752

            -rw------- 1 oracle oinstall 28382208 Aug  2 13:46 arc_1_38_724852763.arc

 

            SQL> ho ls -l /u01/app/oracle/archivelog4/   --查看歸檔日志

            total 27752

            -rw------- 1 oracle oinstall 28382208 Aug  2 13:45 arc_1_38_724852763.arc  

 

    SQL> col dest_name format a20; 

    SQL> col destination format a30;

    SQL> select dest_name,status,archiver,destination,

      2  log_sequence,reopen_secs,transmit_mode,process

      3  from v$archive_dest;    --查看歸檔目的地的相關狀態信息

 

    DEST_NAME            STATUS    ARCHIVER   DESTINATION                    LOG_SEQUENCE REOPEN_SECS TRANSMIT_MOD PROCESS

    -------------------- --------- ---------- ------------------------------ ------------ ----------- ------------ -------

    LOG_ARCHIVE_DEST_1   VALID     ARCH       /u01/app/oracle/archivelog3/             38         300 SYNCHRONOUS  ARCH

    LOG_ARCHIVE_DEST_2   VALID     ARCH       /u01/app/oracle/archivelog4/             38         300 SYNCHRONOUS  ARCH

    LOG_ARCHIVE_DEST_3   INACTIVE  ARCH                                                 0           0 SYNCHRONOUS  ARCH

    -----------------------------------------------------------------------------------------------------------------------

             

        SQL> alter system set log_archive_dest_state_2 = defer;   --停用log_archive_dest_state_2

 

        System altered.

 

        SQL> show parameter log_archive_dest_state

 

        NAME                                 TYPE        VALUE

        ------------------------------------ ----------- ---------------

        log_archive_dest_state_1             string      enable

        log_archive_dest_state_10            string      enable

        log_archive_dest_state_2             string      DEFER     --該路徑顯示為defer

        log_archive_dest_state_3             string      enable

        log_archive_dest_state_4             string      enable

        log_archive_dest_state_5             string      enable

        log_archive_dest_state_6             string      enable

        log_archive_dest_state_7             string      enable

        log_archive_dest_state_8             string      enable

        log_archive_dest_state_9             string      enable        

 

        SQL> alter system archive log current;   --手動歸檔

 

        System altered.

 

        SQL> ho ls -l /u01/app/oracle/archivelog3; --可以看出archivelog3比archivelog4多出幾個歸檔文件

        total 124772                               --建議將多出文件件的使用系統命令復制到archivelog4

        -rw------- 1 oracle oinstall 28382208 Aug  2 13:46 arc_1_38_724852763.arc

        -rw------- 1 oracle oinstall  1788416 Aug  2 20:41 arc_1_39_724852763.arc

        -rw------- 1 oracle oinstall 30257664 Aug  2 22:21 arc_1_40_724852763.arc

        -rw------- 1 oracle oinstall 30257664 Aug  2 22:22 arc_1_41_724852763.arc

        -rw------- 1 oracle oinstall 30257664 Aug  2 22:22 arc_1_42_724852763.arc

        -rw------- 1 oracle oinstall  6647296 Aug  2 22:23 arc_1_43_724852763.arc

 

        SQL> ho ls -l /u01/app/oracle/archivelog4;

        total 29504

        -rw------- 1 oracle oinstall 28382208 Aug  2 13:45 arc_1_38_724852763.arc

        -rw------- 1 oracle oinstall  1788416 Aug  2 20:41 arc_1_39_724852763.arc

 

        SQL> alter system set log_archive_dest_state_2 = enable; --啟用log_archive_dest_state_2

 

        System altered.

 

        SQL> alter system archive log current;   --手動歸檔

 

        System altered.

 

        SQL> ho ls -l /u01/app/oracle/archivelog3; --啟用后出現了相同的arc_1_44_724852763.arc文件

        total 124856

        -rw------- 1 oracle oinstall 28382208 Aug  2 13:46 arc_1_38_724852763.arc

        -rw------- 1 oracle oinstall  1788416 Aug  2 20:41 arc_1_39_724852763.arc

        -rw------- 1 oracle oinstall 30257664 Aug  2 22:21 arc_1_40_724852763.arc

        -rw------- 1 oracle oinstall 30257664 Aug  2 22:22 arc_1_41_724852763.arc

        -rw------- 1 oracle oinstall 30257664 Aug  2 22:22 arc_1_42_724852763.arc

        -rw------- 1 oracle oinstall  6647296 Aug  2 22:23 arc_1_43_724852763.arc

        -rw------- 1 oracle oinstall    81408 Aug  2 22:25 arc_1_44_724852763.arc

 

        SQL> ho ls -l /u01/app/oracle/archivelog4;

        total 29588

        -rw------- 1 oracle oinstall 28382208 Aug  2 13:45 arc_1_38_724852763.arc

        -rw------- 1 oracle oinstall  1788416 Aug  2 20:41 arc_1_39_724852763.arc

        -rw------- 1 oracle oinstall    81408 Aug  2 22:25 arc_1_44_724852763.arc

       

四、歸檔日志相關視圖

    v$archived_log         -->從控制文件中獲得歸檔的相關信息

    v$archive_dest         -->歸檔路徑及狀態

    v$log_history          -->控制文件中日志的歷史信息

    v$database             -->查看數據庫是否處於歸檔狀態

    v$archive_processes    -->歸檔相關的后台進程信息

    命令:archive log list

   

        SQL> select  name,sequence#,registrar,standby_dest,archived,status

          2  from v$archived_log;  

          NAME                                                     SEQUENCE# REGISTR STA ARC S

        ------------------------------------------------------- ---------- ------- --- --- -

        /u01/app/oracle/archivelog4/arc_1_38_724852763.arc              38 FGRD    NO  YES A

        /u01/app/oracle/archivelog3/arc_1_39_724852763.arc              39 ARCH    NO  YES A

        /u01/app/oracle/archivelog4/arc_1_39_724852763.arc              39 ARCH    NO  YES A

        /u01/app/oracle/archivelog3/arc_1_40_724852763.arc              40 ARCH    NO  YES A

        /u01/app/oracle/archivelog3/arc_1_41_724852763.arc              41 ARCH    NO  YES A

        /u01/app/oracle/archivelog3/arc_1_42_724852763.arc              42 ARCH    NO  YES A

        /u01/app/oracle/archivelog3/arc_1_43_724852763.arc              43 ARCH    NO  YES A

        /u01/app/oracle/archivelog3/arc_1_44_724852763.arc              44 FGRD    NO  YES A

        /u01/app/oracle/archivelog4/arc_1_44_724852763.arc              44 FGRD    NO  YES A

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM