Oracle使用startup與startup force啟動的區別


1. startup

   就是正常啟動數據庫,沒什么好說的。

 

2. startup force   

  是shutdown abort + startup的組合,即強制關閉數據庫+ 正常啟動數據庫,想快速重啟數據庫時膽子大的人用的。

 startup force測試

 在一個窗口執行startup force  命令

點擊(此處)折疊或打開

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

 

SQL*Plus: Release 11.2 。 0 。 4 。 0生產 在 星期五12月20日10 : 16 : 29日2013 

 

版權 ( c ) 1982年 , 2013年 , 甲骨文 。 所有 版權 。 

 

 

連接 來 : 

甲骨文 數據庫 11 g企業版 釋放 11 。 2 。 0 。 4 。 0 - - - - - - 64位的生產 

與 分區 , 甲骨文標簽安全 , OLAP , 數據 礦業 

和 真正的 應用程序測試選項 

 

SQL > 啟動 力 

ORACLE實例開始 。 

 

系統全局總面積3340451840字節 

固定 大小 2257840字節 

變量 大小 1929382992字節 

數據庫 緩沖區1392508928字節 

重做緩沖區16302080字節 

數據庫 安裝 。 

數據庫 打開 。 

SQL >  

同時監控后台數據庫的alert日志

點擊(此處)折疊或打開

[root@vm012odb018 ~]# su - oracle

[oracle@vm012odb018 ~]美元 cd的應用 / 診斷接頭 / rdbms / ledb01 / LEDB01 / 跟蹤 / 

( 甲骨文 @ vm012odb018跟蹤 ] 美元 tailf alert_LEDB01 。 日志 

存檔 日志 條目344添加 為 線程1 序列 344 ID 0 xc87c495a 1不在座位上 : 

12月20日星期五02 : 00 : 00 2013 

關閉調度窗口 

關閉 資源 經理計划通過調度程序窗口 

清算 資源 經理計划通過參數 

12月20日星期五02 : 00 : 08年2013 

線程1先進 來 日志 序列 346年 ( LGWR開關 ) 

  當前的 日志 # 1 seq # 346 mem # 0 : / 首頁 / 甲骨文 / 應用程序 / oradata / LEDB01 / redo01 。 日志 

12月20日星期五02 : 00 : 09年2013 

存檔 Log entry 345 added for thread 1 sequence 345 ID 0xc87c495a dest 1:

 

             以下為startup force的日志

 

 

 

Fri Dec 20 10:17:17 2013                       --數據庫被shutdown abort 

Shutting down instance (abort)                              

License high water mark =9 

用戶 ( ospid : 23328年 ) : 終止該實例 

實例終止 通過 用戶 , pid = 23328年 

星期五12月20日10 : 17 : 18 2013

Instance shutdown complete

Fri Dec 20 10:17:19 2013                                    --啟動數據庫startup      

Starting ORACLE instance (normal)

LICENSE_MAX_SESSION = 0

LICENSE_SESSIONS_WARNING = 0

Initial number ofCPU 是 1 

細胞通訊 是 配置 來 使用0接口 ( 年代 ) : 

細胞IP親和力細節 : 

NUMA狀態 : 非 - - - - - - NUMA系統 

cellaffinity 。 奧拉狀態 : N / 一個 

細胞通訊將使用1個IP 集團 ( 年代 ) : 

Grp 0 : 

選擇鎖 - - - - - - 免費的SCN方案3 

自動調諧 的 撤銷保留 是 轉 在 。 

將 = BR 

ILAT = 51 

LICENSE_MAX_USERS = 0 

系統審計 是 禁用 

啟動 : 

甲骨文 數據庫 11 g企業版 釋放 11 。 2 。 0 。 4 。 0 - - - - - - 64位的生產 

與 分區 , 甲骨文標簽安全 , OLAP , 數據 礦業 

和 真正的 應用程序測試選項 。 

ORACLE_HOME = / 首頁 / 甲骨文 / 應用程序 / 產品 / 11 。 2 。 0 。 4 / db_1 

系統名稱 : Linux 

節點名稱 : vm012odb018 

釋放 : 2 。 6 。 18 - - - - - - 238年 。 el5 

版本 : 15 # 1 SMP 1月13日星期四 : 51 : 美國東部時間2011 

