深入理解 Oracle 啟動原理

2022-06-12 02:48:07 字數 3072 閱讀 8311

當oracle啟動時,初始化引數檔案的載入順序為:spfilesid.ora、spfile.ora、initsid.ora

資料庫處於shutdown狀態:資料庫處於停止狀態。不能接受外界資料請求。使用作業系統命令ps –ef | grep ora看不到任何資料庫程序的存在,啟動指令碼問dbstart

資料庫處於nomount狀態:資料庫後台程序(ps -ef | grep ora_可檢視)已經建立。並根據引數檔案中關於sga的相關引數,建立共享記憶體區和預設的oracle資料庫程序。並同時檢查相關初始化引數的正確性,可以進行登入

資料庫處於mount狀態:資料庫讀取控制檔案中的內容,並按照控制檔案中指定的引數找到相應的資料檔案,並啟動資料庫的歸檔或非歸檔狀態。資料庫在此狀態檢查各個資料檔案的一致性。如果出現資料檔案損壞,要求使用者進行恢復

資料庫處於open狀態:資料庫在此狀態檢查各個資料檔案的一致性。如果出現資料檔案損壞,要求使用者進行恢復

相關命令

dbstart

shutdown normal

shutdown transactional

shutdown immediate

shutdown abort

startup nomount;

alter database mount

alter database open

$ ps -ef | grep oracle

oracle 4524 1 0 00:54 ? 00:00:39 /data/oracle/product/11.2.0/db_1/bin/emagent

root 12825 974 0 13:49 ? 00:00:00 sshd: oracle [priv]

oracle 12832 12825 0 13:49 ? 00:00:00 sshd: oracle@pts/0

oracle 12833 12832 0 13:49 pts/0 00:00:00 -bash

oracle 13825 12833 0 13:54 pts/0 00:00:00 ps -ef

oracle 13826 12833 0 13:54 pts/0 00:00:00 grep --color=auto oracle

$ ipcs -a

------ message queues --------

key msqid owner perms used-bytes messages

------ shared memory segments --------

key shmid owner perms bytes nattch status

0x011268f0 458753 root 600 1000 8

------ semaphore arrays --------

key semid owner perms nsems

讀取引數檔案 spfile ---- 分配 sga ---- 啟動後台程序 --- 開啟告警檔案和跟蹤檔案

在啟動例項時,將為例項建立一系列後台程序和服務程序,並且在記憶體中建立 sga 區等記憶體結構。在例項啟動的過程中只會使用到初始化引數檔案,資料庫是否存在對例項的啟動沒有影響。如果初化引數設定有誤,例項將無法啟動

$ sqlplus / as sysdba

sql*plus: release 11.2.0.1.0 production on sun mar 26 14:05:14 2017

connected to an idle instance.

sql> startup nomount

oracle instance started.

total system global area 3273641984 bytes

fixed size 2217792 bytes

variable size 2432698560 bytes

database buffers 822083584 bytes

redo buffers 16642048 bytes

select * from v$bgporcess;

select * from v$instance;

v$parameter、v$sga、v$process、v$session、v$instance等等

例如:show parameter control_files; //通過引數檔案獲得控制檔案的位置

show sga;

select * from v$sgastat //sga 分為不同的池

show parameter background_dump_dest; //開啟告警檔案和跟蹤檔案,啟動過程可以檢視alert_orcl.log

裝載資料庫就是把資料庫檔案和例項關聯起來,包括以下三個步驟

oracle根據引數檔案spfile中的引數找到控制檔案 ---》 開啟控制文 ---》 從控制檔案獲得資料字典和重做日誌檔案的名字及位置

但此時還不能查詢資料庫檔案,如表和檢視。所以對於普通使用者而言,這個時候資料庫還是不可用的。只有等到經歷了最後一步開啟資料庫之後,才能使用資料庫

select * from v$tablespace;命名空間

select * from v$datafile;資料檔案

select * from v$database;資料庫資訊

v$controlfile、v$database、v$datafile、v$logfile

深入理解simhash原理

lsh locality sensitive hashing 是區域性敏感性hashing,它與傳統的hash是不同的。傳統hash的目的是希望得到o 1 的查詢效能,將原始資料對映到相應的桶內。lsh的基本思想是將空間中原始資料相鄰的2個資料點通過對映或者投影變換後,這兩個資料點在新的空間中的相鄰...

HDFS原理深入理解

1 hdfs概述 1 資料量越來越多,在乙個作業系統管轄的範圍存不下了,那麼就分配到更多的作業系統管理的磁碟中,但是不方便管理和維護,因此迫切需要一種系統來管理多台機器上的檔案,這就是分布式檔案管理系統 2 是一種允許檔案通過網路在多台主機上分享的檔案系統,可讓多機器上的多使用者分享檔案和儲存空間。...

深入理解RHEL6開機啟動原理

一.深入理解開機啟動流程 1.電源加電的一刻,cpu通過自舉電路,reset 重置訊號重置了自己的暫存器的值使其值正好指向了rom中bios程式的位址將其載入到記憶體中 2.bios是一段 其功能主要有兩個 乙個是完成加電自檢 post 另外乙個就是完成基本的輸入輸出服務 3.bios完成post後...