1. 程式人生 > >Oracle資料庫的啟動和關閉詳細過程

Oracle資料庫的啟動和關閉詳細過程

一、資料庫開啟
 startup資料庫正常啟動


1.startup nomount


  啟動 Oracle DB 例項:NOMOUNT ,建立sga,建立了alert日誌,用於create db,create controlfile

啟動資料庫例項時,請選擇例項啟動時所處的狀態。以下方案描述了啟動例項過程中的不同階段。
在建立資料庫期間、重新建立控制檔案期間,或執行某些備份和恢復方案期間,通常只在 NOMOUNT 模式下啟動例項。
啟動例項過程包括執行以下任務:
按以下順序搜尋 $ORACLE_HOME/dbs 中具有特定名稱的檔案:
1. 搜尋 spfile<SID>.ora。
2. 如果未找到 spfile<SID>.ora,則搜尋 spfile.ora。
3. 如果未找到 spfile.ora,則搜尋 init<SID>.ora。
 這是包含例項初始化引數的檔案。使用 STARTUP 指定 PFILE 引數可覆蓋預設 行為。
分配 SGA
啟動後臺程序
開啟 alert_<SID>.log 檔案和跟蹤檔案
注:SID 是用於標識例項的系統 ID(例如 ORCL)。

2.alter database mount;


 動 Oracle DB 例項:MOUNT  開啟控制檔案,可以重新命名資料檔案,啟用或停用歸檔模式,資料庫恢復。
資料庫裝載過程包括執行以下任務:
將資料庫與以前啟動的例項關聯
定位並開啟引數檔案中指定的控制檔案
通過讀取控制檔案來獲取資料檔案和聯機重做日誌檔案的名稱和狀態(但是,此時不會執行檢查來驗證是否存在資料檔案和聯機重做日誌檔案)。
要執行特定的維護操作,請啟動例項,然後裝載資料庫,但不開啟該資料庫。
例如,在執行以下任務期間必須裝載資料庫,但不得開啟資料庫:
重新命名資料檔案(開啟資料庫時可重新命名離線表空間的資料檔案)。
啟用和禁用聯機重做日誌檔案歸檔選項
執行完整的資料庫恢復
注:即使發出了 OPEN 請求,資料庫仍可能處於 MOUNT 模式下。這是因為可能需要以某種方式恢復資料庫。如果在 MOUNT 狀態下執行恢復,將開啟重做日誌進行讀取,並開啟資料檔案讀取需要恢復的塊,以及在恢復期間根據需要寫入塊。

 
3.alter database open;


 啟動 Oracle DB 例項:OPEN  開啟資料檔案,redo日誌,
資料庫操作正常意味著例項已啟動、資料庫已裝載且已開啟。在資料庫操作正常時,任何有效使用者都可連線到資料庫,而且可執行典型資料訪問操作。
開啟資料庫過程包括執行以下任務:
開啟資料檔案
開啟聯機重做日誌檔案
如果嘗試開啟資料庫時任一資料檔案或聯機重做日誌檔案不存在,則 Oracle 伺服器返回錯誤。
在最後這個階段,Oracle 伺服器會驗證是否可以開啟所有資料檔案和聯機重做日誌檔案,還會檢查資料庫的一致性。如有必要,系統監視器 (SMON) 後臺程序將啟動例項恢復。
可以在受限模式下啟動資料庫例項,以便只讓有管理許可權的使用者使用該例項。要在受限模式下啟動例項,請在“Advanced Startup Options(高階啟動選項)”頁上選擇“Restrict access to database(限制對資料庫的訪問)”選項。
二、資料庫關閉


 shutdown為shutdown immediate的簡寫
1.shutdown normal
 
NORMAL 是使用 SQL*Plus 時的預設關閉模式。正常關閉資料庫時會發生以下情況:
不可以建立新連線。
Oracle 伺服器待所有使用者斷開連線後再完成關閉。
資料庫和重做緩衝區被寫入磁碟。
後臺程序終止,並從記憶體中刪除 SGA。
Oracle 伺服器在關閉並斷開資料庫後關閉例項。
下一次啟動不需要進行例項恢復。

 
2.shutdown transactional
 
採用 TRANSACTIONAL 關閉方式可防止客戶機丟失資料,其中包括客戶機當前活動的 結果。執行事務處理資料庫關閉時會發生以下情況:
任何客戶機都不能利用這個特定例項啟動新事務處理。
會在客戶機結束正在進行的事務處理後斷開客戶機。
完成所有事務處理後立即執行關閉。
下一次啟動不需要進行例項恢復。
3.shutdown immediate
 
