零基礎學Oracle之4:理解oracle的啟動與關閉

2020-12-06 零基礎學運維

1、 當輸入startup命令後,Oracle啟動資料庫的參數選擇順序

找參數文件順序

1) 在$ORACLE_HOME/dbs/目錄下查找初始化參數文件spfileSID.ora,啟動instance

2) 查找預設spfile文件,就是spfile.ora, 啟動instance

3) 查找initSID.ora這個文件並啟動instance

4) 使用預設pfile,也就是在敲命令時STARTUP PFILE = $ORACLE_HOME/dbs/initDBA1.ora,直接用指定的pfile啟動instance

2、 oracle資料庫的啟動

Oracle資料庫的啟動可以分為四個階段

startup順序

1) shutdown:沒有啟動,oracle的表現就是一堆存在磁碟的文件,軟體是軟體,數據是數據。

2) nomount:這時工廠流水線都準備好了

a.讀取初始化參數文件;

b.為SGA分配內存;

c.啟動後臺進程;

d.打開alertSID.log文件和跟蹤文件

3) mount:資料庫已跟instance建立連接,這時只有管理可以訪問資料庫做維護如備份,恢復,普通用戶還不可以連接

關聯一個資料庫與在nomount啟動的instance;定位並打開按參數文件指定的control files;讀取數據文件和重做日誌文件的名字和狀態。但在這個階段不會確認數據文件和重做日誌文件的存在。

4) open

打開資料庫文件和重做日誌文件。這時資料庫就可以被正常訪問。

3、 oracle資料庫的關閉

關閉資料庫選項

shutdown normal:不建立新連接,還有連接在的話不能關閉。

shutdown immediate:不建立新連接;中斷正在執行的sql語句;回滾未提交的事務;斷開在線用戶;將redo buffers裡的內容寫入磁碟;關閉instance。

shutdown transactional:不建立新連接;客戶端無法發起新的事務;客戶端事務處理完成後斷開客戶端連接;將redo buffers裡的內容寫入磁碟;關閉instance。

shutdown abort:立即關閉instance;redo buffers裡的內容不會寫入磁碟;下次啟動會自動執行資料庫恢復程序。

4、 排除故障

找日誌文件類型:

1)alertSID.log

有以下這些被記錄

資料庫啟動或關閉;

非默認值的參數列表(包括參數名稱和參數值,在spfile或pfile損壞時可以藉助這些信息從新構造spfile或pfile);

啟動後臺進程;

被instance所用的線程;

2)後臺跟蹤文件(Background trace files)

記錄當後臺程序出現重大錯誤時的信息。一般命名為sid_processname_PID.trc。所在位置由參數BACKGROUND_DUMP_DEST值定義。

3)用戶跟蹤文件(User trace files)。

由用戶進程產生,也可以被server進程生成,包含跟蹤SQL語句的統計信息和記錄用戶會話錯誤信息。可以用來對SQL的調優和排錯。

