Oracle體系結構初探:數據庫啟動與停止

往期內容

參數管理

控制文件添加


啟動

在啟動Oracle數據庫時,我們一般會使用如下命令:

startup

雖然命令只有一個,但其中卻是經歷了3個階段,從下面執行 startup 命令返回也可以看出來。

總結為3個階段:

  1. nomount(未掛載)
  2. mount(已掛載)
  3. open(打開)

過程如下圖所示:下面是對每個階段的說明:

nomount

可以用如下命令,進入到 nomount 狀態?

startup nomount

nomount階段加載了spfile參數文件中的相關信息,但此時還未讀取控制文件中的信息。此時已經在內存中生成了數據庫實例,但是還沒有加載數據庫(文件存儲結構)

?mount

可以用如下命令,從 nomount 切換到 mount 狀態。

alter database mount

mount階段加載了控制文件中的相關信息,并且將相關的數據庫信息(文件存儲結構)掛載。且為下一階段open做準備。此時是可以查詢到數據庫文件和redo等相關信息,但無法查詢數據文件中的具體數據。

open

可以用如下命令,從 mount 狀態 切換到 open狀態

alter database open

open階段,Oracle服務驗證是否可以打開所有的數據文件和redo日志文件,檢查數據庫的一致性。檢查無誤后打開所有文件,此時數據庫可以正常為業務系統所用。

關閉

Oracle有幾種不同的關閉選項,下面分別和大家分享。

一致性關閉

shutdown immediate? ?

shutdown immediate

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

立即關閉

這是最常用的關閉命令。

此時Oracle會拋棄尚未完成的SQL語句;

且Oracle不等待當前連接到數據庫服務器的用戶先斷開,直接斷開連接;

且Oracle實例關閉前,Oracle服務器會關閉并 unmount 數據庫;

且下次啟動時,不需要進行實例恢復。

shutdown transactional? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

shutdown transactional

以保證事務的方式關閉數據庫

此關閉命令,可以防止客戶端丟失數據,包括其當前活動會話的結果。

此時,沒有客戶端可以在此實例上啟動新事務;

此時,當客戶端結束正在進行的事務后,客戶端連接將斷開;

在完成所有的事務后,將立即關閉;

且下次啟動時,不需要進行實例恢復。? ? ? ? ?

shutdown normal

shutdown normal

正常關閉模式

此時,無法建立新的連接;

且Oracle在關閉之前會等待所有用戶斷開連接;

且db_buffer_cache 和 redo_log_buffer 中的數據被寫入磁盤;

且后臺進程終止后,會從內存中刪除sga;

且Oracle實例關閉前,Oracle服務器會關閉并 unmount 數據庫;

且下次啟動時,不需要進行實例恢復。

shutdown

shutdown

未指定任何模式

此時?shutdown 和 shutdown normal 一樣,normal是默認的關機模式

非一致性關閉

shutdown abort

shutdown abort

如果在normal、transactional、immediate模式下關閉都不起作用的時候(控制文件損壞丟失等故障發生時就無法進行一致性關閉),可以強制關閉當前數據庫實例。

如果使用shutdown abort

Oracle服務器正在處理的當前SQL立即終止;

且Oracle服務器不等待當前連接到數據庫的用戶自己斷開,直接斷開連接;

且db_buffer_cache 和 redo_log_buffer 中的數據未寫入磁盤;

且未提交的事務不會發生回滾;

且該實例將終止而不會關閉文件;

下次啟動時需要進行實例恢復,此恢復會由Oracle自動進行。

應急啟動

當參數文件丟失后,數據庫實例都無法啟動到nomount狀態,任何操作都做不了。

此時可以進行應急啟動

startup force nomount

上面就相當于使用pfile啟動實例至nomount

startup nomount pfile='/u01/app/oracle/product/19c/db_1/dbs/initorcl.ora'

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/14605.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/14605.shtml
英文地址,請注明出處:http://en.pswp.cn/web/14605.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ubuntu下python導入.so庫

ubuntu下python導入.so庫 文章目錄 ubuntu下python導入.so庫1. 什么是.so文件?2. 使用python腳本編譯.so庫文件Reference 最近遇到了python導入c編譯的 .so庫的問題,發覺挺有意思,于是寫下這篇blog以作記錄。 1. 什么是.so文件? …

【簡單介紹下深度神經網絡】

🎥博主:程序員不想YY啊 💫CSDN優質創作者,CSDN實力新星,CSDN博客專家 🤗點贊🎈收藏?再看💫養成習慣 ?希望本文對您有所裨益,如有不足之處,歡迎在評論區提出…

句柄降權繞過CallBacks檢查

看到前輩們相關的文章,不太明白什么是句柄降權,于是專門去學習一下,過程有一點波折。 句柄降權 什么是句柄 當一個進程利用名稱來創建或打開一個對象時,將獲得一個句柄,該句柄指向所創建或打開的對象。以后&#xf…

什么是DNS緩存投毒攻擊,有什么防護措施

隨著企業組織數字化步伐的加快,域名系統(DNS)作為互聯網基礎設施的關鍵組成部分,其安全性愈發受到重視。然而,近年來頻繁發生的針對DNS的攻擊事件,已經成為企業組織數字化發展中的一個嚴重問題。而在目前各…

go string 實現

在go中string是不可變的,這意味著對string發生改變的操作實際上都是通過分配新的string去實現的 在string內存分配上,對于小對象分配到棧,大對象分配到堆中 string在go中的結構其實很簡單,就是一個指向實際數據的指針以及字符串…