採用 IMMEDIATE 關閉模式會出現以下情況:
Oracle DB 正在處理的當前 SQL 語句不會完成。
Oracle 伺服器不會等待當前連線到資料庫的使用者斷開連線。
Oracle 伺服器會回退活動的事務處理,而且會斷開所有連線使用者。
Oracle 伺服器在關閉並斷開資料庫後關閉例項。
下一次啟動不需要進行例項恢復。注:IMMEDIATE 是使用 Enterprise Manager 時的預設關閉模式。
4.shutdown abort
 
如果 NORMAL、TRANSACTIONAL 和 IMMEDIATE 關閉模式都不起作用,則可以中止當前的資料庫例項。中止例項時會發生以下情況:
Oracle DB 正在處理的當前 SQL 語句會立即終止。
Oracle 伺服器不會等待當前連線到資料庫的使用者斷開連線。
資料庫和重做緩衝區未寫入磁碟。
不回退未提交的事務處理。
例項終止,但未關閉檔案。
資料庫未關閉或未解除安裝。
下一次啟動時需要進行例項恢復,例項恢復是自動進行的。
注:建議不要備份處於不一致狀態的資料庫。
關閉模式對當前活動的適用性按以下順序逐漸增強:
  
 ABORT:在關閉之前執行的任務最少。由於此模式需要在啟動之前進行恢復,因此只在需要時才使用此模式。當啟動例項時出現了問題,或者因緊急情況(如,通知在數秒內斷電)而需要立即關閉時,如果其它關閉方式都不起作用,通常選擇使用此模式。
 
 IMMEDIATE:這是最常用選項。選擇此模式會回退未提交的事務處理

 TRANSACTIONAL:允許事務處理完成
 
 NORMAL:等待會話斷開   如果考慮執行關閉所花費的時間,則會發現 ABORT 的關閉速度最快,而 NORMAL 的關閉速度最慢。NORMAL 和 TRANSACTIONAL 花費的時間較長,具體取決於會話和事務處理的數目。

 用 SQL*Plus 啟動和關閉
要使用 SQL*Plus 啟動、關閉資料庫或者更改資料庫的狀態,必須以 SYSDBA 或 SYSOPER 身份登入。然後,使用以前介紹的 Enterprise Manager 功能的等效命令:
 
SHUTDOWN [NORMAL | TRANSACTIONAL | IMMEDIATE | ABORT ]

    STARTUP [NOMOUNT | MOUNT | OPEN (open_options)] [FORCE] [RESTRICT] [PFILE=filename]

這樣,可以將啟動和關閉操作包含在執行資料庫任務的指令碼或批處理中執行(這種情況下,資料庫需要處於特定的狀態)。

注:通過 open 選項可以指定一種訪問模式,即指定的資料庫啟動時應處的模式。可能的模式包括:

READ ONLY

READ WRITE 對於 STARTUP,還可以使用 PFILE 選項。該選項指定要在啟動資料庫例項時使用的 PFILE 初始化引數檔案。

相關推薦

Oracle資料庫啟動關閉詳細過程

一、資料庫開啟  startup資料庫正常啟動 1.startup nomount   啟動 Oracle DB 例項:NOMOUNT ,建立sga,建立了alert日誌,用於create db,create controlfile 啟動資料庫例項時,請選擇例項啟動時所處

Linux下oracle資料庫啟動關閉操作

第一步:登陸 root登陸之後切換到oracle使用者上,輸入 <span><strong>su oracle</strong></span>第二步:連線 在oracle使用者下,輸入 <span><strong>sqlplus /n

oracle DG 啟動關閉順序

啟動順序:先啟動備庫,後啟動主庫關閉順序:先關閉主庫,後關閉備庫1、正確開啟備庫和主庫備庫:SQL> STARTUP MOUNT;SQL>ALTER DATABASE RECOVER MANAGED STANDBY DATABASE  DISCONNECT FRO

oracle資料庫啟動停止

SQL*Plus: Release 9.2.0.1.0 - Production on 星期一 4月 26 09:42:00 2004  Copyright (c) 1982, 2002>>, Oracle Corporation.  All rights reserved.  SQL>; 

ORACLE資料庫啟動關閉

 LEOLIN備註:WINDOWS系統下,SID為ORCL的服務OracleServiceORCL啟動命令為:D:/oracle/product/10.1.0/db_1/bin/ORACLE.EXE ORCL,所以ORCL資料庫已經為OPEN狀態。 1、startup nom