機 : x86_64 

使用 參數設置 在 服務器 - - - - - - 一邊spfile / 首頁 / 甲骨文 / 應用程序 / 產品 / 11 。 2 。 0 。 4 / db_1 / 星展銀行 / spfileLEDB01 。 奧拉 

系統參數 與 非 - - - - - - 默認的 值 : 

流程 = 300年 

會話 = 472年 

事件 = ”“ 

nls_language = “美國” 

nls_territory = “美國” 

memory_target = 3200米 

control_files = “/ home / oracle / app / oradata / LEDB01 / control01.ctl” 

control_files = “/ home / oracle / app / flash_recovery_area / LEDB01 / control02.ctl” 

db_block_size = 8192年 

兼容的 = “11.2.0.0.0” 

log_archive_dest_1 = “位置= / home / oracle / archivelog” 

db_recovery_file_dest = “/ home / oracle / app / flash_recovery_area” 

db_recovery_file_dest_size = 3882米 

undo_tablespace = “UNDOTBS1” 

remote_login_passwordfile = “獨家” 

db_domain = ”“ 

調度程序 = ”(協議(TCP)(服務= LEDB01XDB)" 

audit_file_dest = “/ home / oracle / app / admin / LEDB01 / adump” 

audit_trail = “數據庫” 

db_name = “LEDB01” 

判斷 = 300年 

deferred_segment_creation = 假 

diagnostic_dest = “/ home / oracle /應用程序” 

星期五12月20日10 : 17 : 21 2013 

PMON開始 與 pid = 2 , 操作系統標識 = 23423年 

星期五12月20日10 : 17 : 21 2013 

PSP0開始 與 pid = 3 , 操作系統標識 = 23427年 

星期五12月20日10 : 17 : 22 2013 

VKTM開始 與 pid = 4 , 操作系統標識 = 23431年 

VKTM運行在 ( 100毫秒 ) 精度 

星期五12月20日10 : 17 : 22 2013 

GEN0開始 與 pid = 5 , 操作系統標識 = 23437年 

星期五12月20日10 : 17 : 22 2013 

診斷接頭開始 與 pid = 6 , 操作系統標識 = 23441年 

星期五12月20日10 : 17 : 22 2013 

DBRM開始 與 pid = 7 , 操作系統標識 = 23445年 

星期五12月20日10 : 17 : 22 2013 

DIA0開始 與 pid = 8 , 操作系統標識 = 23449年 

星期五12月20日10 : 17 : 22 2013 

MMAN開始 與 pid = 9 , 操作系統標識 = 23453年 

星期五12月20日10 : 17 : 22 2013 

DBW0開始 與 pid = 10 , 操作系統標識 = 23457年 

星期五12月20日10 : 17 : 2013年23 

LGWR開始 與 pid = 11 , 操作系統標識 = 23461年 

星期五12月20日10 : 17 : 2013年23 

CKPT開始 與 pid = 12 , 操作系統標識 = 23465年 

星期五12月20日10 : 17 : 2013年23 

SMON開始 與 pid = 13 , 操作系統標識 = 23469年 

星期五12月20日10 : 17 : 2013年23 

重新啟動自己 與 pid = 14 , 操作系統標識 = 23473年 

星期五12月20日10 : 17 : 2013年23 

MMON開始 與 pid = 15 , 操作系統標識 = 23477年 

啟動1調度程序 ( 年代 ) 為 網絡地址 '(地址=(部分= YES)(協議(TCP))” 。 。 。 

星期五12月20日10 : 17 : 2013年23 

MMNL開始 與 pid = 16 , 操作系統標識 = 23481年 

啟動1共享服務器 ( 年代 ) 。 。 。 

ORACLE_BASE 從 環境 = / 首頁 / 甲骨文 / 應用程序 

星期五12月20日10 : 17 : 2013年23 

改變 數據庫 山 

成功的 山 的 重做線程1 , 與 山id 3372810867 

數據庫 安裝 在 獨家 模式 

失去了寫保護殘疾人 

完成 : 改變 數據庫 山 

星期五12月20日10 : 17 : 27日2013年 

改變 數據庫 開放 

開始崩潰恢復 的 線程1 

開始重做掃描 

完成重做掃描 

讀129 KB重做 , 50 數據 塊需要恢復 

開始重做應用程序 

線程1 : logseq 346 , 45315塊 

復蘇 的 在線 重做 日志 : 線程1 集團 Seq 346閱讀mem 0 

Mem # 0 : / 首頁 / 甲骨文 / 應用程序 / oradata / LEDB01 / redo01 。 日志 

完成重做應用程序 的 0 。 03 mb 

崩潰恢復完成時 

線程1 : logseq 346 , 45573塊 , 視交叉上核10747900 

50 數據 塊讀 , 50 數據 塊寫 , 129重做k - - - - - - 字節讀 

LGWR : 開始拱過程 

星期五12月20日10 : 17 : 28 2013 

ARC0開始 與 pid = 20 , 操作系統標識 = 23510年 

ARC0 : 檔案的開始 

LGWR : 開始拱過程完成 

ARC0 : 開始拱過程 

星期五12月20日10 : 17 : 29日2013 

開始研究進展 與 pid = 21 , 操作系統標識 = 23514年 

星期五12月20日10 : 17 : 29日2013 

ARC2開始 與 pid = 22 , 操作系統標識 = 23518年 

線程1先進 來 日志 序列 347年 ( 線程打開 ) 

線程1在 日志 序列 347年 

  當前的 日志 # 2 seq # 347 mem # 0 : / 首頁 / 甲骨文 / 應用程序 / oradata / LEDB01 / redo02 。 日志 

成功的 開放 的 重做線程1 

MTTR咨詢 是 殘疾人因為FAST_START_MTTR_TARGET 是 不 集 

SMON : 啟用緩存復蘇 

研究進展 : 檔案的開始 

ARC2 : 檔案的開始 

研究進展 : 成為 “不歧視” 拱 

研究進展 : 成為 “沒有生存研究實驗室” 拱 

ARC2 : 成為心跳拱 

星期五12月20日10 : 17 : 29日2013 

ARC3開始 與 pid = 23 , 操作系統標識 = 23522年 

存檔 日志 條目346添加 為 線程1 序列 346 ID 0 xc87c495a 1不在座位上 : 

( 23506年 ] 成功上網了撤銷 表空間 2 。 

取消初始化完成串行 : 0 開始 : 261251664 結束 : 261251884 diff : 220年 ( 2秒 ) 

驗證 文件 頭的兼容性 為 11 g 表空間 加密 。 。 

驗證11 g 文件 頭的兼容性 為 表空間 加密完成 

SMON : 使tx復蘇 

ARC3 : 檔案的開始 

ARC0 : 開始拱過程完成 

數據庫 Characterset 是 AL32UTF8 

沒有 資源 經理的計划活動 

replication_dependency_tracking轉 從 ( 沒有異步multimaster復制 ) 

啟動后台進程QMNC 

星期五12月20日10 : 17 : 2013年32 

QMNC開始 與 pid = 24 , 操作系統標識 = 23530年 

完成 : 改變 數據庫 開放 

星期五12月20日10 : 17 : 2013年36 

db_recovery_file_dest_size 的 3882 MB 是 0 。 00 % 使用 。 這 是 一個 

用戶 - - - - - - 指定的限制 在 量 的 將使用空間 通過 這 

數據庫 為 復蘇 - - - - - - 相關文件 , 和 做 不 反映了數量 的 

可用空間 在 底層文件系統 或 ASM diskgroup 。 

星期五12月20日10 : 17 : 2013年36 

啟動后台進程CJQ0 

星期五12月20日10 : 17 : 2013年36 

CJQ0開始 與 pid = 25 , 操作系統標識 = 23560年 

星期五12月20日10 : 22 : 2013年32 

啟動后台進程SMCO 

星期五12月20日10 : 22 : 2013年32 

SMCO開始 與 pid = 28 , 操作系統標識 = 23620年 

 

oracle正常啟動,startup force的全過程都在日志中體現。

--====================
-- Oracle 歸檔日志
--====================
 
    Oracle可以將聯機日志文件保存到多個不同的位置,將聯機日志轉換為歸檔日志的過程稱之為歸檔。相應的日志被稱為歸檔日志。
 
一、歸檔日志
    是聯機重做日志組文件的一個副本
    包含redo記錄以及一個唯一的log sequence number
    對日志組中的一個日志文件進行歸檔,如果該組其中一個損壞,則另一個可用的日志將會被歸檔
    對於歸檔模式的日志切換,當日志歸檔完成后,下一個日志才能被覆蓋或重新使用
    自動歸檔功能如開啟,則后台進程arcn在日志切換時自動完成歸檔,否則需要手動歸檔
    歸檔日志用途
        恢復數據庫
        更新standby數據庫
        使用LogMiner 提取歷史日志的相關信息
       
二、日志的兩種模式
    1.非歸檔模式
        不適用與生產數據庫
        創建數據庫時,缺省的日志管理模式為非歸檔模式
        當日志切換,檢查點產生后,聯機重做日志文件即可被重新使用
        聯機日志被覆蓋后,介質恢復僅僅支持到最近的完整備份
        不支持聯機備份表空間,一個表空間損壞將導致整個數據庫不可用,需要刪除掉損壞的表空間或從備份恢復
        對於操作系統級別的數據庫備份需要將數據庫一致性關閉
        應當備份所有的數據文件、控制文件(單個)、參數文件、密碼文件、聯機日志文件(可選)
 
    2.歸檔模式
        能夠對聯機日志文件進行歸檔,生產數據庫強烈建議歸檔
        在日志切換時,下一個即將被寫入日志組必須歸檔完成之后,日志組才可以使用
        歸檔日志的Log sequence number信息會記錄到控制文件之中
        必須有足夠的磁盤空間用於存放歸檔日志
        Oracle 9i 需要設置參數log_archive_start=true 才能夠進行自動歸檔
        備份與恢復
            支持熱備份,且當某個非系統表空間損壞,數據庫仍然處於可用狀態,且支持在線恢復
            使用歸檔日志能夠實現聯機或脫機時點恢復(即可以恢復到指定的時間點、指定的歸檔日志或指定的SCN)
 
三、兩種模式的切換設置及手動歸檔
    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
 轉:http://blog.csdn.net/leshami/article/details/5784713


ORA-16032,ORA-09291,ORA-04018的解決方法:
#原因描述:數據庫服務器掛載的一塊硬盤壞掉了,重新啟動操作系統后發現數據庫啟動不了了,啟動報錯:ORA-16032: parameter LOG_ARCHIVE_DEST_1 destination string cannot be translated說明:之前Oracle開啟過歸檔日志且日志就是存儲在該塊硬盤,后來因為日志導致數據庫變慢就把歸檔關掉了。
#解決思路:因為之前開啟過歸檔且歸檔日志存儲位置就是該塊壞掉的硬盤,啟動中所報錯誤應該就是因為該殘留的配置導致的,所以想着把LOG_ARCHIVE_DEST_1值清空來解決問題。oracle的啟動參數文件有pfile和spfile兩種,spfile是二進制的不能直接修改,pfile可以直接修改,所以可以通過修改pfile來解決該問題。
#解決過程:1)由於數據庫版本是10g,默認是使用spfile啟動的,所以先通過spfile創建pfileC:\Users\zss>set oracle_sid=neworcl C:\Users\zss>sqlplus / as sysdbaSQL> create pfile='D:/oracle/product/10.2.0/admin/neworcl/pfile/init.ora' from spfile;
2)編輯pfile文件,去除LOG_ARCHIVE_DEST_1參數值(過程略)3)嘗試啟動數據庫SQL> startup  pfile='D:\oracle\product\10.2.0\admin\neworcl\pfile\init.ora';ORACLE instance started.
Total System Global Area 1610612736 bytesFixed Size                  2066080 bytesVariable Size             335546720 bytesDatabase Buffers         1258291200 bytesRedo Buffers               14708736 bytesDatabase mounted.Database opened.OK,成功啟動。
4)根據成功啟動的pfile來創建spfileSQL> create spfile from pfile='D:/oracle/product/10.2.0/admin/neworcl/pfile/init.ora';創建的spfile位置默認在  D:\oracle\product\10.2.0\db_1\database\SPFILENEWORCL.ORA
5)關閉數據庫重新啟動SQL> shutdown immediate;SQL> startup;  //默認就會采用spfile來啟動ORACLE instance started.
Total System Global Area 1610612736 bytesFixed Size                  2066080 bytesVariable Size             335546720 bytesDatabase Buffers         1258291200 bytesRedo Buffers               14708736 bytesDatabase mounted.Database opened.成功啟動數據庫。