相關焦點

  • 零基礎學Oracle之2:開始使用oracle
    零基礎學Oracle之2:開始使用oracle1、 資料庫管理工具OUI:安裝使用,自帶的DBCA:圖形化創建資料庫,初學者使用SQL*PLUS:重點掌握OEM:外圍產品2、 OUI:統一安裝器而oracle則力推java,把java虛擬機內嵌到oracle中。[oracle@wl database]$ ./runInstaller 在資料庫軟體目錄下執行這個安裝,類似於windows的setup
  • 零基礎學Oracle之6:Oracle數字字典和動態視圖的理解
    2、數字字典(DD)1)在執行數據定義語言(definition language,DDL)語句或有些數據操縱語言 (data manipulation language ,DML) 語句時會更新數據字典2)有幾個特點存儲在system表空間它是由sys擁有由oracle server自動維護。
  • Oracle 19C rac集群靜默安裝操作手冊v2.0 for centos7
    組角色權限oinstall 安裝和升級oracle軟體dbasysdba創建、刪除、修改、啟動、關閉資料庫,切換日誌歸檔模式,備份恢復資料庫opersysoper啟動、關閉、修改、備份、恢復資料庫,修改歸檔模式asmdba
  • oracle 查詢昨天記錄專題及常見問題 - CSDN
    CJQ0正常啟動,但是Job仍然不執行。5.沒辦法了...繼續研究...居然發現Oralce有這樣一個bug1.4. Sequence of events leading to the problemIf the gethrtime() OS call returns a value > 42949672950000000nanoseconds then slgcs() stays at 0xffffffff.
  • Oracle資料庫參數優化參考
    4.調整伺服器內存分配 內存分配是在信息系統運行過程中優化配置的。資料庫管理員根據資料庫的運行狀況不僅可以調整資料庫系統全局區(SGA區)的數據緩衝區、日誌緩衝區和共享池的大小,而且還可以調整程序全局區(PGA區)的大小。5.調整硬碟I/O這一步是在信息系統開發之前完成的。資料庫管理員可以將組成同一個表空間的數據文件放在不同的硬碟上,做到硬碟之間I/O負載均衡。
  • oracle 查詢 今天、昨天、本周、本月、本季度的所有記錄
    CJQ0正常啟動,但是Job仍然不執行。5.沒辦法了...繼續研究...居然發現Oralce有這樣一個bug1.4. Sequence of events leading to the problemIf the gethrtime() OS call returns a value > 42949672950000000nanoseconds then slgcs() stays at 0xffffffff.
  • 如何在Oracle中使用遊標來實現多重循環
    【IT168 伺服器學院】這篇文章,是最近在寫一個項目中所用的存儲過程,由於是第一次接觸oracle,其間花費了許多功夫,才把功能實現!特記錄下來,以供參考!
  • 踩坑oracle dbms_job簡單使用
    用sql創建時必須顯示指定,系統會自己算(Pass:此處指oracle資料庫的系統時間,暗中觀察比實際時間要稍慢,引起原因多種多樣,一時說不清,所以不要大驚小怪即可= =)也就是sysdate,用job window創建時可以不指定,同樣都是默認用創建job的時間。重頭戲之時間設置。
  • 【乾貨】ORACLE-AWR報告分析
    第一步,登錄ORACLE資料庫伺服器,記住當前目錄或者切換至AWR想要保存的目錄;第二步,SQLplus 用戶名/密碼@服務連接名,連接oracle資料庫實例,如下圖所示;第三步,執行@?4、執行SQL,返回結果(execute and return)其中,軟、硬解析就發生在第三個過程裡。
  • ORACLE序列:基本概念和使用說明
    cache裡面的取完後,oracle自動再取一組 到cache。 使用cache或許會跳號, 比如資料庫突然不正常down掉(shutdown abort),cache中的sequence就會丟失. 所以可以在create sequence的時候用nocache防止這種情況。
  • GBase 8s兼容Oracle漫談——數據類型篇
    3)VARCHAR2變長字符串,與CHAR類型不同,是oracle特有的欄位,它不會使用空格填充至最大長度。VARCHAR2最多可以存儲4,000位元組的信息。4)NCHAR包含UNICODE格式數據的定長字符串。NCHAR欄位最多可以存儲2,000位元組的信息。它的最大長度取決於國家字符集。
  • ORACLEERP開發基礎之OracleForms基礎(二)
    【IT168 技術文檔】ORACLE ERP開發基礎之前言http://tech.it168.com/a2009/0427/274/000000274048.shtmlORACLE ERP開發基礎之FORMS基礎-- Forms設置部分 http://tech.it168.com/a2009/
  • sqltoy-orm-4.16.11 發版,部分功能優化
    搜oracle hint),和動態更新加載,便於開發和後期維護整個過程的管理3、支持緩存翻譯和反向緩存條件檢索(通過緩存將名稱匹配成精確的key),實現sql簡化和性能大幅提升4、支持快速分頁和分頁優化功能,實現分頁最高級別的優化,同時還考慮到了cte多個with as情況下的優化支持5、支持並行查詢6、根本杜絕sql注入問題,以後不需要討論這個話題7、支持行列轉換
  • Oracle資料庫遊標使用方法
    遊標字面理解就是遊動的光標。遊標是SQL的一個內存工作區,由系統或用戶以變量的形式定義。在某些情況下,需要把數據從存放在磁碟的表中調到計算機內存中進行處理,最後將處理結果顯示出來或最終寫回資料庫。這樣數據處理的速度才會提高,否則頻繁的磁碟數據交換會降低效率。