環境描述:html
操做系統版本:Red Hat Enterprise Linux Server release 6.5 (Santiago)sql
數據庫版本:Oracle 11.2.0.4 RAC數據庫
場景描述:oracle
Oracle RAC環境搭建完成以後,數據庫能夠啓動到mounted狀態,沒法啓動到open狀態;其餘的CRS集羣服務、ASM服務狀態正常!!!ui
處理過程:spa
[oracle@oracle01 ~]$ sqlplus / as sysdba; SQL*Plus: Release 11.2.0.4.0 Production on Thu Jun 15 12:48:00 2017 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP, Data Mining and Real Application Testing options SQL> SQL> select open_mode from v$database; OPEN_MODE -------------------- MOUNTED SQL> alter database open; alter database open * ERROR at line 1: ORA-01154: database busy. Open, close, mount, and dismount not allowed now
++++++++++++++++++++++++++++++++++++++++++操作系統
再次嘗試:.net
SQL> alter database open; alter database open * ERROR at line 1: ORA-01154: database busy. Open, close, mount, and dismount not allowed now 啓動數據庫一直停留在Database mounted. 最後報ORA-03113: end-of-file on communication channel
++++++++++++++++++++++++++++++++++++++++unix
查看告警日誌,輸出以下錯誤信息:日誌
<txt>ORACLE Instance EBJDB1 - Archival Error </txt> </msg> <msg time='2017-06-15T14:38:26.640+08:00' org_id='oracle' comp_id='rdbms' client_id='' type='UNKNOWN' level='16' host_id='oracle01' host_addr='127.0.0.1' module='' pid='7977'> <txt>ORA-16014: log 1 sequence# 5 not archived, no available destinations ORA-00312: online log 1 thread 1: '+DATA/ebjdb/onlinelog/group_1.261.945309179' ORA-00312: online log 1 thread 1: '+FRA/ebjdb/onlinelog/group_1.257.945309181' </txt> </msg> <msg time='2017-06-15T14:38:26.857+08:00' org_id='oracle' comp_id='rdbms' client_id='' type='UNKNOWN' level='16' host_id='oracle01' host_addr='127.0.0.1' module='' pid='7977'> <txt>Archiver process freed from errors. No longer stopped </txt> </msg>
有戲!!!
初步分析是:日誌不能正常歸檔,致使了數據庫只能在mounted狀態,在往open狀態切換的時候,找不到相關的日誌歸檔路徑,致使數據庫不能啓動到open狀態
++++++++++++++++++++++++++++++++++++++++
開始處理:
首先查看數據庫當前啓動狀態:
SQL> select open_mode from v$database; OPEN_MODE -------------------- MOUNTED
查看當前數據庫的歸檔路徑設置:
注:數據庫在open狀態下,能夠經過以下命令查看歸檔信息,
SQL> archive log list Database log mode Archive Mode Automatic archival Enabled Archive destination +FRA/archivelog/ Oldest online log sequence 8 Next log sequence to archive 9 Current log sequence 9
數據庫在mounted狀態下的時候,須要經過查看參數文件來確認:
SQL> set linesize 200 SQL> set pagesize 100 SQL> show parameter log_ NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ audit_syslog_level string commit_logging string db_create_online_log_dest_1 string db_create_online_log_dest_2 string db_create_online_log_dest_3 string db_create_online_log_dest_4 string db_create_online_log_dest_5 string enable_ddl_logging boolean FALSE log_archive_config string log_archive_dest string .. .. .. .. .. .. .. ....... log_archive_dest_1 string LOCATION=+FRA/archivelog/ log_archive_dest_state_4 string enable log_archive_dest_state_5 string enable 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 4 log_archive_min_succeed_dest integer 1 log_archive_start boolean FALSE log_archive_trace integer 0 log_buffer integer 2379776 log_checkpoint_interval integer 0 log_checkpoint_timeout integer 1800 log_checkpoints_to_alert boolean FALSE log_file_name_convert string remote_login_passwordfile string EXCLUSIVE sec_case_sensitive_logon boolean TRUE sec_max_failed_login_attempts integer 10
能夠看出歸檔日誌的路徑是:LOCATION=+FRA/archivelog/
+++++++++++++++++++++++++++++++++++
切換到oracle用戶或者grid用戶下,執行asmcmd查看磁盤組信息:
[grid@oracle01 ~]$ asmcmd ASMCMD> ls BAK/ CRS/ DATA/ FRA/ ASMCMD> ASMCMD> cd FRA ASMCMD> ls EBJDB/ ASMCMD> 發現沒有+FRA/archivelog目錄,咱們在+FRA目錄下,建立archivelog目錄: ASMCMD> pwd +FRA ASMCMD> mkdir archivelog archivelog/ ASMCMD> cd archivelog ASMCMD> pwd +FRA/archivelog ASMCMD>
OK!!!!!!歸檔日誌目錄設置完畢!
++++++++++++++++++++++++++++++++++++++
回到sqlplus界面,
SQL> alter database open; SQL> select instance_name,status from v$instance; INSTANCE_NAME STATUS ---------------- ------------ EBJDB1 OPEN
查看集羣服務狀態:
[grid@oracle01 ~]$ crsctl stat res -t -------------------------------------------------------------------------------- NAME TARGET STATE SERVER STATE_DETAILS -------------------------------------------------------------------------------- Local Resources -------------------------------------------------------------------------------- ora.BAK.dg ONLINE ONLINE oracle01 ONLINE ONLINE oracle02 ora.CRS.dg ONLINE ONLINE oracle01 ONLINE ONLINE oracle02 ora.DATA.dg ONLINE ONLINE oracle01 ONLINE ONLINE oracle02 ora.FRA.dg ONLINE ONLINE oracle01 ONLINE ONLINE oracle02 ora.LISTENER.lsnr ONLINE ONLINE oracle01 ONLINE ONLINE oracle02 ora.asm ONLINE ONLINE oracle01 Started ONLINE ONLINE oracle02 Started ora.gsd ONLINE OFFLINE oracle01 ONLINE OFFLINE oracle02 ora.net1.network ONLINE ONLINE oracle01 ONLINE ONLINE oracle02 ora.ons ONLINE ONLINE oracle01 ONLINE ONLINE oracle02 ora.registry.acfs ONLINE ONLINE oracle01 ONLINE ONLINE oracle02 -------------------------------------------------------------------------------- Cluster Resources -------------------------------------------------------------------------------- ora.LISTENER_SCAN1.lsnr 1 ONLINE ONLINE oracle01 ora.cvu 1 ONLINE ONLINE oracle01 ora.db.db 1 ONLINE ONLINE oracle01 Open 2 ONLINE ONLINE oracle02 Open ora.oracle01.vip 1 ONLINE ONLINE oracle01 ora.oracle02.vip 1 ONLINE ONLINE oracle02 ora.oc4j 1 ONLINE ONLINE oracle01 ora.scan1.vip 1 ONLINE ONLINE oracle01
OK!!! 焦急的心情稍許平靜!!!!有木有!!!
網上查找各類資料的時候,心情特別難受,都開始懷疑人生了,對面的純開發同事,人家一天啥事沒有。。。。。此次問題雖然解決了,之後估計還會有相同的想法, 哈哈!!!
其餘參考:
http://blog.csdn.net/tianlesoftware/article/details/6051672
http://blog.csdn.net/jingleli21/article/details/45888295
http://www.itpub.net/thread-1510308-1-1.html
https://wenku.baidu.com/view/755ddc25bcd126fff7050bdc.html
http://blog.chinaunix.net/uid-28813259-id-3987260.html