用于與 HTTP 服務器通信的函數

用于與 HTTP 服務器通信的函數 Plant Simulation 提供了許多使用 HTTP 協議與 HTTP 服務器通信的函數。可使用這些函數來發送 HTTP 請求、發送數據和從 HTTP 響應中接收數據,以及在 HTTP 服務器上創建和刪除資源: httpGetRequest 發送 GET 請求。請求…

在 Visual Studio 2022 (VS2022) 中刪除 Git 分支的步驟如下

git branch -r PS \MauiApp1> git push origin --delete “20240523備份” git push origin --delete “20240523備份”

PCL 常用小知識

文章目錄 一、時間計算二、實現類似`pcl::PointCloud::Ptr`和`pcl::PointCloud`的兩個類相互轉換三、查找點云的x,y,z的極值四、知道需要保存點的索引,從原點云中拷貝點到新點云五、從點云里刪除和添加點六、對點云進行全局或局部變換七、鏈接兩個點云字段(兩點云大小必須相…

若依 ruoyi-vue 用戶賬號前后端參數校驗密碼 手機號 郵箱

前端 <el-dialog :title"title" :visible.sync"open" width"800px" append-to-body><el-form ref"form" :model"form" :rules"rules" label-width"120px"><el-row><el-col :span…

Vue3骨架屏(Skeleton)

效果如下圖&#xff1a;在線預覽 APIs 參數說明類型默認值必傳animated是否展示動畫效果booleantruefalsebutton是否使用按鈕占位圖boolean | SkeletonButtonPropsfalsefalseavatar是否顯示頭像占位圖boolean | SkeletonAvatarPropsfalsefalseinput是否使用輸入框占位圖boolea…

SOLIDWORKS二次開發服務商 慧德敏學

SOLIDWORKS是一套三維設計軟件, 采用特征建模、變量化驅動可方便地實現三維建模、裝配和生成工程圖。SOLIDWORKS軟件本身所具有的交互方式, 可以使用戶對已生成模型的尺寸、幾何輪廓和相互約束關系隨時進行修改, 而不需要編程。但要實現設計意義上的變量化繪圖和系列化設計, 需…

java-查詢字符串當中是否包含中文

文章目錄 前言java-查詢字符串當中是否包含中文 前言 如果您覺得有用的話&#xff0c;記得給博主點個贊&#xff0c;評論&#xff0c;收藏一鍵三連啊&#xff0c;寫作不易啊^ _ ^。 ??而且聽說點贊的人每天的運氣都不會太差&#xff0c;實在白嫖的話&#xff0c;那歡迎常來啊…

軟考系統架構師一些知識點記錄-1

個人隨筆 (Owed by: 春夜喜雨 http://blog.csdn.net/chunyexiyu) 引言 準備去參加軟考的考試&#xff0c;但對一些概念掌握的還不夠&#xff0c;借此機會&#xff0c;整理記錄一二&#xff0c;便于自己理解掌握。 知識范圍 感覺不夠清晰的部分主要是第三篇和第四篇的部分。…

國際頂會認可!KaiwuDB 論文入選 ICDE 2024

導 讀 近日&#xff0c;KaiwuDB 與中國人民大學合作的論文 FOSS: A Self-Learned Doctor for Query Optimizer 被數據庫領域頂會The 40th IEEE International Conference on Data Engineering (ICDE 2024) 錄用啦! 論文中提出了具備自學習、自診斷能力的查詢優化器 FOSS&…

USB官方文檔怎么下載

直接登錄USB官網"https://usb.org/" 如&#xff0c;我需要查找與USB device class相關的文檔 點擊搜索后就能找到。 學習還是要以官方文檔為主&#xff0c;博客上的介紹不可信&#xff0c;USB協議規范很重要!

商品發布功能

文章目錄 1.SPU和SKU介紹1.SPU2.SKU3.兩者之間的關系 2.完成商品發布界面1.組件引入1.commoditylaunch.vue 引入到 src/views/modules/commodity下2.multiUpload.vue 引入到 src/components/upload/multiUpload.vue 2.創建菜單1.創建目錄2.創建菜單&#xff0c;注意菜單路由要匹…

go語言中同一for循環體內的多個初始變量和多個自增變量用法示例

在go語言的for循環體中&#xff0c;我們可以同時初始多個變量&#xff0c; 也可以同時多多個變量進行自增/自減操作&#xff0c; 用法如下&#xff1a; for 后面的多個初始化變量使用的是逗號分隔的批量賦值操作&#xff0c;多個變量自增自減使用 加減運算符和逗號分隔 字符…

MySQL之性能剖析和Schema與數據類型優化(一)

性能剖析總結 1.定義性能最有效的方法是響應時間2.如果無法測量就無法有效地優化&#xff0c;所以性能優化工作需要基于高質量、全方位及完整的響應時間測量3.測量的最佳開始點是應用程序&#xff0c;而不是數據庫。即使問題出在底層的數據庫&#xff0c;借助良好的測量也可以…

C++系列-友元

&#x1f308;個人主頁&#xff1a;羽晨同學 &#x1f4ab;個人格言:“成為自己未來的主人~” 我們在之前的文章有提到友元&#xff0c;我們先來看下面的這段包含了友元的代碼&#xff1a; ??#define _CRT_SECURE_NO_WARNINGS #include<iostream> using namespace…

CLIP論文學習

學習來自B站bryanyzhu