Oracle啟動關閉

命令 fuse 在線 數據庫系統 .exe ssi 建立 use 控制文件 1 數據庫啟動 1.1 需要的權限 SYSDBA或者SYSOPER系統權限。 1.2 啟動的方法 SQL*Plus STARTUP command Oracle Enterprise

如何快速啟動關閉我們的oracle服務

nbsp 轉換成 oracleo list 文件 ID tro 格式 代碼 1 首先大家可以看到的是我們的這個oracle的數據庫服務,每次我們用我們的oracle數據庫的時候進行打開的兩個服務 OracleOraDb11g_home1TNSListene

Oracle安裝完成後,如何用命令行啟動關閉數據庫?

運行 沒有 操作 imm 文件 back file 不能 正常的 Oracle安裝完成後,如何用命令行啟動和關閉數據庫? 解答: 打開:STARTUP [FORCE] [RESTRICT] [PFILE= filename] [OPEN [RECOVER][ dat

windows下用指令碼啟動關閉oracle

建立兩個TXT分別修改檔名字為  關閉和啟動Oracle,然後字尾名改成.bat   在啟動Oracle.bat裡面寫成這樣   lsnrctl start net start OracleServiceORCL    

Ubuntu下redis資料庫的安裝配置詳細過程

Redis 安裝 當前redis最新穩定版本是4.0.9 tar xzf redis-4.0.9.tar.gz step3:移動,放到usr/local目錄下 sudo mv ./redis-4.0.9 /usr/local/redi

Oracle LSNRCTL------監聽器的啟動關閉

如果oracle監聽器正在執行,你將得到如下資訊$ lsnrctl status  LSNRCTL for Linux: Version 11.1.0.6.0 - Production on 04-APR-2009 16:27:02  Copyright (c) 1991, 2007, Oracle.  Al

Oracle資料庫學習筆記四——儲存過程的值傳遞引用傳遞

程式語言中的4種子例程: 由兩種行為定義,即形式值是否返回以及引數列表是值傳遞還是引用傳遞。 如果返回輸出,子例程就是函式,如果不返回,就是過程。 所以4中子例程為: 1.值傳遞函式 2.引用傳遞函式 3.值傳遞過程 4.引用傳遞過程pl/sql值傳遞過程由下列5條規則定義

Oracle12cr1新特性之容器資料庫(CDB)可插拔資料庫(PDB) 的啟動關閉

Oracle12c中引入的多宿主選項(multitenant option)允許一個容器資料庫容納多個獨立的可插拔資料庫(PDB)。本文將說明如何啟動和關閉容器資料庫(CDB)和可插拔資料庫(PDB)。 1.   容器資料庫(CDB) 啟動和關閉容器資料庫和以往一樣。當

RAC啟動關閉(oracle 11g)

[[email protected] ~]# crsctl stop has CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on 'rac1' CRS-2673: Attempti

oracle 11g RAC 啟動關閉一些維護命令

在Oracle 11g環境中,Oracle的關閉和啟動順序如下:關閉順序:    1、關閉資料庫,oracl使用者執行srvctl命令:     [[email protected] ~]$ srvctl stop database -d ORCL ---停止所有

linux下oracle資料庫服務監聽的啟動停止

一、啟動 語法:startup [force] [pfile=檔名] [exclusive|shared] [mount 資料庫名|normal 資料庫名] [nomount] 1、正常啟動: sql>conn sys/sys as sysdba; sql>startup 也可在啟動時指定資料庫

Oracle RAC的啟動關閉

情況1:保養資料庫及作業系統,伺服器,需要關閉DB(所有例項),OS及SERVER a.首先停止oracle10g環境   $ lsnrctl sop (每個節點上停止監聽,也可以用srvctl來操作)   $ emctl stop dbconsole(每個節點停止dbco

Oracle Data Guard_啟動關閉物理備庫

8.1.1Starting Up a Physical Standby Database 8.1.1 啟動物理備庫 To start a physical standby database, use SQL*Plus to connect to the database with administra

Oracle 資料庫啟動過程各步驟詳解

Oracle資料庫的完整啟動過程包含以下3個步驟: 簡單地說,就是:啟動例項-->載入資料庫-->開啟資料庫. ---------------------------------------------------------------------------

Oracle服務的啟動關閉

一、CMD啟動服務: 例項名稱 ORCL 啟動oracle例項服務 net start oracleserviceORCl 停止oracle例項服務 net stop oracleserviceORCl 啟動oracle監聽服務 lsnrctl start 停止oracle