首先,在linux系統中,如何一個文件被進程所占用,這個時候即使將文件移走或刪除,空間其實仍然是被占用的。遇到上述情況空間未釋放可能有這方面的原因,將相關的程序殺掉即可,但是這可能會影響Oracle的運行。這時我們通過更改歸檔日志的路徑大小來解決這種問題。
Oracle11g版本,ORACLE默認的日志歸檔路徑為閃回恢復區($ORACLE_BASE/fast_recovery_area)。對於這個路徑,Oracle有一個限制,就是默認只有4G的空間,而且不只是歸檔日志的默認路徑,也是備份文件和閃回日志的默認地址,這樣的話歸檔日志鎖使用的空間就達不到4G,在沒有設置好這個路徑大小的情況下,很多系統都遇到過歸檔日志滿而無法歸檔導致數據庫夯住的問題。1.查看歸檔日志路徑SQL> archive log listDatabase log mode              Archive ModeAutomatic archival             EnabledArchive destination            USE_DB_RECOVERY_FILE_DESTOldest online log sequence     4Next log sequence to archive   6Current log sequence           6這里可以看到Archive destination的值為USE_DB_RECOVERY_FILE_DEST,可以理解為USE(使用)DB_RECOVERY_FILE_DEST這個路徑2.查看DB_RECOVERY_FILE_DEST路徑SQL> show parameter db_recovery
NAME                                 TYPE        VALUE------------------------------------ ----------- ------------------------------db_recovery_file_dest                string      /u01/oracle/fast_recovery_areadb_recovery_file_dest_size           big integer 4G由上可以很清楚的看到DB_RECOVERY_FILE_DEST路徑參數的值默認為/u01/oracle/fast_recovery_area,並且Oracle設置的大小為4G。默認情況下,歸檔日志會存放到閃回恢復區($ORACLE_BASE/fast_recovery_area)內,如果閃回恢復區已經使用到4G,歸檔日志就有可能無法繼續歸檔,數據庫夯住。1)解決方法一通常的解決方法是增大閃回恢復區,可以用以下SQL實現。--修改語句SQL> alter system set db_recovery_file_dest_size=10G;
System altered.
--再次查看SQL> show parameter db_recovery
NAME                                 TYPE        VALUE------------------------------------ ----------- ------------------------------db_recovery_file_dest                string      /u01/oracle/fast_recovery_areadb_recovery_file_dest_size           big integer 10G2)解決方法二修改歸檔日志的路徑,將歸檔日志放到其他不受限制的路徑下來解決這個問題,可通過下面的SQL來修改歸檔日志的存放路徑。--修改log_archive_dest_1值來重新制定路徑SQL> alter system set log_archive_dest_1='location=/u01/oracle/archive';
System altered.這里特別要注意location參數,並且指定的目錄要存在並且有Oracle的權限重新啟動數據庫,查看歸檔路徑是否修改成功--關閉SQL> shutdown immediateDatabase closed.Database dismounted.ORACLE instance shut down.SQL> startupORACLE instance started.
Total System Global Area  784998400 bytesFixed Size                  2257352 bytesVariable Size             478154296 bytesDatabase Buffers          301989888 bytesRedo Buffers                2596864 bytesDatabase mounted.
Database opened.
--再次查看,修改成功SQL> archive log listDatabase log mode              Archive ModeAutomatic archival             EnabledArchive destination            /u01/oracle/archiveOldest online log sequence     4Next log sequence to archive   6Current log sequence           6可以通過切換日志,查看歸檔路徑下是否有歸檔日志產生來驗證歸檔路徑設置是否正確,可以通過下面的命令切換日志SQL> alter system switch logfile;
System altered.
SQL> exitDisconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing options
[oracle@cancer oracle]$ ll /u01/oracle/archive/total 36540-rw-r----- 1 oracle oinstall  9608704 Oct 20 14:39 1_6_893515662.dbf歸檔格式:SQL> show parameter log_archive_format
NAME                                 TYPE        VALUE------------------------------------ ----------- ------------------------------log_archive_format                   string      %t_%s_%r.dbf

 


免責聲明!

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



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